From: Bram Moolenaar Date: Mon, 18 Jul 2022 19:48:50 +0000 (+0100) Subject: patch 9.0.0057: has('patch-xxx') returns true X-Git-Tag: v9.0.0057 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5154a8880034b7bb94186d37bcecc6ee1a96f732;p=vim patch 9.0.0057: has('patch-xxx') returns true Problem: has('patch-xxx') returns true. Solution: Check for digit. (closes #10751) --- diff --git a/src/evalfunc.c b/src/evalfunc.c index f51aade49..580f5d1bf 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 ffac6df80..f911cd933 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 87a8d1072..ee421e476 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, /**/