When Edebug is entered and actually reads commands from the user, it saves (and later restores) these additional data:
last-command
, this-command
, last-command-event
, last-input-event
, last-event-frame
, last-nonmenu-event
, and track-mouse
. Commands in Edebug do not affect these variables outside of Edebug. Executing commands within Edebug can change the key sequence that would be returned by this-command-keys
, and there is no way to reset the key sequence from Lisp.
Edebug cannot save and restore the value of unread-command-events
. Entering Edebug while this variable has a nontrivial value can interfere with execution of the program you are debugging.
command-history
. In rare cases this can alter execution. standard-output
and standard-input
are bound to nil
by the recursive-edit
, but Edebug temporarily restores them during evaluations. defining-kbd-macro
is bound to edebug-continue-kbd-macro
.
Copyright © 1990-1996, 1998-2019 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Edebug-Recursive-Edit.html