[slime-cvs] CVS slime

CVS User tnorderhaug tnorderhaug at common-lisp.net
Wed Jan 20 18:10:40 UTC 2010


Update of /project/slime/cvsroot/slime
In directory cl-net:/tmp/cvs-serv9556

Modified Files:
	swank.lisp 
Log Message:
Refactoring to eliminate use of swank-protocol-error.backtrace.

--- /project/slime/cvsroot/slime/swank.lisp	2010/01/19 21:14:23	1.685
+++ /project/slime/cvsroot/slime/swank.lisp	2010/01/20 18:10:40	1.686
@@ -330,18 +330,21 @@
 to T unless you want to debug swank internals.")
 
 (defmacro with-swank-protocol-error-handler ((connection) &body body)
-  (let ((var (gensym)))
-  `(let ((,var ,connection))
+  (let ((var (gensym))
+        (backtrace (gensym)))
+  `(let ((,var ,connection)
+         (,backtrace))
      (handler-case 
          (handler-bind ((swank-protocol-error 
                          (lambda (condition)
+                           (setf ,backtrace (safe-backtrace))
                            (when *debug-on-swank-protocol-error*
                              (invoke-default-debugger condition)))))
            (progn , at body))
        (swank-protocol-error (condition)
          (close-connection ,var
                            (swank-protocol-error.condition condition)
-                           (swank-protocol-error.backtrace condition)))))))
+                           ,backtrace))))))
 
 (defmacro with-panic-handler ((connection) &body body)
   (let ((var (gensym)))





More information about the slime-cvs mailing list