* Adding major or popular language modes to Emacs distribution @ 2021-08-27 23:04 Yuchen Pei 2021-08-27 23:12 ` Philip Kaludercic 2021-08-28 6:21 ` Eli Zaretskii 0 siblings, 2 replies; 35+ messages in thread From: Yuchen Pei @ 2021-08-27 23:04 UTC (permalink / raw) To: Emacs Devel mailing list [-- Attachment #1: Type: text/plain, Size: 837 bytes --] Hello, I notice some glaring omissions of modes supporting major / popular languages like php, haskell and wikitext in Emacs, though there are widely used versions available externally as packages. I feel it is important that Emacs support these languages natively. What is the process of adding these modes? My understanding is: 1. Ask the maintainer of a mode to contribute the mode to Emacs. 2. If for some reason the maintainer is unable or unwilling to add the mode, someone writes the mode and contribute to Emacs. In step 2, is it conventional to add the mode to GNU ELPA first, before moving it into Emacs itself? I am asking because I am interested in working on some of these modes. -- Best, Yuchen PGP Key: 47F9 D050 1E11 8879 9040 4941 2126 7E93 EF86 DFD0 <https://ypei.me/assets/ypei-pubkey.txt> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 243 bytes --] ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-27 23:04 Adding major or popular language modes to Emacs distribution Yuchen Pei @ 2021-08-27 23:12 ` Philip Kaludercic 2021-08-27 23:31 ` Yuchen Pei 2021-08-28 6:24 ` Eli Zaretskii 2021-08-28 6:21 ` Eli Zaretskii 1 sibling, 2 replies; 35+ messages in thread From: Philip Kaludercic @ 2021-08-27 23:12 UTC (permalink / raw) To: Yuchen Pei; +Cc: Emacs Devel mailing list Yuchen Pei <hi@ypei.me> writes: > Hello, > > I notice some glaring omissions of modes supporting major / popular > languages like php, haskell and wikitext in Emacs, though there are > widely used versions available externally as packages. See the thread "Re: NonGNU ELPA work" from today: I submitted patches for NonGNU ELPA, the repository that has been enabled for Emacs 28+, adding new major modes, so that they can be installed without any further configuration. > I feel it is important that Emacs support these languages natively. Why natively? With packages like gnu-elpa, the user can be notified when a major mode exists for a file they have opened. The advantage is that bug-fixes and improvements are not tied to Emacs releases but can happen concurrently. The disadvantage is that it requires an internet connection. > What is the process of adding these modes? My understanding is: > > 1. Ask the maintainer of a mode to contribute the mode to Emacs. And any significant contributor have to sign the FSF copyright agreement. > 2. If for some reason the maintainer is unable or unwilling to add the > mode, someone writes the mode and contribute to Emacs. > > In step 2, is it conventional to add the mode to GNU ELPA first, > before moving it into Emacs itself? > > I am asking because I am interested in working on some of these modes. -- Philip Kaludercic ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-27 23:12 ` Philip Kaludercic @ 2021-08-27 23:31 ` Yuchen Pei 2021-08-28 2:38 ` Arthur Miller 2021-08-28 13:14 ` Stefan Monnier 2021-08-28 6:24 ` Eli Zaretskii 1 sibling, 2 replies; 35+ messages in thread From: Yuchen Pei @ 2021-08-27 23:31 UTC (permalink / raw) To: Philip Kaludercic; +Cc: Emacs Devel mailing list [-- Attachment #1: Type: text/plain, Size: 2100 bytes --] Philip Kaludercic <philipk@posteo.net> writes: > Yuchen Pei <hi@ypei.me> writes: > >> Hello, >> >> I notice some glaring omissions of modes supporting major / >> popular >> languages like php, haskell and wikitext in Emacs, though there >> are >> widely used versions available externally as packages. > > See the thread "Re: NonGNU ELPA work" from today: I submitted > patches > for NonGNU ELPA, the repository that has been enabled for Emacs > 28+, > adding new major modes, so that they can be installed without > any > further configuration. I'm aware of NonGNU ELPA and use it, thanks for adding packages there. But I'm not sure it can substitute Emacs itself. > >> I feel it is important that Emacs support these languages >> natively. > > Why natively? With packages like gnu-elpa, the user can be > notified when > a major mode exists for a file they have opened. The advantage > is that > bug-fixes and improvements are not tied to Emacs releases but > can happen > concurrently. The disadvantage is that it requires an internet > connection. This makes sense. But does this mean if I want to add new language modes it should go to GNU ELPA rather than Emacs itself? > >> What is the process of adding these modes? My understanding >> is: >> >> 1. Ask the maintainer of a mode to contribute the mode to >> Emacs. > > And any significant contributor have to sign the FSF copyright > agreement. I acknowledge this could be a reason why some packages don't make their way to GNU ELPA or Emacs, but it shouldn't be a reason why new modes satisfying the criteria shouldn't be added to GNU ELPA or Emacs. > >> 2. If for some reason the maintainer is unable or unwilling to >> add the >> mode, someone writes the mode and contribute to Emacs. >> >> In step 2, is it conventional to add the mode to GNU ELPA >> first, >> before moving it into Emacs itself? >> >> I am asking because I am interested in working on some of these >> modes. -- Best, Yuchen PGP Key: 47F9 D050 1E11 8879 9040 4941 2126 7E93 EF86 DFD0 <https://ypei.me/assets/ypei-pubkey.txt> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 243 bytes --] ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-27 23:31 ` Yuchen Pei @ 2021-08-28 2:38 ` Arthur Miller 2021-08-28 6:47 ` Eli Zaretskii 2021-08-28 13:14 ` Stefan Monnier 1 sibling, 1 reply; 35+ messages in thread From: Arthur Miller @ 2021-08-28 2:38 UTC (permalink / raw) To: Yuchen Pei; +Cc: Philip Kaludercic, Emacs Devel mailing list Yuchen Pei <hi@ypei.me> writes: > Philip Kaludercic <philipk@posteo.net> writes: > >> Yuchen Pei <hi@ypei.me> writes: >> >>> Hello, >>> >>> I notice some glaring omissions of modes supporting major / popular >>> languages like php, haskell and wikitext in Emacs, though there are >>> widely used versions available externally as packages. >> >> See the thread "Re: NonGNU ELPA work" from today: I submitted patches >> for NonGNU ELPA, the repository that has been enabled for Emacs 28+, >> adding new major modes, so that they can be installed without any >> further configuration. > > I'm aware of NonGNU ELPA and use it, thanks for adding packages there. But I'm > not sure it can substitute Emacs itself. Code added to Emacs has to follow certain rules about license and quality. Reasons why the code you ask for is not in Emacs might be several, but I would tip probably because the author(s) didn't signed the FSF copyright assigment, or they simply didn't cared themselves to submit their packages into Emacs. Also even if you think a package is very useful, it might not be useful to everyone. I would prefer to even refactor some of built-in packages into gnu elpa instead of having them all in Emacs. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 2:38 ` Arthur Miller @ 2021-08-28 6:47 ` Eli Zaretskii 2021-08-28 11:34 ` Qiantan Hong 0 siblings, 1 reply; 35+ messages in thread From: Eli Zaretskii @ 2021-08-28 6:47 UTC (permalink / raw) To: Arthur Miller; +Cc: philipk, hi, emacs-devel > From: Arthur Miller <arthur.miller@live.com> > Date: Sat, 28 Aug 2021 04:38:42 +0200 > Cc: Philip Kaludercic <philipk@posteo.net>, > Emacs Devel mailing list <emacs-devel@gnu.org> > > Also even if you think a package is very useful, it might not be useful to > everyone. I would prefer to even refactor some of built-in packages into gnu > elpa instead of having them all in Emacs. That's not the current vision of the project. We want all the features that are important to have in Emacs OOTB to be bundled. And support for popular programming languages was always a very important built-in feature of Emacs. So yes, we want that to be in core, not in ELPA. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 6:47 ` Eli Zaretskii @ 2021-08-28 11:34 ` Qiantan Hong 2021-08-28 11:52 ` Eli Zaretskii 0 siblings, 1 reply; 35+ messages in thread From: Qiantan Hong @ 2021-08-28 11:34 UTC (permalink / raw) To: Eli Zaretskii Cc: Philip Kaludercic, hi@ypei.me, Arthur Miller, emacs-devel@gnu.org On this spirit, should we try to bundle in some more “IDE” like features/packages rather than just file modes? I could speak for SLIME or SLY, which is practically used by every Common Lisp programmers (practically everyone of them use Emacs). They’re both licensed under Public Domain. > On Aug 27, 2021, at 11:47 PM, Eli Zaretskii <eliz@gnu.org> wrote: > >> From: Arthur Miller <arthur.miller@live.com> >> Date: Sat, 28 Aug 2021 04:38:42 +0200 >> Cc: Philip Kaludercic <philipk@posteo.net>, >> Emacs Devel mailing list <emacs-devel@gnu.org> >> >> Also even if you think a package is very useful, it might not be useful to >> everyone. I would prefer to even refactor some of built-in packages into gnu >> elpa instead of having them all in Emacs. > > That's not the current vision of the project. We want all the > features that are important to have in Emacs OOTB to be bundled. And > support for popular programming languages was always a very important > built-in feature of Emacs. > > So yes, we want that to be in core, not in ELPA. > ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 11:34 ` Qiantan Hong @ 2021-08-28 11:52 ` Eli Zaretskii 0 siblings, 0 replies; 35+ messages in thread From: Eli Zaretskii @ 2021-08-28 11:52 UTC (permalink / raw) To: Qiantan Hong; +Cc: philipk, hi, arthur.miller, emacs-devel > From: Qiantan Hong <qhong@mit.edu> > Date: Sat, 28 Aug 2021 11:34:46 +0000 > Cc: Philip Kaludercic <philipk@posteo.net>, "hi@ypei.me" <hi@ypei.me>, > Arthur Miller <arthur.miller@live.com>, > "emacs-devel@gnu.org" <emacs-devel@gnu.org> > > On this spirit, should we try to bundle in some more “IDE” like > features/packages rather than just file modes? In general, yes. We imported parts of CEDET for that, although that didn't (yet) get us a decent IDE. > I could speak for SLIME or SLY, which is practically used by every > Common Lisp programmers (practically everyone of them use Emacs). > They’re both licensed under Public Domain. Not sure what you are proposing. If their developers would like to suggest those packages for inclusion in Emacs and to be developed as part of Emacs, we could consider that. But they need to want to do that, we cannot take over those packages, or at least that would be undesirable, if not improper. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-27 23:31 ` Yuchen Pei 2021-08-28 2:38 ` Arthur Miller @ 2021-08-28 13:14 ` Stefan Monnier 2021-08-28 13:37 ` Eli Zaretskii 1 sibling, 1 reply; 35+ messages in thread From: Stefan Monnier @ 2021-08-28 13:14 UTC (permalink / raw) To: Yuchen Pei; +Cc: Philip Kaludercic, Emacs Devel mailing list > This makes sense. But does this mean if I want to add new language modes it > should go to GNU ELPA rather than Emacs itself? As a former Emacs maintainer and as de-facto maintainer of (Non)GNU ELPA, I think the answer here is "yes", basically. There are some packages which we want to include in Emacs itself, either because they're expected to be used by a large fraction of Emacs users, or because they're used by other packages included in Emacs, but for most of the rest we prefer to accept new packages into GNU ELPA than into Emacs, because it offers more flexibility (e.g. in terms of release schedules). AFAIK there are still plans to have some amount of integration between Emacs and GNU ELPA where some GNU ELPA packages would get included in Emacs releases, thus blurring the line between the two a bit more. This said, these plans have been in existence for several years, so don't hold your breath :-( Stefan ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 13:14 ` Stefan Monnier @ 2021-08-28 13:37 ` Eli Zaretskii 2021-08-28 13:42 ` Dmitry Gutov 0 siblings, 1 reply; 35+ messages in thread From: Eli Zaretskii @ 2021-08-28 13:37 UTC (permalink / raw) To: Stefan Monnier; +Cc: philipk, hi, emacs-devel > From: Stefan Monnier <monnier@iro.umontreal.ca> > Cc: Philip Kaludercic <philipk@posteo.net>, Emacs Devel mailing list > <emacs-devel@gnu.org> > Date: Sat, 28 Aug 2021 09:14:55 -0400 > > > This makes sense. But does this mean if I want to add new language modes it > > should go to GNU ELPA rather than Emacs itself? > > As a former Emacs maintainer and as de-facto maintainer of (Non)GNU > ELPA, I think the answer here is "yes", basically. > > There are some packages which we want to include in Emacs itself, either > because they're expected to be used by a large fraction of Emacs users, > or because they're used by other packages included in Emacs, but for > most of the rest we prefer to accept new packages into GNU ELPA than > into Emacs, because it offers more flexibility (e.g. in terms of > release schedules). When you say "we prefer" here you mean you personally, right? Because there's no such project-wide policy, AFAICT, and I at least don't agree. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 13:37 ` Eli Zaretskii @ 2021-08-28 13:42 ` Dmitry Gutov 2021-08-28 13:49 ` Eli Zaretskii 0 siblings, 1 reply; 35+ messages in thread From: Dmitry Gutov @ 2021-08-28 13:42 UTC (permalink / raw) To: Eli Zaretskii, Stefan Monnier; +Cc: philipk, hi, emacs-devel On 28.08.2021 16:37, Eli Zaretskii wrote: > When you say "we prefer" here you mean you personally, right? Because > there's no such project-wide policy, AFAICT, and I at least don't > agree. There is a known existing disagreement on this issue among contributors. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 13:42 ` Dmitry Gutov @ 2021-08-28 13:49 ` Eli Zaretskii 2021-08-28 14:16 ` Dmitry Gutov 2021-08-28 14:59 ` Lars Ingebrigtsen 0 siblings, 2 replies; 35+ messages in thread From: Eli Zaretskii @ 2021-08-28 13:49 UTC (permalink / raw) To: Dmitry Gutov; +Cc: philipk, hi, monnier, emacs-devel > Cc: philipk@posteo.net, hi@ypei.me, emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Sat, 28 Aug 2021 16:42:43 +0300 > > On 28.08.2021 16:37, Eli Zaretskii wrote: > > When you say "we prefer" here you mean you personally, right? Because > > there's no such project-wide policy, AFAICT, and I at least don't > > agree. > > There is a known existing disagreement on this issue among contributors. If a contributor _wants_ to have the package in ELPA, that's his/her prerogative, which should be respected. But in this particular case the contributor asked about our preferences, and that was what my response was about. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 13:49 ` Eli Zaretskii @ 2021-08-28 14:16 ` Dmitry Gutov 2021-08-28 14:37 ` Eli Zaretskii 2021-08-28 14:59 ` Lars Ingebrigtsen 1 sibling, 1 reply; 35+ messages in thread From: Dmitry Gutov @ 2021-08-28 14:16 UTC (permalink / raw) To: Eli Zaretskii; +Cc: philipk, hi, monnier, emacs-devel On 28.08.2021 16:49, Eli Zaretskii wrote: >> Cc:philipk@posteo.net,hi@ypei.me,emacs-devel@gnu.org >> From: Dmitry Gutov<dgutov@yandex.ru> >> Date: Sat, 28 Aug 2021 16:42:43 +0300 >> >> On 28.08.2021 16:37, Eli Zaretskii wrote: >>> When you say "we prefer" here you mean you personally, right? Because >>> there's no such project-wide policy, AFAICT, and I at least don't >>> agree. >> There is a known existing disagreement on this issue among contributors. > If a contributor_wants_ to have the package in ELPA, that's his/her > prerogative, which should be respected. But in this particular case > the contributor asked about our preferences, and that was what my > response was about. You stated your preferences, right? Stefan's are different, and mine are as well (which is probably well-known at this point). There are also many other proponents of "lean core", though I admit most of them, predictably, work on third-party packages rather than frequent emacs-devel. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 14:16 ` Dmitry Gutov @ 2021-08-28 14:37 ` Eli Zaretskii 2021-08-28 14:46 ` Dmitry Gutov 0 siblings, 1 reply; 35+ messages in thread From: Eli Zaretskii @ 2021-08-28 14:37 UTC (permalink / raw) To: Dmitry Gutov; +Cc: philipk, hi, monnier, emacs-devel > Cc: monnier@iro.umontreal.ca, philipk@posteo.net, hi@ypei.me, > emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Sat, 28 Aug 2021 17:16:22 +0300 > > On 28.08.2021 16:49, Eli Zaretskii wrote: > >> Cc:philipk@posteo.net,hi@ypei.me,emacs-devel@gnu.org > >> From: Dmitry Gutov<dgutov@yandex.ru> > >> Date: Sat, 28 Aug 2021 16:42:43 +0300 > >> > >> On 28.08.2021 16:37, Eli Zaretskii wrote: > >>> When you say "we prefer" here you mean you personally, right? Because > >>> there's no such project-wide policy, AFAICT, and I at least don't > >>> agree. > >> There is a known existing disagreement on this issue among contributors. > > If a contributor_wants_ to have the package in ELPA, that's his/her > > prerogative, which should be respected. But in this particular case > > the contributor asked about our preferences, and that was what my > > response was about. > > You stated your preferences, right? No, I stated the current project's policy, which is still unchanged since long ago. It happens to be my personal preference as well, but that's not what the OP asked about. > Stefan's are different, and mine are as well (which is probably > well-known at this point). > > There are also many other proponents of "lean core", though I admit most > of them, predictably, work on third-party packages rather than frequent > emacs-devel. As long as we don't change the project-wide policy, we should talk and act according to the existing one, when people ask about that. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 14:37 ` Eli Zaretskii @ 2021-08-28 14:46 ` Dmitry Gutov 2021-08-28 15:01 ` Eli Zaretskii 0 siblings, 1 reply; 35+ messages in thread From: Dmitry Gutov @ 2021-08-28 14:46 UTC (permalink / raw) To: Eli Zaretskii; +Cc: philipk, hi, monnier, emacs-devel On 28.08.2021 17:37, Eli Zaretskii wrote: >>>> There is a known existing disagreement on this issue among contributors. >>> If a contributor_wants_ to have the package in ELPA, that's his/her >>> prerogative, which should be respected. But in this particular case >>> the contributor asked about our preferences, and that was what my >>> response was about. >> You stated your preferences, right? > No, I stated the current project's policy, which is still unchanged > since long ago. It happens to be my personal preference as well, but > that's not what the OP asked about. I don't remember seeing such a policy documented anywhere. But suppose it is so. What would it take to change it? We might hold off on having such discussion until the "ELPA bundling" feature is more or less ready, but it would be nice to know in advance. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 14:46 ` Dmitry Gutov @ 2021-08-28 15:01 ` Eli Zaretskii 0 siblings, 0 replies; 35+ messages in thread From: Eli Zaretskii @ 2021-08-28 15:01 UTC (permalink / raw) To: Dmitry Gutov; +Cc: philipk, hi, monnier, emacs-devel > Cc: monnier@iro.umontreal.ca, philipk@posteo.net, hi@ypei.me, > emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Sat, 28 Aug 2021 17:46:25 +0300 > > On 28.08.2021 17:37, Eli Zaretskii wrote: > >>>> There is a known existing disagreement on this issue among contributors. > >>> If a contributor_wants_ to have the package in ELPA, that's his/her > >>> prerogative, which should be respected. But in this particular case > >>> the contributor asked about our preferences, and that was what my > >>> response was about. > >> You stated your preferences, right? > > No, I stated the current project's policy, which is still unchanged > > since long ago. It happens to be my personal preference as well, but > > that's not what the OP asked about. > > I don't remember seeing such a policy documented anywhere. It comes from the time when there was no ELPA. At that time, there was no need to document it, of course. > But suppose it is so. What would it take to change it? > > We might hold off on having such discussion until the "ELPA bundling" > feature is more or less ready, but it would be nice to know in advance. Yes, that's the prerequisite for these discussions, I think. I don't know of any others, but if anyone else does, please speak up. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 13:49 ` Eli Zaretskii 2021-08-28 14:16 ` Dmitry Gutov @ 2021-08-28 14:59 ` Lars Ingebrigtsen 2021-08-28 15:03 ` Eli Zaretskii 1 sibling, 1 reply; 35+ messages in thread From: Lars Ingebrigtsen @ 2021-08-28 14:59 UTC (permalink / raw) To: Eli Zaretskii; +Cc: philipk, emacs-devel, hi, monnier, Dmitry Gutov Eli Zaretskii <eliz@gnu.org> writes: > If a contributor _wants_ to have the package in ELPA, that's his/her > prerogative, which should be respected. But in this particular case > the contributor asked about our preferences, and that was what my > response was about. It's my preference for some language features, too. Having those available out of the box is convenient (and allows for easier integration with the rest of Emacs). It's pretty embarrassing that we don't have a built-in mode for PHP, for instance (or at least it was back when PHP was popular). But it depends on the language. I think having the C# mode in ELPA is fine, and there isn't much to gain in having it in Emacs core. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 14:59 ` Lars Ingebrigtsen @ 2021-08-28 15:03 ` Eli Zaretskii 0 siblings, 0 replies; 35+ messages in thread From: Eli Zaretskii @ 2021-08-28 15:03 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: philipk, emacs-devel, hi, monnier, dgutov > From: Lars Ingebrigtsen <larsi@gnus.org> > Cc: Dmitry Gutov <dgutov@yandex.ru>, philipk@posteo.net, hi@ypei.me, > monnier@iro.umontreal.ca, emacs-devel@gnu.org > Date: Sat, 28 Aug 2021 16:59:54 +0200 > > But it depends on the language. I think having the C# mode in ELPA is > fine, and there isn't much to gain in having it in Emacs core. Agreed. (I have no opinion about C#, so I'll defer to others here.) ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-27 23:12 ` Philip Kaludercic 2021-08-27 23:31 ` Yuchen Pei @ 2021-08-28 6:24 ` Eli Zaretskii 2021-08-28 13:45 ` Philip Kaludercic 1 sibling, 1 reply; 35+ messages in thread From: Eli Zaretskii @ 2021-08-28 6:24 UTC (permalink / raw) To: Philip Kaludercic; +Cc: hi, emacs-devel > From: Philip Kaludercic <philipk@posteo.net> > Date: Fri, 27 Aug 2021 23:12:41 +0000 > Cc: Emacs Devel mailing list <emacs-devel@gnu.org> > > > I notice some glaring omissions of modes supporting major / popular > > languages like php, haskell and wikitext in Emacs, though there are > > widely used versions available externally as packages. > > See the thread "Re: NonGNU ELPA work" from today: I submitted patches > for NonGNU ELPA, the repository that has been enabled for Emacs 28+, > adding new major modes, so that they can be installed without any > further configuration. That's not the same as having these come with Emacs in the first place. > > I feel it is important that Emacs support these languages natively. > > Why natively? With packages like gnu-elpa, the user can be notified when > a major mode exists for a file they have opened. The advantage is that > bug-fixes and improvements are not tied to Emacs releases but can happen > concurrently. The disadvantage is that it requires an internet > connection. It sounds like your vision of the role of the ELPA repositories vs what comes bundled with Emacs is different from the current project's vision. In which case it would help if in the future you mentioned that you don't speak for the project, to make that clear to people who don't necessarily know who is who in the project. > > What is the process of adding these modes? My understanding is: > > > > 1. Ask the maintainer of a mode to contribute the mode to Emacs. > > And any significant contributor have to sign the FSF copyright > agreement. Right. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 6:24 ` Eli Zaretskii @ 2021-08-28 13:45 ` Philip Kaludercic 2021-08-28 13:56 ` Eli Zaretskii 0 siblings, 1 reply; 35+ messages in thread From: Philip Kaludercic @ 2021-08-28 13:45 UTC (permalink / raw) To: Eli Zaretskii; +Cc: hi, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: Philip Kaludercic <philipk@posteo.net> >> Date: Fri, 27 Aug 2021 23:12:41 +0000 >> Cc: Emacs Devel mailing list <emacs-devel@gnu.org> >> >> > I notice some glaring omissions of modes supporting major / popular >> > languages like php, haskell and wikitext in Emacs, though there are >> > widely used versions available externally as packages. >> >> See the thread "Re: NonGNU ELPA work" from today: I submitted patches >> for NonGNU ELPA, the repository that has been enabled for Emacs 28+, >> adding new major modes, so that they can be installed without any >> further configuration. > > That's not the same as having these come with Emacs in the first > place. Of course, I agree that it is preferable, but how realistic is it currently. While reviewing a lot of popular packages (php-mode, haskell-mode, ...) it seems improbable to gather all the copyright assignments even necessary to transfer the code into ELPA. Another issue that already exists with major modes included in Emacs is that they often differ in insignificant but annoying ways. When comparing the binding C-c C-c in python-mode, scheme-mode and prolog-mode, one respectively finds a send-buffer, compile-defun command and a keymap. I can only imagine that with more and more languages in Emacs itself, this issue would get worse (this of course isn't solved by distributing the code in ELPA, but one would imagine that core-code should be a bit more consistent). It might make sense to extend prog-mode by additional generic modes like compiled-prog-mode, interpreted-prog-mode, interactive-prog-mode, etc. to make it easier to define and customize language modes. >> > I feel it is important that Emacs support these languages natively. >> >> Why natively? With packages like gnu-elpa, the user can be notified when >> a major mode exists for a file they have opened. The advantage is that >> bug-fixes and improvements are not tied to Emacs releases but can happen >> concurrently. The disadvantage is that it requires an internet >> connection. > > It sounds like your vision of the role of the ELPA repositories vs > what comes bundled with Emacs is different from the current project's > vision. In which case it would help if in the future you mentioned > that you don't speak for the project, to make that clear to people who > don't necessarily know who is who in the project. Sincerely sorry about that! I'll keep that in mind and try to avoid confusion between my hopes and the actual project line. -- Philip Kaludercic ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 13:45 ` Philip Kaludercic @ 2021-08-28 13:56 ` Eli Zaretskii 2021-08-28 14:30 ` Philip Kaludercic 0 siblings, 1 reply; 35+ messages in thread From: Eli Zaretskii @ 2021-08-28 13:56 UTC (permalink / raw) To: Philip Kaludercic; +Cc: hi, emacs-devel > From: Philip Kaludercic <philipk@posteo.net> > Cc: hi@ypei.me, emacs-devel@gnu.org > Date: Sat, 28 Aug 2021 13:45:41 +0000 > > Eli Zaretskii <eliz@gnu.org> writes: > > >> See the thread "Re: NonGNU ELPA work" from today: I submitted patches > >> for NonGNU ELPA, the repository that has been enabled for Emacs 28+, > >> adding new major modes, so that they can be installed without any > >> further configuration. > > > > That's not the same as having these come with Emacs in the first > > place. > > Of course, I agree that it is preferable, but how realistic is it > currently. If that requirement cannot be met, then we will be unable to have the package in Emacs, of course. In that case, if the OP would like to write a replacement from scratch, we'd consider importing that instead; or, failing that, will have the package in non-GNU ELPA. > Another issue that already exists with major modes included in Emacs is > that they often differ in insignificant but annoying ways. When > comparing the binding C-c C-c in python-mode, scheme-mode and > prolog-mode, one respectively finds a send-buffer, compile-defun command > and a keymap. I can only imagine that with more and more languages in > Emacs itself, this issue would get worse (this of course isn't solved by > distributing the code in ELPA, but one would imagine that core-code > should be a bit more consistent). It might make sense to extend > prog-mode by additional generic modes like compiled-prog-mode, > interpreted-prog-mode, interactive-prog-mode, etc. to make it easier to > define and customize language modes. We should definitely make the PL modes more consistent wrt the basic key bindings. But having sch packages in ELPA doesn't help solving this problem, because it's an orthogonal issue, right? > > It sounds like your vision of the role of the ELPA repositories vs > > what comes bundled with Emacs is different from the current project's > > vision. In which case it would help if in the future you mentioned > > that you don't speak for the project, to make that clear to people who > > don't necessarily know who is who in the project. > > Sincerely sorry about that! I'll keep that in mind and try to avoid > confusion between my hopes and the actual project line. Thanks; and no need to apologize. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 13:56 ` Eli Zaretskii @ 2021-08-28 14:30 ` Philip Kaludercic 2021-08-28 14:40 ` Eli Zaretskii 0 siblings, 1 reply; 35+ messages in thread From: Philip Kaludercic @ 2021-08-28 14:30 UTC (permalink / raw) To: Eli Zaretskii; +Cc: hi, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> Another issue that already exists with major modes included in Emacs is >> that they often differ in insignificant but annoying ways. When >> comparing the binding C-c C-c in python-mode, scheme-mode and >> prolog-mode, one respectively finds a send-buffer, compile-defun command >> and a keymap. I can only imagine that with more and more languages in >> Emacs itself, this issue would get worse (this of course isn't solved by >> distributing the code in ELPA, but one would imagine that core-code >> should be a bit more consistent). It might make sense to extend >> prog-mode by additional generic modes like compiled-prog-mode, >> interpreted-prog-mode, interactive-prog-mode, etc. to make it easier to >> define and customize language modes. > > We should definitely make the PL modes more consistent wrt the basic > key bindings. But having sch packages in ELPA doesn't help solving > this problem, because it's an orthogonal issue, right? Yes, I was jut mentioning that if there ever were a push to include more major modes in Emacs, that something like this might be worth considering. -- Philip Kaludercic ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 14:30 ` Philip Kaludercic @ 2021-08-28 14:40 ` Eli Zaretskii 2021-08-28 14:45 ` Theodor Thornhill ` (2 more replies) 0 siblings, 3 replies; 35+ messages in thread From: Eli Zaretskii @ 2021-08-28 14:40 UTC (permalink / raw) To: Philip Kaludercic; +Cc: hi, emacs-devel > From: Philip Kaludercic <philipk@posteo.net> > Cc: hi@ypei.me, emacs-devel@gnu.org > Date: Sat, 28 Aug 2021 14:30:16 +0000 > > > We should definitely make the PL modes more consistent wrt the basic > > key bindings. But having sch packages in ELPA doesn't help solving > > this problem, because it's an orthogonal issue, right? > > Yes, I was jut mentioning that if there ever were a push to include more > major modes in Emacs, that something like this might be worth > considering. To clarify, I was only talking about programming languages that are very popular -- I think Emacs should offer those OOTB. I didn't mean we should necessarily have in core every possible language under the sun. We could discuss the less popular ones on a case by case basis. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 14:40 ` Eli Zaretskii @ 2021-08-28 14:45 ` Theodor Thornhill 2021-08-28 14:58 ` Eli Zaretskii 2021-08-28 15:03 ` Arthur Miller 2021-08-28 15:32 ` Philip Kaludercic 2 siblings, 1 reply; 35+ messages in thread From: Theodor Thornhill @ 2021-08-28 14:45 UTC (permalink / raw) To: emacs-devel, Eli Zaretskii, Philip Kaludercic; +Cc: hi On 28 August 2021 16:40:26 CEST, Eli Zaretskii <eliz@gnu.org> wrote: >> From: Philip Kaludercic <philipk@posteo.net> >> Cc: hi@ypei.me, emacs-devel@gnu.org >> Date: Sat, 28 Aug 2021 14:30:16 +0000 >> >> > We should definitely make the PL modes more consistent wrt the basic >> > key bindings. But having sch packages in ELPA doesn't help solving >> > this problem, because it's an orthogonal issue, right? >> >> Yes, I was jut mentioning that if there ever were a push to include more >> major modes in Emacs, that something like this might be worth >> considering. > >To clarify, I was only talking about programming languages that are >very popular -- I think Emacs should offer those OOTB. I didn't mean >we should necessarily have in core every possible language under the >sun. We could discuss the less popular ones on a case by case basis. > Where does this line go? We recently added c# mode to elpa, and some people did not want it in core. I would classify that at a popular language Theo ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 14:45 ` Theodor Thornhill @ 2021-08-28 14:58 ` Eli Zaretskii 0 siblings, 0 replies; 35+ messages in thread From: Eli Zaretskii @ 2021-08-28 14:58 UTC (permalink / raw) To: Theodor Thornhill; +Cc: philipk, hi, emacs-devel > Date: Sat, 28 Aug 2021 16:45:49 +0200 > From: Theodor Thornhill <theo@thornhill.no> > CC: hi@ypei.me > > > > On 28 August 2021 16:40:26 CEST, Eli Zaretskii <eliz@gnu.org> wrote: > >> From: Philip Kaludercic <philipk@posteo.net> > >> Cc: hi@ypei.me, emacs-devel@gnu.org > >> Date: Sat, 28 Aug 2021 14:30:16 +0000 > >> > >> > We should definitely make the PL modes more consistent wrt the basic > >> > key bindings. But having sch packages in ELPA doesn't help solving > >> > this problem, because it's an orthogonal issue, right? > >> > >> Yes, I was jut mentioning that if there ever were a push to include more > >> major modes in Emacs, that something like this might be worth > >> considering. > > > >To clarify, I was only talking about programming languages that are > >very popular -- I think Emacs should offer those OOTB. I didn't mean > >we should necessarily have in core every possible language under the > >sun. We could discuss the less popular ones on a case by case basis. > > > > Where does this line go? We recently added c# mode to elpa, and some people did not want it in core. I would classify that at a popular language Which languages constitute the popular ones is something open to debate, of course. It isn't carved in stone, and I don't think there are firm objective criteria for that. When there's no agreement, we'd need to discuss. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 14:40 ` Eli Zaretskii 2021-08-28 14:45 ` Theodor Thornhill @ 2021-08-28 15:03 ` Arthur Miller 2021-08-28 15:09 ` Eli Zaretskii 2021-08-28 15:32 ` Philip Kaludercic 2 siblings, 1 reply; 35+ messages in thread From: Arthur Miller @ 2021-08-28 15:03 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Philip Kaludercic, hi, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: Philip Kaludercic <philipk@posteo.net> >> Cc: hi@ypei.me, emacs-devel@gnu.org >> Date: Sat, 28 Aug 2021 14:30:16 +0000 >> >> > We should definitely make the PL modes more consistent wrt the basic >> > key bindings. But having sch packages in ELPA doesn't help solving >> > this problem, because it's an orthogonal issue, right? >> >> Yes, I was jut mentioning that if there ever were a push to include more >> major modes in Emacs, that something like this might be worth >> considering. > > To clarify, I was only talking about programming languages that are > very popular -- I think Emacs should offer those OOTB. I didn't mean > we should necessarily have in core every possible language under the > sun. We could discuss the less popular ones on a case by case basis. What I was thinking of is that some of prog modes that ship with Emacs are frankly not very good compared to external packages, and people are anyway downloading something else (for exapel js vs js2 or lisp vs slime/sly). It would be nice if everything was in Emacs by default but, maybe it is better to lessen the burden on Emacs devs themselves and point users to external package instead. Now that we have non gnu elpa, and Stefan says it is no problem to ship someone elses packages, maybe some good soul could package those into non gnu elpa and Emacs could do like some other text editors, simply point users to download needed package or download it on demand? There was no non gnu elpa before, maybe you could revise the policy in that light? After this sotrom about Git and workflow has blow away of course :). ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 15:03 ` Arthur Miller @ 2021-08-28 15:09 ` Eli Zaretskii 0 siblings, 0 replies; 35+ messages in thread From: Eli Zaretskii @ 2021-08-28 15:09 UTC (permalink / raw) To: Arthur Miller; +Cc: philipk, hi, emacs-devel > From: Arthur Miller <arthur.miller@live.com> > Cc: Philip Kaludercic <philipk@posteo.net>, hi@ypei.me, emacs-devel@gnu.org > Date: Sat, 28 Aug 2021 17:03:10 +0200 > > What I was thinking of is that some of prog modes that ship with Emacs are > frankly not very good compared to external packages, and people are anyway > downloading something else (for exapel js vs js2 or lisp vs slime/sly). It would > be nice if everything was in Emacs by default but, maybe it is better to lessen > the burden on Emacs devs themselves and point users to external package instead. Lessening the maintenance burden is not the most important goal of Emacs development; providing users with better support for their editing jobs is more important. I don't think anyone will disagree that Emacs should support JS OOTB. > Now that we have non gnu elpa, and Stefan says it is no problem to ship someone > elses packages, maybe some good soul could package those into non gnu elpa and > Emacs could do like some other text editors, simply point users to download > needed package or download it on demand? > > There was no non gnu elpa before, maybe you could revise the policy in that > light? Non-GNU ELPA is not part of the equation, because packages put there will probably never be able to become part of Emacs. The issue at hand here is whether to have packages that support important features in GNU ELPA or in core. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 14:40 ` Eli Zaretskii 2021-08-28 14:45 ` Theodor Thornhill 2021-08-28 15:03 ` Arthur Miller @ 2021-08-28 15:32 ` Philip Kaludercic 2021-08-28 15:53 ` Lars Ingebrigtsen 2 siblings, 1 reply; 35+ messages in thread From: Philip Kaludercic @ 2021-08-28 15:32 UTC (permalink / raw) To: Eli Zaretskii; +Cc: hi, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: Philip Kaludercic <philipk@posteo.net> >> Cc: hi@ypei.me, emacs-devel@gnu.org >> Date: Sat, 28 Aug 2021 14:30:16 +0000 >> >> > We should definitely make the PL modes more consistent wrt the basic >> > key bindings. But having sch packages in ELPA doesn't help solving >> > this problem, because it's an orthogonal issue, right? >> >> Yes, I was jut mentioning that if there ever were a push to include more >> major modes in Emacs, that something like this might be worth >> considering. > > To clarify, I was only talking about programming languages that are > very popular -- I think Emacs should offer those OOTB. I didn't mean > we should necessarily have in core every possible language under the > sun. We could discuss the less popular ones on a case by case basis. Out of curiosity, I checked [0] to see what the languages are said to be popular: | Language | Status | |----------------------+---------------------------------------| | C | Built-In | | Python | Built-In | | Java | Built-In | | C++ | Built-In | | C# | ELPA | | Visual Basic | Not packaged, just EmacsWiki[1] | | JavaScript | Built-In and ELPA (js2-mode) | | PHP | MELPA, NonGNU proposed | | Assembly | Built-In | | SQL | Built-In | | Groovy | MELPA | | Classical VB | Couldn't find anything | | Fortran | Built-In | | R | MELPA (via ess) | | Ruby | Built-In | | Swift | MELPA, NonGNU proposed | | MATLAB | MELPA | | Go | NonGNU | | Prolog | Built-In | | Perl | Built-In | | SAS | MELPA (via ess) | | Delphi/Object Pascal | Just GitHub[2] | | Objective C | Built-In | | Rust | NonGNU | | Scratch | Not applicable (graphical) | | Julia | MELPA, NonGNU proposed | | Ada | Built-In and ELPA | | Lisp | Built-In | | Dart | MELPA, NonGNU proposed | | PL/SQL | Built-In (part of sql-mode) | | (Visual) FoxPro | Nothing I could find | | Scala | MELPA, NonGNU Proposed | | ABAP | Just GitHub[3] | | COBOL | ELPA | | Logo | Mentioned on EmacsWiki[4] | | F# | MELPA | | Kotlin | MELPA, NonGNU proposed | | Transact-SQL | Unsure if this is part of sql-mode | | Lua | NonGNU | | Ladder Logic | Nothing or not applicable (graphical) | | VBScript | Unsure how VBScript relates to VB | | D | MELPA, NonGNU proposed | | Clojure | NonGNU | | LabVIEW | Not applicable (graphical) | | Nim | MELPA, NonGNU proposed | | VHDL | Built-In | | Apex | GitHub[5] | | TypeScript | MELPA, NonGNU proposed | | Bash | Built-In | There are more, but I am not sure how productive it is to continue. What I probably missing more urgently is full compatibility, especially with complex languages like C++, or languages embedded in one another as web developers often work with. [0] https://www.tiobe.com/tiobe-index/ [1] https://www.emacswiki.org/emacs/VisualBasicMode [2] https://github.com/ki11men0w/emacs-delphi-mode [3] https://github.com/hugo-dc/abap-mode [4] https://www.emacswiki.org/emacs/LogoMode [5] https://github.com/ctomo/apex-mode -- Philip Kaludercic ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 15:32 ` Philip Kaludercic @ 2021-08-28 15:53 ` Lars Ingebrigtsen 2021-08-28 16:28 ` Theodor Thornhill 2021-08-28 16:55 ` Arthur Miller 0 siblings, 2 replies; 35+ messages in thread From: Lars Ingebrigtsen @ 2021-08-28 15:53 UTC (permalink / raw) To: Philip Kaludercic; +Cc: Eli Zaretskii, hi, emacs-devel Philip Kaludercic <philipk@posteo.net> writes: > Out of curiosity, I checked [0] to see what the languages are said to be > popular: Thanks -- interesting list. > | Language | Status | > |----------------------+---------------------------------------| > | C | Built-In | > | Python | Built-In | > | Java | Built-In | > | C++ | Built-In | > | C# | ELPA | To clarify -- when I said that C# didn't need to be in Emacs Core, it's not because it's not a major language (it is), but it's my opinion that it's unlikely that a large number of people would want to use Emacs when programming in C#. (Because the IDEs that come bundled with the popular C# compilers are what people are using, and it seems unlikely that many people would want to switch away from those.) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 15:53 ` Lars Ingebrigtsen @ 2021-08-28 16:28 ` Theodor Thornhill 2021-08-28 20:40 ` Dmitry Gutov 2021-08-28 16:55 ` Arthur Miller 1 sibling, 1 reply; 35+ messages in thread From: Theodor Thornhill @ 2021-08-28 16:28 UTC (permalink / raw) To: emacs-devel, Lars Ingebrigtsen, Philip Kaludercic; +Cc: Eli Zaretskii, hi On 28 August 2021 17:53:51 CEST, Lars Ingebrigtsen <larsi@gnus.org> wrote: >Philip Kaludercic <philipk@posteo.net> writes: > >> Out of curiosity, I checked [0] to see what the languages are said to be >> popular: > >Thanks -- interesting list. > >> | Language | Status | >> |----------------------+---------------------------------------| >> | C | Built-In | >> | Python | Built-In | >> | Java | Built-In | >> | C++ | Built-In | >> | C# | ELPA | > >To clarify -- when I said that C# didn't need to be in Emacs Core, it's >not because it's not a major language (it is), but it's my opinion that >it's unlikely that a large number of people would want to use Emacs when >programming in C#. (Because the IDEs that come bundled with the popular >C# compilers are what people are using, and it seems unlikely that many >people would want to switch away from those.) > What? There's at least two of us! Joking aside, I didn't mean to start a "why isn't my mode in core" thread. The rules just seemed a little arbitrary. Also now with LSP a thing this is more viable than ever. The only benefit would be one off edits wouldn't need a package download. Not a major issue though ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 16:28 ` Theodor Thornhill @ 2021-08-28 20:40 ` Dmitry Gutov 2021-08-29 2:15 ` Ergus 0 siblings, 1 reply; 35+ messages in thread From: Dmitry Gutov @ 2021-08-28 20:40 UTC (permalink / raw) To: Theodor Thornhill, emacs-devel, Lars Ingebrigtsen, Philip Kaludercic Cc: Eli Zaretskii, hi On 28.08.2021 19:28, Theodor Thornhill wrote: > Joking aside, I didn't mean to start a "why isn't my mode in core" thread. The rules just seemed a little arbitrary. Also now with LSP a thing this is more viable than ever. The only benefit would be one off edits wouldn't need a package download. Good point about LSP, but since it needs an installation from (M)ELPA anyway, the only benefit is for one-off edits that somehow don't use the main user's setup. Which would seem to be a rare thing to do. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 20:40 ` Dmitry Gutov @ 2021-08-29 2:15 ` Ergus 2021-08-29 6:40 ` Eli Zaretskii 0 siblings, 1 reply; 35+ messages in thread From: Ergus @ 2021-08-29 2:15 UTC (permalink / raw) To: emacs-devel, Dmitry Gutov, Theodor Thornhill, Lars Ingebrigtsen, Philip Kaludercic Cc: Eli Zaretskii, hi [-- Attachment #1: Type: text/plain, Size: 1556 bytes --] Actually, it is more scalable and optimal to invest time implementing lsp and tree-sitteer building support because supporting more external packages and modes one by one for languages that maybe won't be popular after some years, so they will become unmaintained and unremovable from vanilla. Most of the code in the programming modes (and performance penalty) is actually dedicated to syntax highlight, indentation, and code navigation. Something that tree-sitee will do better and faster in most cases. Then language specific modes could add just some extra specific details... And we can invest then our time improving, not implementing basic support. Some external packages are also very limited and there are other external additions and plugins to make them functional... So adding more and more modes for languages is worthless. Use a ring to rule them all please. On August 28, 2021 10:40:07 PM GMT+02:00, Dmitry Gutov <dgutov@yandex.ru> wrote: >On 28.08.2021 19:28, Theodor Thornhill wrote: >> Joking aside, I didn't mean to start a "why isn't my mode in core" thread. The rules just seemed a little arbitrary. Also now with LSP a thing this is more viable than ever. The only benefit would be one off edits wouldn't need a package download. > >Good point about LSP, but since it needs an installation from (M)ELPA >anyway, the only benefit is for one-off edits that somehow don't use the >main user's setup. Which would seem to be a rare thing to do. > -- Sent from my Android device with K-9 Mail. Please excuse my brevity. [-- Attachment #2: Type: text/html, Size: 2030 bytes --] ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-29 2:15 ` Ergus @ 2021-08-29 6:40 ` Eli Zaretskii 0 siblings, 0 replies; 35+ messages in thread From: Eli Zaretskii @ 2021-08-29 6:40 UTC (permalink / raw) To: Ergus; +Cc: philipk, theo, emacs-devel, hi, dgutov, larsi > Date: Sun, 29 Aug 2021 04:15:05 +0200 > From: Ergus <spacibba@aol.com> > CC: Eli Zaretskii <eliz@gnu.org>, hi@ypei.me > > Actually, it is more scalable and optimal to invest time implementing lsp and tree-sitteer building support > because supporting more external packages and modes one by one for languages that maybe won't be > popular after some years, so they will become unmaintained and unremovable from vanilla. Most of the code > in the programming modes (and performance penalty) is actually dedicated to syntax highlight, indentation, > and code navigation. Something that tree-sitee will do better and faster in most cases. Then language > specific modes could add just some extra specific details... And we can invest then our time improving, not > implementing basic support. > Some external packages are also very limited and there are other external additions and plugins to make > them functional... So adding more and more modes for languages is worthless. Use a ring to rule them all > please. We do have a process of obsoleting unused packages, so modes that become unused and unmaintained have a clear path there. Also, please don't assume that LSP and Tree Sitter will be here forever. They can also fall out of fashion and die, at which point it would be good for us to have some fallbacks. Last, but not least: support for a programming language isn't limited to what LSP, TS, and their ilk provide, it includes additional features that are specific to Emacs. Two trivial ones: auto-mode-alist and menu-bar items for the language. Less trivial ones could include REPL-style invocation, support for language interpreter, etc. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 15:53 ` Lars Ingebrigtsen 2021-08-28 16:28 ` Theodor Thornhill @ 2021-08-28 16:55 ` Arthur Miller 2021-08-28 17:02 ` Theodor Thornhill 1 sibling, 1 reply; 35+ messages in thread From: Arthur Miller @ 2021-08-28 16:55 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Philip Kaludercic, hi, Eli Zaretskii, emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > Philip Kaludercic <philipk@posteo.net> writes: > >> Out of curiosity, I checked [0] to see what the languages are said to be >> popular: > > Thanks -- interesting list. > >> | Language | Status | >> |----------------------+---------------------------------------| >> | C | Built-In | >> | Python | Built-In | >> | Java | Built-In | >> | C++ | Built-In | >> | C# | ELPA | > > To clarify -- when I said that C# didn't need to be in Emacs Core, it's > not because it's not a major language (it is), but it's my opinion that > it's unlikely that a large number of people would want to use Emacs when > programming in C#. (Because the IDEs that come bundled with the popular > C# compilers are what people are using, and it seems unlikely that many > people would want to switch away from those.) How popular is .net core on gnu/linux? Do peole write lots of C# stuff for that runtime in gnu/linux environment? I am sure though that Lars resoning there holds for VB/VBA/VBScript. ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-28 16:55 ` Arthur Miller @ 2021-08-28 17:02 ` Theodor Thornhill 0 siblings, 0 replies; 35+ messages in thread From: Theodor Thornhill @ 2021-08-28 17:02 UTC (permalink / raw) To: emacs-devel, Arthur Miller, Lars Ingebrigtsen Cc: Philip Kaludercic, hi, Eli Zaretskii On 28 August 2021 18:55:00 CEST, Arthur Miller <arthur.miller@live.com> wrote: >Lars Ingebrigtsen <larsi@gnus.org> writes: > >> Philip Kaludercic <philipk@posteo.net> writes: >> >>> Out of curiosity, I checked [0] to see what the languages are said to be >>> popular: >> >> Thanks -- interesting list. >> >>> | Language | Status | >>> |----------------------+---------------------------------------| >>> | C | Built-In | >>> | Python | Built-In | >>> | Java | Built-In | >>> | C++ | Built-In | >>> | C# | ELPA | >> >> To clarify -- when I said that C# didn't need to be in Emacs Core, it's >> not because it's not a major language (it is), but it's my opinion that >> it's unlikely that a large number of people would want to use Emacs when >> programming in C#. (Because the IDEs that come bundled with the popular >> C# compilers are what people are using, and it seems unlikely that many >> people would want to switch away from those.) > >How popular is .net core on gnu/linux? Do peole write lots of C# stuff for that >runtime in gnu/linux environment? > They do, yes! How many? No idea. But it seems semiregular in Norway at least, were Linux finally takes over the server domain. >I am sure though that Lars resoning there holds for VB/VBA/VBScript. > Probably ^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: Adding major or popular language modes to Emacs distribution 2021-08-27 23:04 Adding major or popular language modes to Emacs distribution Yuchen Pei 2021-08-27 23:12 ` Philip Kaludercic @ 2021-08-28 6:21 ` Eli Zaretskii 1 sibling, 0 replies; 35+ messages in thread From: Eli Zaretskii @ 2021-08-28 6:21 UTC (permalink / raw) To: Yuchen Pei; +Cc: emacs-devel > From: Yuchen Pei <hi@ypei.me> > Date: Sat, 28 Aug 2021 09:04:40 +1000 > > I notice some glaring omissions of modes supporting major / > popular languages like php, haskell and wikitext in Emacs, though > there are widely used versions available externally as packages. > > I feel it is important that Emacs support these languages > natively. I agree. > What is the process of adding these modes? My understanding is: > > 1. Ask the maintainer of a mode to contribute the mode to Emacs. > 2. If for some reason the maintainer is unable or unwilling to add > the mode, someone writes the mode and contribute to Emacs. Yes, that's the general idea. > In step 2, is it conventional to add the mode to GNU ELPA first, > before moving it into Emacs itself? I see no need to go via ELPA for stuff we believe should be bundled with Emacs. If we consider those languages to be important enough to support OOTB, Emacs should come with them built-in. > I am asking because I am interested in working on some of these > modes. Thanks in advance. ^ permalink raw reply [flat|nested] 35+ messages in thread
end of thread, other threads:[~2021-08-29 6:40 UTC | newest] Thread overview: 35+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-08-27 23:04 Adding major or popular language modes to Emacs distribution Yuchen Pei 2021-08-27 23:12 ` Philip Kaludercic 2021-08-27 23:31 ` Yuchen Pei 2021-08-28 2:38 ` Arthur Miller 2021-08-28 6:47 ` Eli Zaretskii 2021-08-28 11:34 ` Qiantan Hong 2021-08-28 11:52 ` Eli Zaretskii 2021-08-28 13:14 ` Stefan Monnier 2021-08-28 13:37 ` Eli Zaretskii 2021-08-28 13:42 ` Dmitry Gutov 2021-08-28 13:49 ` Eli Zaretskii 2021-08-28 14:16 ` Dmitry Gutov 2021-08-28 14:37 ` Eli Zaretskii 2021-08-28 14:46 ` Dmitry Gutov 2021-08-28 15:01 ` Eli Zaretskii 2021-08-28 14:59 ` Lars Ingebrigtsen 2021-08-28 15:03 ` Eli Zaretskii 2021-08-28 6:24 ` Eli Zaretskii 2021-08-28 13:45 ` Philip Kaludercic 2021-08-28 13:56 ` Eli Zaretskii 2021-08-28 14:30 ` Philip Kaludercic 2021-08-28 14:40 ` Eli Zaretskii 2021-08-28 14:45 ` Theodor Thornhill 2021-08-28 14:58 ` Eli Zaretskii 2021-08-28 15:03 ` Arthur Miller 2021-08-28 15:09 ` Eli Zaretskii 2021-08-28 15:32 ` Philip Kaludercic 2021-08-28 15:53 ` Lars Ingebrigtsen 2021-08-28 16:28 ` Theodor Thornhill 2021-08-28 20:40 ` Dmitry Gutov 2021-08-29 2:15 ` Ergus 2021-08-29 6:40 ` Eli Zaretskii 2021-08-28 16:55 ` Arthur Miller 2021-08-28 17:02 ` Theodor Thornhill 2021-08-28 6:21 ` Eli Zaretskii
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).