From: Eli Zaretskii Date: Mon, 11 Feb 2013 17:32:32 +0000 (+0200) Subject: Fix previous commit for bug #13675. X-Git-Tag: emacs-24.3.90~173^2~7^2~88 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f5e1b6804dc2307983e4c55d4d6530549ddccbb7;p=emacs.git 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. --- diff --git a/src/ChangeLog b/src/ChangeLog index 163f2e164f4..4353b92673b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2013-02-11 Eli Zaretskii + + * 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 * marker.c (set_marker_internal): If desired position is passed diff --git a/src/xdisp.c b/src/xdisp.c index 25c09fe40bd..3b82de9432d 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -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);