Faré fahree@gmail.com writes:
On Sun, Feb 2, 2014 at 7:38 PM, Robert P. Goldman rpgoldman@sift.info wrote:
I have been grappling with my inability to upgrade clisp, and find myself confused by the following events in my transcript:
[17]> (uiop/pathname:ensure-pathname "home:lisp;asdf;") #P"home:lisp;asdf;"
BEWARE! ENSURE-PATHNAME uses PARSE-UNIX-NAMESTRING, not PARSE-NAMESTRING. In this case, you want PARSE-NAMESTRING (possibly through PATHNAME).
(describe (uiop/pathname:ensure-pathname "home:lisp;asdf;"))
#P"home:lisp;asdf;" is a pathname, with the following components: NAME = "home:lisp;asdf;" VERSION = :NEWEST
(Also, most of the time that you use MERGE-PATHNAMES, you should probably instead be using UIOP:MERGE-PATHNAMES* or UIOP:SUBPATHNAME.)
I am not at all experienced with clisp, and find myself on strange and shaky ground here.
CLHS pathnames are strange and shaky. UIOP tries to paper over the issues, making them notably less shaky and the price of being a bit stranger.
there's also a difference between clisp -ansi and clisp without -ansi.
You can also test by setting or resetting custom:*ansi* (a symbol macro, use ext:letf if you want to change it temporarily).
I always use clisp with -ansi,