about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/Zle/complist.c6
-rw-r--r--Src/utils.c2
3 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 84c88d215..8694faadc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-09-27  Peter Stephenson  <pws@csr.com>
+
+	* 21769: Src/utils.c, Src/Zle/complist.c: fix some consequences of
+	21730 in completion lists.
+
 2005-09-27  Clint Adams  <clint@zsh.org>
 
 	* Vincent Lefevre: 21767: Completion/Unix/Command/_subversion:
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c
index 4290f5f6d..3c94ae11b 100644
--- a/Src/Zle/complist.c
+++ b/Src/Zle/complist.c
@@ -570,11 +570,12 @@ clnicezputs(Listcols c, char *s, int ml)
 	    cc = *s++ ^ 32;
 
 	for (t = nicechar(cc); *t; t++) {
+	    int nc = (*t == Meta) ? STOUC(*++t ^ 32) : STOUC(*t);
 	    if (ml == mlend - 1 && col == columns - 1) {
 		mlprinted = ml - oml;
 		return 0;
 	    }
-	    putc(*t, shout);
+	    putc(nc, shout);
 	    if (++col == columns) {
 		ml++;
 		if (mscroll && !--mrestlines && (ask = asklistscroll(ml))) {
@@ -978,11 +979,12 @@ compnicezputs(char *s, int ml)
 	    c = *s++ ^ 32;
 
 	for (t = nicechar(c); *t; t++) {
+	    int nc = (*t == Meta) ? STOUC(*++t ^ 32) : STOUC(*t);
 	    if (ml == mlend - 1 && col == columns - 1) {
 		mlprinted = ml - oml;
 		return 0;
 	    }
-	    putc(*t, shout);
+	    putc(nc, shout);
 	    if (++col == columns) {
 		ml++;
 		if (mscroll && !--mrestlines && (ask = asklistscroll(ml))) {
diff --git a/Src/utils.c b/Src/utils.c
index 8a7c557f0..7bf4213c7 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -260,7 +260,7 @@ nicechar(int c)
      * This can't happen if the character is printed "nicely", so
      * this results in a maximum of two bytes total (plus the null).
      */
-    if (itok(c)) {
+    if (imeta(c)) {
 	*s++ = Meta;
 	*s++ = c ^ 32;
     } else