about summary refs log tree commit diff
path: root/Src/Zle/complist.c
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2001-01-18 14:41:40 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2001-01-18 14:41:40 +0000
commitc06782d95b95f6802da6059378e5ad83a1d57ddd (patch)
tree9cbd570a56a8fcc1aaab0755302c2ba519125548 /Src/Zle/complist.c
parent0acd646e94fbac27ba99bbfdb775f137e39582b9 (diff)
downloadzsh-c06782d95b95f6802da6059378e5ad83a1d57ddd.tar.gz
zsh-c06782d95b95f6802da6059378e5ad83a1d57ddd.tar.xz
zsh-c06782d95b95f6802da6059378e5ad83a1d57ddd.zip
*** empty log message ***
Diffstat (limited to 'Src/Zle/complist.c')
-rw-r--r--Src/Zle/complist.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c
index 714719d62..f0fc7c771 100644
--- a/Src/Zle/complist.c
+++ b/Src/Zle/complist.c
@@ -1812,6 +1812,7 @@ domenuselect(Hookdef dummy, Chdata dat)
 	    amatches = pmatches = lastmatches = NULL;
 	    invalidate_list();
 	    iforcemenu = 1;
+	    comprecursive = 1;
 	    menucomplete(zlenoargs);
 	    iforcemenu = 0;
 
@@ -1865,6 +1866,7 @@ domenuselect(Hookdef dummy, Chdata dat)
 	    s->origll = origll;
 	    accept_last();
 	    handleundo();
+	    comprecursive = 1;
 	    do_menucmp(0);
 	    mselect = (*(minfo.cur))->gnum;
 
@@ -1909,7 +1911,7 @@ domenuselect(Hookdef dummy, Chdata dat)
 	    mlbeg = u->mlbeg;
 	    if (u->lastmatches && lastmatches != u->lastmatches) {
 		if (lastmatches)
-		    freematches(lastmatches);
+		    freematches(lastmatches, 0);
 		amatches = u->amatches;
 		pmatches = u->pmatches;
 		lastmatches = u->lastmatches;
@@ -2236,6 +2238,7 @@ domenuselect(Hookdef dummy, Chdata dat)
 		   !strcmp(cmd->nam, "expand-or-complete-prefix") ||
 		   !strcmp(cmd->nam, "menu-complete") ||
 		   !strcmp(cmd->nam, "menu-expand-or-complete")) {
+	    comprecursive = 1;
 	    do_menucmp(0);
 	    mselect = (*(minfo.cur))->gnum;
 	    setwish = 1;
@@ -2243,6 +2246,7 @@ domenuselect(Hookdef dummy, Chdata dat)
 	    continue;
 	} else if (cmd == Th(z_reversemenucomplete) ||
 		   !strcmp(cmd->nam, "reverse-menu-complete")) {
+	    comprecursive = 1;
 	    reversemenucomplete(zlenoargs);
 	    mselect = (*(minfo.cur))->gnum;
 	    setwish = 1;
@@ -2265,7 +2269,7 @@ domenuselect(Hookdef dummy, Chdata dat)
     if (u)
 	for (; u; u = u->prev)
 	    if (u->lastmatches != lastmatches)
-		freematches(u->lastmatches);
+		freematches(u->lastmatches, 0);
 
     selectlocalmap(NULL);
     mselect = mlastcols = mlastlines = -1;