This variable is used by the debugger when it displays the stack frames. Catch frames are created when the special form catch
is used. They are set up so that throws to the matching tag can be received. By default the debugger displays these frames, but if *print-catch-frames*
is set to nil
then the catch frames are no longer shown.
USER 17 > (setq dbg:*print-catch-frames* nil)
NIL
USER 18 > (defun catch-it ()
(catch 'tag (throw-it) (print "Not caught")))
CATCH-IT
USER 19 > (defun throw-it ()
(throw 'tag (break)))
THROW-IT
USER 20 > (catch-it)
break
1 (continue) return from break.
2 (abort) return to top loop level 0.
Type :c followed by a number to proceed
USER 21 : 1 > :b 5
Interpreted call to (DEFUN THROW-IT):
Call to *%APPLY-INTERPRETED-FUNCTION :
Interpreted call to (DEFUN CATCH-IT):
Call to *%APPLY-INTERPRETED-FUNCTION :
Call to %EVAL :
LispWorks User Guide and Reference Manual - 20 Sep 2017