forked from aniani/vim
patch 9.0.2031: TextChangedI may be triggered by non-insert mode change
Problem: `TextChangedI` can trigger on entering Insert mode if there was previously a change not in Insert mode. Solution: Make it trigger only when text is actually changed in Insert mode. closes: #13265 closes: #13338 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
This commit is contained in:
committed by
Christian Brabandt
parent
47510f3d65
commit
d7ae263af8
@@ -174,6 +174,9 @@ edit(
|
||||
return FALSE;
|
||||
}
|
||||
ins_compl_clear(); // clear stuff for CTRL-X mode
|
||||
// Reset Changedtick_i, so that TextChangedI will only be triggered for stuff
|
||||
// from insert mode
|
||||
curbuf->b_last_changedtick_i = CHANGEDTICK(curbuf);
|
||||
|
||||
/*
|
||||
* Trigger InsertEnter autocommands. Do not do this for "r<CR>" or "grx".
|
||||
@@ -840,6 +843,7 @@ doESCkey:
|
||||
if (cmdchar != 'r' && cmdchar != 'v' && c != Ctrl_C)
|
||||
ins_apply_autocmds(EVENT_INSERTLEAVE);
|
||||
did_cursorhold = FALSE;
|
||||
curbuf->b_last_changedtick = CHANGEDTICK(curbuf);
|
||||
return (c == Ctrl_O);
|
||||
}
|
||||
continue;
|
||||
|
Reference in New Issue
Block a user