aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/edit.c1
-rw-r--r--test/functional/insert/insert_spec.lua6
-rw-r--r--test/functional/terminal/tui_spec.lua2
3 files changed, 9 insertions, 0 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index cb5c7023d7..d59924cd08 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -1234,6 +1234,7 @@ normalchar:
// Unmapped ALT/META chord behaves like ESC+c. #8213
stuffcharReadbuff(ESC);
stuffcharReadbuff(s->c);
+ u_sync(false);
break;
}
diff --git a/test/functional/insert/insert_spec.lua b/test/functional/insert/insert_spec.lua
index 427954f5a6..330cfbd830 100644
--- a/test/functional/insert/insert_spec.lua
+++ b/test/functional/insert/insert_spec.lua
@@ -37,5 +37,11 @@ describe('insert-mode', function()
command('iunmap <M-l>')
feed('0i<M-l>')
eq({ 0, 1, 2, 0, }, funcs.getpos('.'))
+ -- Unmapped ALT-chord has same `undo` characteristics as ESC+<key>
+ command('0,$d')
+ feed('ahello<M-.>')
+ expect('hellohello')
+ feed('u')
+ expect('hello')
end)
end)
diff --git a/test/functional/terminal/tui_spec.lua b/test/functional/terminal/tui_spec.lua
index 077e9dc7d5..5d82037f42 100644
--- a/test/functional/terminal/tui_spec.lua
+++ b/test/functional/terminal/tui_spec.lua
@@ -299,6 +299,8 @@ describe('TUI', function()
feed_data('u')
expect_child_buf_lines({'"pasted from terminal"'})
feed_data('u')
+ expect_child_buf_lines({'""'})
+ feed_data('u')
expect_child_buf_lines({''})
end)