I just committed a patch that deprecates LOAD-FOREIGN and
LOAD-1-FOREIGN. Instead of LOAD-1-FOREIGN, you'll need to use
sb-alien:load-shared-object and instead of using load-foreign, we urge
you to link the object file(s) yourself into a shared library and use
load-shared-object on the resulting .so/.dylib/.bundle. This change
will probably go into the next release (SBCL 0.8.13).
Users of UFFI on SBCL: there is a new (asdf-installable) version out
that supports both old and new LOAD-*.
For those of you with code that needs to work on both old and new
SBCLs, here's the backwards-compatible code that UFFI uses to support
instead of (load-1-foreign filename), use:
(handler-case (sb-alien::load-1-foreign filename)
(if (fboundp (intern "LOAD-SHARED-OBJECT" :sb-alien))
(funcall (intern "LOAD-SHARED-OBJECT" :sb-alien) filename)
Thanks for your attention,
Andreas Fuchs, <asf@...>, asf@..., antifuchs