On Thu, Mar 11, 2010 at 9:19 AM, Mark Evenson evenson@panix.com wrote:
On Mar 11, 2010, at 3:00 AM, Alan Ruttenberg wrote:
CL-USER(1): (PATHNAME-DIRECTORY #P"jar:file:/Users/alanr/Desktop/lsw.jar!/lsw/jss/invoke.abcl") -> (:RELATIVE "lsw" "jss")
I think that's wrong. Should be :absolute, right?
:RELATIVE is the desired behavior because "!/" is actually a terminal symbol that separates the URL from the ENTRY, i.e.
JAR-PATHNAME ::= "jar:" URL "!/" ENTRY
If you look at the contents of a jar file via java.util.ZipFile.entries(), all the hierarchal entries do not have an initial slash, so are best expressed as relative pathnames.
True, they don't have an initial slash, but they're all relative to the root of the jar i.e. they are absolute, to my understanding. If they were relative, they could be interpreted differently depending to some reference directory.
Or at least that was true in my testing. Although I didn't look a specification of Zip file structure to confirm this but rather observed how the JVM tools on various platforms behaved, so perhaps this is an incorrect assumption.
Do you have an example of a JAR where this isn't the case? If so, please give details so we can somehow figure out how to accommodate this behavior.
-- "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