patch 8.2.3810: Vim9: expr4 test fails on MS-Windows

Problem:    Vim9: expr4 test fails on MS-Windows.
Solution:   Do not give an error for a missing function name when skipping.
diff --git a/src/eval.c b/src/eval.c
index 0a85b90..d9f44b2 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -2001,7 +2001,7 @@
     // Need to make a copy, in case evaluating the arguments makes
     // the name invalid.
     s = vim_strsave(s);
-    if (s == NULL || *s == NUL || (flags & EVAL_CONSTANT))
+    if (s == NULL || (evaluate && (*s == NUL || (flags & EVAL_CONSTANT))))
 	ret = FAIL;
     else
     {
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index a357b11..1f695bc 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -646,8 +646,16 @@
       assert_equal(false, function('g:Test_expr4_equal', [123]) == function('g:Test_expr4_is', [123]))
       assert_equal(false, function('g:Test_expr4_equal', [123]) == function('g:Test_expr4_equal', [999]))
 
-      # TODO: this unexpectedly sometimes fails on Appveyor
-      if !has('win32')
+      if true
+        var OneFunc: func
+        var TwoFunc: func
+        OneFunc = function('len')
+        TwoFunc = function('len')
+        assert_equal(true, OneFunc('abc') == TwoFunc('123'))
+      endif
+
+      # check this doesn't fail when skipped
+      if false
         var OneFunc: func
         var TwoFunc: func
         OneFunc = function('len')
diff --git a/src/version.c b/src/version.c
index c7f6fe7..6ce7173 100644
--- a/src/version.c
+++ b/src/version.c
@@ -750,6 +750,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3810,
+/**/
     3809,
 /**/
     3808,