[elephant-devel] #+asdf

Walter C. Pelissero walter at pelissero.de
Wed Mar 2 18:26:54 UTC 2005


Just to point out that at around line 161 of sleepycat.lisp there is a
form that doesn't look good to me:

       (if (find-package 'asdf)
	   (merge-pathnames 
	    #p"libsleepycat.so"
	    (asdf:component-pathname (asdf:find-system 'elephant)))
	   "/usr/local/share/common-lisp/elephant-0.2/libsleepycat.so")

In fact, if the asdf package is not present, the lisp reader complains
loudly (a fatal error at least on CMUCL, but most likely on other
implemenatations as well) once it gets to the asdf:component-pathname.
In fact the reader has to fully read the if-form whether the asdf
package will be present at run time or not.

I understand that asdf doesn't show its presence in *features* (a
pity), so a way around this could be something like

(eval-when (:load-toplevel :compile-toplevel)
  (pushnew :asdf *features*))

in the .asd file.  And then use the usual #+asdf throughout the code.
(The eval-when may not be necessary, though.)

-- 
walter pelissero
http://www.pelissero.de



More information about the elephant-devel mailing list