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 - 01 Dec 2021 19:30:18