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