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

Helmut Eller heller at common-lisp.net
Fri Jan 20 21:31:20 UTC 2006


Update of /project/slime/cvsroot/slime
In directory common-lisp:/tmp/cvs-serv26289

Modified Files:
	swank-sbcl.lisp 
Log Message:
(restart-frame): Provide an implementation even if it doesn't quite do
what it's supposed to do.

Date: Fri Jan 20 15:31:20 2006
Author: heller

Index: slime/swank-sbcl.lisp
diff -u slime/swank-sbcl.lisp:1.151 slime/swank-sbcl.lisp:1.152
--- slime/swank-sbcl.lisp:1.151	Mon Dec  5 17:01:50 2005
+++ slime/swank-sbcl.lisp	Fri Jan 20 15:31:20 2006
@@ -737,8 +737,7 @@
 (defvar *sldb-stack-top*)
 
 (defimplementation install-debugger-globally (function)
-  (setq sb-ext:*invoke-debugger-hook* function)
-  (setq *debugger-hook* function))
+  (setq sb-ext:*invoke-debugger-hook* function))
 
 (defimplementation call-with-debugging-environment (debugger-loop-fn)
   (declare (type function debugger-loop-fn))
@@ -926,6 +925,13 @@
                           (sb-di::frame-catches frame))))
     (cond (probe (throw (car probe) (eval-in-frame form index)))
           (t (format nil "Cannot return from frame: ~S" frame)))))
+
+;; FIXME: this implementation doesn't unwind the stack before
+;; re-invoking the function, but it's better than no implementation at
+;; all.
+(defimplementation restart-frame (index)
+  (let ((frame (nth-frame index)))
+    (return-from-frame index (sb-debug::frame-call-as-list frame))))
     
 ;;;;; reference-conditions
 




More information about the slime-cvs mailing list