* Turning c-ts-mode.el, go-ts-mode.el, csharp-ts-mode.el etc into :core packages?
@ 2023-03-05 22:41 Yuan Fu
2023-03-07 11:18 ` Holger Schurig
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Yuan Fu @ 2023-03-05 22:41 UTC (permalink / raw)
To: Emacs developers
What are the implications of turning something into a :core package? I can’t find much description of it. If my understanding of it is correct, I think it would be beneficial to make new tree-sitter modes into :core packages. Right now they are pretty bare-bones, and haven’t been “battle-tested”. Making them core packages would allow us gradually improve them and fix errors that come up. Those files I mentioned in the subject are new files, if that matters. But I don’t know if there are any downsides of turning something into a :core package.
The new tree-sitter related files we have are:
- c-ts-mode.el
- java-ts-mode.el
- rust-ts-mode.el
- go-ts-mode.el
- dockerfile-ts-mode.el
- cmake-ts-mode.el
- yaml-ts-mode.el
- typescript-ts-mode.el
- ruby-ts-mode.el
- toml-ts-mode.el
And we have a few “combined” files:
- python.el (already a :core package)
- js.el
- sh-script.el
Yuan
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Turning c-ts-mode.el, go-ts-mode.el, csharp-ts-mode.el etc into :core packages?
2023-03-05 22:41 Turning c-ts-mode.el, go-ts-mode.el, csharp-ts-mode.el etc into :core packages? Yuan Fu
@ 2023-03-07 11:18 ` Holger Schurig
2023-03-07 13:20 ` Eli Zaretskii
2023-03-07 13:19 ` Eli Zaretskii
2023-03-07 15:06 ` Dmitry Gutov
2 siblings, 1 reply; 8+ messages in thread
From: Holger Schurig @ 2023-03-07 11:18 UTC (permalink / raw)
To: Yuan Fu, Emacs developers
On Mar, 2023-03-05 14:17, Yuan Fu wrote ...
> - c-ts-mode.el
I understand what :core actually means.
But I think we don't need to battle test c-ts-mode.el. We already know
that it leaves to be desired --- in cases where C or C++ macros are
used.
For my programs, I got worse font-locking and indentation than with the
the non-TS modes.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Turning c-ts-mode.el, go-ts-mode.el, csharp-ts-mode.el etc into :core packages?
2023-03-05 22:41 Turning c-ts-mode.el, go-ts-mode.el, csharp-ts-mode.el etc into :core packages? Yuan Fu
2023-03-07 11:18 ` Holger Schurig
@ 2023-03-07 13:19 ` Eli Zaretskii
2023-03-08 4:12 ` Yuan Fu
2023-03-07 15:06 ` Dmitry Gutov
2 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2023-03-07 13:19 UTC (permalink / raw)
To: Yuan Fu; +Cc: emacs-devel
> From: Yuan Fu <casouri@gmail.com>
> Date: Sun, 5 Mar 2023 14:41:17 -0800
>
> What are the implications of turning something into a :core package? I can’t find much description of it. If my understanding of it is correct, I think it would be beneficial to make new tree-sitter modes into :core packages. Right now they are pretty bare-bones, and haven’t been “battle-tested”. Making them core packages would allow us gradually improve them and fix errors that come up. Those files I mentioned in the subject are new files, if that matters. But I don’t know if there are any downsides of turning something into a :core package.
>
> The new tree-sitter related files we have are:
> - c-ts-mode.el
> - java-ts-mode.el
> - rust-ts-mode.el
> - go-ts-mode.el
> - dockerfile-ts-mode.el
> - cmake-ts-mode.el
> - yaml-ts-mode.el
> - typescript-ts-mode.el
> - ruby-ts-mode.el
> - toml-ts-mode.el
>
> And we have a few “combined” files:
> - python.el (already a :core package)
> - js.el
> - sh-script.el
Isn't :core only relevant for ELPA packages and not for something that
is bundled with Emacs?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Turning c-ts-mode.el, go-ts-mode.el, csharp-ts-mode.el etc into :core packages?
2023-03-07 11:18 ` Holger Schurig
@ 2023-03-07 13:20 ` Eli Zaretskii
0 siblings, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2023-03-07 13:20 UTC (permalink / raw)
To: Holger Schurig; +Cc: casouri, emacs-devel
> From: Holger Schurig <holgerschurig@gmail.com>
> Date: Tue, 7 Mar 2023 03:18:55 -0800
>
> On Mar, 2023-03-05 14:17, Yuan Fu wrote ...
> > - c-ts-mode.el
>
> I understand what :core actually means.
>
> But I think we don't need to battle test c-ts-mode.el. We already know
> that it leaves to be desired --- in cases where C or C++ macros are
> used.
>
> For my programs, I got worse font-locking and indentation than with the
> the non-TS modes.
That is one important reason why these packages are completely
optional: if you don't like the results, simply don't use them until
they become better.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Turning c-ts-mode.el, go-ts-mode.el, csharp-ts-mode.el etc into :core packages?
2023-03-05 22:41 Turning c-ts-mode.el, go-ts-mode.el, csharp-ts-mode.el etc into :core packages? Yuan Fu
2023-03-07 11:18 ` Holger Schurig
2023-03-07 13:19 ` Eli Zaretskii
@ 2023-03-07 15:06 ` Dmitry Gutov
2023-03-08 4:19 ` Yuan Fu
2 siblings, 1 reply; 8+ messages in thread
From: Dmitry Gutov @ 2023-03-07 15:06 UTC (permalink / raw)
To: Yuan Fu, Emacs developers
On 06/03/2023 00:41, Yuan Fu wrote:
> What are the implications of turning something into a :core package? I can’t find much description of it. If my understanding of it is correct, I think it would be beneficial to make new tree-sitter modes into :core packages. Right now they are pretty bare-bones, and haven’t been “battle-tested”. Making them core packages would allow us gradually improve them and fix errors that come up. Those files I mentioned in the subject are new files, if that matters. But I don’t know if there are any downsides of turning something into a :core package.
Most of the associated overhead is having to keep in mind the version of
Emacs that each packages advertises compatibility with. Which makes
using new features (or fixes) from future Emacs versions harder
(requiring versions checks, etc).
We could also make treesit.el into a :core package at some point, if any
of the packages will need some new changes. Although this one will
likely depend on changes in treesit.c even more often. But for this
package, at least, it might be worth it to set the "Version:" header in
advance.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Turning c-ts-mode.el, go-ts-mode.el, csharp-ts-mode.el etc into :core packages?
2023-03-07 13:19 ` Eli Zaretskii
@ 2023-03-08 4:12 ` Yuan Fu
0 siblings, 0 replies; 8+ messages in thread
From: Yuan Fu @ 2023-03-08 4:12 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: emacs-devel
> On Mar 7, 2023, at 5:19 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>
>> From: Yuan Fu <casouri@gmail.com>
>> Date: Sun, 5 Mar 2023 14:41:17 -0800
>>
>> What are the implications of turning something into a :core package? I can’t find much description of it. If my understanding of it is correct, I think it would be beneficial to make new tree-sitter modes into :core packages. Right now they are pretty bare-bones, and haven’t been “battle-tested”. Making them core packages would allow us gradually improve them and fix errors that come up. Those files I mentioned in the subject are new files, if that matters. But I don’t know if there are any downsides of turning something into a :core package.
>>
>> The new tree-sitter related files we have are:
>> - c-ts-mode.el
>> - java-ts-mode.el
>> - rust-ts-mode.el
>> - go-ts-mode.el
>> - dockerfile-ts-mode.el
>> - cmake-ts-mode.el
>> - yaml-ts-mode.el
>> - typescript-ts-mode.el
>> - ruby-ts-mode.el
>> - toml-ts-mode.el
>>
>> And we have a few “combined” files:
>> - python.el (already a :core package)
>> - js.el
>> - sh-script.el
>
> Isn't :core only relevant for ELPA packages and not for something that
> is bundled with Emacs?
I think bundled packages can become :core packages too, like eldoc.el did.
Yuan
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Turning c-ts-mode.el, go-ts-mode.el, csharp-ts-mode.el etc into :core packages?
2023-03-07 15:06 ` Dmitry Gutov
@ 2023-03-08 4:19 ` Yuan Fu
2023-03-08 12:25 ` Dmitry Gutov
0 siblings, 1 reply; 8+ messages in thread
From: Yuan Fu @ 2023-03-08 4:19 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: Emacs developers
> On Mar 7, 2023, at 7:06 AM, Dmitry Gutov <dgutov@yandex.ru> wrote:
>
> On 06/03/2023 00:41, Yuan Fu wrote:
>> What are the implications of turning something into a :core package? I can’t find much description of it. If my understanding of it is correct, I think it would be beneficial to make new tree-sitter modes into :core packages. Right now they are pretty bare-bones, and haven’t been “battle-tested”. Making them core packages would allow us gradually improve them and fix errors that come up. Those files I mentioned in the subject are new files, if that matters. But I don’t know if there are any downsides of turning something into a :core package.
>
> Most of the associated overhead is having to keep in mind the version of Emacs that each packages advertises compatibility with. Which makes using new features (or fixes) from future Emacs versions harder (requiring versions checks, etc).
I wish package.el has something like “install last version of xxx package compatible with Emacs yyy”. Then we can just bump the minimum required Emacs version when a new Emacs release come out, and use new features. Anyway, checking versions to use new Emacs feature is IMO an acceptable price to pay.
>
> We could also make treesit.el into a :core package at some point, if any of the packages will need some new changes. Although this one will likely depend on changes in treesit.c even more often. But for this package, at least, it might be worth it to set the "Version:" header in advance.
Maybe, thought I don’t think we’ll need to anytime soon.
Yuan
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Turning c-ts-mode.el, go-ts-mode.el, csharp-ts-mode.el etc into :core packages?
2023-03-08 4:19 ` Yuan Fu
@ 2023-03-08 12:25 ` Dmitry Gutov
0 siblings, 0 replies; 8+ messages in thread
From: Dmitry Gutov @ 2023-03-08 12:25 UTC (permalink / raw)
To: Yuan Fu; +Cc: Emacs developers
On 08/03/2023 06:19, Yuan Fu wrote:
>
>
>> On Mar 7, 2023, at 7:06 AM, Dmitry Gutov <dgutov@yandex.ru> wrote:
>>
>> On 06/03/2023 00:41, Yuan Fu wrote:
>>> What are the implications of turning something into a :core package? I can’t find much description of it. If my understanding of it is correct, I think it would be beneficial to make new tree-sitter modes into :core packages. Right now they are pretty bare-bones, and haven’t been “battle-tested”. Making them core packages would allow us gradually improve them and fix errors that come up. Those files I mentioned in the subject are new files, if that matters. But I don’t know if there are any downsides of turning something into a :core package.
>>
>> Most of the associated overhead is having to keep in mind the version of Emacs that each packages advertises compatibility with. Which makes using new features (or fixes) from future Emacs versions harder (requiring versions checks, etc).
>
> I wish package.el has something like “install last version of xxx package compatible with Emacs yyy”. Then we can just bump the minimum required Emacs version when a new Emacs release come out, and use new features. Anyway, checking versions to use new Emacs feature is IMO an acceptable price to pay.
Yes, unfortunately, ELPA repositories only keep one latest version.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-03-08 12:25 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-05 22:41 Turning c-ts-mode.el, go-ts-mode.el, csharp-ts-mode.el etc into :core packages? Yuan Fu
2023-03-07 11:18 ` Holger Schurig
2023-03-07 13:20 ` Eli Zaretskii
2023-03-07 13:19 ` Eli Zaretskii
2023-03-08 4:12 ` Yuan Fu
2023-03-07 15:06 ` Dmitry Gutov
2023-03-08 4:19 ` Yuan Fu
2023-03-08 12:25 ` Dmitry Gutov
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.