diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index ffe1e9ede2e..a0ac755ffa6 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -5674,6 +5674,7 @@ get_next_display_element (it) | |||
| 5674 | if (success_p && it->dpvec == NULL) | 5674 | if (success_p && it->dpvec == NULL) |
| 5675 | { | 5675 | { |
| 5676 | Lisp_Object dv; | 5676 | Lisp_Object dv; |
| 5677 | struct charset *unibyte = CHARSET_FROM_ID (charset_unibyte); | ||
| 5677 | 5678 | ||
| 5678 | if (it->dp | 5679 | if (it->dp |
| 5679 | && (dv = DISP_CHAR_VECTOR (it->dp, it->c), | 5680 | && (dv = DISP_CHAR_VECTOR (it->dp, it->c), |
| @@ -5728,7 +5729,7 @@ get_next_display_element (it) | |||
| 5728 | || it->c == 0xAD /* SOFT HYPHEN */))) | 5729 | || it->c == 0xAD /* SOFT HYPHEN */))) |
| 5729 | : (it->c >= 127 | 5730 | : (it->c >= 127 |
| 5730 | && (! unibyte_display_via_language_environment | 5731 | && (! unibyte_display_via_language_environment |
| 5731 | || (UNIBYTE_CHAR_HAS_MULTIBYTE_P (it->c))))))) | 5732 | || (DECODE_CHAR (unibyte, it->c) <= 0xA0)))))) |
| 5732 | { | 5733 | { |
| 5733 | /* IT->c is a control character which must be displayed | 5734 | /* IT->c is a control character which must be displayed |
| 5734 | either as '\003' or as `^C' where the '\\' and '^' | 5735 | either as '\003' or as `^C' where the '\\' and '^' |
| @@ -21094,9 +21095,12 @@ x_produce_glyphs (it) | |||
| 21094 | { | 21095 | { |
| 21095 | if (SINGLE_BYTE_CHAR_P (it->c) | 21096 | if (SINGLE_BYTE_CHAR_P (it->c) |
| 21096 | && unibyte_display_via_language_environment) | 21097 | && unibyte_display_via_language_environment) |
| 21097 | it->char_to_display = unibyte_char_to_multibyte (it->c); | ||
| 21098 | if (! SINGLE_BYTE_CHAR_P (it->char_to_display)) | ||
| 21099 | { | 21098 | { |
| 21099 | struct charset *unibyte = CHARSET_FROM_ID (charset_unibyte); | ||
| 21100 | |||
| 21101 | /* get_next_display_element assures that this decoding | ||
| 21102 | never fails. */ | ||
| 21103 | it->char_to_display = DECODE_CHAR (unibyte, it->c); | ||
| 21100 | it->multibyte_p = 1; | 21104 | it->multibyte_p = 1; |
| 21101 | it->face_id = FACE_FOR_CHAR (it->f, face, it->char_to_display, | 21105 | it->face_id = FACE_FOR_CHAR (it->f, face, it->char_to_display, |
| 21102 | -1, Qnil); | 21106 | -1, Qnil); |