diff options
| author | Kenichi Handa | 2010-08-25 09:54:05 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2010-08-25 09:54:05 +0900 |
| commit | ff94e32cb3462a95578be0f3be44f5749d0e0b1f (patch) | |
| tree | 7fa50e058180bb5a6ef0283593bceaee956e2883 /src | |
| parent | 2c0ac86767b5b7f362a287b5282d8397777b98a2 (diff) | |
| download | emacs-ff94e32cb3462a95578be0f3be44f5749d0e0b1f.tar.gz emacs-ff94e32cb3462a95578be0f3be44f5749d0e0b1f.zip | |
Fix finding a stop position for composition.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/composite.c | 10 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 0a1a268d962..7fb542eab33 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2010-08-25 Kenichi Handa <handa@m17n.org> | ||
| 2 | |||
| 3 | * composite.c (composition_compute_stop_pos): In forward search, | ||
| 4 | pay attention to the possibility that some character after ENDPOS | ||
| 5 | will be composed with charactrs before ENDPOS. | ||
| 6 | |||
| 1 | 2010-08-19 Jan Djärv <jan.h.d@swipnet.se> | 7 | 2010-08-19 Jan Djärv <jan.h.d@swipnet.se> |
| 2 | 8 | ||
| 3 | * nsselect.m (nxatoms_of_nsselect): Use "Selection" and "Secondary". | 9 | * nsselect.m (nxatoms_of_nsselect): Use "Selection" and "Secondary". |
diff --git a/src/composite.c b/src/composite.c index 392da1ceba1..3b128853c10 100644 --- a/src/composite.c +++ b/src/composite.c | |||
| @@ -1091,6 +1091,16 @@ composition_compute_stop_pos (struct composition_it *cmp_it, EMACS_INT charpos, | |||
| 1091 | } | 1091 | } |
| 1092 | } | 1092 | } |
| 1093 | } | 1093 | } |
| 1094 | if (charpos == endpos) | ||
| 1095 | { | ||
| 1096 | /* We couldn't find a composition point before ENDPOS. But, | ||
| 1097 | some character after ENDPOS may be composed with | ||
| 1098 | characters before ENDPOS. So, we should stop at the safe | ||
| 1099 | point. */ | ||
| 1100 | charpos = endpos - MAX_AUTO_COMPOSITION_LOOKBACK; | ||
| 1101 | if (charpos < start) | ||
| 1102 | charpos = start; | ||
| 1103 | } | ||
| 1094 | } | 1104 | } |
| 1095 | else if (charpos > endpos) | 1105 | else if (charpos > endpos) |
| 1096 | { | 1106 | { |