GNU bug report logs -
#56682
Fix the long lines font locking related slowdowns
Previous Next
Full log
View this message in rfc822 format
Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
>> And I've found a serious sink of CPU cycles under truncate-lines, and
>> installed a fix on the feature branch. Gerd, if you have time to
>> eyeball the fix and comment on it, I'd appreciate. It's commit
>> 350e97d on the branch. (I can post a more detailed explanation of
>> what I did and why, if that would help, because the code and the
>> functions it calls are somewhat tricky.)
>
> I'll look at it and come back.
modified src/xdisp.c
@@ -7153,10 +7153,10 @@ forward_to_next_line_start (struct it *it, bool *skipped_p,
|| ((pos = Fnext_single_property_change (make_fixnum (start),
Qdisplay, Qnil,
make_fixnum (limit)),
- NILP (pos))
+ (NILP (pos) || XFIXNAT (pos) == limit))
&& next_overlay_change (start) == ZV))
{
- if (!it->bidi_p)
+ if (!it->bidi_p || !bidi_it_prev)
{
IT_CHARPOS (*it) = limit;
IT_BYTEPOS (*it) = bytepos;
I understand the first diff, which makes a lot of sense, but I'm afraid
I don't know enough about bidi to be of any help.
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.