[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