From b334137acffd7a2b2ab8524e54d4c55ebf4518ea Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 14 Dec 2021 18:57:45 +0000 Subject: [PATCH] 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. --- src/eval.c | 2 +- src/testdir/test_vim9_expr.vim | 12 ++++++++++-- src/version.c | 2 ++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/eval.c b/src/eval.c index 0a85b909d..d9f44b2c8 100644 --- 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 index a357b11d4..1f695bc70 100644 --- 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 index c7f6fe796..6ce7173ea 100644 --- a/src/version.c +++ b/src/version.c @@ -749,6 +749,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 3810, /**/ 3809, /**/ -- 2.50.1