]> git.eshelyaron.com Git - emacs.git/commitdiff
Allow to print treesit objects from GDB
authorEli Zaretskii <eliz@gnu.org>
Mon, 10 Jun 2024 18:12:12 +0000 (21:12 +0300)
committerEshel Yaron <me@eshelyaron.com>
Wed, 12 Jun 2024 09:26:55 +0000 (11:26 +0200)
* src/.gdbinit (xtsparser, xtsnode, xtsquery): New functions.
(xpr): Call them for treesit objects.

(cherry picked from commit aca5de19b86c973bf303de936bdd06dbb86c023e)

src/.gdbinit

index 7645d466a5e4a3bb85344290029cc919c74c5f5d..0f55cc186994ecba2d3750c13e2048e832c1797d 100644 (file)
@@ -926,6 +926,36 @@ Set $ as a hash table pointer.
 This command assumes that $ is an Emacs Lisp hash table value.
 end
 
+define xtsparser
+  xgetptr $
+  print (struct Lisp_TS_Parser *) $ptr
+  output *$
+  echo \n
+end
+document xtsparser
+Print the address of the treesit-parser which the Lisp_Object $ points to.
+end
+
+define xtsnode
+  xgetptr $
+  print (struct Lisp_TS_Node *) $ptr
+  output *$
+  echo \n
+end
+document xtsnode
+Print the address of the treesit-node which the Lisp_Object $ points to.
+end
+
+define xtsquery
+  xgetptr $
+  print (struct Lisp_TS_Query *) $ptr
+  output *$
+  echo \n
+end
+document xtsquery
+Print the address of the treesit-query which the Lisp_Object $ points to.
+end
+
 define xcons
   xgetptr $
   print (struct Lisp_Cons *) $ptr
@@ -1069,6 +1099,15 @@ define xpr
       if $vec == PVEC_HASH_TABLE
        xhashtable
       end
+      if $vec == PVEC_TS_PARSER
+       xtsparser
+      end
+      if $vec == PVEC_TS_NODE
+       xtsnode
+      end
+      if $vec == PVEC_TS_QUERY
+       xtsquery
+      end
     else
       xvector
     end