Subject: bug#59530: 29.0.50; Fontification hangs with C header file

From: Alan Mackenzie <[email-masked]>
Date: Sat, 26 Nov 2022 15:09:07 +0000

Hello, Sujith.

On Thu, Nov 24, 2022 at 09:32:03 +0530, Sujith Manoharan wrote:
> Opening this header file with lots of macros makes Emacs
> very slow.

> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/amd/include/asic_reg/dce/dce_12_0_sh_mask.h

> Same behavior is seen with other header files inside asic_reg.
> Fontification/scrolling hangs Emacs and it becomes unusable.

Thanks for taking the trouble to report this bug, and sorry for the
irritation it has caused.

> Bug #25706 suggested the workaround 'fast-but-imprecise-scrolling',
> but enabling it doesn't seem to improve things now.

I think the bug has already been fixed, coincidentally on Thursday, by
the following commit to master:

commit 3208a42c47c4f98cb03c4b15164ca83113244b40
Author: Alan Mackenzie <[email-masked]>
Date:   Thu Nov 24 10:51:03 2022 +0000

    CC Mode: Make it scroll fast over buffers with only #define's

, committed just a few hours after you reported the bug.

I have a test script which scrolls all the way through a file, timing
how long it takes.  Before the above commit, it took ~1524 seconds on
dce_12-0_sh_mask.h, after the commit, it took ~31.4 seconds.

Would you please update your Emacs version, and see if this commit has
indeed resolved the problem, then let us know.

Thanks!

> In GNU Emacs 29.0.50 (build 2, x86_64-pc-linux-gnu, X toolkit, cairo
>  version 1.17.6, Xaw scroll bars) of 2022-11-24 built on comp-lnx
> Repository revision: b37604c263e4813dc2a8b80e4e9131a3961c4f3e
> Repository branch: master
> Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
> System Description: Arch Linux

[ .... ]

-- 
Alan Mackenzie (Nuremberg, Germany).