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 - 13 Feb 2015