neovim/test/functional/insert
Matthew Malcomson dfb676fe0d edit.c: Ensure undo sync when emulating <Esc>x #11706
After PR #8226 an unmapped META key in insert mode behaves like
ESC-<key> (:help i_META).

The behaviour does not fully match, since if <Esc>-<key> is pressed
manually then since it were pressed manually `gotchars` would be called
on the second <key> after insert-mode had already been left.

This would mean that `may_sync_undo` (called from `gotchars`) would
call `u_sync(FALSE)` on the second key (since we would be in normal
mode).

This overall means that <Meta-[something]> behaves differently with
respect to undo than <Esc>[something] when the [something] makes a
change.

As an example, under `nvim -u NONE`:
ihello<M-.>u

leaves the buffer empty, while
ihello<Esc>.u

leaves the buffer with one instance of `hello`.

- Fix by calling u_sync() manually in the new clause under
  `normalchar:` in `insert_handle_key`.
- Update test in tui_spec.lua that accidentally relied on the old behaviour.
2020-01-12 17:09:39 -08:00
..
ctrl_o_spec.lua normal: Don't exit CTRL-O mode after processing K_EVENT 2019-06-04 13:59:43 +02:00
ctrl_r_spec.lua ops: fix i<c-r> with multi-byte text (#6524) 2017-04-15 11:19:40 +02:00
insert_spec.lua edit.c: Ensure undo sync when emulating <Esc>x #11706 2020-01-12 17:09:39 -08:00