]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't print buffer when printing tree-sitter node and parser
authorYuan Fu <casouri@gmail.com>
Tue, 1 Nov 2022 07:39:58 +0000 (00:39 -0700)
committerYuan Fu <casouri@gmail.com>
Tue, 1 Nov 2022 19:54:56 +0000 (12:54 -0700)
Additionally, print node's position in buffer.

* doc/lispref/parsing.texi (Retrieving Node): Reflect this change in
manual.
* src/print.c (print_vectorlike): Remove printing of buffer, add
printing of node position.

doc/lispref/parsing.texi
src/print.c

index 7164baaa6d2c2046d70229856c9af9912fd11cb7..e280ac8c6459ecfa418841992e8afe29eafeefd7 100644 (file)
@@ -516,7 +516,7 @@ Example:
 @group
 ;; Find the node at point in a C parser's syntax tree.
 (treesit-node-at (point) 'c)
-  @result{} #<treesit-node (primitive_type) in *scratch*>
+  @result{} #<treesit-node (primitive_type) in 23-27>
 @end group
 @end example
 @end defun
@@ -617,7 +617,7 @@ This function finds the child of @var{node} whose field name is
 @group
 ;; Get the child that has "body" as its field name.
 (treesit-child-by-field-name node "body")
-  @result{} #<treesit-node (compound_statement) in *scratch*>
+  @result{} #<treesit-node (compound_statement) in 45-89>
 @end group
 @end example
 @end defun
index 0c50cbab09a9dc5a0e605ea0757ea1c2f637a515..a6cb0191c7ffd566ac672e3b2a86eb2775723579 100644 (file)
@@ -2018,9 +2018,9 @@ print_vectorlike (Lisp_Object obj, Lisp_Object printcharfun, bool escapeflag,
     case PVEC_TS_PARSER:
       print_c_string ("#<treesit-parser for ", printcharfun);
       Lisp_Object language = XTS_PARSER (obj)->language_symbol;
+      /* No need to print the buffer because it's not that useful: we
+        usually know which buffer a parser belongs to.  */
       print_string (Fsymbol_name (language), printcharfun);
-      print_c_string (" in ", printcharfun);
-      print_object (XTS_PARSER (obj)->buffer, printcharfun, escapeflag);
       printchar ('>', printcharfun);
       break;
     case PVEC_TS_NODE:
@@ -2034,8 +2034,9 @@ print_vectorlike (Lisp_Object obj, Lisp_Object printcharfun, bool escapeflag,
       print_string (Ftreesit_node_type (obj), printcharfun);
       print_c_string (delim2, printcharfun);
       print_c_string (" in ", printcharfun);
-      print_object (XTS_PARSER (XTS_NODE (obj)->parser)->buffer,
-                   printcharfun, escapeflag);
+      print_object (Ftreesit_node_start (obj), printcharfun, escapeflag);
+      printchar ('-', printcharfun);
+      print_object (Ftreesit_node_end (obj), printcharfun, escapeflag);
       printchar ('>', printcharfun);
       break;
     case PVEC_TS_COMPILED_QUERY: