aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2015-12-18 12:26:17 +0200
committerEli Zaretskii2015-12-18 12:26:17 +0200
commitfb2eaf0ffc213fac170cff4814b7c93bd0c44c20 (patch)
tree6dc310bb5da12045f7f1023180b0a1ccafd3845e
parenta64b71e3cba8bdc11222140fa69fb8c86ce5ca30 (diff)
downloademacs-fb2eaf0ffc213fac170cff4814b7c93bd0c44c20.tar.gz
emacs-fb2eaf0ffc213fac170cff4814b7c93bd0c44c20.zip
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)
-rw-r--r--src/indent.c11
1 files 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. */)
2080 } 2080 }
2081 else 2081 else
2082 it_overshoot_count = 2082 it_overshoot_count =
2083 (!(it.method == GET_FROM_IMAGE 2083 !(it.method == GET_FROM_IMAGE || it.method == GET_FROM_STRETCH);
2084 || it.method == GET_FROM_STRETCH)
2085 /* We will overshoot if lines are truncated and PT lies
2086 beyond the right margin of the window. */
2087 || it.line_wrap == TRUNCATE);
2088 2084
2089 if (start_x_given) 2085 if (start_x_given)
2090 { 2086 {
@@ -2142,6 +2138,11 @@ whether or not it is currently displayed in some window. */)
2142 screen lines we need to backtrack. */ 2138 screen lines we need to backtrack. */
2143 it_overshoot_count = it.vpos; 2139 it_overshoot_count = it.vpos;
2144 } 2140 }
2141 /* We will overshoot if lines are truncated and point lies
2142 beyond the right margin of the window. */
2143 if (it.line_wrap == TRUNCATE && it.current_x >= it.last_visible_x
2144 && it_overshoot_count == 0)
2145 it_overshoot_count = 1;
2145 if (it_overshoot_count > 0) 2146 if (it_overshoot_count > 0)
2146 move_it_by_lines (&it, -it_overshoot_count); 2147 move_it_by_lines (&it, -it_overshoot_count);
2147 2148