diff options
| author | Chong Yidong | 2011-07-07 12:18:25 -0400 |
|---|---|---|
| committer | Chong Yidong | 2011-07-07 12:18:25 -0400 |
| commit | 412f24b9ddf1e07022f8c5fe05f0717f130c4c02 (patch) | |
| tree | cf8450140b0907d14ac4dbdcf025f033a992bc98 /src | |
| parent | af0905c84a232b034b4f792847aa05531f8cdefc (diff) | |
| parent | 15fa4783a39e7a8d99cc6b5e783307c08b25a823 (diff) | |
| download | emacs-412f24b9ddf1e07022f8c5fe05f0717f130c4c02.tar.gz emacs-412f24b9ddf1e07022f8c5fe05f0717f130c4c02.zip | |
Merge from emacs-23 branch
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 6485ed08027..9186061530e 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-07-07 Eli Zaretskii <eliz@gnu.org> | 8 | 2011-07-07 Eli Zaretskii <eliz@gnu.org> |
| 2 | 9 | ||
| 3 | * term.c (produce_glyphs) <xassert>: Allow IT_GLYPHLESS in it->what. | 10 | * term.c (produce_glyphs) <xassert>: Allow IT_GLYPHLESS in it->what. |
diff --git a/src/composite.c b/src/composite.c index 577640f6fb7..cf1e053f027 100644 --- a/src/composite.c +++ b/src/composite.c | |||
| @@ -1026,6 +1026,7 @@ composition_compute_stop_pos (struct composition_it *cmp_it, EMACS_INT charpos, | |||
| 1026 | /* FIXME: Bidi is not yet handled well in static composition. */ | 1026 | /* FIXME: Bidi is not yet handled well in static composition. */ |
| 1027 | if (charpos < endpos | 1027 | if (charpos < endpos |
| 1028 | && find_composition (charpos, endpos, &start, &end, &prop, string) | 1028 | && find_composition (charpos, endpos, &start, &end, &prop, string) |
| 1029 | && start >= charpos | ||
| 1029 | && COMPOSITION_VALID_P (start, end, prop)) | 1030 | && COMPOSITION_VALID_P (start, end, prop)) |
| 1030 | { | 1031 | { |
| 1031 | cmp_it->stop_pos = endpos = start; | 1032 | cmp_it->stop_pos = endpos = start; |
diff --git a/src/xdisp.c b/src/xdisp.c index a99f06a4e45..774bc22699a 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -4583,6 +4583,11 @@ handle_composition_prop (struct it *it) | |||
| 4583 | && COMPOSITION_VALID_P (start, end, prop) | 4583 | && COMPOSITION_VALID_P (start, end, prop) |
| 4584 | && (STRINGP (it->string) || (PT <= start || PT >= end))) | 4584 | && (STRINGP (it->string) || (PT <= start || PT >= end))) |
| 4585 | { | 4585 | { |
| 4586 | if (start < pos) | ||
| 4587 | /* As we can't handle this situation (perhaps font-lock added | ||
| 4588 | a new composition), we just return here hoping that next | ||
| 4589 | redisplay will detect this composition much earlier. */ | ||
| 4590 | return HANDLED_NORMALLY; | ||
| 4586 | if (start != pos) | 4591 | if (start != pos) |
| 4587 | { | 4592 | { |
| 4588 | if (STRINGP (it->string)) | 4593 | if (STRINGP (it->string)) |