On Fri, Sep 6, 2013 at 9:47 PM, Robert P. Goldman rpgoldman@sift.info wrote:
Dave Cooper wrote:
Also (for my own production purposes) I made a local change to make it prepend ("cmd" "/c" ...) for Clozure/Windows when the command is given as a list instead of a string. I'll send that separately as a patch for your consideration. But this patch doesn't fix the one remaining test failure; that is something different.
Can you explain this a little for someone who is not wise in the ways of the Windows?
Isn't "cmd" the equivalent of the shell on windows? If so, aren't we turning RUN-PROGRAM into RUN-SHELL-COMMAND behind the user's back?
Indeed, and that's why I'd like not to do it unless strictly necessary. I don't remember why I did it on allegro — that's probably a mistake; I probably did it because otherwise there might be no searching through $PATH. How does the test work on Allegro if you remove the prepending of cmd /c ?
Robert: on Windows, the legacy interface is to pass a string to the program, to be interpreted as multiple arguments by the program itself, which it typically does through the standard C++ library, but might not. However, for backward compatibility reason, the command interpreter doesn't use said library, but interprets the line its own way, which may or may not (hopefully will) lead to the same behavior on properly escaped command lines such as the Lisp implementation will issue.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org That man who dares to waste one hour of time, has not discovered the value of life. — Charles Darwin