diff options
Diffstat (limited to 'devdocs/elisp/edebug-recursive-edit.html')
| -rw-r--r-- | devdocs/elisp/edebug-recursive-edit.html | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/devdocs/elisp/edebug-recursive-edit.html b/devdocs/elisp/edebug-recursive-edit.html new file mode 100644 index 00000000..29eb6310 --- /dev/null +++ b/devdocs/elisp/edebug-recursive-edit.html @@ -0,0 +1,12 @@ + <h4 class="subsubsection">Edebug Recursive Edit</h4> <p>When Edebug is entered and actually reads commands from the user, it saves (and later restores) these additional data: </p> <ul> <li> The current match data. See <a href="match-data">Match Data</a>. </li> +<li> The variables <code>last-command</code>, <code>this-command</code>, <code>last-command-event</code>, <code>last-input-event</code>, <code>last-event-frame</code>, <code>last-nonmenu-event</code>, and <code>track-mouse</code>. Commands in Edebug do not affect these variables outside of Edebug. <p>Executing commands within Edebug can change the key sequence that would be returned by <code>this-command-keys</code>, and there is no way to reset the key sequence from Lisp. </p> <p>Edebug cannot save and restore the value of <code>unread-command-events</code>. Entering Edebug while this variable has a nontrivial value can interfere with execution of the program you are debugging. </p> </li> +<li> Complex commands executed while in Edebug are added to the variable <code>command-history</code>. In rare cases this can alter execution. </li> +<li> Within Edebug, the recursion depth appears one deeper than the recursion depth outside Edebug. This is not true of the automatically updated evaluation list window. </li> +<li> <code>standard-output</code> and <code>standard-input</code> are bound to <code>nil</code> by the <code>recursive-edit</code>, but Edebug temporarily restores them during evaluations. </li> +<li> The state of keyboard macro definition is saved and restored. While Edebug is active, <code>defining-kbd-macro</code> is bound to <code>edebug-continue-kbd-macro</code>. </li> +</ul><div class="_attribution"> + <p class="_attribution-p"> + Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc. <br>Licensed under the GNU GPL license.<br> + <a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Edebug-Recursive-Edit.html" class="_attribution-link">https://www.gnu.org/software/emacs/manual/html_node/elisp/Edebug-Recursive-Edit.html</a> + </p> +</div> |
