patch 8.2.1953: Vim9: extra "unknown" error after other error

Problem:    Vim9: extra "unknown" error after other error.
Solution:   Restore did_emsg count after EXEC instruction. (closes #7254)
            Improve error message from assert_fails()
diff --git a/src/vim9execute.c b/src/vim9execute.c
index eb0e1db..c9ae709 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -1071,8 +1071,15 @@
 	{
 	    // execute Ex command line
 	    case ISN_EXEC:
-		SOURCING_LNUM = iptr->isn_lnum;
-		do_cmdline_cmd(iptr->isn_arg.string);
+		{
+		    int save_did_emsg = did_emsg;
+
+		    SOURCING_LNUM = iptr->isn_lnum;
+		    do_cmdline_cmd(iptr->isn_arg.string);
+		    // do_cmdline_cmd() will reset did_emsg, but we want to
+		    // keep track of the count to compare with did_emsg_before.
+		    did_emsg += save_did_emsg;
+		}
 		break;
 
 	    // execute Ex command from pieces on the stack