[slimpl] status report, 2/20/2006
Larry Clapp
larry at theclapp.org
Mon Feb 20 05:42:37 CST 2006
For the past few days I've tried to get a test-case to work where I
send '(error "my error")' to clisp and expect some sort of Slime
debugger output back. But I couldn't get it to work because clisp
never invoked the Slime debugger. It turns out that clisp ignores
*debugger-hook* in some cases.
If you say
> [1] > (let ((*debugger-hook* (lambda (&rest args)
> (format t "~%my debugger called~%"))))
> (error "my error"))
you get
> my debugger called
>
> *** - my error
> Break 1 [2]>
However, if you say
> clisp -x '
> (let ((*debugger-hook* (lambda (&rest args)
> (format t "~%my debugger called~%"))))
> (error "my error"))
> '
you only get
> *** - my error
> Bye.
clisp doesn't call your *debugger-hook* (in some cases) if you invoke
it from the command-line. The above code illustrates one case; the
Slime code (combined with the way I started it) illustrates another
case. I started clisp approximately like this:
> clisp -x '(load "run-swank")'
where run-swank.lisp loaded swank-loader and started a Swank server.
Possibly clisp documents this somewhere, but since I didn't know the
origin of the problem, that wouldn't have helped, I only knew that
instead of a "(:debug ...)" form, I got back a "(:return (:abort
...))" form, even though I sent clisp the exact same events that Emacs
sent it.
So anyway, now that I've gotten that test case working, I hope to make
better progress. :)
-- Larry
More information about the slimpl
mailing list