From 5154a8880034b7bb94186d37bcecc6ee1a96f732 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 18 Jul 2022 20:48:50 +0100 Subject: [PATCH] patch 9.0.0057: has('patch-xxx') returns true Problem: has('patch-xxx') returns true. Solution: Check for digit. (closes #10751) --- src/evalfunc.c | 2 +- src/testdir/test_expr.vim | 1 + src/version.c | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/evalfunc.c b/src/evalfunc.c index f51aade495..580f5d1bff 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -6473,7 +6473,7 @@ f_has(typval_T *argvars, typval_T *rettv) || (minor == VIM_VERSION_MINOR && has_patch(atoi((char *)name + 10)))))); } - else + else if (isdigit(name[5])) n = has_patch(atoi((char *)name + 5)); } else if (STRICMP(name, "vim_starting") == 0) diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim index ffac6df806..f911cd933f 100644 --- a/src/testdir/test_expr.vim +++ b/src/testdir/test_expr.vim @@ -41,6 +41,7 @@ func Test_version() call assert_false(has('patch-7.4.')) call assert_false(has('patch-9.1.0')) call assert_false(has('patch-9.9.1')) + call assert_false(has('patch-abc')) endfunc func Test_op_ternary() diff --git a/src/version.c b/src/version.c index 87a8d10728..ee421e4760 100644 --- a/src/version.c +++ b/src/version.c @@ -735,6 +735,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 57, /**/ 56, /**/