patch 8.2.4949: Vim9: some code not covered by tests

Problem:    Vim9: some code not covered by tests.
Solution:   Add a few more test cases.  Fix double error message.
diff --git a/src/vim9expr.c b/src/vim9expr.c
index 6fb6fc4..3375478 100644
--- a/src/vim9expr.c
+++ b/src/vim9expr.c
@@ -1899,6 +1899,7 @@
 		{
 		    int fail;
 		    int save_len = cctx->ctx_ufunc->uf_lines.ga_len;
+		    int	prev_did_emsg = did_emsg;
 
 		    *paren = NUL;
 
@@ -1916,7 +1917,8 @@
 
 		    if (fail)
 		    {
-			semsg(_(e_invalid_expression_str), pstart);
+			if (did_emsg == prev_did_emsg)
+			    semsg(_(e_invalid_expression_str), pstart);
 			return FAIL;
 		    }
 		}