Aucb.374 fa.editor-p utcsrgv!utzoo!decvax!ucbvax!C70:editor-people Thu Feb 4 23:18:15 1982 Re: Undo questions >From JWALKER@BBNA Thu Feb 4 22:57:07 1982 Is someone seriously asking whether undo of any kind is necessary? I wouldn't use an editor without an "unkill" facility. And living without EMACS' unkill ring (of the last 8 kills) would be unthinkable. A more complicated undo facility is most useful if you can see what would be undone. For example, EMACS' Undo queries you with "undo the last fill?" "undo the last un-kill?" and so on. The real reason that this is reasonable is that it tells you what it would be undoing and requires you to confirm the action. You couldn't just undo back towards the beginning of time in a complex editing session. People can't remember sequences in reverse very well (try reciting the alphabet backwards...) so backing up is difficult to make reasonable judgments about. You might have more luck taking "snapshots" at particular points (like buffer switches) and then playing the command sequence @i[forward] from a saved spot until the user recognized the state that they want to "return" to. The user probably wants to undo only the changes to one buffer in most cases, except in complicated sequences of moving things from one buffer to another. Having some sort of description presentation of the effect of each command in the stream would also be useful in helping people figure out what on earth was happening. For example, "Next sequence: query replace of foo with bar. Replay?" More hairy examples could be constructed to make the point better. Jan ----------------------------------------------------------------- gopher://quux.org/ conversion by John Goerzen of http://communication.ucsd.edu/A-News/ This Usenet Oldnews Archive article may be copied and distributed freely, provided: 1. There is no money collected for the text(s) of the articles. 2. The following notice remains appended to each copy: The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996 Bruce Jones, Henry Spencer, David Wiseman.