diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2026-04-22 09:35:47 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-22 01:35:47 +0000 |
| commit | 2445fab6fb8c9b4d372ba7c02ff9fd1a2db6e4a4 (patch) | |
| tree | 53085ac753fee3da191a602dccd3a228f4d6e311 /test/functional/vimscript/executable_spec.lua | |
| parent | 8efe4f9ac1b721267f886d6d577766cdbd2f7920 (diff) | |
vim-patch:9.2.0384: stale Insstart after cursor move breaks undo (#39290)
vim-patch:9.2.0384: stale Insstart after <Cmd> cursor move breaks undo
Problem: A <Cmd> command executed from Insert mode can sync undo and
move the cursor before the next edit. stop_arrow() saved the
new cursor line for undo, but left Insstart at the previous
insertion point. A line-start backspace could then delete
lines above the saved line without saving the joined range,
leaving a pending undo entry whose bottom resolved above
its top and raising E340.
Solution: Update Insstart and Insstart_textlen after the pending undo
save so the next edit starts from the command-updated cursor
position (Jaehwang Jung).
closes: vim/vim#20031
AI-assisted: Codex
https://github.com/vim/vim/commit/d4fb31762ea0b9de6fffb529c4ffee509621f74c
Co-authored-by: Jaehwang Jung <tomtomjhj@gmail.com>
Diffstat (limited to 'test/functional/vimscript/executable_spec.lua')
0 files changed, 0 insertions, 0 deletions
