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)(a)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)(a)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.