about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Src/Zle/compcore.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/Src/Zle/compcore.c b/Src/Zle/compcore.c
index 028536206..4d7ee469b 100644
--- a/Src/Zle/compcore.c
+++ b/Src/Zle/compcore.c
@@ -2569,9 +2569,11 @@ permmatches(int last)
     static int fi = 0;
     int nn, nl, ll, gn = 1, mn = 1, rn;
 
-    if (pmatches && !newmatches)
+    if (pmatches && !newmatches) {
+	if (last && fi)
+	    ainfo = fainfo;
 	return fi;
-
+    }
     newmatches = fi = 0;
 
     if (pmatches)
@@ -2587,7 +2589,7 @@ permmatches(int last)
     }
     while (g) {
 	HEAPALLOC {
-	    if (empty(g->lmatches))
+	    if (fi)
 		/* We have no matches, try ignoring fignore. */
 		mlist = g->lfmatches;
 	    else