id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	os	architecture	failure	difficulty	testcase	blockedby	blocking	related
389	System.Cmd.system fails on Win9x	nobody	nobody	"{{{
Vivian McPhail
vivian.mcphail@paradise.net.nz

From a ghci session (6.4):

Prelude> System.Cmd.system ""dir""
*** Exception: C:\WINDOWS\SYSTEM\CMD.EXE: runCommand:
does not exist (No such file or directory)

System.Cmd.system tries to run cmd.exe but on Win9x
this is command.com.

These executables are both mentioned in the
documentation so the distinction is not unknown.

I see that the source code for System.Process.Internals
has code for detecting this, but for some reason it
does not appear to be working:

-- Find CMD.EXE (or COMMAND.COM on Win98).  We use the
same algorithm as
-- system() in the VC++ CRT (Vc7/crt/src/system.c in a
VC++ installation).
findCommandInterpreter :: IO FilePath
findCommandInterpreter = do
  -- try COMSPEC first
  catchJust ioErrors (getEnv ""COMSPEC"") $ \e -> do
    when (not (isDoesNotExistError e)) $ ioError e

    -- try to find CMD.EXE or COMMAND.COM
    osver <- c_get_osver
    let filename | osver .&. 0x8000 /= 0 = ""command.com""
		 | otherwise             = ""cmd.exe""
    path <- getEnv ""PATH""




}}}"	bug	closed	normal		libraries/base	6.4	Fixed										
