>>>>> "Fare" == Far <Far> writes:
Fare> The IRC discussion spawned by my previous bug report raised the point
Fare> of read-write invariance of #p syntax, and the fact that once again,
Fare> cmucl, sbcl and openmcl (and gcl, too) might be wrong by not
Fare> distinguishing the following:
Fare> (MAKE-PATHNAME :DIRECTORY NIL)
Fare> => #P""
Fare> (MAKE-PATHNAME :DIRECTORY '(:RELATIVE))
Fare> => #P""
Fare> clisp, allegro and lispworks agree that it is a good idea to print the
Fare> latter as follows
Fare> => #P"./"
Fare> which of course pushes back the problem when you try to print
Fare> (MAKE-PATHNAME :DIRECTORY '(:RELATIVE "."))
Fare> => #P"./"
Fare> at least, it can be reasonably considered (barring funky filesystem
Fare> semantics) that
An alternative, at least on unix, is to make (make-pathname :directory
'(:relative)) print as #p".". Currently #p"." is read as a pathname
with name ".", but if we change that to return a directory, then we're
ok. But of course, we would then lose for (make-pathname :name "."),
but there isn't really a unix file with name "."; it's a directory.
I hate this stuff.
Ray