From 999e1ac64e69d552ab169ede3dd411b1afa1bce4 Mon Sep 17 00:00:00 2001 From: Danek Duvall Date: Tue, 6 Sep 2016 11:06:14 -0700 Subject: 39194: _man (Solaris): Ignore man-index. Support multiple sections in the -s flag's argument. --- ChangeLog | 5 +++++ Completion/Unix/Command/_man | 3 +++ 2 files changed, 8 insertions(+) diff --git a/ChangeLog b/ChangeLog index 36d1fb608..eee877101 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2016-09-07 Danek Duvall + + * 39194: Completion/Unix/Command/_man: _man (Solaris): Ignore + man-index. Support multiple sections in the -s flag's argument. + 2016-09-07 Oliver Kiddle * unposted: Completion/Unix/Command/_rm: fix to use ;| diff --git a/Completion/Unix/Command/_man b/Completion/Unix/Command/_man index ae6ac38cc..b2aaeaf7e 100644 --- a/Completion/Unix/Command/_man +++ b/Completion/Unix/Command/_man @@ -46,6 +46,7 @@ _man() { local sect sect_dirname if [[ $OSTYPE = solaris* ]]; then sect=${${words[(R)-s*]#-s}:-$words[$words[(i)-s]+1]} + sect="${sect//,/|}" elif [[ -n ${sect:=$words[$words[(i)-S]+1]} || -n ${sect:=$MANSECT} ]]; then sect="${sect//:/|}" sect="${sect//,/|}" @@ -67,6 +68,8 @@ _man() { dirs=( $^_manpath/(sman|man|cat)*/ ) awk='{print $1}' fi + # Solaris 11 and on have a man-index directory that doesn't contain manpages + dirs=( ${dirs:#*/man-index/} ) if [[ $OSTYPE = solaris* && ( $words[CURRENT] = -s* || $words[CURRENT-1] == -s ) ]]; then [[ $words[CURRENT] = -s* ]] && compset -P '-s' sects=( ${(o)${dirs##*(man|cat)}%/} ) -- cgit 1.4.1