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