* Re: Clojure mode
@ 2023-09-09 19:39 Ryan Tate
2023-09-10 5:14 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Ryan Tate @ 2023-09-09 19:39 UTC (permalink / raw)
To: emacs-devel
rms 26 Aug 2023:
> If we install a command called clojure-mode in the core Emacs, that will in a sense be the preferred one.
This is plainly a freedom 0 violation, intentionally thwarting a user’s wish to install a particular piece of software through the raw exercise of situational, incidental power never intentionally granted for this purpose.
The work of bbatsov and others has created the reputation and meaning of “clojure-mode.” To simply steal the fruits of that labor, and to trick users, through you situational power to bundle is abusive and wrong. It mirrors the behavior of some of the most avaricious venture-capital funded startups (even if the reasoning is nominally ideological rather than capitalist).
As a longtime user of (and onetime patch contributor to) emacs, and as an active user of clojure mode and CIDER, I find it disappointing this is even being considered. Build a version of the mode under another license if you wish but get your own name rather than stealing one.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-09-09 19:39 Clojure mode Ryan Tate
@ 2023-09-10 5:14 ` Eli Zaretskii
2023-09-10 6:07 ` Ryan Tate
0 siblings, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2023-09-10 5:14 UTC (permalink / raw)
To: Ryan Tate; +Cc: emacs-devel
> From: Ryan Tate <ryantate@ryantate.com>
> Date: Sat, 9 Sep 2023 15:39:53 -0400
>
> rms 26 Aug 2023:
>
> > If we install a command called clojure-mode in the core Emacs, that will in a sense be the preferred one.
>
> This is plainly a freedom 0 violation, intentionally thwarting a user’s wish to install a particular piece of software through the raw exercise of situational, incidental power never intentionally granted for this purpose.
Bringing up ideas cannot possibly violate any freedoms, so please
don't exaggerate.
> As a longtime user of (and onetime patch contributor to) emacs, and as an active user of clojure mode and CIDER, I find it disappointing this is even being considered. Build a version of the mode under another license if you wish but get your own name rather than stealing one.
You are in effect reviving an old thread that was a tempest in a
teapot almost from the beginning, as soon as the developers of
clojure-mode explicitly said they were not interested in donating
their package to Emacs. (I think it was since then revealed that this
decision was at least in part based on incorrect and/or outdated
assumptions and impressions, but the decision still stands, although
we certainly hope it will be reconsidered.) Moreover, you revive this
old thread with harsh and unkind words, reprimanding us for bringing
up ideas(!) whose only intent is to make Emacs better. Please in the
future be kinder, and please remember that clojure-mode uses the power
and flexibility of Emacs developed and brought to you by those same
people whom you accuse here in crimes they didn't commit ("stealing
the fruits of labor" etc.).
Please in the future use kinder, more polite words when expressing
opinions here, TIA.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-09-10 5:14 ` Eli Zaretskii
@ 2023-09-10 6:07 ` Ryan Tate
2023-09-10 6:56 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Ryan Tate @ 2023-09-10 6:07 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: emacs-devel
> On Sep 10, 2023, at 1:14 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>
> Moreover, you revive this
> old thread with harsh and unkind words, reprimanding us for bringing
> up ideas(!) whose only intent is to make Emacs better.
It was an idea to steal the name of a project, explicitly and in the words of the creator of emacs expressway for the purpose of gaining popularity for your own version. You can’t bring up an idea — an idea to steal and trick — in public and then get mad when someone criticizes the idea. Well, I suppose you can actually, but I find it baffling to do so and then say people are mean for criticizing it.
> Please in the future use kinder, more polite words when expressing
> opinions here, TIA.
Did anyone here consider the feelings of bbatsov or Clojure users when proposing to trick us into installing a gnu package instead of the original? Given the appalling orbat least _aggressive_ nature of what was proposed, you’re being a bit thin skinned.
All that said, I am very grateful for emacs, and among the ways I have tried to show this is by contributing patches (well, one) and money to fsf. 🙏 thank you all for actions other than ones I wrote about
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-09-10 6:07 ` Ryan Tate
@ 2023-09-10 6:56 ` Eli Zaretskii
2023-09-10 7:13 ` Ryan Tate
0 siblings, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2023-09-10 6:56 UTC (permalink / raw)
To: Ryan Tate; +Cc: emacs-devel
> From: Ryan Tate <ryantate@ryantate.com>
> Date: Sun, 10 Sep 2023 02:07:13 -0400
> Cc: emacs-devel@gnu.org
>
> > On Sep 10, 2023, at 1:14 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> >
> > Moreover, you revive this
> > old thread with harsh and unkind words, reprimanding us for bringing
> > up ideas(!) whose only intent is to make Emacs better.
>
> It was an idea to steal the name of a project
You are again exaggerating, and you are again accusing people in
crimes they didn't commit. No stealing is involved here, nor could be
involved.
> > Please in the future use kinder, more polite words when expressing
> > opinions here, TIA.
>
> Did anyone here consider the feelings of bbatsov or Clojure users when proposing to trick us into installing a gnu package instead of the original?
No one proposed that. You are misreading the suggestions in this
thread.
> Given the appalling orbat least _aggressive_ nature of what was proposed, you’re being a bit thin skinned.
Once again, please don't use harsh words that we don't deserve. You
are violating the acceptable behavior here, and you are doing this
after being asked not to do so.
> All that said, I am very grateful for emacs, and among the ways I have tried to show this is by contributing patches (well, one) and money to fsf. 🙏 thank you all for actions other than ones I wrote about
You are welcome, but please tone down your posts about this.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-09-10 6:56 ` Eli Zaretskii
@ 2023-09-10 7:13 ` Ryan Tate
2023-09-10 7:50 ` Eli Zaretskii
2023-09-10 16:36 ` Barry Fishman
0 siblings, 2 replies; 45+ messages in thread
From: Ryan Tate @ 2023-09-10 7:13 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: emacs-devel
> On Sep 10, 2023, at 2:57 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>
> You are again exaggerating, and you are again accusing people in
> crimes they didn't commit. No stealing is involved here, nor could be
> involved.
>
You continue to minimize what was proposed.
>
> No one proposed that. You are misreading the suggestions in this
> thread.
…and deny what was said…
> Once again, please don't use harsh words that we don't deserve. You
> are violating the acceptable behavior here, and you are doing this
> after being asked not to do so.
>
It’s not ok to behave the way your founder has and then punish people for calling it out. I’m not particularly active on this list, and I won’t personally suffer much if you block me, but my language throughout this has been measured and it speaks poorly of fsf’s values for you to bully me for speaking out respectfully.
>>
>
> You are welcome, but please tone down your posts about this.
I stand by what I’ve written. Reflect and do better! Have a good weekend.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-09-10 7:13 ` Ryan Tate
@ 2023-09-10 7:50 ` Eli Zaretskii
2023-09-10 16:36 ` Barry Fishman
1 sibling, 0 replies; 45+ messages in thread
From: Eli Zaretskii @ 2023-09-10 7:50 UTC (permalink / raw)
To: Ryan Tate; +Cc: emacs-devel
> From: Ryan Tate <ryantate@ryantate.com>
> Date: Sun, 10 Sep 2023 03:13:30 -0400
> Cc: emacs-devel@gnu.org
>
> > On Sep 10, 2023, at 2:57 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> >
> > You are again exaggerating, and you are again accusing people in
> > crimes they didn't commit. No stealing is involved here, nor could be
> > involved.
>
> You continue to minimize what was proposed.
I'm not. Especially since I'm one of the people who decide what will
actually happen.
> > No one proposed that. You are misreading the suggestions in this
> > thread.
>
> …and deny what was said…
No, I don't.
> I stand by what I’ve written.
Too bad.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-09-10 7:13 ` Ryan Tate
2023-09-10 7:50 ` Eli Zaretskii
@ 2023-09-10 16:36 ` Barry Fishman
1 sibling, 0 replies; 45+ messages in thread
From: Barry Fishman @ 2023-09-10 16:36 UTC (permalink / raw)
To: emacs-devel
On 2023-09-10 03:13:30 -04, Ryan Tate wrote:
> It’s not ok to behave the way your founder has and then punish people
> for calling it out. I’m not particularly active on this list, and I
> won’t personally suffer much if you block me, but my language
> throughout this has been measured and it speaks poorly of fsf’s values
> for you to bully me for speaking out respectfully.
>
>>>
>>
>> You are welcome, but please tone down your posts about this.
>
> I stand by what I’ve written. Reflect and do better! Have a good
> weekend.
I find it remarkable the someone can claim ethical rights to a symbol
name in an Emacs name-space solely because they used it first in a
useful package. Especially such a name as closure-mode which is the
obvious name for a Closure language mode.
You seem to claim that somehow the Emacs developers are now ethically
forbidden to make changes that they feel provide improvements in a
project they have taken the responsibility to maintain, because
someone on the internet has chosen to add an unsolicited extension, and
make it available.
Personally, as primarily a Emacs user, I find it inconvenient to have my
own additions and selected extensions cause Emacs to break for me,
due to some change made in Emacs or a package I download and use.
I may even complain about it. But the idea that I had some standing
as far as having my rights violated seems absurd.
May newer projects have name-spaces, and have some registration process
for users or projects defining their own unique name-spaces in which
they can add their modules. Often that is a DNS registration they own.
My Closure mode would be org.ecubist:closure-mode. Things could then be
shorten in their code by using some import/export language facility.
In Emacs there seems to be a practice of prefixing a common term in a
symbol with some likely unique prefix such as their initials and a
slash. My own local Closure mode I might call bf/closure-mode.
At least then, if there is a conflict (with somebody who's initials are
also "BF"), I could find the code to be changed with a regex.
Either way, it seems to be reasonable to expect some name change
discussion when a mode is formally added into Emacs. And the
initial choice of an obvious name for some externally distributed
package brings with it an expectation of some future conflict. And in
that conflict the defense that you used the symbol first would not be
very persuasive.
--
Barry Fishman
^ permalink raw reply [flat|nested] 45+ messages in thread
* New Package for NonGNU-ELPA: clojure-ts-mode
@ 2023-08-12 18:35 Danny Freeman
2023-08-12 19:10 ` Philip Kaludercic
0 siblings, 1 reply; 45+ messages in thread
From: Danny Freeman @ 2023-08-12 18:35 UTC (permalink / raw)
To: emacs-devel; +Cc: Manuel Uberti
[-- Attachment #1: Type: text/plain, Size: 340 bytes --]
Hello,
Clojure-ts-mode is a tree-sitter based mode for clojure editing. I am
it's maintainer. It can be found here:
https://github.com/clojure-emacs/clojure-ts-mode
This package is currently listed only on MELPA, but I would also like it
to be available on NonGNU-ELPA as well.
Please let me know if you have any questions or concerns.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-elpa-packages-clojure-ts-mode-new-package.patch --]
[-- Type: text/x-patch, Size: 829 bytes --]
From 5d92f6f2054b73cf9fb9a0f81d7ac0064715a6d6 Mon Sep 17 00:00:00 2001
From: dannyfreeman <danny@dfreeman.email>
Date: Sat, 12 Aug 2023 14:31:44 -0400
Subject: [PATCH] * elpa-packages (clojure-ts-mode): new package
---
elpa-packages | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/elpa-packages b/elpa-packages
index 9dac0cd..6a90468 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -87,6 +87,11 @@
:ignored-files ("clojure-mode-extra-font-locking.el" "doc" "test" "test.clj")
:news "CHANGELOG.md")
+ (clojure-ts-mode :url "https://github.com/clojure-emacs/clojure-ts-mode"
+ :ignored-files ("doc" "test")
+ :readme "README.md"
+ :news "CHANGELOG.md")
+
(coffee-mode :url "https://github.com/defunkt/coffee-mode")
(corfu-terminal :url "https://codeberg.org/akib/emacs-corfu-terminal")
--
2.40.1
[-- Attachment #3: Type: text/plain, Size: 30 bytes --]
Thank you,
--
Danny Freeman
^ permalink raw reply related [flat|nested] 45+ messages in thread
* Re: New Package for NonGNU-ELPA: clojure-ts-mode
2023-08-12 18:35 New Package for NonGNU-ELPA: clojure-ts-mode Danny Freeman
@ 2023-08-12 19:10 ` Philip Kaludercic
2023-08-12 19:12 ` Danny Freeman
0 siblings, 1 reply; 45+ messages in thread
From: Philip Kaludercic @ 2023-08-12 19:10 UTC (permalink / raw)
To: Danny Freeman; +Cc: emacs-devel, Manuel Uberti
Danny Freeman <danny@dfreeman.email> writes:
> Hello,
>
> Clojure-ts-mode is a tree-sitter based mode for clojure editing. I am
> it's maintainer. It can be found here:
> https://github.com/clojure-emacs/clojure-ts-mode
>
> This package is currently listed only on MELPA, but I would also like it
> to be available on NonGNU-ELPA as well.
>
> Please let me know if you have any questions or concerns.
Is there a reason we wouldn't want to have support in the core? Or at
least GNU ELPA?
If added to GNU ELPA and NonGNU ELPA, this would be the first *-ts-mode
package, from what I see. From what I recall, the -ts-mode approach was
a compromise to add some basic support for Tree Sitter in Emacs 29, but
I am not sure if it was a final decision on the matter, because at least
from my perspective of following the tree sitter development from a
close distance, but also from user reports I have heard of since the
release of Emacs 29, the current approach is slightly confusing. Adding
a -ts-mode to ELPA might be misinterpreted as a commitment to the
current trajectory, and I am not sure if that is intended.
> From 5d92f6f2054b73cf9fb9a0f81d7ac0064715a6d6 Mon Sep 17 00:00:00 2001
> From: dannyfreeman <danny@dfreeman.email>
> Date: Sat, 12 Aug 2023 14:31:44 -0400
> Subject: [PATCH] * elpa-packages (clojure-ts-mode): new package
>
> ---
> elpa-packages | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/elpa-packages b/elpa-packages
> index 9dac0cd..6a90468 100644
> --- a/elpa-packages
> +++ b/elpa-packages
> @@ -87,6 +87,11 @@
> :ignored-files ("clojure-mode-extra-font-locking.el" "doc" "test" "test.clj")
> :news "CHANGELOG.md")
>
> + (clojure-ts-mode :url "https://github.com/clojure-emacs/clojure-ts-mode"
> + :ignored-files ("doc" "test")
If possible, it is preferable to list ignored files in a .elpaignore
file, in the repository root directory.
> + :readme "README.md"
> + :news "CHANGELOG.md")
> +
> (coffee-mode :url "https://github.com/defunkt/coffee-mode")
>
> (corfu-terminal :url "https://codeberg.org/akib/emacs-corfu-terminal")
> --
> 2.40.1
>
>
>
> Thank you,
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: New Package for NonGNU-ELPA: clojure-ts-mode
2023-08-12 19:10 ` Philip Kaludercic
@ 2023-08-12 19:12 ` Danny Freeman
2023-08-12 20:31 ` Philip Kaludercic
0 siblings, 1 reply; 45+ messages in thread
From: Danny Freeman @ 2023-08-12 19:12 UTC (permalink / raw)
To: Philip Kaludercic; +Cc: Danny Freeman, emacs-devel, Manuel Uberti
[-- Attachment #1: Type: text/plain, Size: 2214 bytes --]
Philip Kaludercic <philipk@posteo.net> writes:
> Is there a reason we wouldn't want to have support in the core? Or at
> least GNU ELPA?
Not all of the maintainers of clojure-mode and clojure-ts-mode are on
board with the core development model, particularly copyright
assignment. Initially I wanted to put this straight in the core but
after some discussion we decided not to. I have personally done my
copyright assignment, but for clojure-ts-mode we won't be asking
contributors for it. Therefore, going into GNU ELPA or core then is out
of the question.
> If added to GNU ELPA and NonGNU ELPA, this would be the first *-ts-mode
> package, from what I see. From what I recall, the -ts-mode approach was
> a compromise to add some basic support for Tree Sitter in Emacs 29, but
> I am not sure if it was a final decision on the matter, because at least
> from my perspective of following the tree sitter development from a
> close distance, but also from user reports I have heard of since the
> release of Emacs 29, the current approach is slightly confusing. Adding
> a -ts-mode to ELPA might be misinterpreted as a commitment to the
> current trajectory, and I am not sure if that is intended.
Yeah it is kind of confusing but I'm not sure what the end game is for
all the other *-ts-modes. Non tree-sitter Clojure-mode itself has a lot
of features and is also depended on by some other packages (cider,
inf-clojure). In that regard, we decided trying to keep clojure-ts-mode
and clojure-mode in the same repo would be too complex of a task.
Therefore we put it in it's own repo.
Very long term plans are for clojure-ts-mode to eventually reach feature
parity with clojure-mode and start making it's consumer packages also
use it. That will probably take a number of years though.
>> + (clojure-ts-mode :url "https://github.com/clojure-emacs/clojure-ts-mode"
>> + :ignored-files ("doc" "test")
>
> If possible, it is preferable to list ignored files in a .elpaignore
> file, in the repository root directory.
I have made a commit to the repo including one of those .elpaignores.
I'm going to wait a while to tag a new release in case there is other
feedback though. Here is the revised patch
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0002-elpa-packages-clojure-ts-mode-new-package.patch --]
[-- Type: text/x-patch, Size: 795 bytes --]
From baf7c0d081cbda5760c8f7523780316fcb041714 Mon Sep 17 00:00:00 2001
From: dannyfreeman <danny@dfreeman.email>
Date: Sat, 12 Aug 2023 14:31:44 -0400
Subject: [PATCH] * elpa-packages (clojure-ts-mode): new package
---
elpa-packages | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/elpa-packages b/elpa-packages
index 9dac0cd..6ea2057 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -87,6 +87,10 @@
:ignored-files ("clojure-mode-extra-font-locking.el" "doc" "test" "test.clj")
:news "CHANGELOG.md")
+ (clojure-ts-mode :url "https://github.com/clojure-emacs/clojure-ts-mode"
+ :readme "README.md"
+ :news "CHANGELOG.md")
+
(coffee-mode :url "https://github.com/defunkt/coffee-mode")
(corfu-terminal :url "https://codeberg.org/akib/emacs-corfu-terminal")
--
2.40.1
[-- Attachment #3: Type: text/plain, Size: 19 bytes --]
--
Danny Freeman
^ permalink raw reply related [flat|nested] 45+ messages in thread
* Re: New Package for NonGNU-ELPA: clojure-ts-mode
2023-08-12 19:12 ` Danny Freeman
@ 2023-08-12 20:31 ` Philip Kaludercic
2023-08-13 5:19 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Philip Kaludercic @ 2023-08-12 20:31 UTC (permalink / raw)
To: Danny Freeman; +Cc: emacs-devel, Manuel Uberti
Danny Freeman <danny@dfreeman.email> writes:
> Philip Kaludercic <philipk@posteo.net> writes:
>
>> Is there a reason we wouldn't want to have support in the core? Or at
>> least GNU ELPA?
>
> Not all of the maintainers of clojure-mode and clojure-ts-mode are on
> board with the core development model, particularly copyright
> assignment. Initially I wanted to put this straight in the core but
> after some discussion we decided not to. I have personally done my
> copyright assignment, but for clojure-ts-mode we won't be asking
> contributors for it. Therefore, going into GNU ELPA or core then is out
> of the question.
That is a pity. IIRC there is a SLIME-like environment for Clojure,
right? I don't know if Emacs is also the conventional default
environment for working with the language, but if it is, it seems like
it would be a nice thing to have at least some basic support in the core
:/
Did the discussions on not wanting to contribute anything to the core
take place in some public channel, where one could read up on what the
issues were or clarify some misunderstandings, in case these occurred?
>> If added to GNU ELPA and NonGNU ELPA, this would be the first *-ts-mode
>> package, from what I see. From what I recall, the -ts-mode approach was
>> a compromise to add some basic support for Tree Sitter in Emacs 29, but
>> I am not sure if it was a final decision on the matter, because at least
>> from my perspective of following the tree sitter development from a
>> close distance, but also from user reports I have heard of since the
>> release of Emacs 29, the current approach is slightly confusing. Adding
>> a -ts-mode to ELPA might be misinterpreted as a commitment to the
>> current trajectory, and I am not sure if that is intended.
>
> Yeah it is kind of confusing but I'm not sure what the end game is for
> all the other *-ts-modes. Non tree-sitter Clojure-mode itself has a lot
> of features and is also depended on by some other packages (cider,
> inf-clojure). In that regard, we decided trying to keep clojure-ts-mode
> and clojure-mode in the same repo would be too complex of a task.
> Therefore we put it in it's own repo.
>
> Very long term plans are for clojure-ts-mode to eventually reach feature
> parity with clojure-mode and start making it's consumer packages also
> use it. That will probably take a number of years though.
So you can also confirm Eli's take, that it is unfeasible to merge the
two major modes?
>>> + (clojure-ts-mode :url "https://github.com/clojure-emacs/clojure-ts-mode"
>>> + :ignored-files ("doc" "test")
>>
>> If possible, it is preferable to list ignored files in a .elpaignore
>> file, in the repository root directory.
>
> I have made a commit to the repo including one of those .elpaignores.
> I'm going to wait a while to tag a new release in case there is other
> feedback though. Here is the revised patch
I don't think there is much left that can be changed any more, just keep
in mind that ELPA doesn't use tags to designate package releases, but it
consults Git to detect the latest commit to modify the ";; Version:" tag
in the package header.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: New Package for NonGNU-ELPA: clojure-ts-mode
2023-08-12 20:31 ` Philip Kaludercic
@ 2023-08-13 5:19 ` Eli Zaretskii
2023-08-13 13:02 ` Danny Freeman
0 siblings, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2023-08-13 5:19 UTC (permalink / raw)
To: Philip Kaludercic; +Cc: danny, emacs-devel, manuel.uberti
> From: Philip Kaludercic <philipk@posteo.net>
> Cc: emacs-devel <emacs-devel@gnu.org>, Manuel Uberti
> <manuel.uberti@inventati.org>
> Date: Sat, 12 Aug 2023 20:31:20 +0000
>
> Danny Freeman <danny@dfreeman.email> writes:
>
> > Not all of the maintainers of clojure-mode and clojure-ts-mode are on
> > board with the core development model, particularly copyright
> > assignment. Initially I wanted to put this straight in the core but
> > after some discussion we decided not to. I have personally done my
> > copyright assignment, but for clojure-ts-mode we won't be asking
> > contributors for it. Therefore, going into GNU ELPA or core then is out
> > of the question.
>
> That is a pity. IIRC there is a SLIME-like environment for Clojure,
> right? I don't know if Emacs is also the conventional default
> environment for working with the language, but if it is, it seems like
> it would be a nice thing to have at least some basic support in the core
> :/
I agree. Perhaps the contributions to clojure-ts-mode could be
re-assessed: those that are small don't need copyright assignments.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: New Package for NonGNU-ELPA: clojure-ts-mode
2023-08-13 5:19 ` Eli Zaretskii
@ 2023-08-13 13:02 ` Danny Freeman
2023-08-13 13:30 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Danny Freeman @ 2023-08-13 13:02 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Philip Kaludercic, danny, emacs-devel, manuel.uberti
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Philip Kaludercic <philipk@posteo.net>
>> Cc: emacs-devel <emacs-devel@gnu.org>, Manuel Uberti
>> <manuel.uberti@inventati.org>
>> Date: Sat, 12 Aug 2023 20:31:20 +0000
>>
>> Danny Freeman <danny@dfreeman.email> writes:
>>
>> > Not all of the maintainers of clojure-mode and clojure-ts-mode are on
>> > board with the core development model, particularly copyright
>> > assignment. Initially I wanted to put this straight in the core but
>> > after some discussion we decided not to. I have personally done my
>> > copyright assignment, but for clojure-ts-mode we won't be asking
>> > contributors for it. Therefore, going into GNU ELPA or core then is out
>> > of the question.
>>
>> That is a pity. IIRC there is a SLIME-like environment for Clojure,
>> right? I don't know if Emacs is also the conventional default
>> environment for working with the language, but if it is, it seems like
>> it would be a nice thing to have at least some basic support in the core
>> :/
>
> I agree. Perhaps the contributions to clojure-ts-mode could be
> re-assessed: those that are small don't need copyright assignments.
I don't think it's going to be possible. Primary contributors do no want
to put this in core and do not want to require copyright assignment to
contribute to clojure-ts-mode. Clojure-mode and cider were never moved
to the core for the same reason. I have already had this conversation
with them a number of times but was unable to make a convincing
argument. And I am inclined to agree that keeping clojure-ts-mode under
the same development model as the rest of the clojure emacs packages is
the best path forward right now.
I do understand where yall are coming from in desiring to have
clojure-ts-mode in the core. Again, I advocated for doing this for a
while, but that's not the consensus among clojure emacs devs.
Thank you,
--
Danny Freeman
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: New Package for NonGNU-ELPA: clojure-ts-mode
2023-08-13 13:02 ` Danny Freeman
@ 2023-08-13 13:30 ` Eli Zaretskii
2023-08-13 13:35 ` Danny Freeman
0 siblings, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2023-08-13 13:30 UTC (permalink / raw)
To: Danny Freeman; +Cc: philipk, emacs-devel, manuel.uberti
> From: Danny Freeman <danny@dfreeman.email>
> Cc: Philip Kaludercic <philipk@posteo.net>, danny@dfreeman.email,
> emacs-devel@gnu.org, manuel.uberti@inventati.org
> Date: Sun, 13 Aug 2023 09:02:20 -0400
>
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > I agree. Perhaps the contributions to clojure-ts-mode could be
> > re-assessed: those that are small don't need copyright assignments.
>
> I don't think it's going to be possible. Primary contributors do no want
> to put this in core and do not want to require copyright assignment to
> contribute to clojure-ts-mode.
Don't agree because they oppose that as a matter of principle, or
don't agree because they think it's too much work?
I'm suggesting to look at the numbers and see who of the contributors
really needs to sign the legal paperwork. The results might surprise
us, but even if they don't, what possible harm could it do to collect
those LOC counts for each contributor, so that we all are on the same
page regarding the magnitude of the problem?
Or let me turn the table ans ask: suppose no CA paperwork was needed:
would they still oppose adding these modes to Emacs?
Maybe the people involved don't really want to see this in core even
if possible. But if so, I guess they are unwilling to contribute the
package to Emacs, which makes this whole discussion futile and
pointless to begin with.
> Clojure-mode and cider were never moved to the core for the same
> reason. I have already had this conversation with them a number of
> times but was unable to make a convincing argument.
What are the counter-arguments?
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: New Package for NonGNU-ELPA: clojure-ts-mode
2023-08-13 13:30 ` Eli Zaretskii
@ 2023-08-13 13:35 ` Danny Freeman
2023-08-13 14:13 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Danny Freeman @ 2023-08-13 13:35 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Danny Freeman, philipk, emacs-devel, manuel.uberti
Eli Zaretskii <eliz@gnu.org> writes:
> Don't agree because they oppose that as a matter of principle, or
> don't agree because they think it's too much work?
A matter of principle.
> I'm suggesting to look at the numbers and see who of the contributors
> really needs to sign the legal paperwork. The results might surprise
> us, but even if they don't, what possible harm could it do to collect
> those LOC counts for each contributor, so that we all are on the same
> page regarding the magnitude of the problem?
>
> Or let me turn the table ans ask: suppose no CA paperwork was needed:
> would they still oppose adding these modes to Emacs?
Yes.
> Maybe the people involved don't really want to see this in core even
> if possible. But if so, I guess they are unwilling to contribute the
> package to Emacs, which makes this whole discussion futile and
> pointless to begin with.
Even if it's possible, I know the consensus is that we do not want the
package in the core right now. I don't see that consensus changing.
>> Clojure-mode and cider were never moved to the core for the same
>> reason. I have already had this conversation with them a number of
>> times but was unable to make a convincing argument.
>
> What are the counter-arguments?
I will try to re-summarize the arguments in my own words:
1. Copy right assignment paper work is a barrier to contribution.
2. Cider/clojure-mode/inf-clojure/clojure-ts-mode are all developed by
the same group of people. Keeping them under the same development model
is easier to manage and facilitates coordinating changes across all the
packages. Putting one of these in the core would make this harder.
3. Non-GNU ELPA makes it easy for people to get these packages without
much trouble, since it one of the default package repositories the Emacs
ships with.
I agree with the second/third points. We would like to eventually
have clojure-ts-mode be able to take the place of clojure-mode as a
dependency of the other packages like cider. Keeping it under the same
development model is the right choice to reach that goal IMO. Non-GNU
ELPA and licensing with GPL3 is a good compromise, where we keep the
clojure emacs development model, but still have things relatively easy
to get started with out of the box.
Thank you,
--
Danny Freeman
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: New Package for NonGNU-ELPA: clojure-ts-mode
2023-08-13 13:35 ` Danny Freeman
@ 2023-08-13 14:13 ` Eli Zaretskii
2023-08-14 13:14 ` Danny Freeman
0 siblings, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2023-08-13 14:13 UTC (permalink / raw)
To: Danny Freeman; +Cc: philipk, emacs-devel, manuel.uberti
> From: Danny Freeman <danny@dfreeman.email>
> Cc: Danny Freeman <danny@dfreeman.email>, philipk@posteo.net,
> emacs-devel@gnu.org, manuel.uberti@inventati.org
> Date: Sun, 13 Aug 2023 09:35:36 -0400
>
>
> Eli Zaretskii <eliz@gnu.org> writes:
> > Don't agree because they oppose that as a matter of principle, or
> > don't agree because they think it's too much work?
>
> A matter of principle.
>
> > I'm suggesting to look at the numbers and see who of the contributors
> > really needs to sign the legal paperwork. The results might surprise
> > us, but even if they don't, what possible harm could it do to collect
> > those LOC counts for each contributor, so that we all are on the same
> > page regarding the magnitude of the problem?
> >
> > Or let me turn the table ans ask: suppose no CA paperwork was needed:
> > would they still oppose adding these modes to Emacs?
>
> Yes.
I'm at a loss how people who develop an Emacs package can object to
adding their package to Emacs. But so be it.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: New Package for NonGNU-ELPA: clojure-ts-mode
2023-08-13 14:13 ` Eli Zaretskii
@ 2023-08-14 13:14 ` Danny Freeman
2023-08-23 12:55 ` Danny Freeman
0 siblings, 1 reply; 45+ messages in thread
From: Danny Freeman @ 2023-08-14 13:14 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Danny Freeman, philipk, emacs-devel, manuel.uberti
Eli Zaretskii <eliz@gnu.org> writes:
> I'm at a loss how people who develop an Emacs package can object to
> adding their package to Emacs. But so be it.
Well down the road when clojure-ts-mode has stabilized I will make sure
we will revisit the idea of moving it to the core. Until then, I hope
y'all see the value of making it available in NonGNU ELPA.
Thank you,
--
Danny Freeman
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: New Package for NonGNU-ELPA: clojure-ts-mode
2023-08-14 13:14 ` Danny Freeman
@ 2023-08-23 12:55 ` Danny Freeman
2023-08-25 1:11 ` Clojure mode Richard Stallman
0 siblings, 1 reply; 45+ messages in thread
From: Danny Freeman @ 2023-08-23 12:55 UTC (permalink / raw)
To: Danny Freeman; +Cc: Eli Zaretskii, philipk, emacs-devel, manuel.uberti
Danny Freeman <danny@dfreeman.email> writes:
> Eli Zaretskii <eliz@gnu.org> writes:
>
>> I'm at a loss how people who develop an Emacs package can object to
>> adding their package to Emacs. But so be it.
>
> Well down the road when clojure-ts-mode has stabilized I will make sure
> we will revisit the idea of moving it to the core. Until then, I hope
> y'all see the value of making it available in NonGNU ELPA.
Bumping this thread. Will y'all consider listing this on non-gnu elpa?
Thank you,
--
Danny Freeman
^ permalink raw reply [flat|nested] 45+ messages in thread
* Clojure mode
2023-08-23 12:55 ` Danny Freeman
@ 2023-08-25 1:11 ` Richard Stallman
2023-08-25 7:25 ` Philip Kaludercic
0 siblings, 1 reply; 45+ messages in thread
From: Richard Stallman @ 2023-08-25 1:11 UTC (permalink / raw)
To: Danny Freeman; +Cc: danny, eliz, philipk, emacs-devel, manuel.uberti
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
It appears that there is no clojure-mode command in core Emacs.
There is a Clojure mode package, but it is in NonGNU ELPA.
I think that language is important enough that, notwithstanding not
really being similar to Lisp, we ought to have a major mode to support it.
Would someone please work on that?
This could be done by getting copyright assignments for code in the
NonGNU ELPA package, or by writing new code to replace it, or by a
mixture of the two.
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-25 1:11 ` Clojure mode Richard Stallman
@ 2023-08-25 7:25 ` Philip Kaludercic
2023-08-26 2:05 ` Richard Stallman
0 siblings, 1 reply; 45+ messages in thread
From: Philip Kaludercic @ 2023-08-25 7:25 UTC (permalink / raw)
To: Richard Stallman; +Cc: Danny Freeman, eliz, emacs-devel, manuel.uberti
Richard Stallman <rms@gnu.org> writes:
> [[[ To any NSA and FBI agents reading my email: please consider ]]]
> [[[ whether defending the US Constitution against all enemies, ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
> It appears that there is no clojure-mode command in core Emacs.
> There is a Clojure mode package, but it is in NonGNU ELPA.
>
> I think that language is important enough that, notwithstanding not
> really being similar to Lisp, we ought to have a major mode to support it.
> Would someone please work on that?
I had brought this up in the recent clojure-ts-mode thread, that I
assume you are referring to. Sadly, I have no experience with the
language, but one idea might be to extend lisp-data-mode by whatever the
syntactic differences are, to at least have some basic visual support in
terms of syntax highlighting and the like.
> This could be done by getting copyright assignments for code in the
> NonGNU ELPA package, or by writing new code to replace it, or by a
> mixture of the two.
The issue here is, that the clojure-mode developers are mostly averse to
assigning their code to the FSF.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-25 7:25 ` Philip Kaludercic
@ 2023-08-26 2:05 ` Richard Stallman
2023-08-26 7:16 ` Philip Kaludercic
2023-08-26 14:05 ` Dmitry Gutov
0 siblings, 2 replies; 45+ messages in thread
From: Richard Stallman @ 2023-08-26 2:05 UTC (permalink / raw)
To: Philip Kaludercic; +Cc: danny, eliz, emacs-devel, manuel.uberti
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> > This could be done by getting copyright assignments for code in the
> > NonGNU ELPA package, or by writing new code to replace it, or by a
> > mixture of the two.
> The issue here is, that the clojure-mode developers are mostly averse to
> assigning their code to the FSF.
What those people think should not be a crucial issue, because writing
a major mode to handle a language is not a big job. We have dozens of
them in Emacs. Lots of us here would be able to replace it.
The trick is to start thinking of it as a module to be written,
rather than as a need for something that we can't have;
> , but one idea might be to extend lisp-data-mode by whatever the
> syntactic differences are, to at least have some basic visual support in
> terms of syntax highlighting and the like.
It is fine to copy some code from an existing mode. I just advise
people not to try to arrange to share the code between the two modes.
I expect that the sharing would make for more complexity than it is
worth.
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-26 2:05 ` Richard Stallman
@ 2023-08-26 7:16 ` Philip Kaludercic
2023-08-26 13:48 ` Danny Freeman
2023-08-26 14:05 ` Dmitry Gutov
1 sibling, 1 reply; 45+ messages in thread
From: Philip Kaludercic @ 2023-08-26 7:16 UTC (permalink / raw)
To: Richard Stallman; +Cc: danny, eliz, emacs-devel, manuel.uberti
Richard Stallman <rms@gnu.org> writes:
> [[[ To any NSA and FBI agents reading my email: please consider ]]]
> [[[ whether defending the US Constitution against all enemies, ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
> > > This could be done by getting copyright assignments for code in the
> > > NonGNU ELPA package, or by writing new code to replace it, or by a
> > > mixture of the two.
>
> > The issue here is, that the clojure-mode developers are mostly averse to
> > assigning their code to the FSF.
>
> What those people think should not be a crucial issue, because writing
> a major mode to handle a language is not a big job. We have dozens of
> them in Emacs. Lots of us here would be able to replace it.
IMO it really depends on the level of integration one is aiming for. As
mentioned in my last message, if it is just basic syntax support, then I
guess anyone with a language specification could do it. But since
Closure is some sort of a mock-lisp, a user might be interested in
having more complex features such as REPL integration and perhaps some
kind of proper indentation for macros (assuming Clojure has macros).
> The trick is to start thinking of it as a module to be written,
> rather than as a need for something that we can't have;
I still question the need for replicating the labour, if the only
advantage the user has is that they don't have to M-x package-install
the existing major mode from NonGNU ELPA. Especially when given
functionality like what the "gnu-elpa" package provides, in being able
to suggest the right packages for a file type (which is currently
underutilised and IMO should be moved into package.el itself).
> > , but one idea might be to extend lisp-data-mode by whatever the
> > syntactic differences are, to at least have some basic visual support in
> > terms of syntax highlighting and the like.
>
> It is fine to copy some code from an existing mode. I just advise
> people not to try to arrange to share the code between the two modes.
> I expect that the sharing would make for more complexity than it is
> worth.
--
Philip Kaludercic
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-26 7:16 ` Philip Kaludercic
@ 2023-08-26 13:48 ` Danny Freeman
2023-08-26 15:24 ` Manuel Uberti
0 siblings, 1 reply; 45+ messages in thread
From: Danny Freeman @ 2023-08-26 13:48 UTC (permalink / raw)
To: Philip Kaludercic; +Cc: Richard Stallman, eliz, emacs-devel, manuel.uberti
Philip Kaludercic <philipk@posteo.net> writes:
> Richard Stallman <rms@gnu.org> writes:
>
>> [[[ To any NSA and FBI agents reading my email: please consider ]]]
>> [[[ whether defending the US Constitution against all enemies, ]]]
>> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>>
>> > > This could be done by getting copyright assignments for code in the
>> > > NonGNU ELPA package, or by writing new code to replace it, or by a
>> > > mixture of the two.
>>
>> > The issue here is, that the clojure-mode developers are mostly averse to
>> > assigning their code to the FSF.
>>
>> What those people think should not be a crucial issue, because writing
>> a major mode to handle a language is not a big job. We have dozens of
>> them in Emacs. Lots of us here would be able to replace it.
>
> IMO it really depends on the level of integration one is aiming for. As
> mentioned in my last message, if it is just basic syntax support, then I
> guess anyone with a language specification could do it. But since
> Closure is some sort of a mock-lisp, a user might be interested in
> having more complex features such as REPL integration and perhaps some
> kind of proper indentation for macros (assuming Clojure has macros).
>
>> The trick is to start thinking of it as a module to be written,
>> rather than as a need for something that we can't have;
>
> I still question the need for replicating the labour, if the only
> advantage the user has is that they don't have to M-x package-install
> the existing major mode from NonGNU ELPA. Especially when given
> functionality like what the "gnu-elpa" package provides, in being able
> to suggest the right packages for a file type (which is currently
> underutilised and IMO should be moved into package.el itself).
I should say to anyone considering writing yet another Clojure major
mode, who is asking for this? I do not see any Clojure developers
anywhere in this thread, or anywhere else, expressing a desire for
another clojure major mode. It would be largely a wasted effort.
Clojure-mode was created 15 years ago as a derivative of lisp-mode. It
pairs with a SLIME-like package called CIDER that has been in
development for almost as long. Any serious Clojure developer will
eventually learn to install these battle tested packages over anything
that comes out of this conversation. I believe adding a third Clojure
mode would just confuse users and be a wasted effort.
To further re-iterate how much of a non-problem this is, the most recent
survey done of Clojure developers found that 42% use Emacs as their
primary development environment. If not being available out of the box
was such a big issue for users of clojure-mode, then that number would
not be so high.
--
Danny Freeman
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-26 13:48 ` Danny Freeman
@ 2023-08-26 15:24 ` Manuel Uberti
0 siblings, 0 replies; 45+ messages in thread
From: Manuel Uberti @ 2023-08-26 15:24 UTC (permalink / raw)
To: Danny Freeman, Philip Kaludercic; +Cc: Richard Stallman, eliz, emacs-devel
On 26/08/23 15:48, Danny Freeman wrote:
> To further re-iterate how much of a non-problem this is, the most recent
> survey done of Clojure developers found that 42% use Emacs as their
> primary development environment. If not being available out of the box
> was such a big issue for users of clojure-mode, then that number would
> not be so high.
My 2c.
Personally I am glad that all the people behind clojure-mode and CIDER
decided to made their work available on NonGNU ELPA a while ago, just as
I am happy clojure-ts-mode is available there.
I have always thought that NonGNU ELPA was a way to cope with issues
such as this: people wanting to share their work (and considerable
amount of time) on Emacs with others but not willing for whatever reason
to go one step further and try GNU ELPA or even Emacs core.
Considering the popularity of clojure-mode (and CIDER) and with NonGNU
ELPA being readily available, why is it so important to invest time and
effort on re-creating a major mode? Put otherwise, should moving
packages on NonGNU ELPA be considered sort of a temporary stage in the
lifetime of a given package?
--
Manuel Uberti
https://manueluberti.eu
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-26 2:05 ` Richard Stallman
2023-08-26 7:16 ` Philip Kaludercic
@ 2023-08-26 14:05 ` Dmitry Gutov
2023-08-27 1:35 ` Richard Stallman
1 sibling, 1 reply; 45+ messages in thread
From: Dmitry Gutov @ 2023-08-26 14:05 UTC (permalink / raw)
To: rms, Philip Kaludercic; +Cc: danny, eliz, emacs-devel, manuel.uberti
On 26/08/2023 05:05, Richard Stallman wrote:
> > The issue here is, that the clojure-mode developers are mostly averse to
> > assigning their code to the FSF.
>
> What those people think should not be a crucial issue, because writing
> a major mode to handle a language is not a big job. We have dozens of
> them in Emacs. Lots of us here would be able to replace it.
I would really not recommend increasing user confusion around which is
the recommended major mode, and which one is not.
That affects many third-party packages, as well as configuration
snippets floating around the web.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-26 14:05 ` Dmitry Gutov
@ 2023-08-27 1:35 ` Richard Stallman
2023-08-27 1:42 ` Dmitry Gutov
0 siblings, 1 reply; 45+ messages in thread
From: Richard Stallman @ 2023-08-27 1:35 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: danny, emacs-devel, manuel.uberti
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> > What those people think should not be a crucial issue, because writing
> > a major mode to handle a language is not a big job. We have dozens of
> > them in Emacs. Lots of us here would be able to replace it.
> I would really not recommend increasing user confusion around which is
> the recommended major mode, and which one is not.
That argument is too vague to support any particular conclusion.
If we install a command called clojure-mode in the core Emacs, that
will in a sense be the preferred one. If you type M-x clojure-mode in
Emacs, that is the one you'll get.
We could avoid confusion with the NonGNU ELPA package by renaming
that one. Asking to load it using its new name would make it clear
that that's the package you want.
> That affects many third-party packages, as well as configuration
> snippets floating around the web.
Sorry, I don't follow you. Would you please spell out what you mean?
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-27 1:35 ` Richard Stallman
@ 2023-08-27 1:42 ` Dmitry Gutov
2023-08-27 18:55 ` Bozhidar Batsov
2023-08-29 1:52 ` Richard Stallman
0 siblings, 2 replies; 45+ messages in thread
From: Dmitry Gutov @ 2023-08-27 1:42 UTC (permalink / raw)
To: rms; +Cc: danny, emacs-devel, manuel.uberti
On 27/08/2023 04:35, Richard Stallman wrote:
> [[[ To any NSA and FBI agents reading my email: please consider ]]]
> [[[ whether defending the US Constitution against all enemies, ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
> > > What those people think should not be a crucial issue, because writing
> > > a major mode to handle a language is not a big job. We have dozens of
> > > them in Emacs. Lots of us here would be able to replace it.
>
> > I would really not recommend increasing user confusion around which is
> > the recommended major mode, and which one is not.
>
> That argument is too vague to support any particular conclusion.
>
> If we install a command called clojure-mode in the core Emacs, that
> will in a sense be the preferred one. If you type M-x clojure-mode in
> Emacs, that is the one you'll get.
>
> We could avoid confusion with the NonGNU ELPA package by renaming
> that one. Asking to load it using its new name would make it clear
> that that's the package you want.
NonGNU ELPA now has the package called clojure-ts-mode, it doesn't
conflict. But it's specifically for use with tree-sitter grammar.
> > That affects many third-party packages, as well as configuration
> > snippets floating around the web.
>
> Sorry, I don't follow you. Would you please spell out what you mean?
clojure-mode is an existing package with thousands (tens of thousands?
millions?) users and certain existing functionality. Other (also
third-party) packages rely on it for various functionality. It's not a
bare-bones major mode with basic functionality only.
If we simply overtook the name but didn't reimplement it 1-to-1, that
would break a lot of user configurations, many existing recipes "how to
develop in Clojure with Emacs" posted around the web, not to mention
that would be an insult toward the developers of the existing package.
There wouldn't be too much point in that either, because very few only
use the major mode for development without additional niceties like CIDER.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-27 1:42 ` Dmitry Gutov
@ 2023-08-27 18:55 ` Bozhidar Batsov
2023-08-27 18:58 ` Eli Zaretskii
2023-08-29 1:52 ` Richard Stallman
1 sibling, 1 reply; 45+ messages in thread
From: Bozhidar Batsov @ 2023-08-27 18:55 UTC (permalink / raw)
To: Dmitry Gutov, Richard Stallman, Eli Zaretskii
Cc: Danny Freeman, Emacs Devel, Manuel Uberti
[-- Attachment #1: Type: text/plain, Size: 3052 bytes --]
Here's another discussion that kind of frustrates me. (I'm the primary maintainer of clojure-mode) We already have clojure-mode, we've had it for something like 15 years, I've taken the time to submit to NonGNU ELPA. Not to mention that https://github.com/clojure-emacs/ is a big organization with many maintainers, so there's little risk about the long-term maintenance of any of the packages there. What's the purpose of this discussion? What's the problem that needs to be solved?
There's so much tooling that currently depends on clojure-mode (and will eventually depend on clojure-ts-mode several years down the line) that creating some new mode just for the sake of doing it makes 0 sense. If someone wants to do it - be my guest. But conversations like this one are what's alienating people from Emacs's core.
On Sun, Aug 27, 2023, at 4:42 AM, Dmitry Gutov wrote:
> On 27/08/2023 04:35, Richard Stallman wrote:
> > [[[ To any NSA and FBI agents reading my email: please consider ]]]
> > [[[ whether defending the US Constitution against all enemies, ]]]
> > [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> >
> > > > What those people think should not be a crucial issue, because writing
> > > > a major mode to handle a language is not a big job. We have dozens of
> > > > them in Emacs. Lots of us here would be able to replace it.
> >
> > > I would really not recommend increasing user confusion around which is
> > > the recommended major mode, and which one is not.
> >
> > That argument is too vague to support any particular conclusion.
> >
> > If we install a command called clojure-mode in the core Emacs, that
> > will in a sense be the preferred one. If you type M-x clojure-mode in
> > Emacs, that is the one you'll get.
> >
> > We could avoid confusion with the NonGNU ELPA package by renaming
> > that one. Asking to load it using its new name would make it clear
> > that that's the package you want.
>
> NonGNU ELPA now has the package called clojure-ts-mode, it doesn't
> conflict. But it's specifically for use with tree-sitter grammar.
>
> > > That affects many third-party packages, as well as configuration
> > > snippets floating around the web.
> >
> > Sorry, I don't follow you. Would you please spell out what you mean?
>
> clojure-mode is an existing package with thousands (tens of thousands?
> millions?) users and certain existing functionality. Other (also
> third-party) packages rely on it for various functionality. It's not a
> bare-bones major mode with basic functionality only.
>
> If we simply overtook the name but didn't reimplement it 1-to-1, that
> would break a lot of user configurations, many existing recipes "how to
> develop in Clojure with Emacs" posted around the web, not to mention
> that would be an insult toward the developers of the existing package.
>
> There wouldn't be too much point in that either, because very few only
> use the major mode for development without additional niceties like CIDER.
>
>
[-- Attachment #2: Type: text/html, Size: 4245 bytes --]
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-27 18:55 ` Bozhidar Batsov
@ 2023-08-27 18:58 ` Eli Zaretskii
2023-08-27 19:08 ` Bozhidar Batsov
0 siblings, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2023-08-27 18:58 UTC (permalink / raw)
To: Bozhidar Batsov; +Cc: dmitry, rms, danny, emacs-devel, manuel.uberti
> Date: Sun, 27 Aug 2023 21:55:23 +0300
> From: "Bozhidar Batsov" <bozhidar@batsov.dev>
> Cc: "Danny Freeman" <danny@dfreeman.email>,
> "Emacs Devel" <emacs-devel@gnu.org>,
> "Manuel Uberti" <manuel.uberti@inventati.org>
>
> Here's another discussion that kind of frustrates me. (I'm the primary maintainer of clojure-mode) We
> already have clojure-mode, we've had it for something like 15 years, I've taken the time to submit to
> NonGNU ELPA. Not to mention that https://github.com/clojure-emacs/ is a big organization with many
> maintainers, so there's little risk about the long-term maintenance of any of the packages there.
> What's the purpose of this discussion? What's the problem that needs to be solved?
It's very simple, really: Clojure is an important programming
language, and Emacs should have support for it OOTB. That's the
problem we'd like to solve.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-27 18:58 ` Eli Zaretskii
@ 2023-08-27 19:08 ` Bozhidar Batsov
2023-08-27 19:13 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Bozhidar Batsov @ 2023-08-27 19:08 UTC (permalink / raw)
To: Eli Zaretskii
Cc: Dmitry Gutov, Richard Stallman, Danny Freeman, Emacs Devel,
Manuel Uberti
[-- Attachment #1: Type: text/plain, Size: 1773 bytes --]
Support for it is just one package-install command away, so I'd say Emacs supports it almost out of the box. Not to mention that for a language like Clojure you also need some REPL-interaction package to be able to evaluate code, so you won't get very far without an extra package like inf-clojure or CIDER. Re-implementing those would be a huge waste of time IMO and fracture an already tiny programming community.
To me it makes little sense to have support for everything built-in, as this doesn't scale very well. You end up distributing with Emacs a ton of functionality few people are going to use. That's why I've always been fond of having a slim core and lots of packages that people can install on demand. The package already is in NonGNU ELPA, which is pretty good for most users I'd reckon.
On Sun, Aug 27, 2023, at 9:58 PM, Eli Zaretskii wrote:
> > Date: Sun, 27 Aug 2023 21:55:23 +0300
> > From: "Bozhidar Batsov" <bozhidar@batsov.dev>
> > Cc: "Danny Freeman" <danny@dfreeman.email>,
> > "Emacs Devel" <emacs-devel@gnu.org>,
> > "Manuel Uberti" <manuel.uberti@inventati.org>
> >
> > Here's another discussion that kind of frustrates me. (I'm the primary maintainer of clojure-mode) We
> > already have clojure-mode, we've had it for something like 15 years, I've taken the time to submit to
> > NonGNU ELPA. Not to mention that https://github.com/clojure-emacs/ is a big organization with many
> > maintainers, so there's little risk about the long-term maintenance of any of the packages there.
> > What's the purpose of this discussion? What's the problem that needs to be solved?
>
> It's very simple, really: Clojure is an important programming
> language, and Emacs should have support for it OOTB. That's the
> problem we'd like to solve.
>
>
[-- Attachment #2: Type: text/html, Size: 2556 bytes --]
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-27 19:08 ` Bozhidar Batsov
@ 2023-08-27 19:13 ` Eli Zaretskii
2023-08-28 16:35 ` chad
0 siblings, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2023-08-27 19:13 UTC (permalink / raw)
To: Bozhidar Batsov; +Cc: dmitry, rms, danny, emacs-devel, manuel.uberti
> Date: Sun, 27 Aug 2023 22:08:57 +0300
> From: "Bozhidar Batsov" <bozhidar@batsov.dev>
> Cc: "Dmitry Gutov" <dmitry@gutov.dev>, "Richard Stallman" <rms@gnu.org>,
> "Danny Freeman" <danny@dfreeman.email>, "Emacs Devel" <emacs-devel@gnu.org>,
> "Manuel Uberti" <manuel.uberti@inventati.org>
>
> Support for it is just one package-install command away, so I'd say Emacs supports it almost out of
> the box. Not to mention that for a language like Clojure you also need some REPL-interaction
> package to be able to evaluate code, so you won't get very far without an extra package like
> inf-clojure or CIDER. Re-implementing those would be a huge waste of time IMO and fracture an
> already tiny programming community.
Which is why we prefer to include these existing packages, not to
invent new ones.
> To me it makes little sense to have support for everything built-in, as this doesn't scale very well.
We agree about that. We are talking about clojure-mode, not about
everything. Not every package offered for ELPAs triggers such
discussions, far from that. Only very few do.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-27 19:13 ` Eli Zaretskii
@ 2023-08-28 16:35 ` chad
2023-08-28 17:04 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: chad @ 2023-08-28 16:35 UTC (permalink / raw)
To: Eli Zaretskii
Cc: Bozhidar Batsov, dmitry, rms, danny, emacs-devel, manuel.uberti
[-- Attachment #1: Type: text/plain, Size: 722 bytes --]
This is obviously an area where the shifting models of software in general
and emacs in particular have changed over time (by a rough count, non-Gnu
Elpa is roughly the 8th-10th "emacs lisp archive" I've personally used),
and there are clear experiments in play right now. As a practical matter,
how would people feel about a sort of autoload variation, included in emacs
(30) core, that points users at relevant packages in [non-]GNU Elpa, which
would be overridden by code included in an actual package? The idea is to
combine a thin pointer with a potential indirection point that allow users
(who had not already chosen) to choose between alternatives such as
clojure-mode and clojure-ts-mode.
Hope that helps,
~Chad
[-- Attachment #2: Type: text/html, Size: 807 bytes --]
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-28 16:35 ` chad
@ 2023-08-28 17:04 ` Eli Zaretskii
2023-08-28 20:51 ` chad
2023-08-31 2:07 ` Richard Stallman
0 siblings, 2 replies; 45+ messages in thread
From: Eli Zaretskii @ 2023-08-28 17:04 UTC (permalink / raw)
To: chad; +Cc: bozhidar, dmitry, rms, danny, emacs-devel, manuel.uberti
> From: chad <yandros@gmail.com>
> Date: Mon, 28 Aug 2023 12:35:02 -0400
> Cc: Bozhidar Batsov <bozhidar@batsov.dev>, dmitry@gutov.dev, rms@gnu.org,
> danny@dfreeman.email, emacs-devel@gnu.org, manuel.uberti@inventati.org
>
> As a practical matter, how
> would people feel about a sort of autoload variation, included in emacs (30) core, that points users
> at relevant packages in [non-]GNU Elpa, which would be overridden by code included in an actual
> package? The idea is to combine a thin pointer with a potential indirection point that allow users (who
> had not already chosen) to choose between alternatives such as clojure-mode and clojure-ts-mode.
You will have to present a more detailed proposal, because up front I
don't see how will this work. For example, "autoloading"
clojure-ts-mode from ELPA will need:
. download the Lisp files
. byte-compile the Lisp files
. add the directory of Lisp files to load-path
. download the clojure grammar library
. build a shared library from the grammar library
. install the shared library
IOW, you will need to do what package.el does, but in batch and behind
the user's back. Plus, it will take some non-negligible time. How is
such "autoloading" useful?
The current idea of including ELPA packages is to include them in the
release tarball, so that for the end-user it looks exactly like a core
package. What advantages does your proposal have wrt this idea?
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-28 17:04 ` Eli Zaretskii
@ 2023-08-28 20:51 ` chad
2023-08-28 22:03 ` Stefan Kangas
` (2 more replies)
2023-08-31 2:07 ` Richard Stallman
1 sibling, 3 replies; 45+ messages in thread
From: chad @ 2023-08-28 20:51 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: bozhidar, dmitry, rms, danny, emacs-devel, manuel.uberti
[-- Attachment #1: Type: text/plain, Size: 1905 bytes --]
On Mon, Aug 28, 2023 at 1:05 PM Eli Zaretskii <eliz@gnu.org> wrote:
> You will have to present a more detailed proposal, because up front I
> don't see how will this work.
>
Entirely fair; I was presenting a pretty rough sketch. Let me try to make
it more concrete.
What I had in mind was something akin to autoload that, rather than
providing _any_ clojure mode (in this specific example), instead provides
the user with a buffer conveying that Clojure support in emacs is
available, but is not currently bundled directly, and offers the user a
short description of each of the two packages clojure-mode and
clojure-ts-mode, along with buttons to install and activate each package.
Thus, if a new user started a freshly downloaded emacs, they would find
some guidance (rather than, for example, "[No match]" from M-x or
fundamental-mode from opening test.clj), and we could provide some short
info backed by the full package description in cases where there was no
current always-recommend. The message/guidance could be conceptually
similar to the disable-command machinery.
I had autoload in mind based on the idea that this guidance code would be
supplanted by an actually installed package (and, I think, ideally restored
if the package was later removed). In other words, I'm suggesting adding an
optional dispatching step for the paths most likely to invoke a
not-directly-supported-in-core language.
Perhaps *eventually* something similar could be done for suggesting say,
c-sharp-ts-mode and cc-mode for a fresh emacs and "C-x C-f test.cs". I
imagine that there are refinements that could be useful for someone who
wanted to try assembling a small-core emacs, but I'd be surprised if there
weren't important lessons to learn before that point.
I hope this description is clearer; please let me know if I missed or
forgot anything important.
~Chad
[-- Attachment #2: Type: text/html, Size: 2388 bytes --]
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-28 20:51 ` chad
@ 2023-08-28 22:03 ` Stefan Kangas
2023-08-29 3:21 ` Stefan Monnier
2023-08-29 13:47 ` Eli Zaretskii
2023-08-31 2:07 ` Richard Stallman
2 siblings, 1 reply; 45+ messages in thread
From: Stefan Kangas @ 2023-08-28 22:03 UTC (permalink / raw)
To: chad
Cc: Eli Zaretskii, bozhidar, dmitry, rms, danny, emacs-devel,
manuel.uberti, Stefan Monnier
chad <yandros@gmail.com> writes:
> What I had in mind was something akin to autoload that, rather than providing _any_ clojure mode (in this specific example), instead provides the user with a buffer conveying that Clojure support in emacs is available, but is not currently bundled directly, and offers the user a short description of each of the two packages clojure-mode and clojure-ts-mode, along with buttons to install and activate each package.
How would your idea compare to this?:
https://elpa.gnu.org/packages/gnu-elpa.html
If the idea is similar, perhaps you could try to work your ideas into
that package.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-28 22:03 ` Stefan Kangas
@ 2023-08-29 3:21 ` Stefan Monnier
2023-08-29 11:40 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Stefan Monnier @ 2023-08-29 3:21 UTC (permalink / raw)
To: Stefan Kangas
Cc: chad, Eli Zaretskii, bozhidar, dmitry, rms, danny, emacs-devel,
manuel.uberti
> How would your idea compare to this?:
>
> https://elpa.gnu.org/packages/gnu-elpa.html
>
> If the idea is similar, perhaps you could try to work your ideas into
> that package.
FWIW, that package has some serious implementation issues:
If you do (autoload 'closure-mode ...) and arrange for that autoload to
prompt the user to install the package (which is how the `gnu-elpa`
works), it tends to cause problems in all kinds of circumstances.
The "easy" ones look like:
- When the users already said they're not interested.
The harder ones look like:
- When the caller already decided to use `clojure-mode` rather than
something else because it's `fboundp`.
- When the function wasn't called at all, but instead someone just asked
to see its doc (and it somehow triggered an autoload).
- When the function wasn't called at all, but instead the macroexpander
decided to autoload the function just to see what it's about.
...
A grep of `autoload-do-load` will give you an idea of the breadth of
the problem.
Maybe we should go for a different implementation strategy.
Stefan
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-29 3:21 ` Stefan Monnier
@ 2023-08-29 11:40 ` Eli Zaretskii
2023-08-29 20:13 ` Philip Kaludercic
0 siblings, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2023-08-29 11:40 UTC (permalink / raw)
To: Stefan Monnier
Cc: stefankangas, yandros, bozhidar, dmitry, rms, danny, emacs-devel,
manuel.uberti
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: chad <yandros@gmail.com>, Eli Zaretskii <eliz@gnu.org>,
> bozhidar@batsov.dev, dmitry@gutov.dev, rms@gnu.org,
> danny@dfreeman.email, emacs-devel@gnu.org, manuel.uberti@inventati.org
> Date: Mon, 28 Aug 2023 23:21:50 -0400
>
> Maybe we should go for a different implementation strategy.
I think if we want to offer such a feature, we need first to come up
with some friendly enough UI: when exactly to pop the suggestion, how
to allow users to decline, how to install and configure if they say
yes, etc. Then there would be a need for some kind of DB with popular
features that are not built-in and that people may wish to want; the
challenge here is not to make the DB list too many features, otherwise
we will be popping suggestions every single second...
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-29 11:40 ` Eli Zaretskii
@ 2023-08-29 20:13 ` Philip Kaludercic
2023-08-29 20:24 ` Stefan Kangas
2023-08-30 11:11 ` Eli Zaretskii
0 siblings, 2 replies; 45+ messages in thread
From: Philip Kaludercic @ 2023-08-29 20:13 UTC (permalink / raw)
To: Eli Zaretskii
Cc: Stefan Monnier, stefankangas, yandros, bozhidar, dmitry, rms,
danny, emacs-devel, manuel.uberti
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Stefan Monnier <monnier@iro.umontreal.ca>
>> Cc: chad <yandros@gmail.com>, Eli Zaretskii <eliz@gnu.org>,
>> bozhidar@batsov.dev, dmitry@gutov.dev, rms@gnu.org,
>> danny@dfreeman.email, emacs-devel@gnu.org, manuel.uberti@inventati.org
>> Date: Mon, 28 Aug 2023 23:21:50 -0400
>>
>> Maybe we should go for a different implementation strategy.
>
> I think if we want to offer such a feature, we need first to come up
> with some friendly enough UI: when exactly to pop the suggestion, how
> to allow users to decline, how to install and configure if they say
> yes, etc. Then there would be a need for some kind of DB with popular
> features that are not built-in and that people may wish to want; the
> challenge here is not to make the DB list too many features, otherwise
> we will be popping suggestions every single second...
How about splitting this into two separate tasks? E.g. when a more
specific mode is found, a message is displayed in the minibuffer. This
can occur once a session or once for every file. The message would
instruct the user to invoke the appropriate command (e.g. a custom
command or by using the future history for `package-install').
To make a concrete suggestion: The database would probably consist of
possible extensions to `auto-mode-alist', `magic-mode-alist' and
`interpreter-mode-alist'.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-29 20:13 ` Philip Kaludercic
@ 2023-08-29 20:24 ` Stefan Kangas
2023-08-29 20:31 ` Philip Kaludercic
2023-08-30 11:11 ` Eli Zaretskii
1 sibling, 1 reply; 45+ messages in thread
From: Stefan Kangas @ 2023-08-29 20:24 UTC (permalink / raw)
To: Philip Kaludercic
Cc: Eli Zaretskii, Stefan Monnier, yandros, bozhidar, dmitry, rms,
danny, emacs-devel, manuel.uberti
Philip Kaludercic <philipk@posteo.net> writes:
> How about splitting this into two separate tasks? E.g. when a more
> specific mode is found, a message is displayed in the minibuffer.
FWIW, my ideal scenario looks like this:
"You seem to have opened a Clojure file. Would you like to install
clojure-mode (yes/no/help)?"
When the user types "yes RET", the package gets installed, loaded in
the running session, and enabled in the relevant buffer.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-29 20:24 ` Stefan Kangas
@ 2023-08-29 20:31 ` Philip Kaludercic
2023-08-29 20:43 ` Stefan Kangas
0 siblings, 1 reply; 45+ messages in thread
From: Philip Kaludercic @ 2023-08-29 20:31 UTC (permalink / raw)
To: Stefan Kangas
Cc: Eli Zaretskii, Stefan Monnier, yandros, bozhidar, dmitry, rms,
danny, emacs-devel, manuel.uberti
Stefan Kangas <stefankangas@gmail.com> writes:
> Philip Kaludercic <philipk@posteo.net> writes:
>
>> How about splitting this into two separate tasks? E.g. when a more
>> specific mode is found, a message is displayed in the minibuffer.
>
> FWIW, my ideal scenario looks like this:
>
> "You seem to have opened a Clojure file. Would you like to install
> clojure-mode (yes/no/help)?"
>
> When the user types "yes RET", the package gets installed, loaded in
> the running session, and enabled in the relevant buffer.
This seems invasive, especially if the database has false-positives for
a user. If anything, I think this kind of behaviour sound be opt-in.
But you are right, package-install is not sufficient, enabling the right
mode for all the relevant buffer(s) seems like the right thing to do.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-29 20:31 ` Philip Kaludercic
@ 2023-08-29 20:43 ` Stefan Kangas
2023-08-30 7:26 ` Philip Kaludercic
0 siblings, 1 reply; 45+ messages in thread
From: Stefan Kangas @ 2023-08-29 20:43 UTC (permalink / raw)
To: Philip Kaludercic
Cc: Eli Zaretskii, Stefan Monnier, yandros, bozhidar, dmitry, rms,
danny, emacs-devel, manuel.uberti
Philip Kaludercic <philipk@posteo.net> writes:
> > FWIW, my ideal scenario looks like this:
> >
> > "You seem to have opened a Clojure file. Would you like to install
> > clojure-mode (yes/no/help)?"
> >
> > When the user types "yes RET", the package gets installed, loaded in
> > the running session, and enabled in the relevant buffer.
>
> This seems invasive, especially if the database has false-positives for
> a user.
With false positives it would suck, of course. On the other hand,
perhaps adding a "don't ask me again" would make it more tolerable.
> If anything, I think this kind of behaviour sound be opt-in.
One idea would be to make the less-invasive "message in minibuffer"
variant the default, and the more-invasive "in your face prompt"
variant opt-in.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-29 20:43 ` Stefan Kangas
@ 2023-08-30 7:26 ` Philip Kaludercic
2023-08-30 15:33 ` Stefan Kangas
0 siblings, 1 reply; 45+ messages in thread
From: Philip Kaludercic @ 2023-08-30 7:26 UTC (permalink / raw)
To: Stefan Kangas
Cc: Eli Zaretskii, Stefan Monnier, yandros, bozhidar, dmitry, rms,
danny, emacs-devel, manuel.uberti
Stefan Kangas <stefankangas@gmail.com> writes:
> Philip Kaludercic <philipk@posteo.net> writes:
>
>> > FWIW, my ideal scenario looks like this:
>> >
>> > "You seem to have opened a Clojure file. Would you like to install
>> > clojure-mode (yes/no/help)?"
>> >
>> > When the user types "yes RET", the package gets installed, loaded in
>> > the running session, and enabled in the relevant buffer.
>>
>> This seems invasive, especially if the database has false-positives for
>> a user.
>
> With false positives it would suck, of course. On the other hand,
> perhaps adding a "don't ask me again" would make it more tolerable.
>
>> If anything, I think this kind of behaviour sound be opt-in.
>
> One idea would be to make the less-invasive "message in minibuffer"
> variant the default, and the more-invasive "in your face prompt"
> variant opt-in.
So we are thinking about a user-option like `package-autosuggest' that
would have the values
- always :: always prompt the user when a more specific package is
available
- once (or t) :: ask the user once per session, when a more specific
package is available
- message :: only print a message if a more specific package is
available
- nil :: do not look for more specific packages at all
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-30 7:26 ` Philip Kaludercic
@ 2023-08-30 15:33 ` Stefan Kangas
0 siblings, 0 replies; 45+ messages in thread
From: Stefan Kangas @ 2023-08-30 15:33 UTC (permalink / raw)
To: Philip Kaludercic
Cc: Eli Zaretskii, Stefan Monnier, yandros, bozhidar, dmitry, rms,
danny, emacs-devel, manuel.uberti
Philip Kaludercic <philipk@posteo.net> writes:
> So we are thinking about a user-option like `package-autosuggest' that
> would have the values
>
> - always :: always prompt the user when a more specific package is
> available
> - once (or t) :: ask the user once per session, when a more specific
> package is available
> - message :: only print a message if a more specific package is
> available
> - nil :: do not look for more specific packages at all
Makes sense to me.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-29 20:13 ` Philip Kaludercic
2023-08-29 20:24 ` Stefan Kangas
@ 2023-08-30 11:11 ` Eli Zaretskii
2023-08-30 11:51 ` Philip Kaludercic
1 sibling, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2023-08-30 11:11 UTC (permalink / raw)
To: Philip Kaludercic
Cc: monnier, stefankangas, yandros, bozhidar, dmitry, rms, danny,
emacs-devel, manuel.uberti
> From: Philip Kaludercic <philipk@posteo.net>
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, stefankangas@gmail.com,
> yandros@gmail.com, bozhidar@batsov.dev, dmitry@gutov.dev, rms@gnu.org,
> danny@dfreeman.email, emacs-devel@gnu.org, manuel.uberti@inventati.org
> Date: Tue, 29 Aug 2023 20:13:43 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > I think if we want to offer such a feature, we need first to come up
> > with some friendly enough UI: when exactly to pop the suggestion, how
> > to allow users to decline, how to install and configure if they say
> > yes, etc. Then there would be a need for some kind of DB with popular
> > features that are not built-in and that people may wish to want; the
> > challenge here is not to make the DB list too many features, otherwise
> > we will be popping suggestions every single second...
>
> How about splitting this into two separate tasks? E.g. when a more
> specific mode is found, a message is displayed in the minibuffer. This
> can occur once a session or once for every file. The message would
> instruct the user to invoke the appropriate command (e.g. a custom
> command or by using the future history for `package-install').
Something like that, yes. But maybe there are other ideas?
> To make a concrete suggestion: The database would probably consist of
> possible extensions to `auto-mode-alist', `magic-mode-alist' and
> `interpreter-mode-alist'.
That'd be the anchor, definitely, at least for major modes. It could
be a single function that is called if no suitable entry is found in
any of these variables.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-30 11:11 ` Eli Zaretskii
@ 2023-08-30 11:51 ` Philip Kaludercic
2023-08-30 12:09 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Philip Kaludercic @ 2023-08-30 11:51 UTC (permalink / raw)
To: Eli Zaretskii
Cc: monnier, stefankangas, yandros, bozhidar, dmitry, rms, danny,
emacs-devel, manuel.uberti
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Philip Kaludercic <philipk@posteo.net>
>> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, stefankangas@gmail.com,
>> yandros@gmail.com, bozhidar@batsov.dev, dmitry@gutov.dev, rms@gnu.org,
>> danny@dfreeman.email, emacs-devel@gnu.org, manuel.uberti@inventati.org
>> Date: Tue, 29 Aug 2023 20:13:43 +0000
>>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> > I think if we want to offer such a feature, we need first to come up
>> > with some friendly enough UI: when exactly to pop the suggestion, how
>> > to allow users to decline, how to install and configure if they say
>> > yes, etc. Then there would be a need for some kind of DB with popular
>> > features that are not built-in and that people may wish to want; the
>> > challenge here is not to make the DB list too many features, otherwise
>> > we will be popping suggestions every single second...
>>
>> How about splitting this into two separate tasks? E.g. when a more
>> specific mode is found, a message is displayed in the minibuffer. This
>> can occur once a session or once for every file. The message would
>> instruct the user to invoke the appropriate command (e.g. a custom
>> command or by using the future history for `package-install').
>
> Something like that, yes. But maybe there are other ideas?
Another idea might be to indicate that a package can be installed in the
mode-line. If the user interacts with it, some the right package would
be installed, activated and enabled in the applicable buffers.
>> To make a concrete suggestion: The database would probably consist of
>> possible extensions to `auto-mode-alist', `magic-mode-alist' and
>> `interpreter-mode-alist'.
>
> That'd be the anchor, definitely, at least for major modes. It could
> be a single function that is called if no suitable entry is found in
> any of these variables.
What could be a single function?
--
Philip Kaludercic
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-30 11:51 ` Philip Kaludercic
@ 2023-08-30 12:09 ` Eli Zaretskii
2023-08-30 12:25 ` Philip Kaludercic
0 siblings, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2023-08-30 12:09 UTC (permalink / raw)
To: Philip Kaludercic
Cc: monnier, stefankangas, yandros, bozhidar, dmitry, rms, danny,
emacs-devel, manuel.uberti
> From: Philip Kaludercic <philipk@posteo.net>
> Cc: monnier@iro.umontreal.ca, stefankangas@gmail.com, yandros@gmail.com,
> bozhidar@batsov.dev, dmitry@gutov.dev, rms@gnu.org,
> danny@dfreeman.email, emacs-devel@gnu.org, manuel.uberti@inventati.org
> Date: Wed, 30 Aug 2023 11:51:37 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> To make a concrete suggestion: The database would probably consist of
> >> possible extensions to `auto-mode-alist', `magic-mode-alist' and
> >> `interpreter-mode-alist'.
> >
> > That'd be the anchor, definitely, at least for major modes. It could
> > be a single function that is called if no suitable entry is found in
> > any of these variables.
>
> What could be a single function?
That function would look up some database and suggest a package if it
exists.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-30 12:09 ` Eli Zaretskii
@ 2023-08-30 12:25 ` Philip Kaludercic
2023-08-30 13:32 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Philip Kaludercic @ 2023-08-30 12:25 UTC (permalink / raw)
To: Eli Zaretskii
Cc: monnier, stefankangas, yandros, bozhidar, dmitry, rms, danny,
emacs-devel, manuel.uberti
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Philip Kaludercic <philipk@posteo.net>
>> Cc: monnier@iro.umontreal.ca, stefankangas@gmail.com, yandros@gmail.com,
>> bozhidar@batsov.dev, dmitry@gutov.dev, rms@gnu.org,
>> danny@dfreeman.email, emacs-devel@gnu.org, manuel.uberti@inventati.org
>> Date: Wed, 30 Aug 2023 11:51:37 +0000
>>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> >> To make a concrete suggestion: The database would probably consist of
>> >> possible extensions to `auto-mode-alist', `magic-mode-alist' and
>> >> `interpreter-mode-alist'.
>> >
>> > That'd be the anchor, definitely, at least for major modes. It could
>> > be a single function that is called if no suitable entry is found in
>> > any of these variables.
>>
>> What could be a single function?
>
> That function would look up some database and suggest a package if it
> exists.
Ah, yes that is true.
Are there any other examples, where we would want to have minor modes
for specific file types? These sorts of entries would probably have to
be added manually.
I am glad to see that there is interest in this proposal. I can try and
create an example of how this could work, and push it to a feature
branch for further review, some time soon. As mentioned elsewhere, this
might or might not be related to updating the "archive-contents" format
and adding package.el to GNU ELPA, as mentioned in [0]
[0] https://mail.gnu.org/archive/html/emacs-devel/2023-08/msg00667.html
--
Philip Kaludercic
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-30 12:25 ` Philip Kaludercic
@ 2023-08-30 13:32 ` Eli Zaretskii
0 siblings, 0 replies; 45+ messages in thread
From: Eli Zaretskii @ 2023-08-30 13:32 UTC (permalink / raw)
To: Philip Kaludercic
Cc: monnier, stefankangas, yandros, bozhidar, dmitry, rms, danny,
emacs-devel
> From: Philip Kaludercic <philipk@posteo.net>
> Cc: monnier@iro.umontreal.ca, stefankangas@gmail.com, yandros@gmail.com,
> bozhidar@batsov.dev, dmitry@gutov.dev, rms@gnu.org,
> danny@dfreeman.email, emacs-devel@gnu.org, manuel.uberti@inventati.org
> Date: Wed, 30 Aug 2023 12:25:20 +0000
>
> Are there any other examples, where we would want to have minor modes
> for specific file types? These sorts of entries would probably have to
> be added manually.
I don't know, maybe someone else has an idea.
> I am glad to see that there is interest in this proposal. I can try and
> create an example of how this could work, and push it to a feature
> branch for further review, some time soon.
I think this could be useful, yes.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-28 20:51 ` chad
2023-08-28 22:03 ` Stefan Kangas
@ 2023-08-29 13:47 ` Eli Zaretskii
2023-08-31 2:07 ` Richard Stallman
2 siblings, 0 replies; 45+ messages in thread
From: Eli Zaretskii @ 2023-08-29 13:47 UTC (permalink / raw)
To: chad; +Cc: dmitry, rms, emacs-devel
> From: chad <yandros@gmail.com>
> Date: Mon, 28 Aug 2023 16:51:12 -0400
> Cc: bozhidar@batsov.dev, dmitry@gutov.dev, rms@gnu.org, danny@dfreeman.email,
> emacs-devel@gnu.org, manuel.uberti@inventati.org
>
> What I had in mind was something akin to autoload that, rather than providing _any_ clojure mode (in
> this specific example), instead provides the user with a buffer conveying that Clojure support in
> emacs is available, but is not currently bundled directly, and offers the user a short description of
> each of the two packages clojure-mode and clojure-ts-mode, along with buttons to install and activate
> each package.
>
> Thus, if a new user started a freshly downloaded emacs, they would find some guidance (rather than,
> for example, "[No match]" from M-x or fundamental-mode from opening test.clj), and we could provide
> some short info backed by the full package description in cases where there was no current
> always-recommend. The message/guidance could be conceptually similar to the disable-command
> machinery.
>
> I had autoload in mind based on the idea that this guidance code would be supplanted by an actually
> installed package (and, I think, ideally restored if the package was later removed). In other words, I'm
> suggesting adding an optional dispatching step for the paths most likely to invoke a
> not-directly-supported-in-core language.
>
> Perhaps *eventually* something similar could be done for suggesting say, c-sharp-ts-mode and
> cc-mode for a fresh emacs and "C-x C-f test.cs". I imagine that there are refinements that could be
> useful for someone who wanted to try assembling a small-core emacs, but I'd be surprised if there
> weren't important lessons to learn before that point.
>
> I hope this description is clearer; please let me know if I missed or forgot anything important.
Thanks, it's more clear now.
However, this is a kind of feature we never had in Emacs, so I think
we should first discuss how to present such suggestions to users, and
also how to keep the database of packages we'd like to suggest
installing in this way.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-28 20:51 ` chad
2023-08-28 22:03 ` Stefan Kangas
2023-08-29 13:47 ` Eli Zaretskii
@ 2023-08-31 2:07 ` Richard Stallman
2023-08-31 11:50 ` Gregor Zattler
2 siblings, 1 reply; 45+ messages in thread
From: Richard Stallman @ 2023-08-31 2:07 UTC (permalink / raw)
To: chad; +Cc: emacs-devel
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> What I had in mind was something akin to autoload that, rather than
> providing _any_ clojure mode (in this specific example), instead provides
> the user with a buffer conveying that Clojure support in emacs is
> available, but is not currently bundled directly, and offers the user a
> short description of each of the two packages clojure-mode and
> clojure-ts-mode, along with buttons to install and activate each package.
That would be more convenient for people editing Clojure programs.
But it has a downside: it would tend to fuzz the distinction between
GNU Emacs and NonGNU ELPA.
That distinction is important, and it is important for users
to know about it.
This is why loading anything whatsoever from NonGNU ELPA has to be an
explicit request from the user. Nothing should ever enable it
implicitly.
Perhaps we can find a way to modify this suggestion to avoid that
downside. The crucial thing is not to aim to make it smooth or
automatic, but on the contrary to impress on the user that this
is crossing a gulf.
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-31 2:07 ` Richard Stallman
@ 2023-08-31 11:50 ` Gregor Zattler
0 siblings, 0 replies; 45+ messages in thread
From: Gregor Zattler @ 2023-08-31 11:50 UTC (permalink / raw)
To: rms, chad; +Cc: emacs-devel
* Richard Stallman <rms@gnu.org> [2023-08-30; 22:07 -04]:
> [[[ To any NSA and FBI agents reading my email: please consider ]]]
> [[[ whether defending the US Constitution against all enemies, ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
> > What I had in mind was something akin to autoload that, rather than
> > providing _any_ clojure mode (in this specific example), instead provides
> > the user with a buffer conveying that Clojure support in emacs is
> > available, but is not currently bundled directly, and offers the user a
> > short description of each of the two packages clojure-mode and
> > clojure-ts-mode, along with buttons to install and activate each package.
>
> That would be more convenient for people editing Clojure programs.
> But it has a downside: it would tend to fuzz the distinction between
> GNU Emacs and NonGNU ELPA.
>
> That distinction is important, and it is important for users
> to know about it.
>
> This is why loading anything whatsoever from NonGNU ELPA has to be an
> explicit request from the user. Nothing should ever enable it
> implicitly.
>
> Perhaps we can find a way to modify this suggestion to avoid that
> downside. The crucial thing is not to aim to make it smooth or
> automatic, but on the contrary to impress on the user that this
> is crossing a gulf.
why is this crossing a gulf?
The packages in NonGnu ELPA are selected by the Emacs
developers, and according to
https://git.savannah.gnu.org/cgit/emacs/nongnu.git/plain/README.org,
there "* Guidance for accepting packages", a package in
NonGnu ELPA is GPL-3+ (for documentation and education
other licenses are prescribed), does not refer users to
any nonfree software or nonfree documentation, in
general does not run code that it has fetched over the
internet, delivers its full functionality and
convenience on a completely free platform based on the
GNU operating system, only provides features on
non-free systems which are already provides on free
ones, may communicate with a class of remote services
only if this is for communication or to access
published material, may not use remote services to do
the user's own computational processing, may not
advertise anything commercial with material in the
NonGNU ELPA package or this repository with the
exception of paid service for said package; the Emacs
developers even may change/maintain it.
So the only difference to Gnu ELPA is the copyright
assignment. Why does that amount to crossing a gulf
for the user?
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-28 17:04 ` Eli Zaretskii
2023-08-28 20:51 ` chad
@ 2023-08-31 2:07 ` Richard Stallman
2023-08-31 5:51 ` Eli Zaretskii
1 sibling, 1 reply; 45+ messages in thread
From: Richard Stallman @ 2023-08-31 2:07 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: emacs-devel
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> The current idea of including ELPA packages is to include them in the
> release tarball, so that for the end-user it looks exactly like a core
> package.
We can do that with some GNU ELPA packages, but the GNU Project cannot
distribute NonGNU ELPA packages as part of GNU Emacs.
The point of NonGNU ELPA is to make it easier for users to access some
of the packages that we can't include in GNU Emacs. But it is still
indirect. We cannot do anything that treats them as part of GNU
Emacs.
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-31 2:07 ` Richard Stallman
@ 2023-08-31 5:51 ` Eli Zaretskii
0 siblings, 0 replies; 45+ messages in thread
From: Eli Zaretskii @ 2023-08-31 5:51 UTC (permalink / raw)
To: rms; +Cc: emacs-devel
> From: Richard Stallman <rms@gnu.org>
> Cc: emacs-devel@gnu.org
> Date: Wed, 30 Aug 2023 22:07:44 -0400
>
> > The current idea of including ELPA packages is to include them in the
> > release tarball, so that for the end-user it looks exactly like a core
> > package.
>
> We can do that with some GNU ELPA packages, but the GNU Project cannot
> distribute NonGNU ELPA packages as part of GNU Emacs.
It is indeed planned to do that only with packages on GNU ELPA. But
we haven't yet figured some important aspects of including ELPA
packages in release tarballs, so the idea is there, but it is not yet
actionable.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-27 1:42 ` Dmitry Gutov
2023-08-27 18:55 ` Bozhidar Batsov
@ 2023-08-29 1:52 ` Richard Stallman
2023-08-29 1:57 ` Dmitry Gutov
1 sibling, 1 reply; 45+ messages in thread
From: Richard Stallman @ 2023-08-29 1:52 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: emacs-devel, manuel.uberti, danny
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> clojure-mode is an existing package with thousands (tens of thousands?
> millions?) users and certain existing functionality. Other (also
> third-party) packages rely on it for various functionality. It's not a
> bare-bones major mode with basic functionality only.
This underscores my point: clojure-mode is an important feature, so
Emacs should provide it. It should be a full-fledged part of Emacs,
documented in Emacs. To leave these jobs to nonrecommended add-ons,
such as found in NonGNU-ELPA, is not doing a good job.
We hope that Emacs users who write extensions will appreciate Emacs
enough to contribute them to Emacs. Usually they do. When they
don't, that's unfortunate -- but we can make up for it. It isn't an
lot of work compared with all the work we do on Emacs in a year.
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-29 1:52 ` Richard Stallman
@ 2023-08-29 1:57 ` Dmitry Gutov
2023-08-29 1:59 ` Danny Freeman
0 siblings, 1 reply; 45+ messages in thread
From: Dmitry Gutov @ 2023-08-29 1:57 UTC (permalink / raw)
To: rms; +Cc: emacs-devel, manuel.uberti, danny
On 29/08/2023 04:52, Richard Stallman wrote:
> > clojure-mode is an existing package with thousands (tens of thousands?
> > millions?) users and certain existing functionality. Other (also
> > third-party) packages rely on it for various functionality. It's not a
> > bare-bones major mode with basic functionality only.
>
> This underscores my point: clojure-mode is an important feature, so
> Emacs should provide it. It should be a full-fledged part of Emacs,
> documented in Emacs. To leave these jobs to nonrecommended add-ons,
> such as found in NonGNU-ELPA, is not doing a good job.
>
> We hope that Emacs users who write extensions will appreciate Emacs
> enough to contribute them to Emacs. Usually they do. When they
> don't, that's unfortunate -- but we can make up for it. It isn't an
> lot of work compared with all the work we do on Emacs in a year.
It's an important feature for an existing ecosystem of packages whose
authors chose to develop and distribute them the way they did.
Hijacking the name, at the very least, would bring a lot of problems.
^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: Clojure mode
2023-08-29 1:57 ` Dmitry Gutov
@ 2023-08-29 1:59 ` Danny Freeman
0 siblings, 0 replies; 45+ messages in thread
From: Danny Freeman @ 2023-08-29 1:59 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: rms, emacs-devel, manuel.uberti
Dmitry Gutov <dmitry@gutov.dev> writes:
> On 29/08/2023 04:52, Richard Stallman wrote:
>> > clojure-mode is an existing package with thousands (tens of thousands?
>> > millions?) users and certain existing functionality. Other (also
>> > third-party) packages rely on it for various functionality. It's not a
>> > bare-bones major mode with basic functionality only.
>> This underscores my point: clojure-mode is an important feature, so
>> Emacs should provide it. It should be a full-fledged part of Emacs,
>> documented in Emacs. To leave these jobs to nonrecommended add-ons,
>> such as found in NonGNU-ELPA, is not doing a good job.
>> We hope that Emacs users who write extensions will appreciate Emacs
>> enough to contribute them to Emacs. Usually they do. When they
>> don't, that's unfortunate -- but we can make up for it. It isn't an
>> lot of work compared with all the work we do on Emacs in a year.
>
> It's an important feature for an existing ecosystem of packages whose authors chose to develop and
> distribute them the way they did.
>
> Hijacking the name, at the very least, would bring a lot of problems.
This is the main source of my concern, summed up better than I am able
to put things.
If the concern is having a decent out of the box experience for reading
and editing clojure source files, would enabling `lisp-mode` out of the
box for clojure-mode files be a decent middle ground? That would provide
decent font-locking and indentation, with a simple modification to the
auto-mode-alist. I just tried it on a clojure project and it looks and
behaves decently.
If a user wants a more IDE like experience they could reach for CIDER
from NonGNU Elpa.
--
Danny Freeman
^ permalink raw reply [flat|nested] 45+ messages in thread
end of thread, other threads:[~2023-09-10 16:36 UTC | newest]
Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-09 19:39 Clojure mode Ryan Tate
2023-09-10 5:14 ` Eli Zaretskii
2023-09-10 6:07 ` Ryan Tate
2023-09-10 6:56 ` Eli Zaretskii
2023-09-10 7:13 ` Ryan Tate
2023-09-10 7:50 ` Eli Zaretskii
2023-09-10 16:36 ` Barry Fishman
-- strict thread matches above, loose matches on Subject: below --
2023-08-12 18:35 New Package for NonGNU-ELPA: clojure-ts-mode Danny Freeman
2023-08-12 19:10 ` Philip Kaludercic
2023-08-12 19:12 ` Danny Freeman
2023-08-12 20:31 ` Philip Kaludercic
2023-08-13 5:19 ` Eli Zaretskii
2023-08-13 13:02 ` Danny Freeman
2023-08-13 13:30 ` Eli Zaretskii
2023-08-13 13:35 ` Danny Freeman
2023-08-13 14:13 ` Eli Zaretskii
2023-08-14 13:14 ` Danny Freeman
2023-08-23 12:55 ` Danny Freeman
2023-08-25 1:11 ` Clojure mode Richard Stallman
2023-08-25 7:25 ` Philip Kaludercic
2023-08-26 2:05 ` Richard Stallman
2023-08-26 7:16 ` Philip Kaludercic
2023-08-26 13:48 ` Danny Freeman
2023-08-26 15:24 ` Manuel Uberti
2023-08-26 14:05 ` Dmitry Gutov
2023-08-27 1:35 ` Richard Stallman
2023-08-27 1:42 ` Dmitry Gutov
2023-08-27 18:55 ` Bozhidar Batsov
2023-08-27 18:58 ` Eli Zaretskii
2023-08-27 19:08 ` Bozhidar Batsov
2023-08-27 19:13 ` Eli Zaretskii
2023-08-28 16:35 ` chad
2023-08-28 17:04 ` Eli Zaretskii
2023-08-28 20:51 ` chad
2023-08-28 22:03 ` Stefan Kangas
2023-08-29 3:21 ` Stefan Monnier
2023-08-29 11:40 ` Eli Zaretskii
2023-08-29 20:13 ` Philip Kaludercic
2023-08-29 20:24 ` Stefan Kangas
2023-08-29 20:31 ` Philip Kaludercic
2023-08-29 20:43 ` Stefan Kangas
2023-08-30 7:26 ` Philip Kaludercic
2023-08-30 15:33 ` Stefan Kangas
2023-08-30 11:11 ` Eli Zaretskii
2023-08-30 11:51 ` Philip Kaludercic
2023-08-30 12:09 ` Eli Zaretskii
2023-08-30 12:25 ` Philip Kaludercic
2023-08-30 13:32 ` Eli Zaretskii
2023-08-29 13:47 ` Eli Zaretskii
2023-08-31 2:07 ` Richard Stallman
2023-08-31 11:50 ` Gregor Zattler
2023-08-31 2:07 ` Richard Stallman
2023-08-31 5:51 ` Eli Zaretskii
2023-08-29 1:52 ` Richard Stallman
2023-08-29 1:57 ` Dmitry Gutov
2023-08-29 1:59 ` Danny Freeman
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.