Mercurial > vim
diff src/edit.c @ 28397:d1702731786c v8.2.4723
patch 8.2.4723: the ModeChanged autocmd event is inefficient
Commit: https://github.com/vim/vim/commit/2bf52dd065495cbf28e28792f2c2d50d44546d9f
Author: LemonBoy <thatlemon@gmail.com>
Date: Sat Apr 9 18:17:34 2022 +0100
patch 8.2.4723: the ModeChanged autocmd event is inefficient
Problem: The ModeChanged autocmd event is inefficient.
Solution: Avoid allocating memory. (closes https://github.com/vim/vim/issues/10134) Rename
trigger_modechanged() to may_trigger_modechanged().
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 09 Apr 2022 19:30:02 +0200 |
parents | e466fdbe0699 |
children | aa9720c76412 |
line wrap: on
line diff
--- a/src/edit.c +++ b/src/edit.c @@ -284,7 +284,7 @@ edit( else State = INSERT; - trigger_modechanged(); + may_trigger_modechanged(); stop_insert_mode = FALSE; #ifdef FEAT_CONCEAL @@ -3701,7 +3701,7 @@ ins_esc( #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 @@ ins_insert(int replaceState) State = INSERT | (State & LANGMAP); else State = replaceState | (State & LANGMAP); - trigger_modechanged(); + may_trigger_modechanged(); AppendCharToRedobuff(K_INS); showmode(); #ifdef CURSOR_SHAPE