In the declaration of isearch--state in isearch.el, the default values are omitted in the list of read-only slots. This causes edebug not to be able to instrument the file, since the edebug specification for cl-defstruct does not include this possibility. To reproduce, starting with emacs -Q at the head of the emacs source tree: 1. C-x C-f lisp/isearch.el RET 2. M-x edebug-all-defs RET 3. M-x toggle-debug-on-error RET 4. M-x eval-buffer RET Here's the resulting backtrace: