diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-11-29 16:01:49 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-11-29 16:01:49 +0000 |
commit | 7f2c34166402740a661131d6341bbf874bdb3d48 (patch) | |
tree | 145b725f62b430140cca7640892f7006c7fc74c4 | |
parent | 5c1ec439f0a69e9aa7ece9bbb7d916f48f58be1e (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.c | 2 | ||||
-rw-r--r-- | src/testdir/test_vim9_assign.vim | 6 | ||||
-rw-r--r-- | src/version.c | 2 |
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, |