mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 15:28:17 +00:00
vim-patch:9.1.1337: Undo corrupted with 'completeopt' "preinsert" when switching buffer (#33600)
Problem: Undo corrupted with 'completeopt' "preinsert" when switching
buffer or window.
Solution: Do not delete preinsert text when switching buffer or window.
(zeertzjq)
related: neovim/neovim#33581
closes: vim/vim#17193
1343681aba
This commit is contained in:
@@ -2334,9 +2334,10 @@ static bool set_ctrl_x_mode(const int c)
|
||||
static bool ins_compl_stop(const int c, const int prev_mode, bool retval)
|
||||
{
|
||||
// Remove pre-inserted text when present.
|
||||
if (ins_compl_preinsert_effect()) {
|
||||
if (ins_compl_preinsert_effect() && ins_compl_win_active(curwin)) {
|
||||
ins_compl_delete(false);
|
||||
}
|
||||
|
||||
// Get here when we have finished typing a sequence of ^N and
|
||||
// ^P or other completion characters in CTRL-X mode. Free up
|
||||
// memory that was used, and make sure we can redo the insert.
|
||||
|
Reference in New Issue
Block a user