diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 6f724c2c789..9244a01bb7f 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -2262,8 +2262,15 @@ display_text_line (w, start, vpos, hpos, taboffset) | |||
| 2262 | if (pos < ZV) | 2262 | if (pos < ZV) |
| 2263 | { | 2263 | { |
| 2264 | if (FETCH_CHAR (pos) == '\n') | 2264 | if (FETCH_CHAR (pos) == '\n') |
| 2265 | /* If stopped due to a newline, start next line after it */ | 2265 | { |
| 2266 | pos++; | 2266 | /* If stopped due to a newline, start next line after it */ |
| 2267 | pos++; | ||
| 2268 | /* Check again for hidden lines, in case the newline occurred exactly | ||
| 2269 | at the right margin. */ | ||
| 2270 | while (pos < ZV && selective > 0 | ||
| 2271 | && indented_beyond_p (pos, selective)) | ||
| 2272 | pos = find_next_newline (pos, 1); | ||
| 2273 | } | ||
| 2267 | else | 2274 | else |
| 2268 | /* Stopped due to right margin of window */ | 2275 | /* Stopped due to right margin of window */ |
| 2269 | { | 2276 | { |
| @@ -2273,7 +2280,10 @@ display_text_line (w, start, vpos, hpos, taboffset) | |||
| 2273 | /* Truncating => start next line after next newline, | 2280 | /* Truncating => start next line after next newline, |
| 2274 | and point is on this line if it is before the newline, | 2281 | and point is on this line if it is before the newline, |
| 2275 | and skip none of first char of next line */ | 2282 | and skip none of first char of next line */ |
| 2276 | pos = find_next_newline (pos, 1); | 2283 | do |
| 2284 | pos = find_next_newline (pos, 1); | ||
| 2285 | while (pos < ZV && selective > 0 | ||
| 2286 | && indented_beyond_p (pos, selective)); | ||
| 2277 | val.hpos = XINT (w->hscroll) ? 1 - XINT (w->hscroll) : 0; | 2287 | val.hpos = XINT (w->hscroll) ? 1 - XINT (w->hscroll) : 0; |
| 2278 | 2288 | ||
| 2279 | lastpos = pos - (FETCH_CHAR (pos - 1) == '\n'); | 2289 | lastpos = pos - (FETCH_CHAR (pos - 1) == '\n'); |