[slime-cvs] CVS slime
heller
heller at common-lisp.net
Mon Aug 11 07:36:55 UTC 2008
Update of /project/slime/cvsroot/slime
In directory clnet:/tmp/cvs-serv17883
Modified Files:
ChangeLog swank.lisp
Log Message:
* swank.lisp (invoke-slime-debugger): New function.
Analagous to cl:invoke-debugger.
(swank-debugger-hook): Use it.
--- /project/slime/cvsroot/slime/ChangeLog 2008/08/09 19:57:37 1.1428
+++ /project/slime/cvsroot/slime/ChangeLog 2008/08/11 07:36:52 1.1429
@@ -1,3 +1,9 @@
+2008-08-10 Helmut Eller <heller at common-lisp.net>
+
+ * swank.lisp (invoke-slime-debugger): New function.
+ Analagous to cl:invoke-debugger.
+ (swank-debugger-hook): Use it.
+
2008-08-09 Helmut Eller <heller at common-lisp.net>
* slime.el (slime-quit-lisp): Optionally send kill signal.
--- /project/slime/cvsroot/slime/swank.lisp 2008/08/09 19:57:22 1.560
+++ /project/slime/cvsroot/slime/swank.lisp 2008/08/11 07:36:52 1.561
@@ -22,6 +22,7 @@
#:ed-in-emacs
#:inspect-in-emacs
#:print-indentation-lossage
+ #:invoke-slime-debugger
#:swank-debugger-hook
#:emacs-inspect
;;#:inspect-slot-for-emacs
@@ -1986,23 +1987,25 @@
;;;; Debugger
-(defun swank-debugger-hook (condition hook)
- "Debugger function for binding *DEBUGGER-HOOK*.
-Sends a message to Emacs declaring that the debugger has been entered,
+(defun invoke-slime-debugger (condition)
+ "Sends a message to Emacs declaring that the debugger has been entered,
then waits to handle further requests from Emacs. Eventually returns
after Emacs causes a restart to be invoked."
- (declare (ignore hook))
(without-slime-interrupts
- (restart-case
- (cond (*emacs-connection*
- (debug-in-emacs condition))
- ((default-connection)
- (with-connection ((default-connection))
- (debug-in-emacs condition))))
- (default-debugger (&optional v)
- :report "Use default debugger." (declare (ignore v))
- (let ((*debugger-hook* nil))
- (invoke-debugger condition))))))
+ (cond (*emacs-connection*
+ (debug-in-emacs condition))
+ ((default-connection)
+ (with-connection ((default-connection))
+ (debug-in-emacs condition))))))
+
+(defun swank-debugger-hook (condition hook)
+ "Debugger function for binding *DEBUGGER-HOOK*."
+ (declare (ignore hook))
+ (restart-case (invoke-slime-debugger condition)
+ (default-debugger (&optional v)
+ :report "Use default debugger." (declare (ignore v))
+ (let ((*debugger-hook* nil))
+ (invoke-debugger condition)))))
(defvar *global-debugger* nil
"Non-nil means the Swank debugger hook will be installed globally.")
More information about the slime-cvs
mailing list