diff options
| -rw-r--r-- | doc/lispref/text.texi | 19 | ||||
| -rw-r--r-- | etc/NEWS | 17 |
2 files changed, 22 insertions, 14 deletions
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 1bb5303620d..dfd85bf124e 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi | |||
| @@ -1353,26 +1353,27 @@ appropriate time. | |||
| 1353 | @end defun | 1353 | @end defun |
| 1354 | 1354 | ||
| 1355 | @defun undo-auto-amalgamate | 1355 | @defun undo-auto-amalgamate |
| 1356 | @cindex amalgamating commands, and undo | ||
| 1356 | The editor command loop automatically calls @code{undo-boundary} just | 1357 | The editor command loop automatically calls @code{undo-boundary} just |
| 1357 | before executing each key sequence, so that each undo normally undoes | 1358 | before executing each key sequence, so that each undo normally undoes |
| 1358 | the effects of one command. A few exceptional commands are | 1359 | the effects of one command. A few exceptional commands are |
| 1359 | @emph{amalgamating}: these commands generally cause small changes to | 1360 | @dfn{amalgamating}: these commands generally cause small changes to |
| 1360 | buffers. So with these a boundary is inserted only every 20th command, | 1361 | buffers, so with these a boundary is inserted only every 20th command, |
| 1361 | so that these can be undone as a group. By default commands | 1362 | allowing to undo them as a group. By default, commands |
| 1362 | @code{self-insert-command}, which produces self-inserting input | 1363 | @code{self-insert-command}, which produces self-inserting input |
| 1363 | characters (@pxref{Commands for Insertion}), and @code{delete-char} | 1364 | characters (@pxref{Commands for Insertion}), and @code{delete-char} |
| 1364 | which deletes characters (@pxref{Deletion}) are amalgamating. | 1365 | which deletes characters (@pxref{Deletion}) are amalgamating. |
| 1365 | Where a command affects the contents of several buffers as may happen, | 1366 | Where a command affects the contents of several buffers, as may happen, |
| 1366 | for example, if a function on the @code{post-command-hook} affects a | 1367 | for example, when a function on the @code{post-command-hook} affects a |
| 1367 | buffer other than the @code{current-buffer}, then @code{undo-boundary} | 1368 | buffer other than the @code{current-buffer}, then @code{undo-boundary} |
| 1368 | will be called in each of them. | 1369 | will be called in each of the affected buffers. |
| 1369 | @end defun | 1370 | @end defun |
| 1370 | 1371 | ||
| 1371 | @defvar undo-auto-current-boundary-timer | 1372 | @defvar undo-auto-current-boundary-timer |
| 1372 | Some buffers, such as process buffers, can change even when no | 1373 | Some buffers, such as process buffers, can change even when no |
| 1373 | commands are executing. In these cases, @code{undo-boundary} is | 1374 | commands are executing. In these cases, @code{undo-boundary} is |
| 1374 | normally called periodically by the timer in this variable. Setting | 1375 | normally called periodically by the timer in this variable. Setting |
| 1375 | this variable to non-@code{nil} prevents this behaviour. | 1376 | this variable to non-@code{nil} prevents this behavior. |
| 1376 | @end defvar | 1377 | @end defvar |
| 1377 | 1378 | ||
| 1378 | @defvar undo-in-progress | 1379 | @defvar undo-in-progress |
| @@ -226,12 +226,19 @@ at configure time. | |||
| 226 | +++ | 226 | +++ |
| 227 | ** M-x suggests shorthands and ignores obsolete commands for completion. | 227 | ** M-x suggests shorthands and ignores obsolete commands for completion. |
| 228 | 228 | ||
| 229 | ** Successive single-char deletions are collapsed in the undo-log just like | 229 | ** Changes in undo |
| 230 | successive char insertions. This behaviour can be extended to other | ||
| 231 | commands, using the `undo-auto--amalgamate' function. | ||
| 232 | 230 | ||
| 233 | ** The heuristic used to insert `undo-boundary' after each command has changed, | 231 | +++ |
| 234 | so that it supports commands which potentially affect multiple buffers. | 232 | *** Successive single-char deletions are collapsed in the undo-log just like |
| 233 | successive char insertions. Which commands invoke this behavior is | ||
| 234 | controlled by the new `undo-auto-amalgamate' function. See the node | ||
| 235 | "Undo" in the ELisp manual for more details. | ||
| 236 | |||
| 237 | +++ | ||
| 238 | *** The heuristic used to insert `undo-boundary' after each command | ||
| 239 | has changed, so that if a command causes changes in more than just the | ||
| 240 | current buffer, Emacs now calls `undo-boundary' in every buffer | ||
| 241 | affected by the command. | ||
| 235 | 242 | ||
| 236 | +++ | 243 | +++ |
| 237 | ** New command `comment-line' bound to `C-x C-;'. | 244 | ** New command `comment-line' bound to `C-x C-;'. |