[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/emacs-23 r100586: xdisp.c (get_next_display_element): Set correct it->face_id for a static composition.,
Kenichi Handa <=