Commit 15fa4783 authored by Kenichi Handa's avatar Kenichi Handa

Ignore a static composition that starts before the current checking position in redisplay.

parent 38fe4016
2011-07-07 Kenichi Handa <handa@m17n.org>
* composite.c (composition_compute_stop_pos): Ignore a static
composition starting before CHARPOS (Bug#8915).
* xdisp.c (handle_composition_prop): Likewise.
2011-06-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* dispnew.c (scrolling_window): Before scrolling, turn off a
......
......@@ -1042,6 +1042,7 @@ composition_compute_stop_pos (cmp_it, charpos, bytepos, endpos, string)
cmp_it->id = -1;
cmp_it->ch = -2;
if (find_composition (charpos, endpos, &start, &end, &prop, string)
&& start >= charpos
&& COMPOSITION_VALID_P (start, end, prop))
{
cmp_it->stop_pos = endpos = start;
......
......@@ -4641,6 +4641,11 @@ handle_composition_prop (it)
&& COMPOSITION_VALID_P (start, end, prop)
&& (STRINGP (it->string) || (PT <= start || PT >= end)))
{
if (start < pos)
/* As we can't handle this situation (perhaps, font-lock added
a new composition), we just return here hoping that next
redisplay will detect this composition much earlier. */
return HANDLED_NORMALLY;
if (start != pos)
{
if (STRINGP (it->string))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment