[slime-devel] Interactive compile loses DSPEC info
Helmut Eller
e9626484 at stud3.tuwien.ac.at
Thu Feb 26 07:46:20 UTC 2004
Alain.Picard at memetrics.com writes:
> If I compile and load my system from scratch, I can
> use M-. to jump around function definitions. but
> if I go to a function, hit C-c C-c to recompile the
> function, jump to a different emacs buffer and try M-.
> on the newly compiled function, I now get:
>
> 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.
CMUCL has an extension ext:compile-from-stream which allows us to
attach our custom source info. M-. in CMUCL works nicely in
combination with C-c C-c.
I'm sure Lispworks has something similar, but I couldn't find it in
the documentation. Patches welcome :-)
Helmut.
More information about the slime-devel
mailing list