mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-31 20:02:42 +00:00
(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.
This commit is contained in:
parent
35e8600f86
commit
3aec872292
@ -1,5 +1,10 @@
|
||||
2001-01-17 Gerd Moellmann <gerd@gnu.org>
|
||||
|
||||
* xdisp.c (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.
|
||||
|
||||
* dispnew.c (direct_output_for_insert): If char_ins_del_ok is
|
||||
zero, use this method only at the end of a line.
|
||||
|
||||
|
12
src/xdisp.c
12
src/xdisp.c
@ -3507,20 +3507,18 @@ forward_to_next_line_start (it, skipped_p)
|
||||
|
||||
/* 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);
|
||||
|
Loading…
Reference in New Issue
Block a user