]> git.eshelyaron.com Git - emacs.git/commitdiff
Allow passing nil to treesit-node-match-p (bug#74612)
authorYuan Fu <casouri@gmail.com>
Sat, 30 Nov 2024 00:33:28 +0000 (16:33 -0800)
committerEshel Yaron <me@eshelyaron.com>
Wed, 4 Dec 2024 17:02:23 +0000 (18:02 +0100)
* src/treesit.c (Ftreesit_node_match_p): Return nil if NODE is nil.

(cherry picked from commit 3c7687c1dd136fa535e22262f78fdfadbbf73105)

src/treesit.c

index 5e1e9b0105929c112630c5dd17b1e1eec282e52f..2372944e16694be9f2277c4209977b0168ed4cc3 100644 (file)
@@ -4148,7 +4148,8 @@ PREDICATE can be a symbol representing a thing in
 `treesit-thing-settings', or a predicate, like regexp matching node
 type, etc.  See `treesit-thing-settings' for more details.
 
-Return non-nil if NODE matches PREDICATE, nil otherwise.
+Return non-nil if NODE matches PREDICATE, nil otherwise.  If NODE is
+nil, return nil.
 
 Signals `treesit-invalid-predicate' if there's no definition of THING
 in `treesit-thing-settings', or if PREDICATE is malformed.  If
@@ -4156,6 +4157,8 @@ IGNORE-MISSING is non-nil, don't signal an error for missing THING
 definition, but still signal for malformed PREDICATE.  */)
   (Lisp_Object node, Lisp_Object predicate, Lisp_Object ignore_missing)
 {
+  if (NILP (node)) return Qnil;
+
   CHECK_TS_NODE (node);
 
   Lisp_Object parser = XTS_NODE (node)->parser;