-@kindex C-x u
-@kindex C-_
-@findex undo
- The command @kbd{C-x u} or @kbd{C-_} is how you undo. The first time
-you give this command, it undoes the last change. Point moves back to
-where it was before the command that made the change.
-
- Consecutive repetitions of @kbd{C-_} or @kbd{C-x u} undo earlier and
-earlier changes, back to the limit of the undo information available.
-If all recorded changes have already been undone, the undo command
-displays an error message and does nothing.
-
- Any command other than an undo command breaks the sequence of undo
-commands. Starting from that moment, the previous undo commands become
-ordinary changes that you can undo. Thus, to redo changes you have
-undone, type @kbd{C-f} or any other command that will harmlessly break
-the sequence of undoing, then type more undo commands.
-
-@cindex selective undo
-@kindex C-u C-x u
- Ordinary undo applies to all changes made in the current buffer. You
-can also perform @dfn{selective undo}, limited to the current region.
-To do this, specify the region you want, then run the @code{undo}
-command with a prefix argument (the value does not matter): @kbd{C-u C-x
-u} or @kbd{C-u C-_}. This undoes the most recent change in the region.
-To undo further changes in the same region, repeat the @code{undo}
-command (no prefix argument is needed). In Transient Mark mode, any use
-of @code{undo} when there is an active region performs selective undo;
-you do not need a prefix argument.
-
- If you notice that a buffer has been modified accidentally, the
-easiest way to recover is to type @kbd{C-_} repeatedly until the stars
-disappear from the front of the mode line. At this time, all the
-modifications you made have been canceled. Whenever an undo command
-makes the stars disappear from the mode line, it means that the buffer
-contents are the same as they were when the file was last read in or
-saved.
-
- If you do not remember whether you changed the buffer deliberately,
-type @kbd{C-_} once. When you see the last change you made undone, you
-will see whether it was an intentional change. If it was an accident,
-leave it undone. If it was deliberate, redo the change as described
-above.
-
- Not all buffers record undo information. Buffers whose names start with
-spaces don't; these buffers are used internally by Emacs and its extensions
-to hold text that users don't normally look at or edit.
-
- You cannot undo mere cursor motion; only changes in the buffer
-contents save undo information. However, some cursor motion commands
-set the mark, so if you use these commands from time to time, you can
-move back to the neighborhoods you have moved through by popping the
-mark ring (@pxref{Mark Ring}).
-
-@vindex undo-limit
-@vindex undo-strong-limit
-@vindex undo-outer-limit
-@cindex undo limit
- When the undo information for a buffer becomes too large, Emacs
-discards the oldest undo information from time to time (during garbage
-collection). You can specify how much undo information to keep by
-setting three variables: @code{undo-limit}, @code{undo-strong-limit},
-and @code{undo-outer-limit}. Their values are expressed in units of
-bytes of space.
-
- The variable @code{undo-limit} sets a soft limit: Emacs keeps undo
-data for enough commands to reach this size, and perhaps exceed it,
-but does not keep data for any earlier commands beyond that. Its
-default value is 20000. The variable @code{undo-strong-limit} sets a
-stricter limit: a previous command (not the most recent one) which
-pushes the size past this amount is itself forgotten. The default
-value of @code{undo-strong-limit} is 30000.
-
- Regardless of the values of those variables, the most recent change
-is never discarded unless it gets bigger than @code{undo-outer-limit}
-(normally 300,000). At that point, Emacs asks whether to discard the
-undo information even for the current command. (You also have the
-option of quitting.) So there is normally no danger that garbage
-collection occurring right after an unintentional large change might
-prevent you from undoing it. But if you didn't expect the command
-to create such large undo data, you can get rid of it and prevent
-Emacs from running out of memory.
-
- The reason the @code{undo} command has two keys, @kbd{C-x u} and
-@kbd{C-_}, set up to run it is that it is worthy of a single-character
-key, but on some keyboards it is not obvious how to type @kbd{C-_}.
-@kbd{C-x u} is an alternative you can type straightforwardly on any
-terminal.
+ The command @kbd{C-x u} (or @kbd{C-_} or @kbd{C-/}) is how you undo.
+Normally this command undoes the last change, and moves point back to
+where it was before the change.
+
+ If you repeat @kbd{C-x u} (or its aliases), each repetition undoes
+another, earlier change, back to the limit of the undo information
+available. If all recorded changes have already been undone, the undo
+command displays an error message and does nothing.
+
+ The undo command applies only to changes in the buffer; you can't
+use it to undo mere cursor motion. However, some cursor motion
+commands set the mark, so if you use these commands from time to time,
+you can move back to the neighborhoods you have moved through by
+popping the mark ring (@pxref{Mark Ring}).