diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-07-23 19:06:23 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-07-23 19:06:23 +0200 |
commit | 637cd7d1c9fa0ee47951ccdc310a388cb7ecfada (patch) | |
tree | bb0b8c23baf8d9b2737debc0c769d0f070c4472d /src | |
parent | 6c4bfe4b31e8c5d3c4809536ab6e4835d50f0f67 (diff) | |
download | vim-git-637cd7d1c9fa0ee47951ccdc310a388cb7ecfada.tar.gz |
patch 8.2.1283: Vim9: error for misplaced -> lacks argumentv8.2.1283
Problem: Vim9: error for misplaced -> lacks argument.
Solution: Use the pointer before it was advanced.
Diffstat (limited to 'src')
-rw-r--r-- | src/testdir/test_vim9_expr.vim | 2 | ||||
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/vim9compile.c | 4 |
3 files changed, 6 insertions, 2 deletions
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim index b0a83f49a..d7072f34b 100644 --- a/src/testdir/test_vim9_expr.vim +++ b/src/testdir/test_vim9_expr.vim @@ -1532,7 +1532,7 @@ func Test_expr7_fails() call CheckDefFailure(["let x = ''", "let y = x.memb"], 'E715:') - call CheckDefFailure(["'yes'->", "Echo()"], 'E488:') + call CheckDefFailure(["'yes'->", "Echo()"], 'E488: Trailing characters: ->') call CheckDefExecFailure(["[1, 2->len()"], 'E697:') call CheckDefExecFailure(["#{a: 1->len()"], 'E488:') diff --git a/src/version.c b/src/version.c index 4ef305162..ab410712a 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 */ /**/ + 1283, +/**/ 1282, /**/ 1281, diff --git a/src/vim9compile.c b/src/vim9compile.c index 0fe0b16dd..3be8733ea 100644 --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -3761,6 +3761,8 @@ compile_subscript( } else if (*p == '-' && p[1] == '>') { + char_u *pstart = p; + if (generate_ppconst(cctx, ppconst) == FAIL) return FAIL; @@ -3786,7 +3788,7 @@ compile_subscript( p = *arg; if (!eval_isnamec1(*p)) { - semsg(_(e_trailing_arg), p); + semsg(_(e_trailing_arg), pstart); return FAIL; } if (ASCII_ISALPHA(*p) && p[1] == ':') |