diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Completion/Unix/Command/_man | 20 |
2 files changed, 17 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog index 3ad80fe94..c3baf6c5b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-05-31 Clint Adams <clint@zsh.org> + + * 17266: Completion/Unix/Command/_man: check `manpath` + even when $MANPATH is set. + 2002-05-30 Peter Stephenson <pws@csr.com> * 17253: Src/Modules/tcp.c, Doc/Zsh/mod_tcp.c: ztcp -l provides diff --git a/Completion/Unix/Command/_man b/Completion/Unix/Command/_man index 44634369c..a7b014d1b 100644 --- a/Completion/Unix/Command/_man +++ b/Completion/Unix/Command/_man @@ -7,20 +7,24 @@ _man() { _files || return 0 fi - if (( ! $#manpath )); then + if (( ! $#_manpath )); then local mp - mp=($(manpath 2>/dev/null)) + mp=( ${(s.:.)$(manpath 2>/dev/null)} ) [[ "$mp" == *:* ]] && mp=( ${(s.:.)mp} ) - manpath=( $mp ) + if (( $#mp )); then + _manpath=( $mp ) + elif (( $#manpath )); then + _manpath=( $manpath ) + fi fi - (( $#manpath )) || manpath=( ${(s.:.)$(manpath 2>/dev/null)} ) || - manpath=( /usr/man(-/) /(opt|usr)/(dt|share|X11R6|local)/(cat|)man(-/) ) + (( $#_manpath )) || + _manpath=( /usr/man(-/) /(opt|usr)/(dt|share|X11R6|local)/(cat|)man(-/) ) # `sman' is the SGML manual directory for Solaris 7. # 1M is system administrator commands on SVR4 - mrd=(${^manpath/\%L/${LANG:-En_US.ASCII}}/mandb(N)) + mrd=(${^_manpath/\%L/${LANG:-En_US.ASCII}}/mandb(N)) local sect if [[ $OSTYPE = solaris* ]]; then @@ -34,10 +38,10 @@ _man() { fi if [[ $sect = (<->*|1M|l|n) || $sect = \(*\|*\) ]]; then - dirs=( $^manpath/(sman|man|cat)${~sect}/ ) + dirs=( $^_manpath/(sman|man|cat)${~sect}/ ) awk="\$2 == \"$sect\" {print \$1}" else - dirs=( $^manpath/(sman|man|cat)*/ ) + dirs=( $^_manpath/(sman|man|cat)*/ ) awk='{print $1}' fi if zstyle -t ":completion:${curcontext}:manuals" separate-sections; then |