mirror of
https://github.com/neovim/neovim.git
synced 2025-09-20 02:08:17 +00:00
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:
@@ -6094,15 +6094,17 @@ static void f_mkdir(typval_T *argvars, typval_T *rettv, FunPtr fptr)
|
||||
/// "mode()" function
|
||||
static void f_mode(typval_T *argvars, typval_T *rettv, FunPtr fptr)
|
||||
{
|
||||
char *mode = get_mode();
|
||||
char buf[MODE_MAX_LENGTH];
|
||||
|
||||
get_mode(buf);
|
||||
|
||||
// Clear out the minor mode when the argument is not a non-zero number or
|
||||
// non-empty string.
|
||||
if (!non_zero_arg(&argvars[0])) {
|
||||
mode[1] = NUL;
|
||||
buf[1] = NUL;
|
||||
}
|
||||
|
||||
rettv->vval.v_string = (char_u *)mode;
|
||||
rettv->vval.v_string = vim_strsave((char_u *)buf);
|
||||
rettv->v_type = VAR_STRING;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user