From dfae92c483e78119222d48e924f3f338053eaa93 Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Thu, 4 Aug 2016 15:54:26 +0000 Subject: 38996: _man: Support _correct_word. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since compfiles is undocumented, avoid its use altogether, replacing it by a construct that blackbox analysis suggests to be equivalent. The compfiles call being removed effected the following change (when completing «man -S 8:1 getc»): BEFORE THE CALL: typeset -a pages=( /home/daniel/prefix/zsh/share/man/man1/ /usr/share/man/man8/ /usr/share/man/man1/ ) AFTER THE CALL: typeset -a pages=( '/home/daniel/prefix/zsh/share/man/man1/getc*(8|1)*' '/usr/share/man/man8/getc*(8|1)*' '/usr/share/man/man1/getc*(8|1)*' ) This patch effects the same transformation (modulo doubling the final slash). Any -M parameter will be passed to compadd. --- Completion/Unix/Command/_man | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'Completion/Unix/Command/_man') diff --git a/Completion/Unix/Command/_man b/Completion/Unix/Command/_man index ffe53be5e..ae6ac38cc 100644 --- a/Completion/Unix/Command/_man +++ b/Completion/Unix/Command/_man @@ -103,7 +103,7 @@ _man() { } _man_pages() { - local matcher pages dummy sopt + local pages sopt # What files corresponding to manual pages can end in. local suf='.((?|<->*)(|.gz|.bz2|.Z|.lzma))' @@ -121,17 +121,8 @@ _man_pages() { return $? fi - zparseopts -E M+:=matcher - - if (( $#matcher )); then - matcher=( ${matcher:#-M} ) - matcher="$matcher" - else - matcher= - fi - pages=( ${(M)dirs:#*$sect_dirname/} ) - compfiles -p pages '' '' "$matcher" '' dummy "*${sect}*" + pages=( ${^pages}/"*$sect${sect:+"*"}" ); pages=( ${^~pages}(N:t) ) (($#mrd)) && pages[$#pages+1]=($(awk $awk $mrd)) -- cgit 1.4.1