changeset 25611:f142bfebaac1 v8.2.3342

patch 8.2.3342: test for :let errors fails Commit: https://github.com/vim/vim/commit/b521766c56c0e17db6e8615f35cf21012af0670c Author: Bram Moolenaar <Bram@vim.org> Date: Sat Aug 14 14:27:30 2021 +0200 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.
author Bram Moolenaar <Bram@vim.org>
date Sat, 14 Aug 2021 14:30:04 +0200
parents ac9f242ebb9e
children 0d5300e4a3be
files src/evalvars.c src/testdir/test_let.vim src/version.c
diffstat 3 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -1184,6 +1184,7 @@ list_arg_vars(exarg_T *eap, char_u *arg,
     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,
 	    if (!VIM_ISWHITE(*arg) && !ends_excmd(*arg))
 	    {
 		emsg_severe = TRUE;
-		if (!error)
+		if (uncaught_emsg == prev_uncaught_emsg)
 		    semsg(_(e_trailing_arg), arg);
 		break;
 	    }
--- 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:')
--- 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,