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

Mark Evenson evenson at panix.com
Thu Oct 11 11:46:22 UTC 2012


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.

--
"A screaming comes across the sky.  It has happened before but there is nothing to compare to it now."





More information about the armedbear-devel mailing list