summaryrefslogtreecommitdiff
path: root/Src/Zle/compcore.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Zle/compcore.c')
-rw-r--r--Src/Zle/compcore.c5
1 files changed, 4 insertions, 1 deletions
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;