summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--Completion/Core/_main_complete4
-rw-r--r--Doc/Zsh/compsys.yo7
3 files changed, 14 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index e9be943e3..197a00ea5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2000-07-27  Sven Wischnowsky  <wischnow@zsh.org>
+
+	* 12405: Completion/Core/_main_complete, Doc/Zsh/compsys.yo: fix a
+ 	bug that started menu selection too often; fix bug for `yes=long'
+ 	and documentit
+	
 2000-07-27  Bart Schaefer  <schaefer@zsh.org>
 
 	* 12396: Functions/Misc/zed: The value of `$(functions $1)' for
diff --git a/Completion/Core/_main_complete b/Completion/Core/_main_complete
index 9b0972ca2..7f0e94358 100644
--- a/Completion/Core/_main_complete
+++ b/Completion/Core/_main_complete
@@ -177,7 +177,8 @@ if [[ $compstate[old_list] = keep || nm -gt 1 ]]; then
           -n "$_menu_style[(r)(yes|true|on|1)=long-list]" ) ]]; then
     compstate[insert]=menu
   elif [[ "$compstate[insert]" = "$_saved_insert" ]]; then
-    if [[ -n "$_menu_style[(r)(yes|true|1|on)=long]" && tmp -gt LINES ]]; then
+    if [[ -n "$compstate[insert]" &&
+          -n "$_menu_style[(r)(yes|true|1|on)=long]" && tmp -gt LINES ]]; then
         compstate[insert]=menu
     else
       sel=( "${(@M)_menu_style:#(yes|true|1|on)*}" )
@@ -230,6 +231,7 @@ if [[ $compstate[old_list] = keep || nm -gt 1 ]]; then
   fi
 
   if [[ "$compstate[insert]" = *menu* ]]; then
+    [[ "$MENUSELECT" = 00 ]] && MENUSELECT=0
     if [[ -n "$_menu_style[(r)no-select*]" ]]; then
       unset MENUSELECT
     elif [[ -n "$_menu_style[(r)select=long*]" ]]; then
diff --git a/Doc/Zsh/compsys.yo b/Doc/Zsh/compsys.yo
index 76840e129..d6a796f67 100644
--- a/Doc/Zsh/compsys.yo
+++ b/Doc/Zsh/compsys.yo
@@ -1628,8 +1628,11 @@ 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
 setting the tt(MENU_COMPLETE) option.  The `true' values may also be
-used in the form `tt(yes=long-list)' to turn on menu completion
-whenever listing is done and the list does not fit onto the screen.
+used in the form `tt(yes=long)' to turn on menu completion
+if the list does not fit onto the screen.  This will start menu
+completion only if normal completion was attempted, not when only the
+list of possible completions was requested.  To start menu completion
+even then, the value `tt(yes=long-list)' can be used.
 
 In addition to (or instead of) the above possibilities, the value may
 contain the string `tt(select)', optionally followed by an equal sign and a