diff options
author | Phillip Lord <phillip.lord@russet.org.uk> | 2016-06-06 09:35:17 +0100 |
---|---|---|
committer | Phillip Lord <phillip.lord@russet.org.uk> | 2016-06-08 22:45:00 +0100 |
commit | a813487f1adf4cf59d7a471d62d22f706f9eab1d (patch) | |
tree | 873e54935a7e221778155e2abe2e8e2097b2d01b /src/keyboard.c | |
parent | 1f85b7ca034ee4f96d796d95ec86bc4fa0ba8aa3 (diff) | |
download | emacs-a813487f1adf4cf59d7a471d62d22f706f9eab1d.tar.gz emacs-a813487f1adf4cf59d7a471d62d22f706f9eab1d.tar.bz2 emacs-a813487f1adf4cf59d7a471d62d22f706f9eab1d.zip |
Fix undo boundary in recursive edit (Bug#23632)
* src/keyboard.c (recursive_edit_1): specbind
undo-auto--undoably-changed-buffers.
* lisp/simple.el (undo-auto--undoably-changed-buffers):
fix docstring.
Diffstat (limited to 'src/keyboard.c')
-rw-r--r-- | src/keyboard.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index e3858a5d8dc..2db9aaf0297 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -681,6 +681,14 @@ recursive_edit_1 (void) specbind (Qinhibit_redisplay, Qnil); redisplaying_p = 0; + /* This variable stores buffers that have changed so that an undo + boundary can be added. specbind this so that changes in the + recursive edit will not result in undo boundaries in buffers + changed before we entered there recursive edit. + See Bug #23632. + */ + specbind (Qundo_auto__undoably_changed_buffers, Qnil); + val = command_loop (); if (EQ (val, Qt)) Fsignal (Qquit, Qnil); @@ -10956,6 +10964,8 @@ syms_of_keyboard (void) DEFSYM (Qpost_command_hook, "post-command-hook"); DEFSYM (Qundo_auto__add_boundary, "undo-auto--add-boundary"); + DEFSYM (Qundo_auto__undoably_changed_buffers, + "undo-auto--undoably-changed-buffers"); DEFSYM (Qdeferred_action_function, "deferred-action-function"); DEFSYM (Qdelayed_warnings_hook, "delayed-warnings-hook"); |