My apologies: blindly copying and pasting from Google+ was a bad idea.
Here is the command I ran, where cl is the latest cl-launch 4:
mkdir -p /tmp/x ; touch "/tmp/x/*" ; for i in sbcl ccl clisp cmucl ecl abcl \ scl allegro lispworks gcl xcl ; do echo $i ; cl -l $i -iw \ '(let ((x (directory "/tmp/x/*"))) (list "'$i'" x (pathname-name (first x))))' ; done
And the summarized results are:
Escape properly: ("sbcl" (#P"/tmp/x/\*") "*") ("ccl" (#P"/tmp/x/\*") "\*") ("cmucl" (#P"/tmp/x/\*") "*") ("lispworks" (#P"/tmp/x/\*") "\*") ("scl" (#P"file://localhost/tmp/x/*") "*")
Read badly: ("clisp" (#P"/tmp/x/*") :WILD) ("ecl" (#P"/tmp/x/*") :WILD) ("allegro" (#P"/tmp/x/*") :WILD) ("xcl" (#P"/tmp/x/*") :WILD)
Error out: abcl Fatal condition: Bad place for a wild pathname.
gcl: Fatal condition: Condition in LET [or a callee]: INTERNAL-SIMPLE-FILE-ERROR: File error on "/tmp/x/*": File "/tmp/x/*" is wild
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org The older I grow, the more I distrust the familiar doctrine that age brings wisdom. — H.L. Mencken