neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 700152fbf8e035e400e4bd86a2f629179b27e2ef
parent 0a61cb60a633f05e3f05f8d5dae241910a92ee1f
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Sat, 15 Apr 2023 16:36:19 +0800

vim-patch:8.2.1378: cannot put space between function name and paren

Problem:    Cannot put space between function name and paren.
Solution:   Allow this for backwards compatibility.

https://github.com/vim/vim/commit/bbd3e3c357487f7a5bdc704a819f63a7dd0dd66e

This fixes a regression from patch 8.2.1365, which isn't ported yet.

Co-authored-by: Bram Moolenaar <Bram@vim.org>

Diffstat:
Msrc/nvim/eval.c | 3++-
Mtest/old/testdir/test_expr.vim | 5+++++
2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/nvim/eval.c b/src/nvim/eval.c @@ -3149,8 +3149,9 @@ static int eval7(char **arg, typval_T *rettv, evalarg_T *const evalarg, bool wan ret = FAIL; } else { const int flags = evalarg == NULL ? 0 : evalarg->eval_flags; - if (**arg == '(') { + if (*skipwhite(*arg) == '(') { // "name(..." recursive! + *arg = skipwhite(*arg); ret = eval_func(arg, evalarg, s, len, rettv, flags, NULL); } else if (evaluate) { // get value of variable diff --git a/test/old/testdir/test_expr.vim b/test/old/testdir/test_expr.vim @@ -717,6 +717,11 @@ func Test_expr_eval_error() call assert_fails("let v = -{}", 'E728:') endfunc +func Test_white_in_function_call() + let text = substitute ( 'some text' , 't' , 'T' , 'g' ) + call assert_equal('some TexT', text) +endfunc + " Test for float value comparison func Test_float_compare() CheckFeature float