summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-07-19 17:17:02 +0200
committerBram Moolenaar <Bram@vim.org>2020-07-19 17:17:02 +0200
commitb209750b5e907003568c20856215122670ee22d2 (patch)
tree8aad47e083a1a915a32d2aad9afcc2d71c19cde2
parentf398238a37522fed9a2e7915741d1ab14ccc81a0 (diff)
patch 8.2.1246: Vim9: comment after assignment doesn't workv8.2.1246
Problem: Vim9: comment after assignment doesn't work. Solution: Skip over white space. (closes #6481)
-rw-r--r--src/testdir/test_vim9_script.vim20
-rw-r--r--src/version.c2
-rw-r--r--src/vim9compile.c2
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
@@ -755,6 +755,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1246,
+/**/
1245,
/**/
1244,
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);