Fixes #10 deleting with `df)` does not include `)`
Support undo-tree