From: Eli Zaretskii Date: Mon, 18 Dec 2000 10:23:43 +0000 (+0000) Subject: (IT_write_glyphs): Compute the glyph face from str->face_id. X-Git-Tag: emacs-pretest-21.0.95~446 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=78555fbea6530018c1cc19e882d4599e7b1c893b;p=emacs.git (IT_write_glyphs): Compute the glyph face from str->face_id. --- diff --git a/src/ChangeLog b/src/ChangeLog index 9d5bdb44aed..12a82867400 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2000-12-18 Eli Zaretskii + + * msdos.c (IT_write_glyphs): Compute the glyph face from + str->face_id. + 2000-12-18 Kenichi Handa * process.c (read_process_output): Don't run a filter if the code diff --git a/src/msdos.c b/src/msdos.c index 1c4e8409ed8..8466d6ba4ca 100644 --- a/src/msdos.c +++ b/src/msdos.c @@ -999,6 +999,9 @@ IT_write_glyphs (struct glyph *str, int str_len) register GLYPH g = GLYPH_FROM_CHAR_GLYPH (*str); int glyph_not_in_table = 0; + /* If g is negative, it means we have a multibyte character + in *str. That's what GLYPH_FROM_CHAR_GLYPH returns for + multibyte characters. */ if (g < 0 || g >= tlen) { /* This glyph doesn't have an entry in Vglyph_table. */ @@ -1034,7 +1037,7 @@ IT_write_glyphs (struct glyph *str, int str_len) /* If the face of this glyph is different from the current screen face, update the screen attribute byte. */ - cf = FAST_GLYPH_FACE (g); + cf = str->face_id; if (cf != screen_face) IT_set_face (cf); /* handles invalid faces gracefully */