GNU bug report logs - #64487
29.0.92; Another tree-sitter warning inside Custom

Previous Next

Package: emacs;

Reported by: Po Lu <luangruo <at> yahoo.com>

Date: Thu, 6 Jul 2023 06:58:01 UTC

Severity: normal

Found in version 29.0.92

Full log


View this message in rfc822 format

From: Dmitry Gutov <dmitry <at> gutov.dev>
To: Eli Zaretskii <eliz <at> gnu.org>, Po Lu <luangruo <at> yahoo.com>
Cc: 64487 <at> debbugs.gnu.org
Subject: bug#64487: 29.0.92; Another tree-sitter warning inside Custom
Date: Mon, 26 Feb 2024 18:25:33 +0200
On 06/07/2023 12:12, Eli Zaretskii wrote:
>> Date: Thu, 06 Jul 2023 14:56:44 +0800
>> From:  Po Lu via "Bug reports for GNU Emacs,
>>   the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>>
>> Type M-x customize RET.  Click Programming and then Languages.  A
>> *Warnings* buffer will be displayed containing the following message:
>>
>>    Warning (treesit): Cannot activate tree-sitter, because language
>>    grammar for ruby is unavailable (not-found): (libtree-sitter-ruby
>>    libtree-sitter-ruby.0 libtree-sitter-ruby.0.0 libtree-sitter-ruby.so
>>    libtree-sitter-ruby.so.0 libtree-sitter-ruby.so.0.0) No such file or
>>    directory
> 
> When you customize a group, Custom loads all the packages that belong
> to the group.  So in this case it loads ruby-ts-mode, and you get the
> warning.

Which was never a problem before when simply loading a package didn't 
alter auto-mode-alist.

>> Can't these messages only be displayed when a tree-sitter major mode is
>> enabled, as opposed to whenever the file implementing the major mode is
>> loaded?
> 
> Emacs 29 deliberately checks for the grammar's availability when the
> package is loaded, to give users a prominent indication that the
> loaded package will not work.  This won't change in Emacs 29, but
> maybe as part of rethinking this after releasing Emacs 29 we could
> improve the situation with customizing a group as well.
> 
> Anyway, the warning is just a warning, and is otherwise harmless.  It
> also only appears when Emacs has been built with tree-sitter, but the
> grammar libraries required by some *-ts-mode's are not installed.

Suppose the grammar is actually available. Perhaps the user had compiled 
it at some point, or perhaps it's installed system-wide due to another 
dependency.

Do I understand it right that performing the simple steps that Po Lu 
outlined would silently assign ruby-ts-mode to *.rb files? And a bunch 
of other such modes that get loaded as well. But only until the end of 
the session.




This bug report was last modified 1 year and 111 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.