Mercurial > emacs
diff src/xdisp.c @ 59053:36d7c274dcef
(get_next_display_element): Display codes 8a0 and 8ad
specially as `\ ' and `\-'.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 21 Dec 2004 11:35:18 +0000 |
parents | 877029420a0c |
children | 6ae984fd783d 4ee39d9428b0 eac554634bfa |
line wrap: on
line diff
--- a/src/xdisp.c Tue Dec 21 11:34:42 2004 +0000 +++ b/src/xdisp.c Tue Dec 21 11:35:18 2004 +0000 @@ -4915,7 +4915,9 @@ || (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 @@ 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];