[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: More pathname stuff...



> Is this behavior expected?  Is it correct?
> 
> ? (stringp "Wolverine:MCL 2.0f2;SPIF;Architecture:goal class")
> T
> ? (pathname "Wolverine:MCL 2.0f2;SPIF;Architecture:goal class")
> > Error: "Wolverine:MCL 2.0f2;SPIF;Architecture:goal class" is not a valid 
namestring
> > While executing: CCL::PATHNAME-HOST-SSTR
> > Type Command-. to abort.
> See the RestartsI menu item for further choices.
> 1 > 
>
> 
> -- According to CLTL2, on pg. 638, I find:
>   "The pathname function converts its argument to be a pathname.  The
>    argument may be a pathname, a string, or a stream;  the result is always
>    a pathname.
>  
>   | X3J13 voted in March 1988 not to permit symbols as pathnames <134> and
>   | to specify exactly which streams may be used as pathnames."

I think you've misunderstood the CLtL2 description.  That list only indicates 
the kinds of things you can pass to the PATHNAME function without incurring a 
type violation (which might signal an error, and might die horribly).  The 
string must still be syntactically valid; the error you are seeing is because 
the string you've got there isn't valid.  Some of the directory components are 
seperated by ";" and others by ":".  MCL2.0 uses ; separators in logical 
pathnames (as per spec) and : separators when naming physical pathnames.  You 
can't mix the two.