Code which modifies the readtable case of the readtable can hinder debugger interaction. This is because standard commands entered as lowercase
:a
for example will not be recognized if the readtable case is
:preserve
or
:downcase
.
You can use with-debugger-wrapper together with
with-standard-io-syntax
to enable the debugger to recognize such input if the code in
body
should enter the debugger, like this:
(defun my-debugger-wrapper (func condition)
(with-standard-io-syntax
(funcall func condition)))
(dbg:with-debugger-wrapper
'my-debugger-wrapper
(let ((*readtable* (some-modified-readtable)))
body ))
LispWorks User Guide and Reference Manual - 21 Dec 2011