]> granicus.if.org Git - vim/commitdiff
patch 8.2.1283: Vim9: error for misplaced -> lacks argument v8.2.1283
authorBram Moolenaar <Bram@vim.org>
Thu, 23 Jul 2020 17:06:23 +0000 (19:06 +0200)
committerBram Moolenaar <Bram@vim.org>
Thu, 23 Jul 2020 17:06:23 +0000 (19:06 +0200)
Problem:    Vim9: error for misplaced -> lacks argument.
Solution:   Use the pointer before it was advanced.

src/testdir/test_vim9_expr.vim
src/version.c
src/vim9compile.c

index b0a83f49abca8106bcb683c5d63b252c252f773f..d7072f34b9fa2631b72e8c0843460045ebfe3a2b 100644 (file)
@@ -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:')
index 4ef305162eb8d1feb7d92faebb44a9af0ff6a274..ab410712a53518158537bcaae31ab758b39028a8 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1283,
 /**/
     1282,
 /**/
index 0fe0b16ddb7a8051a9dd7aaa683da6728039aebd..3be8733eafa14db6f4c42b7bdd9db51c54c0366c 100644 (file)
@@ -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] == ':')