emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#64017: closed (Wrong conversion from Emacs to Tree-sitter S-expressi


From: GNU bug Tracking System
Subject: bug#64017: closed (Wrong conversion from Emacs to Tree-sitter S-expression syntax)
Date: Sun, 18 Jun 2023 08:48:02 +0000

Your message dated Sun, 18 Jun 2023 10:47:01 +0200
with message-id <731A0E4C-3775-4202-98FD-E1C1ACD4D3EF@gmail.com>
and subject line Re: bug#64017: Wrong conversion from Emacs to Tree-sitter 
S-expression syntax
has caused the debbugs.gnu.org bug report #64017,
regarding Wrong conversion from Emacs to Tree-sitter S-expression syntax
to be marked as done.

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


-- 
64017: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64017
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: Wrong conversion from Emacs to Tree-sitter S-expression syntax Date: Mon, 12 Jun 2023 16:14:01 +0200
`treesit-pattern-expand` converts a query pattern into tree-sitter S-expression 
syntax, as a string. The conversion mainly converts certain keywords but the 
main problem is that it prints strings in Emacs syntax which differs from that 
of tree-sitter.

As a consequence, :match regexps cannot contain newlines:

(treesit-query-capture
 'java
 '(((identifier) @font-lock-constant-face
    (:match "hello\n" @font-lock-constant-face))))

signals a syntax error.

As far as I can tell the tree-sitter string syntax allows for the escape 
sequences:

\n = LF
\r = CR
\t = TAB
\0 = NUL  (only a single 0 -- no octal escapes!)
\X = the character X itself

Unescape newlines result in a syntax error as seen in the example above. NULs 
don't seem to go well either.

At the very least, the conversion should avoid literal newlines and NULs in the 
result (and probably CR and TAB). This cannot be done with a straight 
prin1-to-string.

(By the way, why is the conversion written in C? Was Lisp too slow?)

Ideally we should not need to expose the tree-sitter s-exp query syntax at all. 
Surely Emacs s-exps should be preferable in every case?




--- End Message ---
--- Begin Message --- Subject: Re: bug#64017: Wrong conversion from Emacs to Tree-sitter S-expression syntax Date: Sun, 18 Jun 2023 10:47:01 +0200
18 juni 2023 kl. 00.55 skrev Yuan Fu <casouri@gmail.com>:

> LGTM!

Thank you, these changes are now in emacs-29.

And we are done, closing the bug.



--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]