On Mon, Feb 3, 2014 at 1:40 PM, Pascal J. Bourguignon pjb@informatimago.com wrote:
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,
Indeed, I find that my Ubuntu-provided CLISP binary has custom:*ansi* nil by default, whereas my self-compiled one has it being T by default, and that both fail to parse the logical namestring in -traditional mode and succeed in -ansi mode.
I also note that test/run-tests.sh does explicitly specify -ansi as a flag when running tests.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org You don't have to like everything about me, but if you don't love me the way I am, it's not me you love, only some fantasy of yours.