From fb2eaf0ffc213fac170cff4814b7c93bd0c44c20 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 18 Dec 2015 12:26:17 +0200 Subject: [PATCH] Fix vertical-motion in tabulated-list mode * src/indent.c (Fvertical_motion): When moving from line beginning to point under line truncation, assume overshoot by one line only if point actually lies beyond the window's right margin. (Bug#22194) --- src/indent.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/indent.c b/src/indent.c index 04837f8f513..33bf424b344 100644 --- a/src/indent.c +++ b/src/indent.c @@ -2080,11 +2080,7 @@ whether or not it is currently displayed in some window. */) } else it_overshoot_count = - (!(it.method == GET_FROM_IMAGE - || it.method == GET_FROM_STRETCH) - /* We will overshoot if lines are truncated and PT lies - beyond the right margin of the window. */ - || it.line_wrap == TRUNCATE); + !(it.method == GET_FROM_IMAGE || it.method == GET_FROM_STRETCH); if (start_x_given) { @@ -2142,6 +2138,11 @@ whether or not it is currently displayed in some window. */) screen lines we need to backtrack. */ it_overshoot_count = it.vpos; } + /* We will overshoot if lines are truncated and point lies + beyond the right margin of the window. */ + if (it.line_wrap == TRUNCATE && it.current_x >= it.last_visible_x + && it_overshoot_count == 0) + it_overshoot_count = 1; if (it_overshoot_count > 0) move_it_by_lines (&it, -it_overshoot_count); -- 2.39.2