# HG changeset patch # User Kenichi Handa # Date 1029378540 0 # Node ID 0ddc18ff5b1d62ad59ddce8193e399d0722b2520 # Parent cafb04d00ef2140579d78f356ae61c199d71ed24 (x_produce_glyphs): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when it->multibyte_p is zero. diff -r cafb04d00ef2 -r 0ddc18ff5b1d src/w32term.c --- a/src/w32term.c Thu Aug 15 02:28:42 2002 +0000 +++ b/src/w32term.c Thu Aug 15 02:29:00 2002 +0000 @@ -2040,22 +2040,14 @@ /* Maybe translate single-byte characters to multibyte, or the other way. */ it->char_to_display = it->c; - if (!ASCII_BYTE_P (it->c)) + if (!ASCII_CHAR_P (it->c)) { - if (unibyte_display_via_language_environment - && SINGLE_BYTE_CHAR_P (it->c) - && (it->c >= 0240 - || !NILP (Vnonascii_translation_table))) - { - it->char_to_display = unibyte_char_to_multibyte (it->c); - it->multibyte_p = 1; - it->face_id = FACE_FOR_CHAR (it->f, face, it->char_to_display); - face = FACE_FROM_ID (it->f, it->face_id); - } - else if (!SINGLE_BYTE_CHAR_P (it->c) - && !it->multibyte_p) + if (SINGLE_BYTE_CHAR_P (it->c) + && unibyte_display_via_language_environment) + it->char_to_display = unibyte_char_to_multibyte (it->c); + if (! SINGLE_BYTE_CHAR_P (it->c)) { - it->multibyte_p = 1; + it->multibyte_p = 1; it->face_id = FACE_FOR_CHAR (it->f, face, it->char_to_display); face = FACE_FROM_ID (it->f, it->face_id); }