about summary refs log tree commit diff
path: root/Src/Zle/complist.c
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2000-10-25 08:18:43 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2000-10-25 08:18:43 +0000
commit9e44b5ea29c073e553a86b5fe50b66e25437e375 (patch)
tree21547e77800e7500826d2bbb8a33599b085c7453 /Src/Zle/complist.c
parentead3cee30d59283b315e9b16b136ed5dd1198340 (diff)
downloadzsh-9e44b5ea29c073e553a86b5fe50b66e25437e375.tar.gz
zsh-9e44b5ea29c073e553a86b5fe50b66e25437e375.tar.xz
zsh-9e44b5ea29c073e553a86b5fe50b66e25437e375.zip
add a counter for invalidatelist() to allow finding out if there is a new list (13082)
Diffstat (limited to 'Src/Zle/complist.c')
-rw-r--r--Src/Zle/complist.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c
index af8dea6f0..3e746b914 100644
--- a/Src/Zle/complist.c
+++ b/Src/Zle/complist.c
@@ -986,7 +986,7 @@ compnicezputs(char *s, int ml)
 static int
 compprintlist(int showall)
 {
-    static int lasttype = 0, lastbeg = 0, lastml = 0;
+    static int lasttype = 0, lastbeg = 0, lastml = 0, lastinvcount = -1;
     static int lastn = 0, lastnl = 0, lastnlnct = -1;
     static Cmgroup lastg = NULL;
     static Cmatch *lastp = NULL;
@@ -999,7 +999,7 @@ compprintlist(int showall)
     int lastused = 0;
 
     mfirstl = -1;
-    if (mnew || lastbeg != mlbeg || mlbeg < 0) {
+    if (mnew || lastinvcount != invcount || lastbeg != mlbeg || mlbeg < 0) {
 	lasttype = 0;
 	lastg = NULL;
 	lastexpl = NULL;
@@ -1010,6 +1010,7 @@ compprintlist(int showall)
 	  lines - nlnct - mhasstat : listdat.nlines) - (lastnlnct > nlnct);
     lastnlnct = nlnct;
     mrestlines = lines - 1;
+    lastinvcount = invcount;
 
     if (cl < 2) {
 	cl = -1;