neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 5b312cd5f67646005312d2ebb2ef0d1bc584dcff
parent 0ffc9264996573e2e8e4ad787c230ebda6fdf8ce
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Tue,  5 Mar 2024 15:54:41 +0800

fix(eval): make has('pythonx') work properly (#27739)

Problem:  has('pythonx') always returns 1.
Solution: Make it the same as has('python3').
Diffstat:
Msrc/nvim/eval/funcs.c | 3++-
Mtest/functional/provider/python3_spec.lua | 7+++++++
2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c @@ -3315,7 +3315,6 @@ static void f_has(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) "path_extra", "persistent_undo", "profile", - "pythonx", "reltime", "quickfix", "rightleft", @@ -3406,6 +3405,8 @@ static void f_has(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) n = syntax_present(curwin); } else if (STRICMP(name, "clipboard_working") == 0) { n = eval_has_provider("clipboard"); + } else if (STRICMP(name, "pythonx") == 0) { + n = eval_has_provider("python3"); } else if (STRICMP(name, "wsl") == 0) { n = has_wsl(); #ifdef UNIX diff --git a/test/functional/provider/python3_spec.lua b/test/functional/provider/python3_spec.lua @@ -20,6 +20,12 @@ do matches(expected, pcall_err(command, 'py3 print("foo")')) matches(expected, pcall_err(command, 'py3file foo')) end) + it('feature test when Python 3 provider is missing', function() + eq(0, eval('has("python3")')) + eq(0, eval('has("python3_compiled")')) + eq(0, eval('has("python3_dynamic")')) + eq(0, eval('has("pythonx")')) + end) pending( string.format('Python 3 (or the pynvim module) is broken/missing (%s)', reason), function() end @@ -38,6 +44,7 @@ describe('python3 provider', function() eq(1, eval('has("python3")')) eq(1, eval('has("python3_compiled")')) eq(1, eval('has("python3_dynamic")')) + eq(1, eval('has("pythonx")')) eq(0, eval('has("python3_dynamic_")')) eq(0, eval('has("python3_")')) end)