patch 8.2.2279: Vim9: memory leak with catch in skipped block

Problem:    Vim9: memory leak with catch in skipped block.
Solution:   Free the pattern if not used.
diff --git a/src/version.c b/src/version.c
index af74bcb..a4149c6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2279,
+/**/
     2278,
 /**/
     2277,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index bb33d38..23da8f2 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -1009,7 +1009,11 @@
 {
     isn_T	*isn;
 
-    RETURN_OK_IF_SKIP(cctx);
+    if (cctx->ctx_skip == SKIP_YES)
+    {
+	vim_free(str);
+	return OK;
+    }
     if ((isn = generate_instr_type(cctx, ISN_PUSHS, &t_string)) == NULL)
 	return FAIL;
     isn->isn_arg.string = str;