vim-patch:8.2.4723: the ModeChanged autocmd event is inefficient

Problem:    The ModeChanged autocmd event is inefficient.
Solution:   Avoid allocating memory. (closes vim/vim#10134)  Rename
            trigger_modechanged() to may_trigger_modechanged().
2bf52dd065

Make v:event readonly for ModeChanged.
This commit is contained in:
zeertzjq
2022-04-10 07:20:35 +08:00
parent ff726cc569
commit 263a7fde35
12 changed files with 77 additions and 71 deletions

View File

@@ -1549,10 +1549,11 @@ Dictionary nvim_get_mode(void)
FUNC_API_SINCE(2) FUNC_API_FAST
{
Dictionary rv = ARRAY_DICT_INIT;
char *modestr = get_mode();
char modestr[MODE_MAX_LENGTH];
get_mode(modestr);
bool blocked = input_blocking();
PUT(rv, "mode", STRING_OBJ(cstr_as_string(modestr)));
PUT(rv, "mode", STRING_OBJ(cstr_to_string(modestr)));
PUT(rv, "blocking", BOOLEAN_OBJ(blocked));
return rv;