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

From: Dmitry Gutov <[email-masked]>
Date: Sat, 25 Mar 2023 19:03:45 +0300

17:57, 25 March 2023, Eli Zaretskii <[email-masked]>:

Date: Sat, 25 Mar 2023 17:25:17 +0200
Cc: [email-masked], [email-masked], [email-masked]
From: Dmitry Gutov <[email-masked]>

On 25/03/2023 16:41, Eli Zaretskii wrote:
>> Date: Sat, 25 Mar 2023 16:18:12 +0200
>> Cc: [email-masked], [email-masked], [email-masked]
>> From: Dmitry Gutov <[email-masked]>
>>
>>> mixed-major-mode shouldn't be a problem.
>>
>> Why wouldn't it?
>
> Because the sexp ends inside the current mode's block.

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?

>> Okay. But do you advocate all uses of tree-sitter to (widen) first?
>
> No, just in sexp-movement functions, at least for now. If we discover
> this is need in many more situations, we might consider more drastic
> measures. But I don't think we are there yet. We've discovered just
> one such case, in just one such mode, and it's on master. We still
> have ample time to see how widespread this is.

I'm not sure whether tree-sitter is going to be used with mmm-mode (or
similar) a lot, since it has its own provisions for mixing languages.

But I'd also like to consider the other cases where we *don't* want to
widen first. Any of them come to mind?

No, not off the top of my head.

I think we should try this in this one case, and see if other cases
come up.

I think we should try to answer the relevant questions first.