summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-11-29 16:01:49 +0000
committerBram Moolenaar <Bram@vim.org>2021-11-29 16:01:49 +0000
commit7f2c34166402740a661131d6341bbf874bdb3d48 (patch)
tree145b725f62b430140cca7640892f7006c7fc74c4
parent5c1ec439f0a69e9aa7ece9bbb7d916f48f58be1e (diff)
patch 8.2.3696: Vim9: error for invalid assignment when skippingv8.2.3696
Problem: Vim9: error for invalid assignment when skipping. Solution: Do not check white space when skipping. (closes #9243)
-rw-r--r--src/evalvars.c2
-rw-r--r--src/testdir/test_vim9_assign.vim6
-rw-r--r--src/version.c2
3 files changed, 9 insertions, 1 deletions
diff --git a/src/evalvars.c b/src/evalvars.c
index 9124848c00..4342100312 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -881,7 +881,7 @@ ex_let(exarg_T *eap)
else
++expr;
- if (vim9script && (!VIM_ISWHITE(*argend)
+ if (vim9script && !eap->skip && (!VIM_ISWHITE(*argend)
|| !IS_WHITE_OR_NUL(*expr)))
{
vim_strncpy(op, expr - len, len);
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index df8f486f9a..394dfe6638 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -1854,6 +1854,12 @@ def Test_unlet()
'var ll = [1, 2]',
'unlet ll[0: 1]',
], 'E1004:', 2)
+ # command recognized as assignment when skipping, should not give an error
+ CheckScriptSuccess([
+ 'vim9script',
+ 'for i in []',
+ " put =''",
+ 'endfor'])
CheckDefFailure([
'var ll = [1, 2]',
diff --git a/src/version.c b/src/version.c
index e4c85892f2..954ea5b4f3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3696,
+/**/
3695,
/**/
3694,