summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2005-09-27 14:30:30 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2005-09-27 14:30:30 +0000
commitf3c0df36be042489041968c57b201a1f44664c2b (patch)
tree0b87495387c84b47eea73acfda9d48eb3342c6fa
parent161746bd9b27e9cc059b2f3b886c352000450022 (diff)
downloadzsh-f3c0df36be042489041968c57b201a1f44664c2b.tar.gz
zsh-f3c0df36be042489041968c57b201a1f44664c2b.zip
21769: fix some consequences of 21730 in completion lists
-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