# HG changeset patch # User Bram Moolenaar # Date 1639508404 -3600 # Node ID 479022b3e7bd1f12af896b649966e171ae91aeea # Parent 69d9b6201845c85642841117b49a1f61ad8ddda1 patch 8.2.3810: Vim9: expr4 test fails on MS-Windows Commit: https://github.com/vim/vim/commit/b334137acffd7a2b2ab8524e54d4c55ebf4518ea Author: Bram Moolenaar Date: Tue Dec 14 18:57:45 2021 +0000 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 --- a/src/eval.c +++ b/src/eval.c @@ -2001,7 +2001,7 @@ eval_func( // 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 --- a/src/testdir/test_vim9_expr.vim +++ b/src/testdir/test_vim9_expr.vim @@ -646,8 +646,16 @@ def Test_expr4_equal() 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 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3810, +/**/ 3809, /**/ 3808,