patch 8.2.4395: some code lines not covered by tests

Problem:    Some code lines not covered by tests.
Solution:   Add a few more test cases.  Fix getting more than one error for
            invalid assignment.
diff --git a/src/evalvars.c b/src/evalvars.c
index 8e862df..4037558 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -1107,7 +1107,8 @@
 	    {
 		if (*semicolon == 1)
 		{
-		    emsg(_(e_double_semicolon_in_list_of_variables));
+		    if (!silent)
+			emsg(_(e_double_semicolon_in_list_of_variables));
 		    return NULL;
 		}
 		*semicolon = 1;