[slime-cvs] CVS slime

trittweiler trittweiler at common-lisp.net
Fri Jul 4 22:59:54 UTC 2008


Update of /project/slime/cvsroot/slime
In directory clnet:/tmp/cvs-serv20787

Modified Files:
	swank-allegro.lisp 
Log Message:

* slime-allegro.lisp (fspec-definition-locations): Workaround for
  the issue that Allegro does not record the source file location
  for methods defined inside a defgeneric form. The idea is that if
  the source location of a method is not found, then the defgeneric
  form is almost certainly the right place.


--- /project/slime/cvsroot/slime/swank-allegro.lisp	2008/04/17 14:56:43	1.102
+++ /project/slime/cvsroot/slime/swank-allegro.lisp	2008/07/04 22:59:53	1.103
@@ -414,6 +414,13 @@
       (fspec-definition-locations next)))
    (t
     (let ((defs (excl::find-source-file fspec)))
+      (when (and (null defs)
+                 (listp fspec)
+                 (string= (car fspec) '#:method))
+        ;; If methods are defined in a defgeneric form, the source location is
+        ;; recorded for the gf but not for the methods. Therefore fall back to
+        ;; the gf as the likely place of definition.
+        (setq defs (excl::find-source-file (second fspec))))
       (if (null defs)
           (list
            (list (list nil fspec)




More information about the slime-cvs mailing list