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

From: Ihor Radchenko <[email-masked]>
Date: Mon, 15 Aug 2022 19:47:42 +0800

Gregory Heytings <[email-masked]> writes:

> I'm not sure I correctly understand what you mean, but it seems to me that 
> the fact that the Org parser caches its results implies that Org doesn't 
> need to access the whole buffer to make "local" decisions.  It can use the 
> data in cache for everything that is outside of the current narrowing, and 
> update the portion of the cache corresponding to the current narrowing. 
> IOW, there is no need to maintain separate parser caches for each possible 
> narrowing state.  Am I misunderstanding something?

Cache existence is not guaranteed.
When cache does not exist, Org must widen. If not, the cache will be
valid only for the current narrowing.
When cache do exist, Org may not need to widen. But that also mean that
widening has happened in the past when the cache was generated.

At the end, Org does need to be able to widen safely. At least in some
cases.

-- 
Ihor Radchenko,
Org mode contributor,
Learn more about Org mode at https://orgmode.org/.
Support Org development at https://liberapay.com/org-mode,
or support my work at https://liberapay.com/yantar92