GNU bug report logs - #56682
Fix the long lines font locking related slowdowns

Previous Next

Package: emacs;

Reported by: Gregory Heytings <gregory <at> heytings.org>

Date: Thu, 21 Jul 2022 18:01:01 UTC

Severity: normal

Done: Gregory Heytings <gregory <at> heytings.org>

Bug is archived. No further changes may be made.

Full log


Message #1459 received at 56682 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: 56682 <at> debbugs.gnu.org, gregory <at> heytings.org, monnier <at> iro.umontreal.ca
Subject: Re: bug#56682: Fix the long lines font locking related slowdowns
Date: Mon, 15 Aug 2022 05:32:07 +0300
> Date: Mon, 15 Aug 2022 01:07:08 +0300
> Cc: 56682 <at> debbugs.gnu.org, gregory <at> heytings.org, monnier <at> iro.umontreal.ca
> From: Dmitry Gutov <dgutov <at> yandex.ru>
> 
> On 14.08.2022 21:27, Eli Zaretskii wrote:
> >> Date: Sun, 14 Aug 2022 21:14:00 +0300
> >> Cc: 56682 <at> debbugs.gnu.org, gregory <at> heytings.org, monnier <at> iro.umontreal.ca
> >> From: Dmitry Gutov <dgutov <at> yandex.ru>
> >>
> >> The implementation of the idea that Gregory mentioned (font locking
> >> reasonably accurate even when it doesn't have access to the whole
> >> buffer) will have to be done in Lisp anyway. So that's where the
> >> narrowing should be applied too.
> > 
> > I don't see how it follows.  If we decide (and I don't say we did, but
> > if we do) that fontification-functions must run narrowed, then they
> > will run narrowed, and the best place to do that is in the caller.
> 
> Only if we somehow decided that it makes sense to always use the same 
> narrowing bounds. But as experiment shows, font-lock can use 100x larger 
> narrowing, and still perform well.

So what?  The proponents of the widening claim that they need to go to
BOB, and no "arbitrary" narrowing smaller than that will suffice.

And btw, I have very different impression of what happens with 100x
larger narrowing on my machine and with unoptimized builds.

> Further, the thing which is going to call the language-specific 
> safe-position-finding logic is likely to want to update the bounds of 
> the narrowing (to then call syntax-ppss within those bounds, where START 
> is a "safe" position).
> 
> So yeah, the font-lock related widen/narrowing logic should indeed live 
> in one place. And until now it has resided in font-lock-fontify-region.

Since when is font-lock-fontify-region specific to a language?  It is
as general as xdisp.c.





This bug report was last modified 2 years and 9 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.