summaryrefslogtreecommitdiff
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