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;
 	    }