diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-06-29 09:32:04 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-06-29 09:32:04 +0000 |
commit | d01795be2a8bd1988b3d84d8ce3f13f7563ee4e6 (patch) | |
tree | 01b01d3167ab5cfd3a9b65354f79e0b4b2fcf1e4 | |
parent | a9d46be89d3470fb0630a84e66a9a6822da8bbce (diff) | |
download | zsh-d01795be2a8bd1988b3d84d8ce3f13f7563ee4e6.tar.gz zsh-d01795be2a8bd1988b3d84d8ce3f13f7563ee4e6.tar.xz zsh-d01795be2a8bd1988b3d84d8ce3f13f7563ee4e6.zip |
reverse meaning of yes=num again (12122)
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Completion/Core/_main_complete | 48 | ||||
-rw-r--r-- | Doc/Zsh/compsys.yo | 2 |
3 files changed, 27 insertions, 26 deletions
diff --git a/ChangeLog b/ChangeLog index 50b04d0e1..9cc0c77a9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2000-06-29 Sven Wischnowsky <wischnow@zsh.org> + * 12122: Completion/Core/_main_complete: reverse meaning of yes=num + again + * 12119: Completion/Core/_complete, Completion/Core/_normal: try to return the right value diff --git a/Completion/Core/_main_complete b/Completion/Core/_main_complete index b541381be..705208715 100644 --- a/Completion/Core/_main_complete +++ b/Completion/Core/_main_complete @@ -23,7 +23,7 @@ exec </dev/null # ZLE closes stdin, which can cause errors # Failed returns from this code are not real errors setopt localtraps noerrexit ; trap - ZERR -local func funcs ret=1 tmp _compskip format nm call match min i num\ +local func funcs ret=1 tmp _compskip format nm call match min max i num\ _completers _completer _completer_num curtag _comp_force_list \ _matchers _matcher _matcher_num _comp_tags _comp_mesg \ context state line opt_args val_args curcontext="$curcontext" \ @@ -181,7 +181,7 @@ if [[ $compstate[old_list] = keep || nm -gt 1 ]]; then sel=( "${(@M)_menu_style:#(yes|true|1|on)*}" ) if (( $#sel )); then - min=0 + min=9999999 for i in "$sel[@]"; do if [[ "$i" = *\=* ]]; then num="${i#*\=}" @@ -189,38 +189,36 @@ if [[ $compstate[old_list] = keep || nm -gt 1 ]]; then else num=$nm fi - [[ num -gt min ]] && min="$num" + [[ num -lt min ]] && min="$num" - [[ min -ge nm ]] && break + (( min )) || break done fi - if [[ ( -n "$min" && nm -le min ) || + sel=( "${(@M)_menu_style:#(no|false|0|off)*}" ) + + if (( $#sel )); then + max=9999999 + for i in "$sel[@]"; do + if [[ "$i" = *\=* ]]; then + num="${i#*\=}" + [[ num -lt 0 ]] && num=0 + else + num=0 + fi + [[ num -lt max ]] && max="$num" + + (( max )) || break + done + fi + if [[ ( -n "$min" && nm -ge min && ( -z "$max" || nm -lt max ) ) || ( -n "$_menu_style[(r)auto*]" && "$compstate[insert]" = automenu ) ]]; then compstate[insert]=menu + elif [[ -n "$max" && nm -ge max ]]; then + compstate[insert]=unambiguous elif [[ -n "$_menu_style[(r)auto*]" && "$compstate[insert]" != automenu ]]; then compstate[insert]=automenu-unambiguous - else - sel=( "${(@M)_menu_style:#(no|false|0|off)*}" ) - - if (( $#sel )); then - min=9999999 - for i in "$sel[@]"; do - if [[ "$i" = *\=* ]]; then - num="${i#*\=}" - [[ num -lt 0 ]] && num=0 - else - num=0 - fi - [[ num -lt min ]] && min="$num" - - (( min )) || break - done - else - min= - fi - [[ -n "$min" && nm -ge min ]] && compstate[insert]=unambiguous fi fi fi diff --git a/Doc/Zsh/compsys.yo b/Doc/Zsh/compsys.yo index e9b5ca9fe..5e36c2e3d 100644 --- a/Doc/Zsh/compsys.yo +++ b/Doc/Zsh/compsys.yo @@ -1595,7 +1595,7 @@ example, with the tt(MENU_COMPLETE) option). Using the form `tt(yes=)var(num)', where `tt(yes)' may be any of the true values (`tt(yes)', `tt(true)', `tt(on)' and `tt(1)') turns on -menu completion if there at most var(num) matches. Using this for one +menu completion if there at least var(num) matches. Using this for one of the `false' values (as in `tt(no=10)') makes menu completion em(not) be used if there are var(num) or more matches. Of course, this is only useful when menu completion is normally used, e.g. by |