GNU bug report logs -
#56682
Fix the long lines font locking related slowdowns
Previous Next
Full log
View this message in rfc822 format
>> I don't know yet if it's necessary to add another similar recomputation
>> inside init_iterator.
>
> I'll play with other callers of init_iterator and start_display, and see
> if they can do similar things.
>
In case this helps, it is easy to enter the following conditional, for
example with C-s, or with your previous M-g c 20000 and M-:
(vertical-motion 200) RET recipe (in both steps). It's not clear to me if
updating the narrowing bounds there has an actual impact. At least
applying that change does not seem to have negative effects.
diff --git a/src/xdisp.c b/src/xdisp.c
index b1ee7889d4..e415320a52 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -3429,6 +3429,12 @@ init_iterator (struct it *it, struct window *w,
{
it->narrowed_begv = get_narrowed_begv (w, window_point (w));
it->narrowed_zv = get_narrowed_zv (w, window_point (w));
+ if (charpos >= 0
+ && (charpos < it->narrowed_begv || charpos > it->narrowed_zv))
+ {
+ it->narrowed_begv = get_narrowed_begv (w, charpos);
+ it->narrowed_zv = get_narrowed_zv (w, charpos);
+ }
}
/* If a buffer position was specified, set the iterator there,
This bug report was last modified 2 years and 8 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.