[Ecls-list] A few pathname bugs

Richard M Kreuter kreuter at progn.net
Sun Dec 31 21:04:14 UTC 2006


I'm trying to port some gunky file manipulation code to ECL (today's
anonymous CVS from common-lisp.net, as the CFFI page says that CFFI
requires ECL CVS), and have found the following weird things with
pathnames.  I think that they're probably bugs, though technically it's
an implementor's prerogative to define all pathname bugs as
implementation choices ;)

(1) common case translation doesn't seem to get applied to strings in
    directory components:

> (make-pathname :case :common :directory '(:relative "FOO")
                 :name "BAR" :type "BAZ")

(2) Pathnames with a directory starting with :relative :back don't
    seem to be constructable: (these are occasionally useful for

> (make-pathname :directory '(:relative :back "foo"))
(make-pathname :directory '(:relative :back "foo"))
Filesystem error with pathname #<Unprintable pathname>.

(3) Pathnames with a directory containing a :back component anywhere
    else get constructed strangely

> (make-pathname :directory '(:relative "symlink" :back "foo"))

(I'd expected either a pathname with the directory containing the whole
list or else a pathname whose directory component was '(:relative

(4) enough-namestring doesn't seem to do anything:

> (enough-namestring #P"/abc/def" #P"/abc/")
> (enough-namestring #P"/abc/def/ghi" #P"/abc/def/")


More information about the ecl-devel mailing list