![](https://secure.gravatar.com/avatar/78300bcba294562fcfd75e1a6df12ae6.jpg?s=120&d=mm&r=g)
On Fri, Jun 12, 2009 at 09:47:48PM +0200, JimmyVolatile wrote:
Ok. Suggestion: Always give priority to oldests history when re-doing.
If the user does 10 undos and 2 re-dos he'd be at "undo-step" 8. He then does some operation, say, move a shape 1 pixel. He's now at step 1 of a new branch of actions. He presses undo 1 or more times, going back to the original history branching point or even beyond. The newest branch is at this point deleted and if the user presses redo again 8+ times, he'll be back at where he started before undo-ing.
I do not know if this is a good idea but at least it is non-intrusive to the user....
I'm struggling to follow the example, but it sounds a lot like the way Emacs handles undo/redo---i.e. they're the same, you undo to undo undos!
It's nice for some tasks, but would be a major deviation from almost every graphical program I've used, and in that regard it's probably a bad UI design choice but it's not so novel that nobody has tried it before.