Good luck convincing 7 active implementations to agree on how to parse that. If you know the path is relative and you want portability, try uiop:parse-unix-namestring. But even then, things get ugly when you reach wildcard characters.
CL pathname parsing is a huge mess. If you want to fix it, I suggest:
1- defining exactly what you think the correct behavior should be, and implement it in iolib 2- send patches to SBCL, CCL, CLISP, ABCL, CMUCL, ECL, and/or MKCL so they can agree. 3- once the patches are in more than two free software implementations, file bugs against Allegro, LispWorks 4- forget about SCL, GCL, MCL, Corman, Genera, XCL.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org The mice which helplessly find themselves between the cats teeth acquire no merit from their enforced sacrifice. — Mahatma Gandhi
4- —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
On Thu, Jan 7, 2016 at 11:22 AM, Jared C. Davis jared.c.davis@gmail.com wrote:
Hi,
Should I be able to expect the following to behave consistently across Lisps?
(file-namestring (uiop:parse-native-namestring "."))
I find that:
- CCL and SBCL produce "."
- Allegro produces NIL
- CMUCL signals an error in LISP::UNPARSE-UNIX-FILE
If I just look at:
(uiop:parse-native-namestring ".")
I get:
Allegro: #P"./" CCL: #P"." SBCL: #P"." CMUCL: #P(:NAME "." :TYPE :UNSPECIFIC)
Cheers, Jared
-- Jared C. Davis jared@cs.utexas.edu 11410 Windermere Meadows Austin, TX 78759 http://www.cs.utexas.edu/users/jared/