XEmacs 21.2-b1
[chise/xemacs-chise.git.1] / man / xemacs / undo.texi
1
2 @node Undo, Minibuffer, Basic, Top
3 @chapter Undoing Changes
4 @cindex undo
5 @cindex mistakes, correcting
6
7   Emacs allows you to undo all changes you make to the text of a buffer,
8 up to a certain amount of change (8000 characters).  Each buffer records
9 changes individually, and the undo command always applies to the
10 current buffer.  Usually each editing command makes a separate entry
11 in the undo records, but some commands such as @code{query-replace}
12 make many entries, and very simple commands such as self-inserting
13 characters are often grouped to make undoing less tedious.
14
15 @table @kbd
16 @item C-x u
17 Undo one batch of changes (usually, one command's worth) (@code{undo}).
18 @item C-_
19 The same.
20 @end table
21
22 @kindex C-x u
23 @kindex C-_
24 @findex undo
25   The command @kbd{C-x u} or @kbd{C-_} allows you to undo changes.  The
26 first time you give this command, it undoes the last change.  Point
27 moves to the text affected by the undo, so you can see what was undone.
28
29   Consecutive repetitions of the @kbd{C-_} or @kbd{C-x u} commands undo
30 earlier and earlier changes, back to the limit of what has been
31 recorded.  If all recorded changes have already been undone, the undo
32 command prints an error message and does nothing.
33
34   Any command other than an undo command breaks the sequence of undo
35 commands.  Starting at this moment, the previous undo commands are
36 considered ordinary changes that can themselves be undone.  Thus, you can
37 redo changes you have undone by typing @kbd{C-f} or any other command
38 that have no important effect, and then using more undo commands.
39
40   If you notice that a buffer has been modified accidentally, the
41 easiest way to recover is to type @kbd{C-_} repeatedly until the stars
42 disappear from the front of the mode line.  When that happens, all the
43 modifications you made have been canceled.  If you do not remember
44 whether you changed the buffer deliberately, type @kbd{C-_} once. When
45 you see Emacs undo the last change you made, you probably remember why you
46 made it.  If the change was an accident, leave it undone.  If it was
47 deliberate, redo the change as described in the preceding paragraph.
48
49   Whenever an undo command makes the stars disappear from the mode line,
50 the buffer contents is the same as it was when the file was last read in
51 or saved.
52
53   Not all buffers record undo information.  Buffers whose names start with
54 spaces don't; these buffers are used internally by Emacs and its extensions
55 to hold text that users don't normally look at or edit.  Minibuffers,
56 help buffers, and documentation buffers also don't record undo information.
57
58   Emacs can remember at most 8000 or so characters of deleted or
59 modified text in any one buffer for reinsertion by the undo command.
60 There is also a limit on the number of individual insert, delete, or
61 change actions that Emacs can remember.
62
63   There are two keys to run the @code{undo} command, @kbd{C-x u} and
64 @kbd{C-_}, because on some keyboards, it is not obvious how to type
65 @kbd{C-_}. @kbd{C-x u} is an alternative you can type in the same
66 fashion on any terminal.