diff options
| author | Eli Zaretskii | 2015-12-18 12:26:17 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2015-12-18 12:26:17 +0200 |
| commit | fb2eaf0ffc213fac170cff4814b7c93bd0c44c20 (patch) | |
| tree | 6dc310bb5da12045f7f1023180b0a1ccafd3845e | |
| parent | a64b71e3cba8bdc11222140fa69fb8c86ce5ca30 (diff) | |
| download | emacs-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.c | 11 |
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 | ||