diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-04-14 21:56:13 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-14 21:56:13 +0800 |
commit | ae9654dd7336e263e18ca7da4a40a25ec684002d (patch) | |
tree | cea1db883df40c489c431c44e25fbceb8668c870 /src | |
parent | 002b80cb5d34d0b60e11f4039bfad9c270e65173 (diff) | |
download | rneovim-ae9654dd7336e263e18ca7da4a40a25ec684002d.tar.gz rneovim-ae9654dd7336e263e18ca7da4a40a25ec684002d.tar.bz2 rneovim-ae9654dd7336e263e18ca7da4a40a25ec684002d.zip |
vim-patch:8.2.4055: Vim9: line break in expression causes v:errmsg to be fillec (#23090)
Problem: Vim9: line break in expression causes v:errmsg to be filled.
(Yegappan Lakshmanan)
Solution: Do not give an error when skipping over an expression.
https://github.com/vim/vim/commit/5e6b9882fe0218ae4878f6ad0561c8654a2277d8
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/eval/userfunc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nvim/eval/userfunc.c b/src/nvim/eval/userfunc.c index 178f9fd6b6..67c73924c8 100644 --- a/src/nvim/eval/userfunc.c +++ b/src/nvim/eval/userfunc.c @@ -474,6 +474,7 @@ int get_func_tv(const char *name, int len, typval_T *rettv, char **arg, evalarg_ int ret = OK; typval_T argvars[MAX_FUNC_ARGS + 1]; // vars for arguments int argcount = 0; // number of arguments found + const bool evaluate = evalarg == NULL ? false : (evalarg->eval_flags & EVAL_EVALUATE); // Get the arguments. argp = *arg; @@ -515,7 +516,7 @@ int get_func_tv(const char *name, int len, typval_T *rettv, char **arg, evalarg_ ret = call_func(name, len, rettv, argcount, argvars, funcexe); funcargs.ga_len -= i; - } else if (!aborting()) { + } else if (!aborting() && evaluate) { if (argcount == MAX_FUNC_ARGS) { emsg_funcname(N_("E740: Too many arguments for function %s"), name); } else { |