diff options
| author | Kenichi Handa | 2011-07-07 16:11:54 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2011-07-07 16:11:54 +0900 |
| commit | 15fa4783a39e7a8d99cc6b5e783307c08b25a823 (patch) | |
| tree | 051925a8b92aacbc5cda237901db7db3f7adb25f /src | |
| parent | 38fe4016d4ff317499eaf66b242e19db3da4a23f (diff) | |
| download | emacs-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/ChangeLog | 7 | ||||
| -rw-r--r-- | src/composite.c | 1 | ||||
| -rw-r--r-- | src/xdisp.c | 5 |
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 @@ | |||
| 1 | 2011-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 | |||
| 1 | 2011-06-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 8 | 2011-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)) |