Subject: Re: bug#60961: 29.0.60; Compiling emacs-29 without treesitter outputs warnings

From: Yuan Fu <[email-masked]>
Date: Fri, 20 Jan 2023 14:11:44 -0800

> On Jan 20, 2023, at 8:07 AM, Theodor Thornhill <[email-masked]> wrote:
> 
> 
> 
> On 20 January 2023 16:17:22 CET, Eli Zaretskii <[email-masked]> wrote:
>>> From: Theodor Thornhill <[email-masked]>
>>> Cc: [email-masked], [email-masked], [email-masked]
>>> Date: Fri, 20 Jan 2023 15:43:33 +0100
>>> 
>>> Eli Zaretskii <[email-masked]> writes:
>>> 
>>>>> So I can either just make sure that no modes require across modes, or
>>>>> make that "lib" right now.  What do you think?
>>>> 
>>>> I tend to the "lib" method.  Mostly because several modes, including
>>>> some that are unrelated to C, want the code which was written for
>>>> C/C++, and so it is possible that there's some general feature here
>>>> waiting for us to refactor the code -- in which case perhaps the code
>>>> should be in treesit.el?
>>>> 
>>>> IOW, how come JS, Rust, and Typescript all want comment-related setup
>>>> that was written for C?

Because they all have C-like syntax, so they have the same setup for indenting and filling block comments, for example.

>>>>  If this is just a coincidence, then perhaps
>>>> duplicating the code is a better idea, but if there's some underlying
>>>> commonality, we should have common code in treesit.el, or maybe in
>>>> some c-ts-common.el?

c-ts-common.el sounds good to me.

>>> 
>>> I can start by moving it into treesit.el, then we can maybe extract
>>> something out later.  Sounds good?  I can do it tonight, unless any of
>>> you object :)
>> 
>> SGTM, but let's hear from Yuan before you start working on this.
>> 
>> Thanks.
> 
> Thumbs up

I’d prefer c-ts-common.el over treesit.el, since they only apply to C-like languages. There is no harm putting them in a separate file, right? I wrote some commentary in c-ts-mode, which notes all the shared functions and variables. 

Yuan