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

Lucien P drurowin at gmail.com
Fri Mar 16 18:05:14 UTC 2018


On Fri, Mar 16, 2018, 11:25 Robert Dodier <robert.dodier at gmail.com> wrote:

> 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
>

The way I've been doing this is with a :STATIC-FILE component (you must
include file extensions).

ASDF will put your static file into the FASL location without touching it
then you can find it to load using ASDF:FIND-COMPONENT. One of the
component's slots will have the pathname of the "compiled" file in it, you
don't have to use *LOAD-TRUENAME*.

>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20180316/1fcffaea/attachment.html>


More information about the asdf-devel mailing list