merged undo/redo
merge
prevent trailing redos
merge