diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-02-28 17:13:24 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-28 17:13:24 +0800 |
commit | a87b52d328d5f78965d6eaff7efab7b63069bdc0 (patch) | |
tree | b15a5dcb6d11717e329d213570a570867bce7b60 /src/nvim/eval/funcs.c | |
parent | 66c384d4e806a5e8de53bc57a05f0ddd8c8a9d1c (diff) | |
parent | 55d30c459c878224507e90f2a6c1657cdd070668 (diff) | |
download | rneovim-a87b52d328d5f78965d6eaff7efab7b63069bdc0.tar.gz rneovim-a87b52d328d5f78965d6eaff7efab7b63069bdc0.tar.bz2 rneovim-a87b52d328d5f78965d6eaff7efab7b63069bdc0.zip |
Merge pull request #22448 from zeertzjq/vim-8.2.2780
vim-patch:8.2.{2780,2782,2783}
Diffstat (limited to 'src/nvim/eval/funcs.c')
-rw-r--r-- | src/nvim/eval/funcs.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c index 1baf96e281..20e590a30c 100644 --- a/src/nvim/eval/funcs.c +++ b/src/nvim/eval/funcs.c @@ -3743,7 +3743,6 @@ static void f_inputsecret(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) /// "insert()" function static void f_insert(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) { - list_T *l; bool error = false; if (argvars[0].v_type == VAR_BLOB) { @@ -3786,8 +3785,12 @@ static void f_insert(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) tv_copy(&argvars[0], rettv); } else if (argvars[0].v_type != VAR_LIST) { semsg(_(e_listblobarg), "insert()"); - } else if (!value_check_lock(tv_list_locked((l = argvars[0].vval.v_list)), - N_("insert() argument"), TV_TRANSLATE)) { + } else { + list_T *l = argvars[0].vval.v_list; + if (value_check_lock(tv_list_locked(l), N_("insert() argument"), TV_TRANSLATE)) { + return; + } + int64_t before = 0; if (argvars[2].v_type != VAR_UNKNOWN) { before = tv_get_number_chk(&argvars[2], &error); |