How the undo mechanism works
The availability of undo is controlled by the resource *undo*, which is
True by default. By default you are able to undo only the most recent
operation that changed the file. If you wish to retain a greater
history then set the *undoLevel* resource (Note: AxeiiText widget
resources.) to the level you require. The default is
1. A value of 0 means keeping unlimited information, but that could run
away with large amounts of memory if editing over an extended period.
The new action undo performs a single undo.
Inserted characters, apart from control codes, which are dealt with
individually, are handed back in units of uninterrupted runs of at most
a line. A run is interrupted by any operation other than the insertion
of a character, even if it doesn't change the file, e.g. moving the
caret. If you want to undo single characters then delete them in the
normal way. Deleted characters can be undone individually.
The implementation allows undos of undos. Once *undoLevel* consecutive
undos have been performed the next (consecutive) undo will cause the
most recent undo to be undone, the next the undo before that, and so on
ad infinitum until some action other than undo breaks the sequence.
Note that if you have a number of undos to perform it is quicker to
type undo in the minibuffer and repeatedly re-execute it by hitting the
Return key than by selecting *Undo* from the *Misc* menu each time.
You should be aware that currently multiple changes arising from
performing a single action, e.g. by doing a `replace All' or executing
a keyboard macro, require multiple undos to get back to the position
prior to the action being invoked, and may be impossible if *undoLevel*
is not great enough.
If you find that for some reason the undo information has got out of
step then the easiest way to get back in sync is to save and reload the
file. Loading or reloading a file causes all the current undo
information to be thrown away and the mechanism to be reinitialised.
automatically generated by info2www version 220.127.116.11