When launching with the Emacs keymap, every single key that is inserted on the buffer is added as an Insert event on the undo/redo list. To check this launch yi, write "hello world and foo bar" and the press C-x u a few times, it will be clear what I am meaning.
As a consequence of how the Keymap is implemented, via the Alternative instance of KeymapM () it is not clear where we should startUpdateTranssaction to re-use the machinery already at work on the undo/redo system with the vim keymap. The algorithm of how Emacs determines an unit of work is given here.
When launching with the Emacs keymap, every single key that is inserted on the buffer is added as an
Insert
event on the undo/redo list. To check this launch yi, write "hello world and foo bar" and the pressC-x u
a few times, it will be clear what I am meaning.As a consequence of how the
Keymap
is implemented, via theAlternative
instance ofKeymapM ()
it is not clear where we shouldstartUpdateTranssaction
to re-use the machinery already at work on the undo/redo system with the vim keymap. The algorithm of how Emacs determines an unit of work is given here.