Click the page title to find all pages related to undoing.

In Emacs, '''[::undo]''' means undoing changes to buffers. However, this page includes discussion of related ways to "undo" other aspects of your Emacs session.

* UndoCommands -- Commands available in Emacs

Undo Replacements:

* Lisp:old-fashioned-undo.el -- Undo/Redo in very simple, and old fashioned way.
* RedoMode -- simplify the current undo mechanism to be more MS Windows like (and thus less powerful)
* RedoPlus -- a fork of redo.el which can correctly work in newer version of Emacs
* SelectiveUndo -- only undo changes in a certain region
* UndoFu -- Thin wrapper around built-in undo, offering more conventional undo/redo functionality, without loosing access to the full undo history.
* UndoTree -- Replace Emacs' undo system with one that treats undo history as what it is: a branching tree of changes.  Includes an undo-tree visualizer to view and browse around the undo history.

Undo Utilities:

* BackupFiles -- Let Emacs keep old copies of the file around.
* CursorUndo -- track your cursor movement and cursor-to-screen relative position history for `undo'.
* GotoLastChange, GotoChg  -- move [[point]] through `buffer-undo-list' positions
* Lisp:volatile-highlights.el - Volatile highlights mode brings visual feedback of "undo" operation by making highlights on text inserted by "undo" command.
* RevertBuffer -- how to refresh the [[buffer]] content without closing and reopening the file
* TrackChanges -- view changes to a file
* UndoBrowse -- powerful undo system (back/forth/movie/redo/hilight)
* UndoFuSession -- persistent undo/redo data which can be used between sessions.
* ViewUndo is a quick hack that shows a buffer's undo list in one message. It doesn't modify the undo list, but it does change the `undo' state from undoing to redoing, a definite problem.  Only tested with GNU Emacs 21.2.1 on Mac OS 10.3.7.

Besides changes to [[buffer]]s, you can undo some other changes to your current Emacs state. In most cases, this undoing really means cycling or popping recorded states.

Frame Configurations:

* `M-x cycle-frame-configs' -- cycle among previous [[FrameConfiguration]]s, seeming to undo configuration changes. See FramesAndRegisters.
* `M-x jump-to-frame-config-register' -- restore the last saved [[FrameConfiguration]], seeming to undo the current config. See FramesAndRegisters.
* `M-x save-frame-config' -- save a [[FrameConfiguration]], so you can return to it later with `M-x cycle-frame-configs' or `jump-to-frame-config-register'. See FramesAndRegisters.

Locations in buffers:

* MarkCommands -- commands to pop local and global mark rings, undoing the current location: `C-u C-SPC', `C-x C-SPC'.
* BreadcrumbForEmacs - leave breadcrumb bookmarks in the buffers, and jump back to them quickly.
* AtimUnscroll - restore buffer appearance as it was before you scrolled the text.
