Skip to content

Conversation

@tdrhq
Copy link

@tdrhq tdrhq commented Jan 26, 2021

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

@tdrhq
Copy link
Author

tdrhq commented Jan 26, 2021

(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

@tdrhq
Copy link
Author

tdrhq commented Jan 26, 2021

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

@lispstudent
Copy link

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.

@ruricolist
Copy link
Owner

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?

@ruricolist
Copy link
Owner

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.

ruricolist added a commit to ruricolist/cl-shlex that referenced this pull request Feb 11, 2021
Causes problems for both LispWorks and ECL.

See ruricolist/cmd#12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants