GNU bug report logs - #73557
c-ts-mode 'emacs-c broken with treesit-load-name-override-list

Previous Next

Package: emacs;

Reported by: Ship Mints <shipmints <at> gmail.com>

Date: Sun, 29 Sep 2024 19:10:02 UTC

Severity: normal

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 73557 <at> debbugs.gnu.org (full text, mbox):

From: Ship Mints <shipmints <at> gmail.com>
To: 73557 <at> debbugs.gnu.org
Subject: Re: bug#73557: c-ts-mode 'emacs-c broken with
 treesit-load-name-override-list
Date: Sun, 29 Sep 2024 15:29:25 -0400
[Message part 1 (text/plain, inline)]
This is on Emacs 29.4. Taking a quick look at master, it seems this hack is
gone.

On Sun, Sep 29, 2024 at 3:09 PM Ship Mints <shipmints <at> gmail.com> wrote:

> The c-ts-mode "fake" emacs-c grammar does not work in the presence of a 'c
> grammar provided in treesit-load-name-override-list.
>
> For example, I set this override to point to my treesitter c grammar which
> uses the file name "c.dylib" on Mac, not "tree_sitter_c.dylib":
>
> (add-to-list 'treesit-load-name-override-list '(c "c" "tree_sitter_c"))
>
> c-ts-mode says:
> (define-derived-mode c-ts-mode c-ts-base-mode "C"
> ...
>     (setf (alist-get 'emacs-c treesit-load-name-override-list)
>           '("libtree-sitter-c" "tree_sitter_c"))
>
> I think this code should first look for the 'c grammar in
> 'treesit-load-name-override-list before setting a hard-coded file name that
> may not work for everyone.
>
> I can get around this, temporarily, by setting a symlink from c.dylib to
> libtree-sitter-c.dylib. It took a while to figure out what was going on,
> though. This is surely going to confuse other people.
>
> Thank you,
>
> Stephane
>
[Message part 2 (text/html, inline)]

This bug report was last modified 232 days ago.

Previous Next


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