patch 8.2.2335: Vim9: "silent return" does not restore command modifiers

Problem:    Vim9: "silent return" does not restore command modifiers.
Solution:   Resture command modifiers before returning. (closes #7649)
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 4b2ee07..e25a36b 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -2055,6 +2055,7 @@
 {
     if (cctx->ctx_has_cmdmod && generate_instr(cctx, ISN_CMDMOD_REV) == NULL)
 	return FAIL;
+    cctx->ctx_has_cmdmod = FALSE;
     return OK;
 }
 
@@ -4933,6 +4934,10 @@
 	// No argument, return zero.
 	generate_PUSHNR(cctx, 0);
     }
+
+    // Undo any command modifiers.
+    generate_undo_cmdmods(cctx);
+
     if (cctx->ctx_skip != SKIP_YES && generate_instr(cctx, ISN_RETURN) == NULL)
 	return NULL;