[slime-cvs] CVS update: slime/swank-allegro.lisp

Luke Gorrie lgorrie at common-lisp.net
Fri Jun 18 19:27:37 UTC 2004


Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv28603

Modified Files:
	swank-allegro.lisp 
Log Message:
>From Matthew Danish:
Implemented frame-source-location-for-emacs.

Date: Fri Jun 18 12:27:37 2004
Author: lgorrie

Index: slime/swank-allegro.lisp
diff -u slime/swank-allegro.lisp:1.36 slime/swank-allegro.lisp:1.37
--- slime/swank-allegro.lisp:1.36	Wed Jun 16 15:03:55 2004
+++ slime/swank-allegro.lisp	Fri Jun 18 12:27:37 2004
@@ -155,8 +155,10 @@
   (disassemble (debugger:frame-function (nth-frame index))))
 
 (defimplementation frame-source-location-for-emacs (index)
-  (list :error (format nil "Cannot find source for frame: ~A"
-                       (nth-frame index))))
+  (let* ((frame (nth-frame index))
+         (expr (debugger:frame-expression frame))
+         (fspec (first expr)))
+    (second (first (fspec-definition-locations fspec)))))
 
 (defimplementation eval-in-frame (form frame-number)
   (debugger:eval-form-in-context 
@@ -242,7 +244,7 @@
       ((member :top-level)
        (list :error (format nil "Defined at toplevel: ~A" fspec)))
       (null 
-       (list :error (format nil "Unkown source location for ~A" fspec))))))
+       (list :error (format nil "Unknown source location for ~A" fspec))))))
 
 (defun fspec-definition-locations (fspec)
   (let ((defs (excl::find-multiple-definitions fspec)))





More information about the slime-cvs mailing list