about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Src/Zle/complist.c9
2 files changed, 9 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 8cb8d2b96..ba1dac873 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-03-30  Peter Stephenson  <pws@csr.com>
+
+	* unposted: Src/Zle/complist.c: better fix for 23248.
+
 2007-03-29  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
 	* 23248: INSTALL, Src/utils.c, Src/zsh.h, Src/Zle/complist.c:
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c
index 43c93cf54..d379874f2 100644
--- a/Src/Zle/complist.c
+++ b/Src/Zle/complist.c
@@ -1139,10 +1139,7 @@ compprintfmt(char *fmt, int n, int dopr, int doesc, int ml, int *stop)
 	    if (dopr == 1) {
 		if (ml == mlend - 1 && (cc % columns) == columns - 1) {
 		    dopr = 0;
-		    if (*p == Meta)
-			p += 2;
-		    else
-			p++;
+		    p += len;
 		    continue;
 		}
 		while (len--) {
@@ -1153,6 +1150,10 @@ compprintfmt(char *fmt, int n, int dopr, int doesc, int ml, int *stop)
 		    } else
 			putc(*p++, shout);
 		}
+		/*
+		 * TODO: the following doesn't allow for
+		 * character widths greater than 1.
+		 */
 		if ((beg = !(cc % columns)) && !stat) {
 		    ml++;
                     fputs(" \010", shout);