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 <[email protected]>
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.