[armedbear-devel] Change in merge semantics which fixes loading CFFI

Stas Boukarev stassats at gmail.com
Thu Oct 11 13:28:14 UTC 2012


Mark Evenson <evenson at panix.com> writes:

> After extensive testing and refactoring, I have pushed a series of
> changes (from [r14176][] through [r14179][]) to trunk that should,
> among other things, finally fix the issues associated with loading
> CFFI.
>
> To affect the fixes, I have introduced a slight change
> in the merge pathname semantics in [r14178][], which I described
> in the Manual by the following text:
>
> When merging pathnames and the defaults point to a JAR-PATHNAME,
> we set the DEVICE of the result to :UNSPECIFIC if the pathname
> to be be merged does not contain a specified DEVICE, does not
> contain a specified HOST, does contain a relative DIRECTORY, and
> we are not running on a MSFT Windows platform.  The intent of
> this rather arcane sounding deviation from conformance is so that
> the result of a merge won't fill in a DEVICE with the
> wrong "default device for the host" in the sense of the fourth
> paragraph in the CLHS description of MERGE-PATHNAMES (the
> paragraph beginning "If the PATHNAME explicitly specifies a host
> and not a device").  A future version of the implementation may
> return to conformance by using the HOST value to reflect the type
> explicitly.
>
> Additionally TRUENAME on non-Windows now fills in the DEVICE component
> with :UNSPECIFIC, but this is conforming behaviour.
>
> I will close the relevant tickets when I get a chance (and no one
> has proved me a liar in the meantime).
>
>
> [r14176]: http://trac.common-lisp.net/armedbear/changeset/14176
> [r14178]: http://trac.common-lisp.net/armedbear/changeset/14178
> [r14179]: http://trac.common-lisp.net/armedbear/changeset/14179
>
> Comments, criticisms, usage reports (especially of the "Yay!  CFFI
> works now!" variety), solicited.
First, when loading CFFI I get that ABCL-ASDF package is
undefined. After loading abcl-asdf system, I get:

java.lang.ClassCastException: org.armedbear.lisp.Nil cannot be cast to
org.armedbear.lisp.Pathname

        at org.armedbear.lisp.Pathname.truename(Pathname.java:2244)
        at org.armedbear.lisp.Pathname.truename(Pathname.java:2136)
        at org.armedbear.lisp.Load.load(Load.java:169)
        at org.armedbear.lisp.Load.load(Load.java:715)
        at org.armedbear.lisp.Load$_load.execute(Load.java:665)
        <full backtrace attached>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: abcl-backtrace.txt
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20121011/fb8785ed/attachment.txt>
-------------- next part --------------

I have debian with OpenJDK 1.6.0_24 and libjna-java at version 3.2.7.

-- 
With best regards, Stas.


More information about the armedbear-devel mailing list