[armedbear-devel] Patches for ASDF2 for translation function
Carlos Ungil
carlos.ungil at gmail.com
Thu Apr 29 23:59:10 UTC 2010
Hello,
On Mon, Apr 5, 2010 at 2:52 PM, Mark Evenson <evenson at panix.com> wrote:
> Attached is a patch against ASDF that allows a user specified function to
> take the place of TRANSLATE-PATHNAME as the ASDF2 output translation
> function.
>
> Additionally it adds an ABCL specific extension to ASDF2 that uses this
> ability by providing the following translations by default
>
> (#p"jar:file:/**/*.jar!/**/*.*" (:function translate-jar-pathname))
> (#p"/:jar:file/**/*.*" (:user-cache #p"**/*.*")))
>
> that will map all ASDF loads from jar pathnames to an output location under
> the per user cache location. This will allow the loading of ASDF systems
> packaged in jar files which first compiles and then loads FASLs to the local
> filesystem.
On MacOSX, and I guess on all non-Windows systems, #p"/:jar:file/**/*.*" equals
(make-pathname :type :wild :name :wild :directory '(:absolute
":jar:file" :wild-inferiors))
On Windows, this pathname is parsed differently: the result is a
relative directory
in a device called "/" (as mentioned in a trac ticket, this causes an error).
Is there a reason why the pathname has to start with "/:"? I changed it to
#P"/jar:file/**.*" (and made a similar change inside translate-jar-pathname,
from "/:jar:file/" to "/jar:file/"). This seems to work on both macosx
and windows
(at least I can load asdf systems).
I wonder if something else might be broken with the change.
Cheers,
Carlos
More information about the armedbear-devel
mailing list