The shell-command procedure under the MinGW build of Gambit 4.6.2 seems to be broken. When running gsi under the MinGW MSys shell (by running gsi.exe -:d-), things worked fine under Gambit 4.6.0 (as shown below). However, in Gambit 4.6.2, it appears that only the program name passed in the shell command is being recognized. Thus, I could run (shell-command "ls 1 2 3") while in a directory where no such files existed, and I got the contents of the directory (as if the command had only been "ls", with no arguments).
==== Output running under Msys: (gsi.exe -:d-) ==========
Gambit v4.6.0
(shell-command "ls 1 2 3")
ls: 1: No such file or directory ls: 2: No such file or directory ls: 3: No such file or directory 512
Gambit v4.6.2
(shell-command "ls 1 2 3")
INSTALL.txt LGPL.txt LICENSE-2.0.txt README bin config.guess config.log config.status config.sub configure configure.ac doc examples gsc gsc-comp.exe gsi include install-sh lib makefile makefile.in misc mkidirs prebuilt relpath tests 0
The results get even worse when running Gambit 4.6.2 directly from the Windows start menu. Here again, version 4.6.0 does what I expected. However, when I run version 4.6.2, I can't get the shell-command to work no matter what command I pass it:
====== Output running gsi.exe directly from the Windows Start Menu: ======
Gambit v4.6.0
(shell-command "dir 1 2 3")
Volume in drive C has no label. Volume Serial Number is 14C2-1C72
Directory of C:\test\Gambit-C\v4_6_0\v4.6.0\bin
Directory of C:\test\Gambit-C\v4_6_0\v4.6.0\bin
Directory of C:\test\Gambit-C\v4_6_0\v4.6.0\bin
File Not Found 256
Gambit v4.6.2
(shell-command "dir 1 2 3")
*** ERROR IN (console)@1.1 -- No such file or directory (open-process '(path: "sh" arguments: ("-c" "dir 1 2 3") stdin-redirection: #f stdout-red... ) 1>
(shell-command "dir")
*** ERROR IN (console)@5.1 -- No such file or directory (open-process '(path: "sh" arguments: ("-c" "dir") stdin-redirection: #f stdout-redirecti... ) 1>
--------------------------------------------------------------
All of these tests were run against the current prebuilt versions of Gambit 4.6.0 and 4.6.2 downloaded from Gambit's web site.
I'll be happy to test any patches or other changes needed to fix this problem.