Mercurial > emacs
changeset 6568:c87ae1f14148
(display_text_line): Handle selective display at window edge.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Tue, 29 Mar 1994 04:08:07 +0000 |
parents | baf8fe0c51e3 |
children | 9cde1228e2fa |
files | src/xdisp.c |
diffstat | 1 files changed, 13 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xdisp.c Tue Mar 29 02:20:04 1994 +0000 +++ b/src/xdisp.c Tue Mar 29 04:08:07 1994 +0000 @@ -2262,8 +2262,15 @@ if (pos < ZV) { if (FETCH_CHAR (pos) == '\n') - /* If stopped due to a newline, start next line after it */ - pos++; + { + /* If stopped due to a newline, start next line after it */ + pos++; + /* Check again for hidden lines, in case the newline occurred exactly + at the right margin. */ + while (pos < ZV && selective > 0 + && indented_beyond_p (pos, selective)) + pos = find_next_newline (pos, 1); + } else /* Stopped due to right margin of window */ { @@ -2273,7 +2280,10 @@ /* Truncating => start next line after next newline, and point is on this line if it is before the newline, and skip none of first char of next line */ - pos = find_next_newline (pos, 1); + do + pos = find_next_newline (pos, 1); + while (pos < ZV && selective > 0 + && indented_beyond_p (pos, selective)); val.hpos = XINT (w->hscroll) ? 1 - XINT (w->hscroll) : 0; lastpos = pos - (FETCH_CHAR (pos - 1) == '\n');