[slime-cvs] CVS slime

jsnellman jsnellman at common-lisp.net
Tue Sep 19 11:56:38 UTC 2006


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

Modified Files:
	ChangeLog swank-sbcl.lisp 
Log Message:
fix stepper on threaded SBCL

--- /project/slime/cvsroot/slime/ChangeLog	2006/09/18 21:56:13	1.947
+++ /project/slime/cvsroot/slime/ChangeLog	2006/09/19 11:56:38	1.948
@@ -1,3 +1,10 @@
+2006-09-19  Juho Snellman  <jsnell at iki.fi>	
+	
+	* swank-backend.lisp (call-with-debugger-hook): make the stepper
+	also work with a threaded SBCL, by binding a handler for
+	sb-ext:stepper-condition instead of relying on the one that SBCL
+	establishes on the toplevel
+	
 2006-09-19  Juho Snellman  <jsnell at iki.fi>
 
 	Extend the stepper protocol to work nicely with the SBCL stepper.
--- /project/slime/cvsroot/slime/swank-sbcl.lisp	2006/09/18 21:56:13	1.162
+++ /project/slime/cvsroot/slime/swank-sbcl.lisp	2006/09/19 11:56:38	1.163
@@ -137,7 +137,7 @@
             (return (sb-bsd-sockets:socket-accept socket))
           (sb-bsd-sockets:interrupted-error ()))))
 
-(defimplementation call-without-interrupts (fn)  
+(defimplementation call-without-interrupts (fn)
   (declare (type function fn))
   (sb-sys:without-interrupts (funcall fn)))
 
@@ -634,7 +634,10 @@
            (when (typep condition 'sb-ext:step-form-condition)
              (let ((sb-debug:*stack-top-hint* (sb-di::find-stepped-frame)))
                (sb-impl::invoke-debugger condition))))))
-    (funcall fun)))
+    (handler-bind ((sb-ext:step-condition
+                    (lambda (condition)
+                      (funcall sb-ext:*stepper-hook* condition))))
+      (funcall fun))))
 
 (defun nth-frame (index)
   (do ((frame *sldb-stack-top* (sb-di:frame-down frame))




More information about the slime-cvs mailing list