Carlos Konstanski writes:
Helmut Eller writes:
- Carlos Konstanski [2008-08-09 18:03+0200] writes:
Does this sound like a feature that was added in the last year? Or do I need to look elsewhere for the cause?
This sounds more like a bug. Is this CCL/Openmcl? As far as I can tell, our backend for CCL is more or less broken.
Helmut.
OK, I think this has nothing to do with slime, rather it is a problem? feature? of the new sbcl-1.0.19. I can reproduce the issue when running without slime in an sbcl REPL at the command line. I guess the next step is to try sbcl-1.0.18 and see if the issue persists (which it won't), and examine the changelog. -- Carlos
I spoke too soon, as is often the case. I narrowed down the problem to a specific CVS commit in slime. The commit where the problem first appears is:
slime.el: 1.933 swank-sbcl.lisp: 1.194
date: 2008-03-26 09:57:37 -0600; author: trittweiler; state: Exp; lines: +26 -8
On SBCL,
(block outta (let ((*debugger-hook* #'(lambda (c hook) (declare (ignore hook)) (return-from outta 42)))) (error "FOO")))
would kist silently skip over the *DEBUGGER-HOOK*, and pop right into SLDB to handle the error. Fix that.
* swank-sbcl (make-invoke-debugger-hook): New function; returns a hook for SB-EXT:*INVOKE-DEBUGGER-HOOK* that checks for the presence of *DEBUGGER-HOOK*, and calls that if available. (install-debugger-globally): Use it. (call-with-debugger-hook): Ditto.
(getpid): Declaim return type explicitly, to make SBCL shut up about being unable to optimize %SAP-ALIEN in ENABLE-SIGIO-ON-FD.
* slime.el (def-slime-test break): Test additionally that BREAK turns into SLDB even when *DEBUGGER-HOOK* is locally bound. (def-slime-test locally-bound-debugger-hook): New test case; tests that a locally-bound *DEBUGGER-HOOK* is adhered, and not skipped.