From b209750b5e907003568c20856215122670ee22d2 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar <Bram@vim.org> Date: Sun, 19 Jul 2020 17:17:02 +0200 Subject: [PATCH] patch 8.2.1246: Vim9: comment after assignment doesn't work Problem: Vim9: comment after assignment doesn't work. Solution: Skip over white space. (closes #6481) --- src/testdir/test_vim9_script.vim | 20 ++++++++++++++++++-- src/version.c | 2 ++ src/vim9compile.c | 2 +- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim index 035c731cc4..fa5ee3c12d 100644 --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -29,7 +29,7 @@ def Test_assignment() call CheckDefFailure(['let x:string = "x"'], 'E1069:') call CheckDefFailure(['let a:string = "x"'], 'E1069:') - let a: number = 6 + let a: number = 6 #comment assert_equal(6, a) if has('channel') @@ -44,7 +44,7 @@ def Test_assignment() let Funky2: func = function('len') let Party2: func = funcref('g:Test_syntax') - g:newvar = 'new' + g:newvar = 'new' #comment assert_equal('new', g:newvar) assert_equal('yes', g:existing) @@ -821,6 +821,22 @@ def Test_cexpr_vimscript() set errorformat& enddef +def Test_list_vimscript() + # checks line continuation and comments + let lines =<< trim END + vim9script + let mylist = [ + 'one', + # comment + 'two', # empty line follows + + 'three', + ] + assert_equal(['one', 'two', 'three'], mylist) + END + CheckScriptSuccess(lines) +enddef + if has('channel') let someJob = test_null_job() diff --git a/src/version.c b/src/version.c index 24ce5e82ca..e1df00738f 100644 --- a/src/version.c +++ b/src/version.c @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1246, /**/ 1245, /**/ diff --git a/src/vim9compile.c b/src/vim9compile.c index 4b569f92f9..31cb31e011 100644 --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -5706,7 +5706,7 @@ compile_assignment(char_u *arg, exarg_T *eap, cmdidx_T cmdidx, cctx_T *cctx) goto theend; } - ret = end; + ret = skipwhite(end); theend: vim_free(name); -- GitLab