Afaict, we do handle errors sanely. There is a default sane pprint-dispatch table that the debugger uses. This is only a problem in Slime.
* (defun bork (x) x (error "Oh oh")) BORK * (set-pprint-dispatch '(satisfies bork) (lambda (stream obj) (format stream "[~A]" (type-of obj)))) debugger invoked on a SIMPLE-ERROR in thread #<THREAD "main thread" RUNNING {1002D8E9F3}>: Oh oh
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT] Exit debugger, returning to top level.
(BORK #<unavailable argument>) 0] *print-pretty* T 0] (make-hash-table) #<HASH-TABLE :TEST EQL :COUNT 0 {1002E69283}> 0] (make-array 4) (make-array 4) #(0 0 0 0)
Afaict, we do handle errors sanely. There is a default sane pprint-dispatch table that the debugger uses.
This is only a problem in Slime.
* (defun bork (x) x (error "Oh oh")) dispatch '(satisfies bork) (lambda (stream obj) (format stream "[~A]" (type-of obj))))
BORK
* (set-pprint-
debugger invoked on a SIMPLE-ERROR in thread
#<THREAD "main thread" RUNNING {1002D8E9F3}>:
Oh oh
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly- abbreviated name):
0: [ABORT] Exit debugger, returning to top level.
(BORK #<unavailable argument>)
0] *print-pretty*
T
0] (make-hash-table)
#<HASH-TABLE :TEST EQL :COUNT 0 {1002E69283}>
0] (make-array 4)
(make-array 4)
#(0 0 0 0)