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


View this message in rfc822 format

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Ihor Radchenko <yantar92 <at> gmail.com>
Cc: 56682 <at> debbugs.gnu.org, Gregory Heytings <gregory <at> heytings.org>, Eli Zaretskii <eliz <at> gnu.org>, Dmitry Gutov <dgutov <at> yandex.ru>
Subject: bug#56682: Fix the long lines font locking related slowdowns
Date: Sun, 14 Aug 2022 22:41:50 -0400
>>> This is needed by Org parser to determine the syntax element at point.
>> But font-lock widens before using Org-mode's `font-lock-keywords`, so
>> there should be no need for Org-mode to widen in that case.
> Yes, but Org parser is not written explicitly for font-locking purposes.
> org-element-at-point knows nothing about buffer restriction upon
> calling and thus has to widen to ensure correctness.

That will break uses of MMM-mode where one of the chunks is using
Org-mode.  Admittedly, this is unlikely, but still: It would be much
better to arrange to do `widen` *outside* of Org-mode's font-lock (and
indentation) code.

>> PS: Not sure if Org-mode qualifies as a mode that is likely to suffer
>> from the kinds of long-lines or large-file problems that Gregory has
>> tried to tackle, tho.  I've never seen an Org file with lines >10kB nor
>> an Org file larger than 10MB.
>
> I have seen very long lines in Org. Specifically, in source block
> output. (http query)
>
> My notes.org file is over 20Mb.
> Even larger files can be auto-generated by https://gitlab.com/publicvoit/Memacs

I stand corrected,


        Stefan





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.