[slime-cvs] CVS slime

CVS User heller heller at common-lisp.net
Wed Jan 9 14:29:29 UTC 2013


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

Modified Files:
	ChangeLog swank-sbcl.lisp 
Log Message:
* swank-sbcl.lisp (frame-package): New.

--- /project/slime/cvsroot/slime/ChangeLog	2013/01/09 14:29:10	1.2383
+++ /project/slime/cvsroot/slime/ChangeLog	2013/01/09 14:29:27	1.2384
@@ -2,6 +2,7 @@
 
 	* swank-sbcl.lisp (frame-debug-vars): Only include :valid locals.
 	(*keep-non-valid-locals*): New.
+	(frame-package): New.
 
 2013-01-07  Helmut Eller  <heller at common-lisp.net>
 
--- /project/slime/cvsroot/slime/swank-sbcl.lisp	2013/01/09 14:29:11	1.326
+++ /project/slime/cvsroot/slime/swank-sbcl.lisp	2013/01/09 14:29:28	1.327
@@ -1360,6 +1360,16 @@
                                           (sb-di:frame-code-location frame)))
              frame)))
 
+(defimplementation frame-package (frame-number)
+  (let* ((frame (nth-frame frame-number))
+         (fun (sb-di:debug-fun-fun (sb-di:frame-debug-fun frame))))
+    (when fun
+      (let ((name (function-name fun)))
+        (typecase name
+          (null nil)
+          (symbol (symbol-package name))
+          ((cons (eql setf) (cons symbol)) (symbol-package (cadr name))))))))
+
 #+#.(swank-backend::sbcl-with-restart-frame)
 (progn
   (defimplementation return-from-frame (index form)





More information about the slime-cvs mailing list