summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/evalvars.c3
-rw-r--r--src/testdir/test_let.vim2
-rw-r--r--src/version.c2
3 files changed, 5 insertions, 2 deletions
diff --git a/src/evalvars.c b/src/evalvars.c
index 86a669404..3dc30e92b 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -1184,6 +1184,7 @@ list_arg_vars(exarg_T *eap, char_u *arg, int *first)
char_u *arg_subsc;
char_u *tofree;
typval_T tv;
+ int prev_uncaught_emsg = uncaught_emsg;
while (!ends_excmd2(eap->cmd, arg) && !got_int)
{
@@ -1193,7 +1194,7 @@ list_arg_vars(exarg_T *eap, char_u *arg, int *first)
if (!VIM_ISWHITE(*arg) && !ends_excmd(*arg))
{
emsg_severe = TRUE;
- if (!error)
+ if (uncaught_emsg == prev_uncaught_emsg)
semsg(_(e_trailing_arg), arg);
break;
}
diff --git a/src/testdir/test_let.vim b/src/testdir/test_let.vim
index d001d0578..5f8879b7e 100644
--- a/src/testdir/test_let.vim
+++ b/src/testdir/test_let.vim
@@ -279,7 +279,7 @@ func Test_let_errors()
let l = [1, 2, 3]
call assert_fails('let l[:] = 5', 'E709:')
- call assert_fails('let x:lnum=5', ['E121:', 'E488:'])
+ call assert_fails('let x:lnum=5', ['E121:', 'E121:'])
call assert_fails('let v:=5', 'E461:')
call assert_fails('let [a]', 'E474:')
call assert_fails('let [a, b] = [', 'E697:')
diff --git a/src/version.c b/src/version.c
index e49611216..71633d741 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3342,
+/**/
3341,
/**/
3340,