Ensure undo-boundary after all commands

* lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
  every command whether it (apparently) changes the buffer or not.

See Bug#23785 for discussion.
This commit is contained in:
Phillip Lord 2016-06-17 22:34:50 +01:00
parent 6cf8f0b74e
commit c98bc9821f

View file

@ -2884,6 +2884,10 @@ REASON describes the reason that the boundary is being added; see
"Check recently changed buffers and add a boundary if necessary.
REASON describes the reason that the boundary is being added; see
`undo-last-boundary' for more information."
;; (Bug #23785) All commands should ensure that there is an undo
;; boundary whether they have changed the current buffer or not.
(when (eq cause 'command)
(add-to-list 'undo-auto--undoably-changed-buffers (current-buffer)))
(dolist (b undo-auto--undoably-changed-buffers)
(when (buffer-live-p b)
(with-current-buffer b