diff src/dispextern.h @ 110131:cca2a663ef92

Fix handling of 8-bit characters in a display table.
author Kenichi Handa <handa@m17n.org>
date Tue, 31 Aug 2010 16:49:21 +0900
parents f6f0d450d542
children 0dcf6ddbe02b e0f89e89ed02
line wrap: on
line diff
--- a/src/dispextern.h	Sun Aug 29 14:24:08 2010 +0900
+++ b/src/dispextern.h	Tue Aug 31 16:49:21 2010 +0900
@@ -1694,7 +1694,7 @@
    This macro is only meaningful for multibyte character CHAR.  */
 
 #define FACE_FOR_CHAR(F, FACE, CHAR, POS, OBJECT)	\
-  (ASCII_CHAR_P (CHAR)					\
+  ((ASCII_CHAR_P (CHAR) || CHAR_BYTE8_P (CHAR))		\
    ? (FACE)->ascii_face->id				\
    : face_for_char ((F), (FACE), (CHAR), (POS), (OBJECT)))
 
@@ -2131,9 +2131,11 @@
      composition.  */
   struct composition_it cmp_it;
 
-  /* The character to display, possibly translated to multibyte
-     if unibyte_display_via_language_environment is set.  This
-     is set after produce_glyphs has been called.  */
+  /* The character to display, possibly translated to multibyte if
+     multibyte_p is zero or unibyte_display_via_language_environment
+     is set.  This is set after get_next_display_element has been
+     called.  If we are setting it->C directly before calling
+     PRODUCE_GLYPHS, this should be set beforehand too.  */
   int char_to_display;
 
   /* If what == IT_IMAGE, the id of the image to display.  */