Subject: bug#61913: java-ts-mode query error for string highlight, due to recent commit in tree-sitter-java.

From: Eli Zaretskii <[email-masked]>
Date: Sat, 04 Mar 2023 09:10:17 +0200

> From: Yuan Fu <[email-masked]>
> Date: Fri, 3 Mar 2023 14:32:02 -0800
> Cc: Eli Zaretskii <[email-masked]>,
>  [email-masked]
> 
> >> > Error during redeployment: (jit-lock-function 8295) reported
> >> > (treesit-query-error "Node type error at" 42 "(string_literal)
> >> > @font-lock-string-face (text_block) @font-lock-string-face"
> >> > "Debugging the query with `treesit-query-validate'")
> >> > 
> >> > 
> >> > The attached patch fixes the problem. 
> >> 
> >> Wouldn't removing text_block from our code cause problems if someone
> >> uses tree-sitter-java from before the removal?
> >> 
> >> Is there a way to write code which handles text_block if it exists?
> >> 
> 
> Tree-sitter language grammars really need some versioning system. I
> wonder how do we propose such things to them tho...

That'd be hard, given that many of them don't even make releases.

It should be enough for our purposes to have a possibility of querying
the grammar about support for specific features.  Then the version
will not matter, only the supported features will.  Maybe we could do
that ourselves, on-the-fly, like we do with programs when we want to
know whether they support some command-line switch?