Subject: bug#61235: 30.0.50; tree-sit: `treesit-node-check' lacks a way to tell if a node belongs to a deleted parser

From: Yuan Fu <[email-masked]>
Date: Tue, 7 Feb 2023 19:52:56 -0800

> On Feb 7, 2023, at 12:03 AM, Mickey Petersen <[email-masked]> wrote:
> 
> 
> Yuan Fu <[email-masked]> writes:
> 
>>> On Feb 6, 2023, at 7:21 AM, Eli Zaretskii <[email-masked]> wrote:
>>> 
>>>> From: Mickey Petersen <[email-masked]>
>>>> Cc: [email-masked], [email-masked]
>>>> Date: Mon, 06 Feb 2023 14:08:46 +0000
>>>> 
>>>> All I want is a way for treesit-node-check to tell me if the node
>>>> belongs to a dead or alive parser.
>>> 
>>> That'd be fine by me, but the patch posted by Yuan was a different
>>> one.
>>> 
>>> Yuan, any reason not to extend treesit-node-check instead?
>> 
>> I did extend treesit-node-check in the patch. But I also added a
>> function treesit-parser-live-p, which makes the same check but
>> directly on a parser. It just made sense to me that if we let
>> treesit-node-check check the nodes’ parser’s status, we’d also add a
>> function to allow directly checking the status of a parser.
>> 
>> Micky, the function I added (and the extension to treesit-node-check)
>> checks that the parser is not deleted AND its buffer is live. That
>> makes the most sense to me, but would it cause any problem for your
>> use case?
> 
> Thanks for turning around the features so fast.
> 
> I can use `treesit-node-buffer' and `buffer-live-p' to accomplish
> that, so perhaps leaving out that check makes sense?

I’m hoping to write the function as I described, ie, return t only if the parser is not deleted and its buffer is live. So I wonder if this definition of “live” would work for you?

Yuan