Mercurial > emacs
changeset 35379:4bdad7b6d6dc
(forward_to_next_line_start): Avoid calling
get_next_display_element when the newline is already found. This
may change the iterator's position, when its current position is
equal to the iterator's stop_charpos.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Wed, 17 Jan 2001 20:11:05 +0000 |
parents | 1ae53bd2e777 |
children | a9656772b595 |
files | src/xdisp.c |
diffstat | 1 files changed, 6 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xdisp.c Wed Jan 17 18:34:29 2001 +0000 +++ b/src/xdisp.c Wed Jan 17 20:11:05 2001 +0000 @@ -3507,20 +3507,18 @@ /* Scan for a newline within MAX_NEWLINE_DISTANCE display elements from buffer text. */ - n = newline_found_p = 0; - while (n < MAX_NEWLINE_DISTANCE - && get_next_display_element (it) - && !newline_found_p) - { + for (n = newline_found_p = 0; + !newline_found_p && n < MAX_NEWLINE_DISTANCE; + n += STRINGP (it->string) ? 0 : 1) + { + get_next_display_element (it); newline_found_p = it->what == IT_CHARACTER && it->c == '\n'; set_iterator_to_next (it, 0); - if (!STRINGP (it->string)) - ++n; } /* If we didn't find a newline near enough, see if we can use a short-cut. */ - if (!newline_found_p && n == MAX_NEWLINE_DISTANCE) + if (n == MAX_NEWLINE_DISTANCE) { int start = IT_CHARPOS (*it); int limit = find_next_newline_no_quit (start, 1);