(Fvertical_motion): Don't advance iterator if we have reseated to the
desired position.
This commit is contained in:
parent
d8abe9d8dd
commit
af2be00218
1 changed files with 10 additions and 6 deletions
16
src/indent.c
16
src/indent.c
|
|
@ -2063,7 +2063,7 @@ whether or not it is currently displayed in some window. */)
|
|||
}
|
||||
else
|
||||
{
|
||||
int it_start, oselective, first_x, it_overshoot_expected;
|
||||
int it_start, first_x, it_overshoot_expected;
|
||||
|
||||
SET_TEXT_POS (pt, PT, PT_BYTE);
|
||||
start_display (&it, w, pt);
|
||||
|
|
@ -2093,11 +2093,15 @@ whether or not it is currently displayed in some window. */)
|
|||
really at some x > 0. */
|
||||
reseat_at_previous_visible_line_start (&it);
|
||||
it.current_x = it.hpos = 0;
|
||||
/* Temporarily disable selective display so we don't move too far */
|
||||
oselective = it.selective;
|
||||
it.selective = 0;
|
||||
move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
|
||||
it.selective = oselective;
|
||||
if (IT_CHARPOS (it) != PT)
|
||||
{
|
||||
int oselective = it.selective;
|
||||
/* Temporarily disable selective display so we don't move
|
||||
too far */
|
||||
it.selective = 0;
|
||||
move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
|
||||
it.selective = oselective;
|
||||
}
|
||||
|
||||
if (XINT (lines) <= 0)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue