Finding out from where the .asd was loaded and/or referencing a non-executable data file

Robert Dodier robert.dodier at gmail.com
Fri Mar 16 17:24:51 UTC 2018


Hi,
I am resuming my tinkering on the Maxima interface to ASDF. I have
bumped into a kind of minor problem for which I don't see a solution.

Maxima can read .info files for documentation items. An index file
(Lisp) which is created ahead of time (not run time) tells where the
items are in the .info. The .asd, index, and .info are all in the same
directory. Some code in the index file tells Maxima to read the .info
from the same place from which the index is loaded (via
*LOAD-PATHNAME*).

That works great when the asd is loaded via LOAD-SOURCE-OP since
*LOAD-PATHNAME* points to the directory where the .info file is. But
when the asd is loaded via LOAD-OP, it doesn't work, since
*LOAD-PATHNAME* points into the place that ASDF puts fasls.

I gather from the ASDF reference manual that there isn't any way to
load, without compiling, only the index file (I'm looking at "How do I
mark a source file to be loaded only and not compiled?"). So I'm
thinking about some other way to locate the .info file. Is there a
special variable or something which tells the path from which the .asd
is being loaded? I looked at the documentation and the list of
external symbols but couldn't puzzle out anything.

The more general idea is that the system contains a non-Lisp data
file. Is there a general approach to work with that?

Thanks for any light you can shed on this problem.

Robert Dodier



More information about the asdf-devel mailing list