summaryrefslogtreecommitdiffstats
path: root/src/edit.c
diff options
context:
space:
mode:
authorChristian Brabandt <cb@256bit.org>2024-03-31 18:38:09 +0200
committerChristian Brabandt <cb@256bit.org>2024-03-31 18:38:09 +0200
commit86032702932995db74fed265ba99ae0c823cb75d (patch)
treee803885d3ce0119602aebfdad0d09168a345bda4 /src/edit.c
parent18d730d7b5728c8f87272ac7047d86354013eeb9 (diff)
patch 9.1.0230: TextChanged autocommand not triggered under some circumstancesv9.1.0230
Problem: TextChanged autocommand not triggered under some circumstances (Sergey Vlasov) Solution: Trigger TextChanged when TextChangedI has not been triggered fixes: #14332 closes: #14339 Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src/edit.c')
-rw-r--r--src/edit.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/edit.c b/src/edit.c
index efa32f51e7..2f28562086 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -845,9 +845,10 @@ doESCkey:
did_cursorhold = FALSE;
// ins_redraw() triggers TextChangedI only when no characters
- // are in the typeahead buffer, so only reset curbuf->b_last_changedtick
+ // are in the typeahead buffer, so reset curbuf->b_last_changedtick only
// if the TextChangedI was not blocked by char_avail() (e.g. using :norm!)
- if (!char_avail())
+ // and the TextChangeDI autocommand has been trigered
+ if (!char_avail() && curbuf->b_last_changedtick_i == CHANGEDTICK(curbuf))
curbuf->b_last_changedtick = CHANGEDTICK(curbuf);
return (c == Ctrl_O);
}