about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorPaul Ackersviller <packersv@users.sourceforge.net>2007-06-20 03:02:40 +0000
committerPaul Ackersviller <packersv@users.sourceforge.net>2007-06-20 03:02:40 +0000
commit4f4a908c4b7cbac3071e5faf090059c1c91d2105 (patch)
tree2d04ede7907e960393ace6a2fdb48d18d1563b86 /Src
parent3602db7942cfa73b30ba2c4ab31edd598335e394 (diff)
downloadzsh-4f4a908c4b7cbac3071e5faf090059c1c91d2105.tar.gz
zsh-4f4a908c4b7cbac3071e5faf090059c1c91d2105.tar.xz
zsh-4f4a908c4b7cbac3071e5faf090059c1c91d2105.zip
Merge of 21822 piece of revision 1.75, fix of infinite loop.
Diffstat (limited to 'Src')
-rw-r--r--Src/Zle/complist.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c
index 311a5679f..7b1e6f3db 100644
--- a/Src/Zle/complist.c
+++ b/Src/Zle/complist.c
@@ -2041,9 +2041,15 @@ domenuselect(Hookdef dummy, Chdata dat)
 	    if (y < mlines)
 		mline = y;
 	}
+	DPUTS(mline < 0,
+	      "BUG: mline < 0 after re-scanning mtab in domenuselect()");
 	while (mline < mlbeg)
-	    if ((mlbeg -= step) < 0)
+	    if ((mlbeg -= step) < 0) {
 		mlbeg = 0;
+		/* Crude workaround for BUG above */
+		if (mline < 0)
+		    break;
+	    }
 
 	if (mlbeg && lbeg != mlbeg) {
 	    Cmatch **p = mtab + ((mlbeg - 1) * columns), **q;