aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/eval.c6
-rw-r--r--test/functional/eval/has_spec.lua3
2 files changed, 4 insertions, 5 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 9cd9b5c8b4..9a790c5b2a 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -10669,11 +10669,9 @@ static void f_has(typval_T *argvars, typval_T *rettv, FunPtr fptr)
} else {
n = has_vim_patch(atoi(name + 5));
}
- } else if (STRNICMP(name, "nvim", 4) == 0) {
+ } else if (STRNICMP(name, "nvim", 4) == 0 && name[4] == '-') {
// Expect "nvim-x.y.z"
- if (name[4] == '-' && strlen(name) >= 10) {
- n = has_nvim_version(name + 5);
- }
+ n = has_nvim_version(name + 5);
} else if (STRICMP(name, "vim_starting") == 0) {
n = (starting != 0);
} else if (STRICMP(name, "multi_byte_encoding") == 0) {
diff --git a/test/functional/eval/has_spec.lua b/test/functional/eval/has_spec.lua
index ecd25c7123..97b3b0e620 100644
--- a/test/functional/eval/has_spec.lua
+++ b/test/functional/eval/has_spec.lua
@@ -19,7 +19,6 @@ describe('has()', function()
eq(0, funcs.has("nvim-0.0.c"))
eq(0, funcs.has("nvim-0.b.0"))
eq(0, funcs.has("nvim-a.b.0"))
- eq(0, funcs.has("nvim-0.1"))
eq(0, funcs.has("nvim-.0.0.0"))
eq(0, funcs.has("nvim-.0"))
eq(0, funcs.has("nvim-0."))
@@ -32,6 +31,8 @@ describe('has()', function()
eq(0, funcs.has("nvim-99.001.05"))
eq(1, funcs.has("nvim"))
+ eq(1, funcs.has("nvim-0"))
+ eq(1, funcs.has("nvim-0.1"))
eq(1, funcs.has("nvim-0.0.0"))
eq(1, funcs.has("nvim-0.1.1."))
eq(1, funcs.has("nvim-0.1.1.abc"))