about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/Zle/compcore.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 6f8bcb906..dd6fbd375 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2000-10-04  Sven Wischnowsky  <wischnow@zsh.org>
+
+	* 12884: Src/Zle/compcore.c: don't forget a displayed list when
+ 	starting menu completion
+	
 2000-10-04  Tanaka Akira  <akr@zsh.org>
 
 	* 12872: Completion/User/_cvs: Fix modules completion when a cvsroot
diff --git a/Src/Zle/compcore.c b/Src/Zle/compcore.c
index e2dbe4909..0c9fcd676 100644
--- a/Src/Zle/compcore.c
+++ b/Src/Zle/compcore.c
@@ -282,7 +282,7 @@ int lastend;
 int
 do_completion(Hookdef dummy, Compldat dat)
 {
-    int ret = 0, lst = dat->lst, incmd = dat->incmd;
+    int ret = 0, lst = dat->lst, incmd = dat->incmd, osl = showinglist;
     char *s = dat->s;
     char *opm;
     LinkNode n;
@@ -412,6 +412,9 @@ do_completion(Hookdef dummy, Compldat dat)
 	if (nmatches > 1 && diffmatches) {
 	    /* There is more than one match. */
 	    ret = do_ambiguous();
+
+	    if (!showinglist && uselist && listshown && (usemenu == 2 || oldlist))
+		showinglist = osl;
 	} else if (nmatches == 1 || (nmatches > 1 && !diffmatches)) {
 	    /* Only one match. */
 	    Cmgroup m = amatches;