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

From: Yuan Fu <[email-masked]>
Date: Mon, 27 Jan 2025 17:37:32 -0800

> On Jan 19, 2025, at 10:59 PM, Yuan Fu <[email-masked]> wrote:
> 
> 
> 
>> On Jan 18, 2025, at 8:52 AM, Vincenzo Pupillo <[email-masked]> wrote:
>> 
>> Ciao Yuan,
>> 
>> In data sabato 18 gennaio 2025 07:27:32 Ora standard dell’Europa centrale, 
>> Yuan Fu ha scritto:
>>> ....
>>> 
>>> I just pushed a fix, now you shouldn’t see jsdoc parsers anymore. Can you
>>> see if this fixes the problem you had?
>>> 
>> I only tested js.el with 0001-language-at-point-function-that-handles-local-
>> parser.patch
>> I tested only js.el with the 0001-language-at-point-function-that-handles-
>> local-parser.patch because it was less complex. The font-locking is ok but the 
>> indentation of jsdoc type comments breaks because there are no specific rules 
>> (for jsdoc) and also this message appears:
>> 
>> Error running timer 'show-paren-function': (treesit-no-parser jsdoc)
>> 
>> The comment:
>> ;; 2. In most cases, a function shouldn't implicitly create a parser.
>> ;; All parsers should be created explicitly by user.
>> 
>> Does this imply that we need to create local parsers as well?
> 
> No, that means treesit.el has a bug. I’ll fix it.
> 
> Yuan

Ok, so it’s two-fold. I fixed the problem that caused the treesit-no-parser error on emacs-30 a few days ago, it should be on master now.

As for jsdoc not having indentation rules, I think the right solution is to add comment indentation rules for jsdoc too. You can just copy the rules from js-ts-mode, js-ts-mode uses the canned rules from c-ts-common.el anyway.

Yuan