# HG changeset patch # User Bram Moolenaar # Date 1597092304 -7200 # Node ID a849c984b4858ed93aeb6a025c0237da5413e1db # Parent 38ea8c418214c2a3c69c24a9e88c8bfb721fcdae patch 8.2.1418: Vim9: invalid error for missing white space Commit: https://github.com/vim/vim/commit/8294d49937b99067522fda8a9399bb9533e3c44e Author: Bram Moolenaar Date: Mon Aug 10 22:40:56 2020 +0200 patch 8.2.1418: Vim9: invalid error for missing white space Problem: Vim9: invalid error for missing white space after function. Solution: Do not skip over white space. (closes https://github.com/vim/vim/issues/6679) diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim --- a/src/testdir/test_vim9_expr.vim +++ b/src/testdir/test_vim9_expr.vim @@ -706,7 +706,7 @@ def RetVoid() let x = 1 enddef -def Test_expr4_vimscript() +def Test_expr4_vim9script() # check line continuation let lines =<< trim END vim9script @@ -819,6 +819,12 @@ def Test_expr4_vimscript() echo 2!= 3 END CheckScriptFailure(lines, 'E1004:') + + lines =<< trim END + vim9script + echo len('xxx') == 3 + END + CheckScriptSuccess(lines) enddef func Test_expr4_fails() diff --git a/src/userfunc.c b/src/userfunc.c --- a/src/userfunc.c +++ b/src/userfunc.c @@ -686,7 +686,10 @@ get_func_tv( while (--argcount >= 0) clear_tv(&argvars[argcount]); - *arg = skipwhite(argp); + if (in_vim9script()) + *arg = argp; + else + *arg = skipwhite(argp); return ret; } @@ -4097,6 +4100,7 @@ ex_call(exarg_T *eap) if (!failed || eap->cstack->cs_trylevel > 0) { // Check for trailing illegal characters and a following command. + arg = skipwhite(arg); if (!ends_excmd2(eap->arg, arg)) { if (!failed) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1418, +/**/ 1417, /**/ 1416,