patch 8.2.4723: the ModeChanged autocmd event is inefficient
Problem: The ModeChanged autocmd event is inefficient.
Solution: Avoid allocating memory. (closes #10134) Rename
trigger_modechanged() to may_trigger_modechanged().
diff --git a/src/edit.c b/src/edit.c
index 1585f85..fad2a7b 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -284,7 +284,7 @@
else
State = INSERT;
- trigger_modechanged();
+ may_trigger_modechanged();
stop_insert_mode = FALSE;
#ifdef FEAT_CONCEAL
@@ -3701,7 +3701,7 @@
#endif
State = NORMAL;
- trigger_modechanged();
+ may_trigger_modechanged();
// need to position cursor again when on a TAB
if (gchar_cursor() == TAB)
curwin->w_valid &= ~(VALID_WROW|VALID_WCOL|VALID_VIRTCOL);
@@ -3838,7 +3838,7 @@
State = INSERT | (State & LANGMAP);
else
State = replaceState | (State & LANGMAP);
- trigger_modechanged();
+ may_trigger_modechanged();
AppendCharToRedobuff(K_INS);
showmode();
#ifdef CURSOR_SHAPE