[armedbear-devel] Fwd: Bugs(?) in pathnames

Mark Evenson evenson at panix.com
Wed Feb 1 08:28:27 UTC 2012


[Forwarding message for errors with Pathnames that didn't seem to make it to the list]

Begin forwarded message:

> From: Mark Evenson <evenson at panix.com>
> Subject: Re: [armedbear-devel] Bugs(?) in pathnames
> Date: January 28, 2012 14:33:41 GMT+01:00
> To: Theam Yong Chew <senatorzergling at gmail.com>
> Cc: armedbear-devel <armedbear-devel at common-lisp.net>
> 
> 
> On Jan 27, 2012, at 12:46 PM, Theam Yong Chew wrote:
> 
>> Hi devs,
>> 
>> I've observed a few issues (some I'm not so sure about) with pathnames:
>> 
>> 1.
>> 
>> CL-USER> (make-pathname :device '("c:/a.b.jar")
>>              :directory '(:absolute "cl-ppcre"))
>> ; Evaluation aborted on NIL.
> 
> We probably expect the serialized form to be in canonical form
> ("file:///C:/a/b.jar").   We can loosen this a bit.  Wrap a local
> handler on the execution:  the full Common Lisp condition system
> should be available.
> 
>> 
>> Why am I not getting any errors (and not dropping into a debugger)? I
>> know the error is because the device is not a list of a pathname ie
>> missing a #P.
>> 
>> 2. What's printed out is not what was read in (trailing /)
>> 
>> CL-USER> #P"jar:file:c:/a/b.jar!/cl-ppcre/"
>> #P"jar:file:c:/a/b.jar!/cl-ppcre"
> 
> We attempt [c8n]() (via the notions in the various URI/IRI specs)
> here:  does it EVAL again to the same string?  Then that's the
> serialized form, locally.  Otherwise, this is a bug.
> 
> [c8n]: http://en.wikipedia.org/wiki/Canonicalization
> 
> Liberal use of the #P operator locally is advised, as it also gives the
> compiler a better chance to optimize.
> 
>> 3. Should this repeated jar:file:jar:file thing throw an error?
>> 
>> #P"jar:file:jar:file:c:/a/b.jar!/cl-ppcre/"
>> ==> #P"jar:file:jar:file:c:/a/b.jar!/cl-ppcre"
> 
> Such forms should  probably be illegal for abcl-1.1-dev, and should not survive attempts
> to introspect their validity.  I'll clarify as part of the abcl-1.1
> release, probably refactoring org.aremedbear.lisp.Pathaname into a
> protocol description (where I can check constraints a bit easier).
> 
>> I think that was all I found, at least for now :-), thanks.
> 
> Thanks for using!
> 





More information about the armedbear-devel mailing list