[slime-devel] Causing slime to enter the debugger
Thomas F. Burdick
tfb at OCF.Berkeley.EDU
Thu Apr 15 01:43:16 UTC 2004
I'm adding some signal handlers to an application I'm writing, so it
acts like a well-behaved Unix daemon. It would be nice to do
something like:
(defun handle-sighup (&rest ignore)
(declare (ignore ignore))
#+debug (cerror "Restart server" "Signal request to restart")
(shutdown)
(read-configuration)
(startup))
The problem is that if I call break from a signal handler, the normal
SBCL toplevel enters the debugger. With the following patch, I can
set *debugger-hook* to swank:swank-debugger-hook at the toplevel:
--- swank.lisp.~1.166.~ Thu Apr 8 16:41:05 2004
+++ swank.lisp Wed Apr 14 18:37:54 2004
@@ -14,6 +14,7 @@
#:create-swank-server
#:ed-in-emacs
#:print-indentation-lossage
+ #:swank-debugger-hook
;; configurables
#:*sldb-pprint-frames*
#:*communication-style*
@@ -882,7 +883,8 @@
*package*))
(*sldb-level* (1+ *sldb-level*))
(*swank-state-stack* (cons :swank-debugger-hook *swank-state-stack*))
- (*print-readably* nil))
+ (*print-readably* nil)
+ (*emacs-connection* (or *emacs-connection* (default-connection))))
(force-user-output)
(call-with-debugging-environment
(lambda () (sldb-loop *sldb-level*)))))
More information about the slime-devel
mailing list