diff options
| author | Kenichi Handa | 2011-05-25 10:26:35 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2011-05-25 10:26:35 +0900 |
| commit | f16d983703a68c21ae5cf52f49d4aafa09ca31ce (patch) | |
| tree | ed72432ce7e1ffa0c4c35a88d870536e2454fefe /src | |
| parent | 02bd54507635629c9d35bc2193a0cfa3567309c6 (diff) | |
| download | emacs-f16d983703a68c21ae5cf52f49d4aafa09ca31ce.tar.gz emacs-f16d983703a68c21ae5cf52f49d4aafa09ca31ce.zip | |
xdisp.c (get_next_display_element): Set correct it->face_id for a static composition.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/xdisp.c | 16 |
2 files changed, 19 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 774bd4235ac..cdc8ed8999c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2011-05-25 Kenichi Handa <handa@m17n.org> | ||
| 2 | |||
| 3 | * xdisp.c (get_next_display_element): Set correct it->face_id for | ||
| 4 | a static composition. | ||
| 5 | |||
| 1 | 2011-05-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 6 | 2011-05-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 2 | 7 | ||
| 3 | * dispnew.c (scrolling_window): Don't exclude the case that the | 8 | * dispnew.c (scrolling_window): Don't exclude the case that the |
diff --git a/src/xdisp.c b/src/xdisp.c index 1f4c829ce94..0f21c82e1f1 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -5922,9 +5922,21 @@ get_next_display_element (it) | |||
| 5922 | int pos = (it->s ? -1 | 5922 | int pos = (it->s ? -1 |
| 5923 | : STRINGP (it->string) ? IT_STRING_CHARPOS (*it) | 5923 | : STRINGP (it->string) ? IT_STRING_CHARPOS (*it) |
| 5924 | : IT_CHARPOS (*it)); | 5924 | : IT_CHARPOS (*it)); |
| 5925 | int c; | ||
| 5926 | |||
| 5927 | if (it->what == IT_CHARACTER) | ||
| 5928 | c = it->char_to_display; | ||
| 5929 | else | ||
| 5930 | { | ||
| 5931 | struct composition *cmp = composition_table[it->cmp_it.id]; | ||
| 5932 | int i; | ||
| 5925 | 5933 | ||
| 5926 | it->face_id = FACE_FOR_CHAR (it->f, face, it->char_to_display, pos, | 5934 | c = ' '; |
| 5927 | it->string); | 5935 | for (i = 0; i < cmp->glyph_len; i++) |
| 5936 | if ((c = COMPOSITION_GLYPH (cmp, i)) != '\t') | ||
| 5937 | break; | ||
| 5938 | } | ||
| 5939 | it->face_id = FACE_FOR_CHAR (it->f, face, c, pos, it->string); | ||
| 5928 | } | 5940 | } |
| 5929 | } | 5941 | } |
| 5930 | #endif | 5942 | #endif |