patch 8.2.4321: Vim9: crash when using a funcref to a closure

Problem:    Vim9: crash when using a funcref to a closure.
Solution:   Copy pt_outer to the new partial. (closes #9714)
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 3cc95c9..eb12e75 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -4454,6 +4454,9 @@
 		    pt->pt_name = name;
 		    func_ref(name);
 		}
+
+		if (arg_pt != NULL)
+		    pt->pt_outer = arg_pt->pt_outer;
 	    }
 	    rettv->v_type = VAR_PARTIAL;
 	    rettv->vval.v_partial = pt;
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index e781a21..7ab15f7 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -3455,6 +3455,28 @@
   delete('XnestedDone')
 enddef
 
+def Test_nested_closure_funcref()
+  var lines =<< trim END
+      vim9script
+      def Func()
+          var n: number
+          def Nested()
+              ++n
+          enddef
+          Nested()
+          g:result_one = n
+          var Ref = function(Nested)
+          Ref()
+          g:result_two = n
+      enddef
+      Func()
+  END
+  v9.CheckScriptSuccess(lines)
+  assert_equal(1, g:result_one)
+  assert_equal(2, g:result_two)
+  unlet g:result_one g:result_two
+enddef
+
 def Test_check_func_arg_types()
   var lines =<< trim END
       vim9script
diff --git a/src/version.c b/src/version.c
index 4fdeb2f..97bcfde 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4321,
+/**/
     4320,
 /**/
     4319,