patch 8.2.2785: Vim9: cannot redirect to local variable

Problem:    Vim9: cannot redirect to local variable.
Solution:   Compile :redir when redirecting to a variable.
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 6a11e8a..f471454 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -1409,6 +1409,37 @@
 	    case ISN_FINISH:
 		goto done;
 
+	    case ISN_REDIRSTART:
+		// create a dummy entry for var_redir_str()
+		if (alloc_redir_lval() == FAIL)
+		    goto on_error;
+
+		// The output is stored in growarray "redir_ga" until
+		// redirection ends.
+		init_redir_ga();
+		redir_vname = 1;
+		break;
+
+	    case ISN_REDIREND:
+		{
+		    char_u *res = get_clear_redir_ga();
+
+		    // End redirection, put redirected text on the stack.
+		    clear_redir_lval();
+		    redir_vname = 0;
+
+		    if (GA_GROW(&ectx->ec_stack, 1) == FAIL)
+		    {
+			vim_free(res);
+			return FAIL;
+		    }
+		    tv = STACK_TV_BOT(0);
+		    tv->v_type = VAR_STRING;
+		    tv->vval.v_string = res;
+		    ++ectx->ec_stack.ga_len;
+		}
+		break;
+
 	    // execute Ex command from pieces on the stack
 	    case ISN_EXECCONCAT:
 		{
@@ -4332,6 +4363,13 @@
 	    case ISN_EXEC:
 		smsg("%s%4d EXEC %s", pfx, current, iptr->isn_arg.string);
 		break;
+	    case ISN_REDIRSTART:
+		smsg("%s%4d REDIR", pfx, current);
+		break;
+	    case ISN_REDIREND:
+		smsg("%s%4d REDIR END%s", pfx, current,
+					iptr->isn_arg.number ? " append" : "");
+		break;
 	    case ISN_SUBSTITUTE:
 		{
 		    subs_T *subs = &iptr->isn_arg.subs;