From 6716d9af113a5c4bcc7fdf8fd24f3d633db386c7 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 2 Apr 2014 12:12:08 +0200 Subject: 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. --- runtime/doc/eval.txt | 2 +- src/eval.c | 3 +-- src/version.c | 2 ++ 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 66b3038e2..007c7f746 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1682,7 +1682,7 @@ v:version Version number of Vim: Major version number times 100 plus 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 index 042afca36..05f91b303 100644 --- 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 index 6b63fbc5a..7d3bde9ce 100644 --- a/src/version.c +++ b/src/version.c @@ -734,6 +734,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 237, /**/ 236, /**/ -- cgit v1.2.3