Subject: bug#60559: 29.0.60; "Cannot activate tree-sitter" spam

From: Eli Zaretskii <[email-masked]>
Date: Thu, 05 Jan 2023 09:58:56 +0200

> From: Juri Linkov <[email-masked]>
> Cc: Stephen Berman <[email-masked]>,  [email-masked],
>   [email-masked]
> Date: Thu, 05 Jan 2023 09:46:48 +0200
> 
> >> >> Emacs 28 already has conf-toml-mode for TOML files, so shouldn't
> >> >> toml-ts-mode be handled like e.g. c-ts-mode instead of being added to
> >> >> auto-mode-alist? (The default value of that variable in Emacs 29 still
> >> >> contains an entry for conf-toml-mode, lower down than the entry for
> >> >> toml-ts-mode.)
> >> >
> >> > We could indeed do that for TOML files, but I believe the problem
> >> > raised here is more general.
> >>
> >> That may be, but the TOML case appears to be a regression, since
> >> visiting a TOML file in Emacs 28 displays various faces but visiting a
> >> TOML file in Emacs 29 without having the tree-sitter TOML grammar
> >> library installed displays only the default face.
> >
> > I've now made toml-ts-mode an optional one, leaving conf-toml-mode as
> > the default.
> 
> So now non-ts users are satisfied at the expense of ts users.

The cost for the latter is simple: require toml-ts-mode in the init
file.

> Why not to do the right thing:
> 
> (add-to-list 'auto-mode-alist `("\\.toml\\'" .
>   ,(if (treesit-ready-p 'toml) 'toml-ts-mode 'conf-toml-mode)))

Because I don't want to risk any breakage by last-minute changes.  Do
we want to release Emacs 29 soon, or do we want to keep developing it
for another year?