Variable: edebug-mode
edebug-mode is a buffer-local variable defined in edebug.el.gz.
Documentation
Non-nil if Edebug mode is enabled.
Use the command edebug-mode(var)/edebug-mode(fun) to change this variable.
Probably introduced at or before Emacs version 27.1.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/edebug.el.gz
(define-minor-mode edebug-mode
"Mode for Emacs Lisp buffers while in Edebug.
In addition to all Emacs Lisp commands (except those that modify the
buffer) there are local and global key bindings to several Edebug
specific commands. E.g. `edebug-step-mode' is bound to \\[edebug-step-mode]
in the Edebug buffer and \\<global-map>\\[edebug-step-mode] in any buffer.
Also see bindings for the eval list buffer *edebug* in `edebug-eval-mode'.
The edebug buffer commands:
\\{edebug-mode-map}
Global commands prefixed by `edebug-global-prefix':
\\{edebug-global-map}
Options:
`edebug-setup-hook'
`edebug-all-defs'
`edebug-all-forms'
`edebug-save-windows'
`edebug-save-displayed-buffer-points'
`edebug-initial-mode'
`edebug-trace'
`edebug-test-coverage'
`edebug-continue-kbd-macro'
`edebug-print-length'
`edebug-print-level'
`edebug-print-circle'
`edebug-on-error'
`edebug-on-quit'
`edebug-unwrap-results'
`edebug-global-break-condition'"
:lighter " *Debugging*"
:keymap edebug-mode-map
;; If the user kills the buffer in which edebug is currently active,
;; exit to top level, because the edebug command loop can't usefully
;; continue running in such a case.
;;
(if (not edebug-mode)
(progn
(while edebug--mode-saved-vars
(let ((setting (pop edebug--mode-saved-vars)))
(if (consp setting)
(set (car setting) (cdr setting))
(kill-local-variable setting))))
(remove-hook 'kill-buffer-hook #'edebug-kill-buffer t))
(pcase-dolist (`(,var . ,val) '((buffer-read-only . t)))
(push
(if (local-variable-p var) (cons var (symbol-value var)) var)
edebug--mode-saved-vars)
(set (make-local-variable var) val))
;; Append `edebug-kill-buffer' to the hook to avoid interfering with
;; other entries that are unguarded against deleted buffer.
(add-hook 'kill-buffer-hook #'edebug-kill-buffer t t)))