emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/emacs-23 r100586: xdisp.c (get_next_display


From: Kenichi Handa
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-23 r100586: xdisp.c (get_next_display_element): Set correct it->face_id for a static composition.
Date: Wed, 25 May 2011 11:46:09 +0900
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 100586 [merge]
committer: Kenichi Handa <address@hidden>
branch nick: emacs-23
timestamp: Wed 2011-05-25 11:46:09 +0900
message:
  xdisp.c (get_next_display_element): Set correct it->face_id for a static 
composition.
modified:
  src/ChangeLog
  src/xdisp.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2011-05-21 01:56:45 +0000
+++ b/src/ChangeLog     2011-05-25 01:26:35 +0000
@@ -1,3 +1,8 @@
+2011-05-25  Kenichi Handa  <address@hidden>
+
+       * xdisp.c (get_next_display_element): Set correct it->face_id for
+       a static composition.
+
 2011-05-21  YAMAMOTO Mitsuharu  <address@hidden>
 
        * dispnew.c (scrolling_window): Don't exclude the case that the

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2011-05-09 09:59:23 +0000
+++ b/src/xdisp.c       2011-05-25 01:26:35 +0000
@@ -5922,9 +5922,21 @@
          int pos = (it->s ? -1
                     : STRINGP (it->string) ? IT_STRING_CHARPOS (*it)
                     : IT_CHARPOS (*it));
-
-         it->face_id = FACE_FOR_CHAR (it->f, face, it->char_to_display, pos,
-                                      it->string);
+         int c;
+
+         if (it->what == IT_CHARACTER)
+           c = it->char_to_display;
+         else
+           {
+             struct composition *cmp = composition_table[it->cmp_it.id];
+             int i;
+
+             c = ' ';
+             for (i = 0; i < cmp->glyph_len; i++)
+               if ((c = COMPOSITION_GLYPH (cmp, i)) != '\t')
+                 break;
+           }
+         it->face_id = FACE_FOR_CHAR (it->f, face, c, pos, it->string);
        }
     }
 #endif


reply via email to

[Prev in Thread] Current Thread [Next in Thread]