patch 8.2.3342: test for :let errors fails
Problem: Test for :let errors fails.
Solution: Adjust the test and how to avoid a second error message.
diff --git a/src/evalvars.c b/src/evalvars.c
index 86a6694..3dc30e9 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -1184,6 +1184,7 @@
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 @@
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 d001d05..5f8879b 100644
--- a/src/testdir/test_let.vim
+++ b/src/testdir/test_let.vim
@@ -279,7 +279,7 @@
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 e496112..71633d7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3342,
+/**/
3341,
/**/
3340,