aboutsummaryrefslogtreecommitdiff
path: root/test/functional/plugin
diff options
context:
space:
mode:
authorJosh Hirschkorn <53196448+vortexisalpha@users.noreply.github.com>2026-07-27 14:20:46 +0100
committerGitHub <noreply@github.com>2026-07-27 13:20:46 +0000
commit97a71ab4846c4b92a1e658ec00ff3eae74bf1256 (patch)
tree9d357d8b89b9bfe64fb9d1d4ad9b52c0adf77691 /test/functional/plugin
parent0b3b12da8d076c9f00511e75e5276816d0b68ebc (diff)
downloadrneovim-97a71ab4846c4b92a1e658ec00ff3eae74bf1256.tar.gz
rneovim-97a71ab4846c4b92a1e658ec00ff3eae74bf1256.tar.bz2
rneovim-97a71ab4846c4b92a1e658ec00ff3eae74bf1256.zip
fix(man): use direct lookup without manpath #40421
Problem: On NetBSD, `man -w open` can return the exact manpage path, but `:Man` may still fail when man directories cannot be discovered from `manpath -q`, bare `man -w`, or `$MANPATH`. Solution: Fall back to the direct manpage lookup when directory discovery fails. Add a test for resolving `open(2)` through `goto_tag()` without manpath data.
Diffstat (limited to 'test/functional/plugin')
-rw-r--r--test/functional/plugin/man_spec.lua25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/functional/plugin/man_spec.lua b/test/functional/plugin/man_spec.lua
index 330b10e4dc..40b0dac81f 100644
--- a/test/functional/plugin/man_spec.lua
+++ b/test/functional/plugin/man_spec.lua
@@ -304,6 +304,31 @@ describe(':Man', function()
)
end)
+ it('uses direct manpage lookup if man directories cannot be determined #25919', function()
+ eq(
+ {
+ {
+ name = 'open',
+ filename = 'man://open(2)',
+ cmd = '1',
+ },
+ },
+ exec_lua(function()
+ local man = require('man')
+ vim.env.MANPATH = nil
+ vim.npcall = function()
+ return nil
+ end
+ man._find_path = function(name, sect)
+ if name == 'open' and sect == '2' then
+ return '/usr/share/man/man2/open.2'
+ end
+ end
+ return man.goto_tag('open(2)')
+ end)
+ )
+ end)
+
it('tries variants with spaces, underscores #22503', function()
eq({
{ vim.NIL, 'NAME WITH SPACES' },