Subject: bug#75456: 31.0.50; Cannot find the definition of the predicate in `treesit-thing-settings'" sexp-list)

From: Juri Linkov <[email-masked]>
Date: Thu, 09 Jan 2025 20:10:28 +0200

> Ciao, 
> this problem occurs with js-ts-mode when jsdoc is enabled. Occurs when you 
> place the cursor in a comment highlighted by jsdoc.
> This is the error message:
>
> "treesit-show-paren-data--categorize: peculiar error: ("Cannot find the 
> definition of the predicate in `treesit-thing-settings'" sexp-list)"

Recently I fixed bug#75198 and tested it on your mhtml-ts-mode
where it works nicely, and (treesit-language-at (point))
returns e.g. 'css' on embedded css.

However, now I discovered that (treesit-language-at (point))
returns 'javascript' on embedded jsdoc parts of a js file.

I wonder is this intended?

Since 'treesit-node-match-p' uses node's parser, I could use
(treesit-parser-language (treesit-node-parser (treesit-node-at (point))))
that returns 'jsdoc'.

But first I'd like to know why treesit-language-at doesn't return the same?