Commit ffc21858 authored by Eli Zaretskii's avatar Eli Zaretskii

Fix last change for bug#9212.

parent 525d5e6e
......@@ -5730,29 +5730,36 @@ reseat_at_next_visible_line_start (struct it *it, int on_newline_p)
{
if (IT_STRING_CHARPOS (*it) > 0)
{
--IT_STRING_CHARPOS (*it);
--IT_STRING_BYTEPOS (*it);
if (it->bidi_p)
if (!it->bidi_p)
{
--IT_STRING_CHARPOS (*it);
--IT_STRING_BYTEPOS (*it);
}
else
{
/* We need to restore the bidi iterator to the state
it had on the newline. */
it had on the newline, and resync the IT's
position with that. */
it->bidi_it = bidi_it_prev;
xassert (IT_STRING_CHARPOS (*it) == it->bidi_it.charpos
&& IT_STRING_BYTEPOS (*it) == it->bidi_it.bytepos);
IT_STRING_CHARPOS (*it) = it->bidi_it.charpos;
IT_STRING_BYTEPOS (*it) = it->bidi_it.bytepos;
}
}
}
else if (IT_CHARPOS (*it) > BEGV)
{
--IT_CHARPOS (*it);
--IT_BYTEPOS (*it);
if (it->bidi_p)
if (!it->bidi_p)
{
--IT_CHARPOS (*it);
--IT_BYTEPOS (*it);
}
else
{
/* We need to restore the bidi iterator to the state it
had on the newline. */
had on the newline and resync IT with that. */
it->bidi_it = bidi_it_prev;
xassert (IT_CHARPOS (*it) == it->bidi_it.charpos
&& IT_BYTEPOS (*it) == it->bidi_it.bytepos);
IT_CHARPOS (*it) = it->bidi_it.charpos;
IT_BYTEPOS (*it) = it->bidi_it.bytepos;
}
reseat (it, it->current.pos, 0);
}
......
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