[slime-devel] break

The HS says: break binds *debugger-hook* to nil before attempting to enter the debugger. Still, with all slime backends (but abcl) I tried, (break) enters the slime debugger. How is this arranged? Andras

Andras Simon <andras@renyi.hu> writes:
The HS says:
break binds *debugger-hook* to nil before attempting to enter the debugger.
Still, with all slime backends (but abcl) I tried, (break) enters the slime debugger. How is this arranged?
Each backend requires a different hack. CMUCL doesn't need anything because, luckily, it is not ANSI compliant in this regard. In SBCL we set the *invoke-debugger-hook* globally, which is probably not the best solution, but nobody complained so far. LispWorks has apparently a generic function env-internals:environment-display-debugger which can be specialized to the "environment", whatever that is. Probably something like tty-env or gui-env. We could probably create a slime-env if someone cares, but we simply override the default method. I don't know why we need no modification for Allegro, but the official way is probably their *break-hook*. For CLISP and OpenMCL we simply redefine/advice BREAK. It would probably be good to have some macro like with-debugger-hook which binds the *debugger-hook* and does whatever backend specific stuff is needed for break. Helmut.
participants (2)
-
Andras Simon
-
Helmut Eller