GNU bug report logs - #74612
30.0.90; [PATCH] Allow passing nil to treesit-node-match-p

Previous Next

Package: emacs;

Reported by: Yuan Fu <casouri <at> gmail.com>

Date: Sat, 30 Nov 2024 00:39:01 UTC

Severity: normal

Tags: patch

Found in version 30.0.90

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#74612: closed (30.0.90; [PATCH] Allow passing nil to
 treesit-node-match-p)
Date: Thu, 05 Dec 2024 09:45:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Thu, 05 Dec 2024 11:43:58 +0200
with message-id <868qsuxy5d.fsf <at> gnu.org>
and subject line Re: bug#74612: 30.0.90; [PATCH] Allow passing nil to treesit-node-match-p
has caused the debbugs.gnu.org bug report #74612,
regarding 30.0.90; [PATCH] Allow passing nil to treesit-node-match-p
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
74612: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74612
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Yuan Fu <casouri <at> gmail.com>
To: Bug Report Emacs <bug-gnu-emacs <at> gnu.org>
Subject: 30.0.90; [PATCH] Allow passing nil to treesit-node-match-p
Date: Fri, 29 Nov 2024 16:38:22 -0800
[Message part 3 (text/plain, inline)]
Eli, are you ok with this patch on emacs-30? Almost all tree-sitter node functions allows user to pass nil for NODE, so treesit-node-match-p should too.

Yuan

[treesit-node-match-p.patch (application/octet-stream, attachment)]
[Message part 5 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: casouri <at> gmail.com
Cc: 74612-done <at> debbugs.gnu.org
Subject: Re: bug#74612: 30.0.90;
 [PATCH] Allow passing nil to treesit-node-match-p
Date: Thu, 05 Dec 2024 11:43:58 +0200
> Cc: 74612 <at> debbugs.gnu.org
> Date: Sun, 01 Dec 2024 11:59:58 +0200
> From: Eli Zaretskii <eliz <at> gnu.org>
> 
> > From: Yuan Fu <casouri <at> gmail.com>
> > Date: Sun, 1 Dec 2024 00:31:05 -0800
> > Cc: 74612 <at> debbugs.gnu.org
> > 
> > 
> > 
> > > On Nov 29, 2024, at 11:22 PM, Eli Zaretskii <eliz <at> gnu.org> wrote:
> > > 
> > >> From: Yuan Fu <casouri <at> gmail.com>
> > >> Date: Fri, 29 Nov 2024 16:38:22 -0800
> > >> 
> > >> Eli, are you ok with this patch on emacs-30? Almost all tree-sitter node functions allows user to pass nil for NODE, so treesit-node-match-p should too.
> > > 
> > > Does this solve an actual problem you've seen somewhere (and if so,
> > > which problem), or does it solve a potential problem that didn't
> > > actually happen yet?
> > 
> > I encountered this problem (more like an inconvenience, since without this feature I’d need to test for nullness before passing a node to treesit-node-match-p) when using treesit-node-match-p for some new code I’m writing for master branch. Since (treesit-node-match-p node “type name”) is easier to write and shorter than (equal (treesit-node-type node) “type name”) or (string-match-p “type name regex” (treesit-node-type node)), I’ve been using it liberally in new code :)
> > 
> > > 
> > > Also, does CHECK_TS_NODE allow nil or does it currently signal an
> > > error?
> > 
> > CHECK_TS_NODE currently signals an error. All the tree-sitter node functions that accepts nil has the "if (NILP (node)) return Qnil” line before CHECK_TS_NODE (or treesit_check_node)
> > 
> > If you’re not too comfortable with the change, we can apply it to master. It wouldn’t create any backward-incompatibility since this change makes treesit-node-match-p more lenient on its argument, not stricter. The drawback is treesit-node-match-p will be a bit more annoying to use.
> 
> OK, please install on emacs-30, and thanks.

I see you did, so I'm closing this bug.


This bug report was last modified 203 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.