
Helmut Eller writes:
Alain.Picard@memetrics.com writes:
make-single-line (:error The file #P"/tmp/filecLlfIH.lisp" does not exist.) (:location (:file /home/kooks/XOS/Bullseye/src/Common/generic-utilities.lisp) (:function-name MAKE-SINGLE-LINE))
in the *XREF buffer.
This is not easy to fix. For C-c C-c we write the text of the function to a temporary file, compile and load it and remove the file afterwards. This means Lispworks records the wrong source location for the function. See swank:compile-string-for-emacs.
I'm sure Lispworks has something similar, but I couldn't find it in the documentation. Patches welcome :-)
I've been reading the DSPEC manual; there seems to be something called: at-location Macro Summary Tells the dspec system of the source location. Package dspec Signature at-location ( location ) &body body => result Arguments location A pathname or a keyword. body Forms, including defining forms. Values result The result of body . Description The macro at-location informs the dspec system that the source for definitions done during the execution of body are at the location location . location is usually a pathname, for definitions occuring in a file or editor buffer with that pathname. I'm wondering (off the top of my head) if it would work to wrap the form being compiled into a (at-location (path which slime/emacs knows we got this form from) from) ?