[Openmcl-devel] directory component of logical pathname?

Peter Seibel peter at javamonkey.com
Thu Feb 5 08:57:10 PST 2004


Gary Byers <gb at clozure.com> writes:

> On Tue, 3 Feb 2004, Peter Seibel wrote:
> 
> > I'm running openmcl 0.14<mumble> and I observed that if I make a
> > logical pathname with make-pathname and don't specify a directory
> > component, it defaults to (:absolute). Why is that?
> >
> > -Peter
> >
> > --
> > Peter Seibel                                      peter at javamonkey.com
> >
> 
> Sorry for not responding earlier.
> 
> My (dim) recollection is that this was added a couple of years ago
> in an attempt to fix some case involving MERGE-PATHNAMES.  In hindsight,
> it doesn't look right; clicking around in CLHS for a while didn't
> lead me to anything that clearly stated that it was wrong (which,
> if true, would suggest that it's just permissible implementation-
> dependent behavior.)
> 
> How's that for a definitive, authoritative answer ?
> 
> Gary Byers
> gb at clozure.com
> 

Hmmm. Well my theory was based on the spec saying that the default
value for the :defaults argument to MAKE-PATHNAME is "a pathname whose
host component is the same as the host component of the value of
*default-pathname-defaults*, and whose other components are all nil."
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Of course I also just noticed that the :host argument must be a "valid
physical pathname host" which suggests you can't use MAKE-PATHNAME to
make logical pathnames. Which seems a bit strange. But there it is.
(Though I guess if you passed a logical pathname to :defaults and no
:host then the result would be a logical pathname. Blech--no wonder
every implementation does this stuff differently.)

-Peter

-- 
Peter Seibel                                      peter at javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp



More information about the Openmcl-devel mailing list