* bug#60888: 29.0.60; Lost c-or-c++-ts-mode
@ 2023-01-17 17:20 Juri Linkov
2023-01-17 18:22 ` Dmitry Gutov
2023-01-19 21:57 ` Yuan Fu
0 siblings, 2 replies; 6+ messages in thread
From: Juri Linkov @ 2023-01-17 17:20 UTC (permalink / raw)
To: 60888
I started to rely on c-or-c++-ts-mode because there is no other replacement
to use for such mappings in init files:
(when (and (treesit-ready-p 'c t) (treesit-ready-p 'cpp t))
(add-to-list 'major-mode-remap-alist '(c-or-c++-mode . c-or-c++-ts-mode)))
c-or-c++-mode is activated for all .h files, so there should be the corresponding
c-or-c++-ts-mode, but it's lost somewhere in emacs-29.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#60888: 29.0.60; Lost c-or-c++-ts-mode
2023-01-17 17:20 bug#60888: 29.0.60; Lost c-or-c++-ts-mode Juri Linkov
@ 2023-01-17 18:22 ` Dmitry Gutov
2023-01-19 21:57 ` Yuan Fu
1 sibling, 0 replies; 6+ messages in thread
From: Dmitry Gutov @ 2023-01-17 18:22 UTC (permalink / raw)
To: Juri Linkov, 60888
On 17/01/2023 19:20, Juri Linkov wrote:
> I started to rely on c-or-c++-ts-mode because there is no other replacement
> to use for such mappings in init files:
>
> (when (and (treesit-ready-p 'c t) (treesit-ready-p 'cpp t))
> (add-to-list 'major-mode-remap-alist '(c-or-c++-mode . c-or-c++-ts-mode)))
>
> c-or-c++-mode is activated for all .h files, so there should be the corresponding
> c-or-c++-ts-mode, but it's lost somewhere in emacs-29.
Apparently it was decided that it's a new feature, and thus too late for
emacs-29.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#60888: 29.0.60; Lost c-or-c++-ts-mode
2023-01-17 17:20 bug#60888: 29.0.60; Lost c-or-c++-ts-mode Juri Linkov
2023-01-17 18:22 ` Dmitry Gutov
@ 2023-01-19 21:57 ` Yuan Fu
2023-01-20 7:57 ` Juri Linkov
2023-01-20 8:38 ` Eli Zaretskii
1 sibling, 2 replies; 6+ messages in thread
From: Yuan Fu @ 2023-01-19 21:57 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: 60888, Juri Linkov
Dmitry Gutov <dgutov@yandex.ru> writes:
> On 17/01/2023 19:20, Juri Linkov wrote:
>> I started to rely on c-or-c++-ts-mode because there is no other replacement
>> to use for such mappings in init files:
>> (when (and (treesit-ready-p 'c t) (treesit-ready-p 'cpp t))
>> (add-to-list 'major-mode-remap-alist '(c-or-c++-mode . c-or-c++-ts-mode)))
>> c-or-c++-mode is activated for all .h files, so there should be the
>> corresponding
>> c-or-c++-ts-mode, but it's lost somewhere in emacs-29.
>
> Apparently it was decided that it's a new feature, and thus too late
> for emacs-29.
I added it back. It really is a bug preventing one to use c(++)-ts-mode
on header files. So this should be fine to add. Plus I mostly just
copy-pasted from cc-mode. Sorry for the back-and-forth.
Yuan
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#60888: 29.0.60; Lost c-or-c++-ts-mode
2023-01-19 21:57 ` Yuan Fu
@ 2023-01-20 7:57 ` Juri Linkov
2023-01-20 8:38 ` Eli Zaretskii
1 sibling, 0 replies; 6+ messages in thread
From: Juri Linkov @ 2023-01-20 7:57 UTC (permalink / raw)
To: Yuan Fu; +Cc: 60888, Dmitry Gutov
close 60882 29.0.60
close 60888 29.0.60
thanks
>>> I started to rely on c-or-c++-ts-mode because there is no other replacement
>>> to use for such mappings in init files:
>>> (when (and (treesit-ready-p 'c t) (treesit-ready-p 'cpp t))
>>> (add-to-list 'major-mode-remap-alist '(c-or-c++-mode . c-or-c++-ts-mode)))
>>> c-or-c++-mode is activated for all .h files, so there should be the
>>> corresponding
>>> c-or-c++-ts-mode, but it's lost somewhere in emacs-29.
>>
>> Apparently it was decided that it's a new feature, and thus too late
>> for emacs-29.
>
> I added it back. It really is a bug preventing one to use c(++)-ts-mode
> on header files. So this should be fine to add. Plus I mostly just
> copy-pasted from cc-mode. Sorry for the back-and-forth.
Thanks, so now closing.
PS: It's nice that you added such instructions to the commentary and docstrings:
;; (add-to-list 'major-mode-remap-alist '(c-or-c++-mode . c-or-c++-ts-mode))
Maybe it should be sufficient for emacs-29 and better than updating
user's auto-mode-alist automatically.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#60888: 29.0.60; Lost c-or-c++-ts-mode
2023-01-19 21:57 ` Yuan Fu
2023-01-20 7:57 ` Juri Linkov
@ 2023-01-20 8:38 ` Eli Zaretskii
2023-01-20 22:19 ` Yuan Fu
1 sibling, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2023-01-20 8:38 UTC (permalink / raw)
To: Yuan Fu; +Cc: 60888, juri, dgutov
> Cc: 60888@debbugs.gnu.org, Juri Linkov <juri@linkov.net>
> From: Yuan Fu <casouri@gmail.com>
> Date: Thu, 19 Jan 2023 13:57:17 -0800
>
>
> Dmitry Gutov <dgutov@yandex.ru> writes:
>
> > On 17/01/2023 19:20, Juri Linkov wrote:
> >> I started to rely on c-or-c++-ts-mode because there is no other replacement
> >> to use for such mappings in init files:
> >> (when (and (treesit-ready-p 'c t) (treesit-ready-p 'cpp t))
> >> (add-to-list 'major-mode-remap-alist '(c-or-c++-mode . c-or-c++-ts-mode)))
> >> c-or-c++-mode is activated for all .h files, so there should be the
> >> corresponding
> >> c-or-c++-ts-mode, but it's lost somewhere in emacs-29.
> >
> > Apparently it was decided that it's a new feature, and thus too late
> > for emacs-29.
>
> I added it back. It really is a bug preventing one to use c(++)-ts-mode
> on header files. So this should be fine to add. Plus I mostly just
> copy-pasted from cc-mode. Sorry for the back-and-forth.
Yuan, something is still amiss here: there's a difference in the
decision whether C or C++ mode should be used between c-or-c++-mode
and c-or-c++-ts-mode. For example, visit the file
dwarf2/line-header.h file from the recent GDB tree: c-or-c++-mode
decides (correctly) that it's C++, but c-or-c++-ts-mode decides that
it's C.
In general, try header files from GDB: GDB is written in C++, but many
*.h files kept their original *.h names, so you have a lot of testing
cases there. I see quite a few of them where c-or-c++-ts-mode decides
incorrectly for some reason.
Thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#60888: 29.0.60; Lost c-or-c++-ts-mode
2023-01-20 8:38 ` Eli Zaretskii
@ 2023-01-20 22:19 ` Yuan Fu
0 siblings, 0 replies; 6+ messages in thread
From: Yuan Fu @ 2023-01-20 22:19 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 60888, juri, Dmitry Gutov
> On Jan 20, 2023, at 12:38 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>
>> Cc: 60888@debbugs.gnu.org, Juri Linkov <juri@linkov.net>
>> From: Yuan Fu <casouri@gmail.com>
>> Date: Thu, 19 Jan 2023 13:57:17 -0800
>>
>>
>> Dmitry Gutov <dgutov@yandex.ru> writes:
>>
>>> On 17/01/2023 19:20, Juri Linkov wrote:
>>>> I started to rely on c-or-c++-ts-mode because there is no other replacement
>>>> to use for such mappings in init files:
>>>> (when (and (treesit-ready-p 'c t) (treesit-ready-p 'cpp t))
>>>> (add-to-list 'major-mode-remap-alist '(c-or-c++-mode . c-or-c++-ts-mode)))
>>>> c-or-c++-mode is activated for all .h files, so there should be the
>>>> corresponding
>>>> c-or-c++-ts-mode, but it's lost somewhere in emacs-29.
>>>
>>> Apparently it was decided that it's a new feature, and thus too late
>>> for emacs-29.
>>
>> I added it back. It really is a bug preventing one to use c(++)-ts-mode
>> on header files. So this should be fine to add. Plus I mostly just
>> copy-pasted from cc-mode. Sorry for the back-and-forth.
>
> Yuan, something is still amiss here: there's a difference in the
> decision whether C or C++ mode should be used between c-or-c++-mode
> and c-or-c++-ts-mode. For example, visit the file
> dwarf2/line-header.h file from the recent GDB tree: c-or-c++-mode
> decides (correctly) that it's C++, but c-or-c++-ts-mode decides that
> it's C.
>
> In general, try header files from GDB: GDB is written in C++, but many
> *.h files kept their original *.h names, so you have a lot of testing
> cases there. I see quite a few of them where c-or-c++-ts-mode decides
> incorrectly for some reason.
>
> Thanks.
Weird, I literally copied c-or-c++-mode. Let me see what’s going on.
Yuan
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-01-20 22:19 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-17 17:20 bug#60888: 29.0.60; Lost c-or-c++-ts-mode Juri Linkov
2023-01-17 18:22 ` Dmitry Gutov
2023-01-19 21:57 ` Yuan Fu
2023-01-20 7:57 ` Juri Linkov
2023-01-20 8:38 ` Eli Zaretskii
2023-01-20 22:19 ` Yuan Fu
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).