[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