1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-23 04:53:12 -08:00

Restore original behavior of move_it_in_display_line_to when !bidi_p.

xdisp.c (BUFFER_POS_REACHED_P, move_it_in_display_line_to):
 Restore original behavior when the iterator is not bidi_p.
This commit is contained in:
Eli Zaretskii 2010-03-30 15:16:49 -04:00
parent b5dd0ae7be
commit 82043cfbb3
2 changed files with 17 additions and 9 deletions

View file

@ -1,3 +1,8 @@
2010-03-30 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (BUFFER_POS_REACHED_P, move_it_in_display_line_to):
Restore original behavior when the iterator is not bidi_p.
2010-03-30 Dan Nicolaescu <dann@ics.uci.edu>
* xdisp.c (syms_of_xdisp): Use intern_c_string instead of intern.

View file

@ -6999,7 +6999,8 @@ move_it_in_display_line_to (struct it *it,
#define BUFFER_POS_REACHED_P() \
((op & MOVE_TO_POS) != 0 \
&& BUFFERP (it->object) \
&& IT_CHARPOS (*it) == to_charpos \
&& (IT_CHARPOS (*it) == to_charpos \
|| (!it->bidi_p && IT_CHARPOS (*it) > to_charpos)) \
&& (it->method == GET_FROM_BUFFER \
|| (it->method == GET_FROM_DISPLAY_VECTOR \
&& it->dpvec + it->current.dpvec_index + 1 >= it->dpend)))
@ -7023,14 +7024,16 @@ move_it_in_display_line_to (struct it *it,
if ((op & MOVE_TO_POS) != 0
&& BUFFERP (it->object)
&& it->method == GET_FROM_BUFFER
&& (prev_method == GET_FROM_IMAGE
|| prev_method == GET_FROM_STRETCH)
/* Passed TO_CHARPOS from left to right. */
&& ((prev_pos < to_charpos
&& IT_CHARPOS (*it) > to_charpos)
/* Passed TO_CHARPOS from right to left. */
|| (prev_pos > to_charpos)
&& IT_CHARPOS (*it) < to_charpos))
&& ((!it->bidi_p && IT_CHARPOS (*it) > to_charpos)
|| (it->bidi_p
&& (prev_method == GET_FROM_IMAGE
|| prev_method == GET_FROM_STRETCH)
/* Passed TO_CHARPOS from left to right. */
&& ((prev_pos < to_charpos
&& IT_CHARPOS (*it) > to_charpos)
/* Passed TO_CHARPOS from right to left. */
|| (prev_pos > to_charpos
&& IT_CHARPOS (*it) < to_charpos)))))
{
if (it->line_wrap != WORD_WRAP || wrap_it.sp < 0)
{