about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Src/Zle/complist.c6
2 files changed, 5 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index c0d7df130..2438921c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2007-04-17  Peter Stephenson  <pws@csr.com>
 
+	* users/11421: Src/Zle/complist.c: use of %{...%} in
+	completion list formatting was broken.
+
 	* Christoph Bauer: users/11416: Src/utils.c: bad use
 	of VARRAR confused some compilers.
 
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c
index 40bfdfe05..cedccc254 100644
--- a/Src/Zle/complist.c
+++ b/Src/Zle/complist.c
@@ -1046,13 +1046,11 @@ compprintfmt(char *fmt, int n, int dopr, int doesc, int ml, int *stop)
 			tcout(TCUNDERLINEEND);
 		    break;
 		case ZWC('{'):
-		    for (p++; *p && (*p != '%' || p[1] != '}'); p++)
+		    for (; *p && (*p != '%' || p[1] != '}'); p++)
 			if (dopr)
 			    putc(*p == Meta ? *++p ^ 32 : *p, shout);
 		    if (*p)
-			p++;
-		    else
-			p--;
+			p += 2;
 		    break;
 		case ZWC('m'):
 		    if (stat) {