Edebug fails to instrument code which uses cl-defstruct. I found an example of the problem in Emacs’s source tree. Here are the steps to reproduce it: 1. emacs -Q 2. C-x C-f emacs/lisp/emacs-lisp/avl-tree.el RET 3. M-x toggle-debug-on-error RET 4. M-x edebug-all-defs RET 5. M-x eval-buffer RET Result: invalid-read-syntax error. See attachment for backtrace. The cursor is at :named in the code excerpt below: (cl-defstruct (avl-tree- ;; A tagged list is the pre-defstruct representation. ;; (:type list) :named (:constructor nil) (:constructor avl-tree--create (cmpfun)) (:predicate avl-tree-p) (:copier nil)) (dummyroot (avl-tree--node-create nil nil nil 0)) cmpfun)