diff options
author | Danek Duvall <duvall@comfychair.org> | 2016-09-06 11:06:14 -0700 |
---|---|---|
committer | Daniel Shahaf <d.s@daniel.shahaf.name> | 2016-09-07 23:15:46 +0000 |
commit | 999e1ac64e69d552ab169ede3dd411b1afa1bce4 (patch) | |
tree | 292bc5fcd5d041bbc0e68cd7463449816ef34ab7 | |
parent | 7d98ac7cd509ffc8221bb46323c040421347a3f3 (diff) | |
download | zsh-999e1ac64e69d552ab169ede3dd411b1afa1bce4.tar.gz zsh-999e1ac64e69d552ab169ede3dd411b1afa1bce4.tar.xz zsh-999e1ac64e69d552ab169ede3dd411b1afa1bce4.zip |
39194: _man (Solaris): Ignore man-index. Support multiple sections in the -s flag's argument.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Completion/Unix/Command/_man | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 36d1fb608..eee877101 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2016-09-07 Danek Duvall <duvall@comfychair.org> + + * 39194: Completion/Unix/Command/_man: _man (Solaris): Ignore + man-index. Support multiple sections in the -s flag's argument. + 2016-09-07 Oliver Kiddle <opk@zsh.org> * 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)}%/} ) |