The following is a FAQ from emacs modernization http://xahlee.org/emacs/modernization.html
Q: Emacs's undo is superior, because the prevalent Undo/Redo system actually loss info. A: Emac's undo is very confusing and does not have a Redo command. To redo after a undo, people are told to type something then do a undo. Long time emacs user argue that it is technically superior because it lets user to revert to any possible state of the past. A practical problem with the way of emacs undo is that it repeats the states in the action record. In the prevalent undo model, the action record is linear, and each entry is unique. A user can easily arrive at a desired previous state using undo and redo. In emacs's model, it traverses the queue back and forth (or add existing states to the stack). It is hard for a user to know when to do undo or do "some random typing followed by undo" to get to the state he wants. In particular, once a person did more than once of "some random typing followed by undo", the undo record becomes too convoluted for a person to keep in mind and often the undo action becomes useless at that point. If you take a survey among programers who use emacs for at least 1 year, perhaps more than 90% are confused by emacs's undo model and do not find it useful. If you take a survey of software users other than emacs, i do not think anyone will report their software's undo lacks something to be desired. It is reasonable to argue, that people work better with a simple undo/ redo model. Undo is practically used to erase a mistake or doing a simple one-time revision. Once a user did a sequence of undos and redos, we can assume that he arrived at a satisfactory point and intends to start fresh from that point. If he needs extra revision control, a more proper mechanism, one that people actually use, is to revert to the saved version. Xah [EMAIL PROTECTED] http://xahlee.org/ -- http://mail.python.org/mailman/listinfo/python-list