aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2011-07-07 16:11:54 +0900
committerKenichi Handa2011-07-07 16:11:54 +0900
commit15fa4783a39e7a8d99cc6b5e783307c08b25a823 (patch)
tree051925a8b92aacbc5cda237901db7db3f7adb25f /src
parent38fe4016d4ff317499eaf66b242e19db3da4a23f (diff)
downloademacs-15fa4783a39e7a8d99cc6b5e783307c08b25a823.tar.gz
emacs-15fa4783a39e7a8d99cc6b5e783307c08b25a823.zip
Ignore a static composition that starts before the current checking position in redisplay.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog7
-rw-r--r--src/composite.c1
-rw-r--r--src/xdisp.c5
3 files changed, 13 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 46fef8b9285..7193374972b 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
12011-07-07 Kenichi Handa <handa@m17n.org>
2
3 * composite.c (composition_compute_stop_pos): Ignore a static
4 composition starting before CHARPOS (Bug#8915).
5
6 * xdisp.c (handle_composition_prop): Likewise.
7
12011-06-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> 82011-06-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2 9
3 * dispnew.c (scrolling_window): Before scrolling, turn off a 10 * dispnew.c (scrolling_window): Before scrolling, turn off a
diff --git a/src/composite.c b/src/composite.c
index ec2595813aa..0ad0af90d07 100644
--- a/src/composite.c
+++ b/src/composite.c
@@ -1042,6 +1042,7 @@ composition_compute_stop_pos (cmp_it, charpos, bytepos, endpos, string)
1042 cmp_it->id = -1; 1042 cmp_it->id = -1;
1043 cmp_it->ch = -2; 1043 cmp_it->ch = -2;
1044 if (find_composition (charpos, endpos, &start, &end, &prop, string) 1044 if (find_composition (charpos, endpos, &start, &end, &prop, string)
1045 && start >= charpos
1045 && COMPOSITION_VALID_P (start, end, prop)) 1046 && COMPOSITION_VALID_P (start, end, prop))
1046 { 1047 {
1047 cmp_it->stop_pos = endpos = start; 1048 cmp_it->stop_pos = endpos = start;
diff --git a/src/xdisp.c b/src/xdisp.c
index 1f42e427428..b8a8ea7484d 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -4641,6 +4641,11 @@ handle_composition_prop (it)
4641 && COMPOSITION_VALID_P (start, end, prop) 4641 && COMPOSITION_VALID_P (start, end, prop)
4642 && (STRINGP (it->string) || (PT <= start || PT >= end))) 4642 && (STRINGP (it->string) || (PT <= start || PT >= end)))
4643 { 4643 {
4644 if (start < pos)
4645 /* As we can't handle this situation (perhaps, font-lock added
4646 a new composition), we just return here hoping that next
4647 redisplay will detect this composition much earlier. */
4648 return HANDLED_NORMALLY;
4644 if (start != pos) 4649 if (start != pos)
4645 { 4650 {
4646 if (STRINGP (it->string)) 4651 if (STRINGP (it->string))