# HG changeset patch # User Kenichi Handa # Date 1282708142 -32400 # Node ID 08e939f219185f08ea9767413233a72ea8bcd07e # Parent 7a86ccf3260e68a785162d9e7fc587d2d9fa273c# Parent 77c4a65b90119712602bd8415ebf6ee0ed8281c3 merge trunk diff -r 77c4a65b9011 -r 08e939f21918 src/ChangeLog --- a/src/ChangeLog Tue Aug 24 17:36:33 2010 -0400 +++ b/src/ChangeLog Wed Aug 25 12:49:02 2010 +0900 @@ -1,3 +1,9 @@ +2010-08-25 Kenichi Handa + + * composite.c (composition_compute_stop_pos): In forward search, + pay attention to the possibility that some character after ENDPOS + will be composed with charactrs before ENDPOS. + 2010-08-24 Chong Yidong * keyboard.c (command_loop_1): Don't clobber primary selection diff -r 77c4a65b9011 -r 08e939f21918 src/composite.c --- a/src/composite.c Tue Aug 24 17:36:33 2010 -0400 +++ b/src/composite.c Wed Aug 25 12:49:02 2010 +0900 @@ -1091,6 +1091,16 @@ } } } + if (charpos == endpos) + { + /* We couldn't find a composition point before ENDPOS. But, + some character after ENDPOS may be composed with + characters before ENDPOS. So, we should stop at the safe + point. */ + charpos = endpos - MAX_AUTO_COMPOSITION_LOOKBACK; + if (charpos < start) + charpos = start; + } } else if (charpos > endpos) {