cmd
cmd copied to clipboard
Support $cmd on Lispworks
Or in particular, according to ASDF's source code, this should make it work on abcl, clisp, lispworks and allegro. Though I haven't tested on the others except Lispworks 7.1.2
(cmd:cmd "echo hello") still fails for me unless I put :output nil and :error-output nil, let me see if I can fix those too
Hmm, uiop:run-program seems to do a lot of work to make sure that output to interactive streams work. In particular it seems to write to a temporary file and then re-write it the interactive stream. So solution 1, would be to make cmd use run-program for the synchronous case. I'm going to skip for now and in the next few days try to see if I can build a multi-threaded version which streams the result from the stream returned by launch-program into the interactive stream
With a fresh QuickLisp install (2021-01-24), while loading your fork with latest patch, I have a compilation error due to shlex
.
Related part of link above:
[package shlex].
...
Error: +STORAGE-FOR-DEFLEX-VAR-SAFE-CHAR-MAP+ is an already defined constant whose value
#*10100010110011101100011010000110000011101011111111111111111001001111111111111111111111111110111111111111111111111111111111110110
is not equal to the provided initial value
#*00000000000000000000000000000000000001000001111111111111111001001111111111111111111111111110000101111111111111111111111111100000
under SERAPEUM::SAME-LITERAL-P.
That shlex error is strange. The constant is supposed to hold a bitmap of alphanumeric ASCII characters (plus "_@%+=:,./-"
), so the second value is the correct one. Maybe the file was previously compiled in a different locale?
Seeing the same problem on ECL:
;;; +STORAGE-FOR-DEFLEX-VAR-SAFE-CHAR-MAP+ is an already defined constant whose value #*00000000000000000000000000000000000001000001111111111111111001001111111111111111111111111110000101111111111111111111111111100000 is not equal to the provided initial value #*00000000000000000000000000000000000001000001111111111111111001001111111111111111111111111110110101111111111111111111111111111111 under SERAPEUM::SAME-LITERAL-P.
So it's not just LispWorks.