[slime-devel] Interactive compile loses DSPEC info
Alain.Picard at memetrics.com
Alain.Picard at memetrics.com
Fri Feb 27 01:15:52 UTC 2004
Helmut Eller writes:
> Alain.Picard at 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)
?
More information about the slime-devel
mailing list