Undos on operations that appear atomic from the point of view of the
user should undo the entire operation, not the last atomic part of it
from the editor's point of view. Currently, undoing operations that
have multiple components only undoes one of them.
Make a "return" stoke in an indented line, then undo. The auto-indent
in the new line is deleted, but not the new line.
Select some text, write a character to overwrite it, then undo. The
old text is returned, but the new character is still there, immediately