lispworks under cygwin, consoles and so on
Hi, I'd like to be able to use the same scripts to build our system on
Windows as I do on Linux/Unix. In particular I do almost everything
on windows via cygwin, so I'd like to be able to run lispworks from it
and so forth.
The problem is that lispworks (in common with lots of other windows
programs, I think), interacts kind of curiously with cygwin, with the
result that nothing works right, and I end up having to resort to
command.com (or cmd.exe or whatever it is now) and .BAT files.
I'm not sure what the problem is, especially because, sometimes, it
works. However one thing that seems reliably not to work is delivery.
If I have a file deliver.lisp containing, say:
;;;;
;;;
(load (current-pathname "weld-src/sysdcl.lisp"))
(load-system :weld)
(load "WELD:SRC;PATCHES;LOAD-PATCHES")
(load (compile-file-pathname (current-pathname "play-toplevel")))
(deliver #'weld-toplevel:weld-toplevel
"weld"
0
:interface :capi
:icon-file (current-pathname "weld.ico"))
(quit)
and I run this with (from the cygwin shell)
.../lispworks-42-current -init deliver.lisp
then a blank console window appears, and lispworks sits on the CPU for
`ever' (I gave it a few minutes) without doing anything. If I run the
equivalent thing from a .BAT file from cmd.exe, then it works.
However if I have an init file like the above which just compiles the
system, then this works fine.
Is there anything I can do to make this work? Has anyone else tried
this? As I said above, LW is not unique in this - it could easily be
some bug in cygwin I think, but it would be nice to make it work.
Thanks
--tim
(Versions: LW 4.2, Windows 2000 SP2, cygwin pretty recent)