reformat-environment and make-shell-string do not fit together
Closed this issue · 1 comments
u-u-h commented
(external-program::make-shell-string "ls" '(".") '(("PATH" . "")) nil)
yields
0[11]: (EXTERNAL-PROGRAM::MAKE-SHELL-STRING "ls" (".") (("PATH" . "")) NIL)
1[11]: (EXTERNAL-PROGRAM::REFORMAT-ENVIRONMENT (("PATH" . "")))
1[11]: returned ("PATH=''")
0[11]: returned " #<Printer Error, obj=#x10000000af9: `\"PATH=''\"' is not of the expected type `LIST'>"
because REFORMAT-ENVIRONMENT flattens the list of conses.
RUN on ACL (and probably abcl) breaks on this; for lispworks the environment is never passed down, so it is not affected. Other backends do not use make-shell-string.
u-u-h commented
Test environment-vars-should-override-existing was failing on ACL (maybe others too?) due to this.