From a5a9fc7a5fc50db278f7d17eb8d2ae78f3edc768 Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Thu, 4 Aug 2016 15:54:23 +0000 Subject: 38993: _man: Drop (b): it's incorrect when $sect contains '|'. --- Completion/Unix/Command/_man | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'Completion/Unix/Command/_man') diff --git a/Completion/Unix/Command/_man b/Completion/Unix/Command/_man index e892bb263..ef17ad8ee 100644 --- a/Completion/Unix/Command/_man +++ b/Completion/Unix/Command/_man @@ -37,7 +37,10 @@ _man() { mrd=(${^_manpath/\%L/${LANG:-En_US.ASCII}}/mandb(N)) - # $sect is from the command line, the "3p" in "man 3p memcpy" + # $sect is from the command line, the "3p" in "man 3p memcpy". + # It may also be a |-joined (and later in the code "()"-enclosed) list of + # section names. + # TODO: disentangle this to always be an array. # $sect_dirname is from the filesystem, the "3" in "/usr/share/man/man3" # These are used by _man_pages local sect sect_dirname @@ -117,7 +120,7 @@ _man_pages() { fi pages=( ${(M)dirs:#*$sect_dirname/} ) - compfiles -p pages '' '' "$matcher" '' dummy "*${(b)sect}*" + compfiles -p pages '' '' "$matcher" '' dummy "*${sect}*" pages=( ${^~pages}(N:t) ) (($#mrd)) && pages[$#pages+1]=($(awk $awk $mrd)) -- cgit 1.4.1