On Tue, May 11, 2010 at 10:52 AM, Mark Evenson <evenson@panix.com> wrote:

On May 11, 2010, at 4:37 AM, Alan Ruttenberg wrote:

> CL-USER> (DIRECTORY
> "jar:file:/Users/alanr/Desktop/jar2go.jar!/abcl-module-*.lisp")
> Calling (DIRECTORY
> "jar:file:/Users/alanr/Desktop/jar2go.jar!/abcl-module-*.lisp")
> DIRECTORY returned #<FILE-ERROR {E2C42F}>

This turned out to be a problem with WILD-PATHNAME-P not detecting wildcards in components which were string (i.e. (WILD-PATHNAME-P "foo*bar") was returning nil), which I have fixed in [r12667][1] for "*" occuring in DIRECTORY, NAME, and TYPE string components.  The rules for HOST and DEVICE would be a little more complicated, which I don't have time at the moment.

[1]: http://trac.common-lisp.net/armedbear/changeset/12667

> Below is the function I use for directory in jars. Please consider
> including it until there is a correct implementation in java.

[…]

This is identical to  the algorithm implemented in
Pathname.java:match-wild-jar-pathname (I think I aped your
implementation into Java).  I had coded a further check that the argument was
indeed a wild pathname, which was failing due to a faulty WILD-PATHNAME-P
implementation.

Verified to work for me. Thanks.
-Alan
 
--
"A screaming comes across the sky.  It has happened before, but there is nothing to compare to it now."





_______________________________________________
armedbear-devel mailing list
armedbear-devel@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel