Mingw translates command-line arguments that look like a path into windows style pathnames if the DLL is present. On 12:43 Mon 21 Mar , Robert Goldman wrote:
On 3/21/16 Mar 21 -10:47 AM, Stas Boukarev wrote:
Robert Goldman rpgoldman@sift.net writes:
On 3/21/16 Mar 21 -9:34 AM, Stas Boukarev wrote:
I never liked the idea of cygwin, mingw (via msys2) seems to be working pretty well for me.
Any chance you could grab a copy of the git repo and run the tests on Windows?
I'm relatively confident that everything works the same across lisp implementations on Windows now. The same tests fail for me everywhere.
The tests failing, AFAICT, are mostly due to Cygwin environment bleeding into the environment used by the Lisp (which interacts with Windows through CMD.EXE). My guess is that these will fail in pretty much the same way under mingw, but I have never used mingw, so I can't really say. Does it have its own pathname syntax, the way cygwin does? (You can tell I don't use windows -- except for testing ASDF!).
Two tests fail: test-run-program.script test-sysdef-asdf.script
test-sysdef-asdf fails because sb-ext:run-program doesn't yet support output redirection on windows.
test-run-program because it can't find "echo" which turns out to be a shell script with echo "$@", cmd.exe has trouble executing that. Found some bsd echo.c, compiled and stuffed it instead of the shell script, the test now passes.
So, ASDF works as much as it can be expected to work.
I've got some additional failures: the tests that involve re-initializing the ASDF search paths. Somehow they grab up cygwin paths (for me /cygdrive/f/....), which of course doesn't work.
I could fix those tests probably -- I use a special environment variable to load ASDF on Windows under Cygwin -- but that would be just fixing the test and leaving ASDF broken. ASDF simply doesn't reliably work under Cygwin because of the Cygwin paths.
How does mingw do this stuff? Cygwin gives me /cygdrive/f/ instead of f:/, and that's what shows up in pwd....
thanks, r