Lably
Skip to content

Undo

Computer command

  • 11 min read
  • 3 chapters
Icones que solen representar les ordres "desfés" i "refés"
Tafol · CC BY-SA 4.0

Learn it on Lably

The expectations for undo are easy to understand: to have a predictable functionality, and to include all "undoable" commands. Usually undo is available until the user undoes all executed operations. But there are some actions which are not stored in the undo list, and thus they cannot be undone. For example, save file is not undoable, but is queued in the list to show that it was executed. Another action which is usually not stored, and thus not undoable, is scrolling or selection.

The opposite of to undo is to redo. The redo command reverses the undo or advances the buffer to a more recent state.

The common components of undo functionality are the commands which were executed of the user, the history buffer(s) which stores the completed actions, the undo/redo manager for controlling the history buffer, and the user interface for interacting with the user.

In most graphical applications for the majority of the mainstream operating systems (such as Microsoft Windows, Linux and BSDs), the keyboard shortcut for the undo is Ctrl+Z, and the shortcut for redo is Ctrl+Y or Ctrl+⇧ Shift+Z. In most macOS applications, the shortcut for the undo command is ⌘ Command+Z, and the shortcut for redo is ⌘ Command+⇧ Shift+Z. On all platforms, the undo/redo functions can also be accessed via the Edit menu.

History

The ability to undo an operation on a computer was independently invented multiple times, in response to how people used computers.

The File Retrieval and Editing System, developed starting in 1968 at Brown University, is reported to be the first computer-based system to have had an "undo" feature.

Warren Teitelman developed a Programmer's Assistant as part of BBN-LISP with an Undo function, by 1971.

Marvin Zelkowitz proposed in his PhD thesis (Reversible Execution as a Diagnostic Tool) in 1971 at Cornell University the concept of reversible execution, which is essentially an undo. In his PhD thesis (An Interactive Analysis System for Execution-Time Errors) at the University of Illinois at Urbana-Champaign in 1975, Alan M. Davis expanded on Zelkowitz's concept to show how multi-level undo (i.e., multi-level reversible execution) could be used for debugging software programs.

The Xerox PARC Bravo text editor had an Undo command in 1974. A 1976 research report by Lance A. Miller and John C. Thomas of IBM, Behavioral Issues in the Use of Interactive Systems, noted that "it would be quite useful to permit users to 'take back' at least the immediately preceding command (by issuing some special 'undo' command)." The programmers at the Xerox PARC research center assigned the keyboard shortcut Ctrl-Z to the undo command, which became a crucial feature of text editors and word processors in the personal computer era. In 1980, Larry Tesler of Xerox PARC began working at Apple Computer. There, he and Bill Atkinson advocated for the presence of an undo command as a standard fixture on the Apple Lisa. Atkinson was able to convince the individual developers of the Lisa's application software to include a single level of undo and redo, but was unsuccessful in lobbying for multiple levels. When Apple introduced the Lisa's successor, the Macintosh, it stipulated that all standard applications should include an “Undo” as the first command in the “Edit” menu, which has remained the standard on macOS and Windows to this day.

Multi-level undo commands were introduced in the 1980s, allowing the users to take back a series of actions, not just the most recent one. EMACS and other timeshared screen editors had it before personal computer software. CygnusEd was the first Amiga text editor with an unlimited undo/redo feature. AtariWriter, a word-processing application introduced in 1982, featured undo. NewWord, another word-processing program released by NewStar in 1984, had an unerase command. IBM's VisiWord also had an undelete command.

Sign in to keep reading

2 more chapters are free with a Lably account.

More in Computing and communication

Source and licence. Adapted from the Wikipedia article “Undo” (this version, 2026-06-10) by its contributors, shared under CC BY-SA 4.0. Lablypedia has left out its tables, references and most pictures, and linked it to other Lablypedia articles.