[slime-devel] Interactive compile loses DSPEC info

Helmut Eller e9626484 at stud3.tuwien.ac.at
Mon Mar 1 09:21:25 UTC 2004


Alain.Picard at memetrics.com writes:

> 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)
> 
> ?

This doesn't seem to work:

  (dspec:at-location (:emacs-buffer) (defun foo ()))
  (dspec:name-definition-locations '(function) 'foo)

Returns nothing particularly useful.

In newest version, I tried to patch the recorded source info, basically
by groveling through the hashtable returned by 

   (dspec::dc-database (dspec::find-dc 'function))

This seems to work a bit better.  Some problems are:

 - you get multiple entries in the table if the function is compiled
   multiple times.

 - only the function database is patched, defclass and others are left
   alone.

 - the Lispworks editor may get confused by the emacs buffer entries.

Let's see how it works.

Helmut.




More information about the slime-devel mailing list