On 16 Mar 2018, at 17:52, Robert Dodier wrote:

On Fri, Mar 16, 2018 at 1:59 PM, Robert Goldman <rpgoldman@sift.info> wrote:

Another trick you could try is to define a special class of files for the
info files (probably just a subclass of cl-source-file). Then you could tell
ASDF not to move that class of files, by providing a method on OUTPUT-FILES.

You can return T for the second value in order to have output-translations
not apply, IIRC.

Actually, one way to achieve the effect that I want is to have the
info file copied into the place where the fasls end up (because then
*LOAD-PATHNAME* points to the place where the info file is found, just
as it is when the index.lisp is loaded via LOAD).

I suppose I could create a class that has the effect of copying the
info files without any other operation on them?

best,
Robert Dodier

Yes, for example, you could override the COMPILE-OP for this class of files to just do the move, instead of being a no-op.

Now that I think of it, if these index files are lisp data (some kind of table, right?), couldn't you actually compile them? If you can use CL:LOAD on them, couldn't you also use COMPILE-FILE? In which case, I think you could just treat them like cl source files, and use (or *compile-file-truename* *load-truename*). I think that would give you the behavior you want.

Best,
r