Fix previous commit for bug #13675.

src/xdisp.c (move_it_vertically_backward, move_it_by_lines): Don't
 use the limitation on backwards movement when lines are truncated
 in the window.
This commit is contained in:
Eli Zaretskii 2013-02-11 19:32:32 +02:00
parent 2f559cd2a1
commit f5e1b6804d
2 changed files with 14 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2013-02-11 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (move_it_vertically_backward, move_it_by_lines): Don't
use the limitation on backwards movement when lines are truncated
in the window. (Bug#13675)
2013-02-11 Dmitry Antipov <dmantipov@yandex.ru>
* marker.c (set_marker_internal): If desired position is passed

View file

@ -9003,7 +9003,10 @@ move_it_vertically_backward (struct it *it, int dy)
/* Estimate how many newlines we must move back. */
nlines = max (1, dy / FRAME_LINE_HEIGHT (it->f));
pos_limit = max (start_pos - nlines * nchars_per_row, BEGV);
if (it->line_wrap == TRUNCATE)
pos_limit = BEGV;
else
pos_limit = max (start_pos - nlines * nchars_per_row, BEGV);
/* Set the iterator's position that many lines back. But don't go
back more than NLINES full screen lines -- this wins a day with
@ -9253,7 +9256,10 @@ move_it_by_lines (struct it *it, ptrdiff_t dvpos)
/* Go back -DVPOS buffer lines, but no farther than -DVPOS full
screen lines, and reseat the iterator there. */
start_charpos = IT_CHARPOS (*it);
pos_limit = max (start_charpos + dvpos * nchars_per_row, BEGV);
if (it->line_wrap == TRUNCATE)
pos_limit = BEGV;
else
pos_limit = max (start_charpos + dvpos * nchars_per_row, BEGV);
for (i = -dvpos; i > 0 && IT_CHARPOS (*it) > pos_limit; --i)
back_to_previous_visible_line_start (it);
reseat (it, it->current.pos, 1);