Re: trivial-features, CLX and SBCL mutual incompatibility

Luís Oliveira <[email protected]> Wed, 23 Feb 2011 17:44:17 +0000
Newsgroups gmane.lisp.cffi.devel,gmane.lisp.clx.devel
Message-ID <[email protected]>
On Fri, Feb 18, 2011 at 9:40 PM, Cyrus Harmon <[email protected]> wrote:
>
> Forgive me if you've heard me rant about this before, but there is a mutu=
al incompatibility between CLX, trivial-features (which, for me at least, g=
ets pulled in whenever I try to use CFFI) and SBCL. The problem is that tri=
vial-features puts :little-endian on *features* and CLX has the following c=
ode in defdeps.lisp:
>
> #+(or lispm vax little-endian Minima)
> (eval-when (eval compile load)
> =A0(pushnew :clx-little-endian *features*))

trivial-features is a bit impolite about pushing :little-endian to
*features*. In my defense, one of the design goals of trivial-features
is to effortlessly disappear over time. I.e., at some point in the
future Lisps will have agreed on what keywords to use, and
trivial-features will be a no-op or removed altogether without changes
to code that uses it. As such, my decision was to use the same
keywords that are in widespread use and make minimal adjustments to
provide consistency across Lisps.

Perhaps if we can sneak a :little/big-endian feature into SBCL proper,
the CLX fix will become inevitable and we'll be a tiny bit closer to
achieving trivial-features' goal? :-)

Cheers,

-- =

Lu=EDs Oliveira
http://r42.eu/~luis/