Subject: bug#63086: 29.0.90; go-ts-mode treesit-query-error during jit-lock

From: Randy Taylor <[email-masked]>
Date: Wed, 26 Apr 2023 14:05:13 +0000

On Wednesday, April 26th, 2023 at 09:44, Jimmy Wong <[email-masked]> wrote:

> There hasn’t been any new releases since then, should emacs rely on devel packages?
> On 26 Apr 2023 at 2:37 PM +0100, Eli Zaretskii <[email-masked]>, wrote:
>
>>> Date: Wed, 26 Apr 2023 14:26:09 +0100
>>> From: Jimmy Wong <[email-masked]>
>>> Cc: Yuan Fu <[email-masked]>, Eli Zaretskii <[email-masked]>,
>>> [email-masked]
>>>
>>> I’m using tree-sitter-go 0.19.1 from Macports.
>>
>> That version was released 2 years ago. Maybe go-ts-mode.el relies on
>>
>> some newer functionality, or on some bug that was fixed since then?

tree-sitter-go and a bunch of other grammars have dropped the ball of versioning, I think (some don't even try to version properly...). Since then there have plenty of changes, but it's stayed at the same version with no new tags. Anything packaging based on the tags of those repositories is going to be wildly out of date.

You can try using `M-x treesit-install-language-grammar` to install the go grammar, which will get the latest and greatest.

If I had to guess what triggers the error, it's probably the (iota) match which seems to have been added Jan 5, 2022. You can try removing that from go-ts-mode and seeing if it fixes the issue for you (although maybe that will fix the current problem but reveal a bunch more...all of which will be easily resolved by using a more up to date grammar). I'll try to get that old version installed myself and see.

I think java-ts-mode and some others have a helper that checks which queries are supported by testing them, I can make a patch for that if that's the direction we want to go.