about summary refs log tree commit diff
path: root/Completion/Core/_oldlist
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Core/_oldlist')
-rw-r--r--Completion/Core/_oldlist7
1 files changed, 5 insertions, 2 deletions
diff --git a/Completion/Core/_oldlist b/Completion/Core/_oldlist
index bcb3e148a..e28a66d83 100644
--- a/Completion/Core/_oldlist
+++ b/Completion/Core/_oldlist
@@ -13,7 +13,8 @@ zstyle -s ":completion:${curcontext}:" old-list list
 # Do this also if there is an old list and it was generated by the
 # completer named by the oldlist_list key.
 
-if [[ -n $compstate[old_list] && $list != never ]]; then
+if [[ -n $compstate[old_list] && $list != never &&
+      $LASTWIDGET != _complete_help ]]; then
   if [[ $WIDGET = *list* && ( $list = always || $list != shown ) ]]; then
     compstate[old_list]=keep
     return 0
@@ -33,8 +34,10 @@ fi
 # and the style :oldlist:old-menu is `true', then we cycle through the
 # existing list (even if it was generated by another widget).
 
-if [[ -z $compstate[old_insert] && -n $compstate[old_list] ]]; then
+if [[ -z $compstate[old_insert] && -n $compstate[old_list] &&
+      $LASTWIDGET != _complete_help ]]; then
   compstate[old_list]=keep
+  return 0
 elif [[ $WIDGET = *complete(|-prefix|-word) ]] &&
      zstyle -t ":completion:${curcontext}:" old-menu; then
   if [[ -n $compstate[old_insert] ]]; then