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


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ship Mints <shipmints <at> gmail.com>
Subject: bug#73557: closed (Re: bug#73557: c-ts-mode 'emacs-c broken with
 treesit-load-name-override-list)
Date: Mon, 30 Sep 2024 14:11:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#73557: c-ts-mode 'emacs-c broken with treesit-load-name-override-list

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 73557 <at> debbugs.gnu.org.

-- 
73557: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=73557
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Ship Mints <shipmints <at> gmail.com>
Cc: 73557-done <at> debbugs.gnu.org
Subject: Re: bug#73557: c-ts-mode 'emacs-c broken with
 treesit-load-name-override-list
Date: Mon, 30 Sep 2024 17:10:11 +0300
> From: Ship Mints <shipmints <at> gmail.com>
> Date: Mon, 30 Sep 2024 08:51:41 -0400
> Cc: 73557 <at> debbugs.gnu.org
> 
> Please close. If this comes up for other Emacs 29 users, a workaround is as I did: use a symlink.

Thanks, closing.

[Message part 3 (message/rfc822, inline)]
From: Ship Mints <shipmints <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: c-ts-mode 'emacs-c broken with treesit-load-name-override-list
Date: Sun, 29 Sep 2024 15:08:29 -0400
[Message part 4 (text/plain, inline)]
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 5 (text/html, inline)]

This bug report was last modified 285 days ago.

Previous Next


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