Use \uNNNN, \UNNNNNN, or \xNNNNNN for hex-code display on a TTY.
authorEli Zaretskii <eliz@gnu.org>
Sat, 20 Nov 2010 15:04:50 +0000 (17:04 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 20 Nov 2010 15:04:50 +0000 (17:04 +0200)
 term.c (produce_glyphless_glyph): Use \uNNNN, \UNNNNNN, or
 \xNNNNNN for hex-code display of glyphless characters.

src/ChangeLog
src/term.c

index 552d8ef..bb9f68a 100644 (file)
@@ -1,3 +1,8 @@
+2010-11-20  Eli Zaretskii  <eliz@gnu.org>
+
+       * term.c (produce_glyphless_glyph): Use \uNNNN, \UNNNNNN, or
+       \xNNNNNN for hex-code display of glyphless characters.
+
 2010-11-20  Jan Djärv  <jan.h.d@swipnet.se>
 
        * gtkutil.c (xg_make_tool_item): Take vert_only as argument.
index 4d452ed..481a5d8 100644 (file)
@@ -1936,7 +1936,7 @@ produce_glyphless_glyph (struct it *it, int for_no_font, Lisp_Object acronym)
 {
   int face_id;
   int len;
-  char buf[11], *str = "    ";
+  char buf[9], *str = "    ";
 
   /* Get a face ID for the glyph by utilizing a cache (the same way as
      done for `escape-glyph' in get_next_display_element).  */
@@ -1987,10 +1987,9 @@ produce_glyphless_glyph (struct it *it, int for_no_font, Lisp_Object acronym)
       else
        {
          xassert (it->glyphless_method == GLYPHLESS_DISPLAY_HEX_CODE);
-         len = (it->c < 0x100 ? sprintf (buf, "[U+%02X]", it->c)
-                : it->c < 0x10000 ? sprintf (buf, "[U+%04X]", it->c)
-                : it->c <= MAX_UNICODE_CHAR ? sprintf (buf, "[U+%06X]", it->c)
-                : sprintf (buf, "[E+%06X]", it->c));
+         len = (it->c < 0x10000 ? sprintf (buf, "\\u%04X", it->c)
+                : it->c <= MAX_UNICODE_CHAR ? sprintf (buf, "\\U%06X", it->c)
+                : sprintf (buf, "\\x%06X", it->c));
        }
       str = buf;
     }