[slime-devel] Re: new debugger behavior?

Carlos Konstanski ckonstanski at pippiandcarlos.com
Sun Aug 10 17:14:40 UTC 2008


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.

-- 
Carlos



More information about the slime-devel mailing list