Subject: Re: bug#56682: Fix the long lines font locking related slowdowns

From: Gregory Heytings <[email-masked]>
Date: Wed, 03 Aug 2022 08:11:08 +0000

>>>>> Try to open the dictionary.json with Emacs on master a month ago.
>>>> 
>>>> I believe it can also be done with the current master, just after 
>>>> setting long-line-threshold to the nil value.  Right?
>>> 
>>> Indeed.  With master from one month ago it's even more crystal-clear 
>>> that you see the statu quo ante.
>> 
>> If I set long-line-threshold to nil, does that also disable the 
>> redisplay optimizations related to long lines?
>> 
>> Ones that caused scrolling delays even after the buffer has been fully 
>> fontified.
>
> I mean those that *fixed* the said scrolling delays, of course.
>

To clarify, you need to (setq long-line-threshold nil syntax-wholeline-max 
most-positive-fixnum) to "recover" (more or less) how master was behaving 
a month ago.  Otherwise you'll see the effect of syntax-wholeline-max, 
which can be either positive or negative.

Three recipes (with today's master):

emacs -Q
M-: (setq long-line-threshold nil syntax-wholeline-max most-positive-fixnum) RET
C-x C-f dictionary.json RET y ;; takes 160 seconds
C-e ;; takes 200 seconds

emacs -Q
M-: (setq long-line-threshold nil) RET
C-x C-f dictionary.json RET y ;; immediate
C-e ;; not finished after 1200 seconds (20 minutes), I killed Emacs

emacs -Q
C-x C-f dictionary.json RET y ;; immediate
C-e ;; immediate