Mercurial > emacs
changeset 90023:46eb9a242d5d
(get_next_display_element): In unibyte case, decide to
display in octal form by checking a chacter by
UNIBYTE_CHAR_HAS_MULTIBYTE_P.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 15 Oct 2004 02:12:58 +0000 |
parents | 63061660cd73 |
children | 2289ad7ece19 |
files | src/xdisp.c |
diffstat | 1 files changed, 8 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xdisp.c Fri Oct 15 02:11:01 2004 +0000 +++ b/src/xdisp.c Fri Oct 15 02:12:58 2004 +0000 @@ -4978,19 +4978,18 @@ the translation. This could easily be changed but I don't believe that it is worth doing. - If it->multibyte_p is nonzero, eight-bit characters and - non-printable multibyte characters are also translated to - octal form. + If it->multibyte_p is nonzero, non-printable non-ASCII + characters are also translated to octal form. If it->multibyte_p is zero, eight-bit characters that don't have corresponding multibyte char code are also translated to octal form. */ - else if ((it->c < ' ' - && (it->area != TEXT_AREA - || (it->c != '\n' && it->c != '\t'))) - || (it->c != '\n' && it->c != '\t' - && (it->multibyte_p ? !CHAR_PRINTABLE_P (it->c) - : it->c == 127))) + else if ((it->c < ' ' ? (it->area != TEXT_AREA + || (it->c != '\n' && it->c != '\t')) + : it->multibyte_p ? !CHAR_PRINTABLE_P (it->c) + : (it->c >= 127 + && (! unibyte_display_via_language_environment + || (UNIBYTE_CHAR_HAS_MULTIBYTE_P (it->c)))))) { /* IT->c is a control character which must be displayed either as '\003' or as `^C' where the '\\' and '^'