summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2007-02-14 16:26:41 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2007-02-14 16:26:41 +0000
commitd283709363fab2a7e642e416fd61f95903c386b4 (patch)
tree5eeaca0c6d6d43e8d3c61e8fe65a5a0e771ebe67
parentf35ee0d1a0f47710fec27f4055b716a5aafe3d6e (diff)
downloadzsh-d283709363fab2a7e642e416fd61f95903c386b4.tar.gz
zsh-d283709363fab2a7e642e416fd61f95903c386b4.zip
23177: better formatting of unprintable multibyte characters under 256
-rw-r--r--ChangeLog5
-rw-r--r--Src/utils.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 303fb68a7..a3cb6cd5c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-02-14 Peter Stephenson <pws@csr.com>
+
+ * 23177: Src/utils.c: print unprintable characters under
+ 256 in \M- format even in multibyte mode.
+
2007-02-14 Barton E. Schaefer <schaefer@zsh.org>
* 23169 (tweaked): Src/exec.c: upon failure to duplicate file
diff --git a/Src/utils.c b/Src/utils.c
index 0e7a7d2bb..ea2d17149 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -514,10 +514,12 @@ wcs_nicechar(wchar_t c, size_t *widthp, char **swidep)
sprintf(buf, "\\U%.8x", (unsigned int)c);
if (widthp)
*widthp = 10;
- } else {
+ } else if (c >= 0x100) {
sprintf(buf, "\\u%.4x", (unsigned int)c);
if (widthp)
*widthp = 6;
+ } else {
+ return nicechar((int)c);
}
if (swidep)
*swidep = buf + *widthp;