aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/xdisp.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index b27b5e2e74..2b97866592 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];