diff options
author | Daniel Shahaf <d.s@daniel.shahaf.name> | 2016-01-14 15:34:57 +0000 |
---|---|---|
committer | Daniel Shahaf <d.s@daniel.shahaf.name> | 2016-01-18 02:40:01 +0000 |
commit | 35b8e8794f00987b4b9380f5f20f6ca6ec64b7c3 (patch) | |
tree | 6a38f19236614761bec2e8330a1002abe1b2b930 | |
parent | c380c9394a3263d1e7c5b6f688dfd1b305b3600e (diff) | |
download | zsh-35b8e8794f00987b4b9380f5f20f6ca6ec64b7c3.tar.gz zsh-35b8e8794f00987b4b9380f5f20f6ca6ec64b7c3.tar.xz zsh-35b8e8794f00987b4b9380f5f20f6ca6ec64b7c3.zip |
37634: _man: Disentangle a local variable that had two distinct semantics. No functional change
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Completion/Unix/Command/_man | 19 |
2 files changed, 14 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog index 05aacda50..72acb9123 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2016-01-18 Daniel Shahaf <d.s@daniel.shahaf.name> + * 37634: Completion/Unix/Command/_man: _man: Disentangle a local + variable that had two distinct semantics. No functional change + * 37663: Completion/Unix/Command/_bibtex: New bibtex completion (very minimal). diff --git a/Completion/Unix/Command/_man b/Completion/Unix/Command/_man index 81ac40bc2..871af4854 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)) - local sect + # $sect is from the command line, the "3p" in "man 3p memcpy" + # $sect_dirname is from the filesystem, the "3" in "/usr/share/man/man3" + # These are used by _man_pages + local sect sect_dirname if [[ $OSTYPE = solaris* ]]; then sect=${${words[(R)-s*]#-s}:-$words[$words[(i)-s]+1]} elif [[ -n ${sect:=$words[$words[(i)-S]+1]} || -n ${sect:=$MANSECT} ]]; then @@ -69,8 +72,8 @@ _man() { _tags manuals.${^sects} while _tags; do - for sect in $sects; do - _requested manuals.$sect expl "manual page, section $sect" _man_pages && + for sect_dirname in $sects; do + _requested manuals.$sect_dirname expl "manual page, section $sect_dirname" _man_pages && ret=0 done (( ret )) || return 0 @@ -78,7 +81,7 @@ _man() { return 1 else - sect= + sect_dirname= _wanted manuals expl 'manual page' _man_pages fi } @@ -107,8 +110,8 @@ _man_pages() { matcher= fi - pages=( ${(M)dirs:#*$sect/} ) - compfiles -p pages '' '' "$matcher" '' dummy '*' + pages=( ${(M)dirs:#*$sect_dirname/} ) + compfiles -p pages '' '' "$matcher" '' dummy "*" pages=( ${^~pages}(N:t) ) (($#mrd)) && pages[$#pages+1]=($(awk $awk $mrd)) @@ -119,11 +122,11 @@ _man_pages() { [[ $OSTYPE = solaris* ]] && sopt='-s ' if ((CURRENT > 2)) || - ! zstyle -t ":completion:${curcontext}:manuals.$sect" insert-sections + ! zstyle -t ":completion:${curcontext}:manuals.$sect_dirname" insert-sections then compadd "$@" - ${pages%$~suf} else - compadd "$@" -P "$sopt$sect " - ${pages%$~suf} + compadd "$@" -P "$sopt$sect_dirname " - ${pages%$~suf} fi } |