Subject: bug#62333: 30.0.50; Issue with tree-sitter syntax tree during certain changes

From: Eli Zaretskii <[email-masked]>
Date: Sat, 25 Mar 2023 20:40:30 +0300

> Date: Sat, 25 Mar 2023 19:05:13 +0200
> Cc: [email-masked], [email-masked], [email-masked]
> From: Dmitry Gutov <[email-masked]>
> 
> On 25/03/2023 18:24, Eli Zaretskii wrote:
> >> From: Dmitry Gutov <[email-masked]>
> >> Cc: "[email-masked]" <[email-masked]>,
> >> 	"[email-masked]" <[email-masked]>,
> >> 	"[email-masked]" <[email-masked]>
> >> Date: Sat, 25 Mar 2023 19:03:45 +0300
> >>
> >>    But if the mmm framework narrowed the region to the current mode's
> >>    block, widening will force tree-sitter to parse the whole buffer.
> >>
> >>   No, because such a mode mode should already make sure this doesn't
> >>   happen.
> >>
> >> How?
> > 
> > The same way it makes sure a given parser is used only on the portion
> > of the buffer where the corresponding language is used.
> 
> It uses narrowing.

How does that work with features such as font-lock, which do widen?

Anyway, isn't this discussion a bit premature, as no TS mode has been
used with the mmm framework yet?  Because when they do, I imagine they
will need to invent some mechanism that is more reliable than
narrowing.