# HG changeset patch # User Bram Moolenaar # Date 1396433528 -7200 # Node ID 71b165a378ad580818f6d497ecf0f8ad054a9683 # Parent 050bc8c257cb7fede1726a45a8c77cd77a4dfdeb updated for version 7.4.237 Problem: When some patches was not included has("patch-7.4.123") may return true falsely. Solution: Check for the specific patch number. diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1682,7 +1682,7 @@ v:version Version number of Vim: Major v is 501. Read-only. "version" also works, for backwards compatibility. Use |has()| to check if a certain patch was included, e.g.: > - if has("patch123") + if has("patch-7.4.123") < Note that patch numbers are specific to the version, thus both version 5.0 and 5.1 may have a patch 123, but these are completely different. diff --git a/src/eval.c b/src/eval.c --- a/src/eval.c +++ b/src/eval.c @@ -12647,14 +12647,13 @@ f_has(argvars, rettv) { int major = atoi((char *)name + 6); int minor = atoi((char *)name + 8); - int patch = atoi((char *)name + 10); /* Expect "patch-9.9.01234". */ n = (major < VIM_VERSION_MAJOR || (major == VIM_VERSION_MAJOR && (minor < VIM_VERSION_MINOR || (minor == VIM_VERSION_MINOR - && patch <= highest_patch())))); + && has_patch(atoi((char *)name + 10)))))); } else n = has_patch(atoi((char *)name + 5)); diff --git a/src/version.c b/src/version.c --- 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 */ /**/ + 237, +/**/ 236, /**/ 235,