From 6df99033c1ecff7d094f41ef91145cebfc5375f7 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 21 Dec 2004 11:35:18 +0000 Subject: [PATCH] (get_next_display_element): Display codes 8a0 and 8ad specially as `\ ' and `\-'. --- src/xdisp.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/xdisp.c b/src/xdisp.c index b27b5e2e744..2b97866592e 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -4915,7 +4915,9 @@ get_next_display_element (it) || (it->multibyte_p ? ((it->c >= 127 && it->len == 1) - || !CHAR_PRINTABLE_P (it->c)) + || !CHAR_PRINTABLE_P (it->c) + || it->c == 0x8ad + || it->c == 0x8a0) : (it->c >= 127 && (!unibyte_display_via_language_environment || it->c == unibyte_char_to_multibyte (it->c))))) @@ -4958,6 +4960,21 @@ get_next_display_element (it) XSETINT (it->ctl_chars[1], g); ctl_len = 2; } + else if (it->c == 0x8a0 || it->c == 0x8ad) + { + /* Set IT->ctl_chars[0] to the glyph for `\\'. */ + if (it->dp + && INTEGERP (DISP_ESCAPE_GLYPH (it->dp)) + && GLYPH_CHAR_VALID_P (XINT (DISP_ESCAPE_GLYPH (it->dp)))) + g = XINT (DISP_ESCAPE_GLYPH (it->dp)); + else + g = FAST_MAKE_GLYPH ('\\', face_id); + XSETINT (it->ctl_chars[0], g); + + g = FAST_MAKE_GLYPH (it->c == 0x8ad ? '-' : ' ', face_id); + XSETINT (it->ctl_chars[1], g); + ctl_len = 2; + } else { unsigned char str[MAX_MULTIBYTE_LENGTH]; -- 2.39.5