|
|
Subscribe / Log in / New account

Toward a "modern" Emacs

By Jonathan Corbet
September 25, 2020
It has only been a few months since the Emacs community went through an extended discussion on how to make the Emacs editor "popular again". As the community gears up for the Emacs 28 development cycle, (after the Emacs 27.1 release in August) that discussion has returned with a vengeance. The themes of this discussion differ somewhat from the last; developers are concerned about making Emacs — an editor with decades of history — seem "modern" to attract new users.

The May 2020 discussion focused on restoring the popularity that Emacs is felt to have enjoyed in the past. It could well be that there are more Emacs users now than at any time in the past but the editor's share of the total computing user base has clearly shrunk over time. The current discussion has a similar but different focus: attracting new users to Emacs, an editor that is widely seen as being outdated and as having a difficult and intimidating learning curve.

A more modern Emacs

The initial thread was started by "Ergus" on September 6 as a request to consider some changes for the Emacs 28 release. Rather than focus on new features, though, Ergus proposed making some existing features more accessible:

These are mainly "visible" changes that will benefit new users and first impressions because I don't understand why we hide the best functionalities until the user learns how to configure them (and some lisp).

Many of the suggestions reverberated through the following discussions, starting with the idea that the default theme for Emacs should be improved. In particular, Ergus suggested the adoption of a dark theme by default "to make Emacs feel more modern". The discussion often returned to the idea that Emacs needs a more "modern" look and feel, though there was, understandably, some difference of opinion over what "modern" means.

A default dark theme may not be in the future, leading one to think that there may yet be hope for the world in general. But there does seem to be general agreement that Emacs could benefit from a better, more centralized approach to color themes, rather than having color names hard-coded throughout various Elisp packages. From that, a proper theme engine could be supported, making dark themes and such easily available to those who want them.

There was some discussion of adopting the Solarized color palette in particular. As Dmitry Gutov pointed out, though, Solarized makes for a rather low-contrast experience; a look at this screenshot of Emacs with Solarized colors makes that clear enough.

Another area where Emacs is insufficiently "modern", it seems, has to do with keyboard and mouse bindings. On the keyboard side, users have come to expect certain actions from certain keystrokes; ^X to cut a selection, ^V to paste it, etc. These bindings are easily had by turning on the Cua mode, but new users tend not to know about this mode or how to enable it. Many participants in the discussion said that this mode should be on by default.

That, of course, would break the finger memory of large numbers of existing Emacs users, who would be unlikely to appreciate the disruption. Or, as Richard Stallman put it:

It is not an option to change these basic key bindings to imitate other, newer editors. It would create a different editor that we Emacs users would never switch to. It is unfortunate that the people who implemented the newer editors chose incompatibility with Emacs.

For better or worse, though, the "newer editors" appear to have won out in this regard. The default bindings in Emacs may not change anytime soon, but that doesn't mean Emacs can't provide a way for users to get that behavior without needing to learn Lisp first.

The situation with mouse behavior is similar; as several participants in the discussion pointed out, users of graphical interfaces have come to expect that a right-button click will produce a menu of available actions. In Emacs, instead, that button marks a region ("selection"), with a second click in the same spot yanking ("cutting") the selected text. Many experienced Emacs users have come to like this behavior, but it is surprising to newcomers. The right mouse button with the control key held down does produce a menu defined by the current major mode, but that is evidently not what is being requested here; that menu, some say, should present global actions rather mode-specific ones.

Stallman suggested offering a "reshuffled mode" that would bring the context menu to an unadorned right-button click, and which would add some of the expected basic editing commands there as well. This would be relatively easy to do, he said, since mouse bindings are separate from everything else. Besides, as he noted, the current mouse behavior was derived from "what was the standard in X Windows around 1990"; while one wouldn't want to act in haste, it might just be about time for an update.

Discoverability

In general, Emacs has all of the capabilities that new users might wish to have (and more), but those capabilities can be difficult to discover and use. So a number of the proposed changes had to do with easing discovery. This came as an apparent surprise to some Emacs developers, who have long thought of the menu bar at the top of each window as being an easy way for users to discover features. But evidently it is common to disable the menu bar for Emacs; as Gregory Heytings put it, "menus are not 'modern'". To be "modern", an application must either attach its menus to the right mouse button or, at most, provide a "hamburger menu" from a single button.

Emacs could certainly move to that mode, at least until menu bars are fashionable again. But there are other ideas for improving discoverability circulating as well. One of those would be to offer a "guided tour" to new users upon the first invocation of the editor that would quickly introduce core Emacs features; this would be an enhancement of the tutorial that exists now. There was also a discussion of producing a series of videos, or perhaps just making use of the many videos that exist now. Stefan Monnier suggested short videos to match the perceived attention span of young users, "ideally funny and sexy, maybe with a cat".

A step beyond the guided tour would be some sort of "configuration assistant" that would run on the first invocation of Emacs. It could offer tours, but it would also give the user the opportunity to configure the editor in ways that might better match their expectations. Features like Cua mode could be enabled, for example, mouse bindings adjusted, and a depressing dark theme selected without the need to type a single parenthesis. That might be enough to overcome the initial shock of exposure to Emacs for many new users.

One other suggestion that was raised frequently is to enable various modes that are not turned on by default in Emacs; indeed, several of them are not shipped with Emacs at all. For example, Ibuffer is generally seen as superior to the standard Emacs buffer list, so many think it should replace the standard list. The Emacs "undo" mechanism is more capable than what is provided in many other editors, but it is also seen as difficult to use; some users think that the undo-tree mode makes undo easier and should be shipped with Emacs and enabled by default. There are several modes that enhance the editor's command-search and autocompletion capabilities, including Ivy, Helm, and Ido, among others. Many of these, it is argued, provide behavior more in line with current expectations and improve discoverability; one of them should be adopted and made the default.

Attracting developers

One problem with many of these packages is that they are not actually a part of GNU Emacs. Changing that would often require the author to sign copyrights over to the Free Software Foundation, which is not something all authors are willing to do. Similar problems arise with many of the derivative Emacs "distributions", such as spacemacs or Doom, which have clearly eased the path into Emacs for some users. Some of the ideas found in these distributions may well merit inclusion in Emacs, but that does not happen. Emacs maintainer Eli Zaretskii complained that the creators of these distributions do not contribute their work back.

This points to one idea that did not really come up in the discussion, but which should be considered: part of the key to making Emacs more attractive to users might be making its development community more attractive to contributors. Adopting some of the more forge-oriented tools favored by younger developers might help in this regard, as might a less centralized governance model. Emacs remains an old-style GNU project, a fact which clearly grates on its developers at times. Increasing the relevance of Emacs in the coming years is going to require more than new key bindings and some cat videos; it is likely to require attention to improving the experience at all levels.


to post comments

Toward a "modern" Emacs

Posted Sep 25, 2020 17:03 UTC (Fri) by horen (guest, #2514) [Link]

Take a page from "Portlandia" -- put a bird on it -- and leave it at that.

Toward a "modern" Emacs

Posted Sep 25, 2020 17:55 UTC (Fri) by smoogen (subscriber, #97) [Link] (52 responses)

I think the final paragraph is the crux of the matter and the rest of the discussion which has been going on for years is the side talk.

```
This points to one idea that did not really come up in the discussion, but which should be considered: part of the key to making Emacs more attractive to users might be making its development community more attractive to contributors. Adopting some of the more forge-oriented tools favored by younger developers might help in this regard, as might a less centralized governance model. Emacs remains an old-style GNU project, a fact which clearly grates on its developers at times. Increasing the relevance of Emacs in the coming years is going to require more than new key bindings and some cat videos; it is likely to require attention to improving the experience at all levels.
```

In the end, making emacs into looking like all the current code editors like VScode and such does not fix the core problem: to have an editor for developers, you have to have the environment developers want to work in. Frankly I don't see that changing because a lot of people are happy with what they have. The only way I see it changing is people doing the hard work of making a new community that does those things, gets changes done and sees if new people are interested in having a completely programmable editor written in what is now an esoteric language.

[Says the person who has been using emacs since 1987 ... but finds no interest in training new people in it anymore.]

Toward a "modern" Emacs

Posted Sep 26, 2020 1:31 UTC (Sat) by marcH (subscriber, #57642) [Link] (51 responses)

> I think the final paragraph is the crux of the matter and the rest of the discussion which has been going on for years is the side talk. [...] sees if new people are interested in having a completely programmable editor written in what is now an esoteric language.

Spot on, thank you. A "noob-friendly" mode wouldn't hurt (as long as long time users can disable it) but you really don't need a very large user base for a project like this to strive. It's much more important to make super easy to contribute for the _users you already have_. I've been using Emacs for a couple decades and I found the process to submit a one-line patch ridiculously outdated, see my other comment below.

With delusional friends like these, Emacs needs no enemy:

> "It is unfortunate that the people who implemented the newer editors chose incompatibility with Emacs."

I think I read once one of the designers of the GPL stating that copyleft, copyright assignment and other restrictions wouldn't be needed in a perfect world with BSD licenses everywhere. Something like that.

The world has completely changed since the copyleft was invented. It's not "perfect" because closed source still exists (always will) but open source is absolutely "everywhere you look" and a massive lot is NOT copyleft. The FSF people have won but they haven't noticed because of their idealism/dogma. So we're now in this crazy situation where it takes more effort to make open-source contribution to FSF projects because of paperwork and refusal to use any tool that is not Kosher.

Toward a "modern" Emacs

Posted Sep 26, 2020 1:46 UTC (Sat) by pizza (subscriber, #46) [Link] (17 responses)

> It's not "perfect" because closed source still exists (always will) but open source is absolutely "everywhere you look" and a massive lot is NOT copyleft. The FSF people have won but they haven't noticed because of their idealism/dogma.

The "FSF people" may have managed to change the world, but they have not "won" -- "Open Source" is not "Free Software".

Toward a "modern" Emacs

Posted Sep 26, 2020 2:17 UTC (Sat) by marcH (subscriber, #57642) [Link]

> > and a massive lot is NOT copyleft.

> The "FSF people" may have managed to change the world, but they have not "won" -- "Open Source" is not "Free Software".

I meant: a massive lot is not copyleft and either BSD, MIT, Apache, etc. which are all Free Software. "More free" than GPL actually because you're not forced to do good things; you're also allowed to do "bad" things.

Also, they did not "won" also because open source was inevitable anyway; at best they accelerated it. With "they won" I was just trying to be stylish I think you got my point.

Toward a "modern" Emacs

Posted Sep 26, 2020 4:03 UTC (Sat) by rsidd (subscriber, #2582) [Link] (15 responses)

Erm, open source *is* free software. Almost every OSI-approved licence is a FSF-approved licence and vice versa. The very few exceptions are arcane and unimportant.

Toward a "modern" Emacs

Posted Sep 26, 2020 6:08 UTC (Sat) by IanKelling (subscriber, #89418) [Link] (14 responses)

There's a lot of open source that is not free software, see the practical differences section of https://www.gnu.org/philosophy/open-source-misses-the-poi....

Also, the real world definition is that almost all OSes that run on hardware and call themselves "open source" include nonfree code. OSes that call themselves free software are much more likely to mean all the code is free software. The free software definition explicitly addresses which code to consider, and its put in practice in https://www.gnu.org/distros/common-distros.en.html, https://ryf.fsf.org/about/criteria, and https://www.gnu.org/philosophy/javascript-trap.en.html.

An exception to this rule is 8 bit arduino's which are often called open source and are fully free software (but the arduino development environment includes optional nonfree code).

Toward a "modern" Emacs

Posted Sep 26, 2020 12:17 UTC (Sat) by pizza (subscriber, #46) [Link] (13 responses)

In practice, it's "open source" for the vendor/developer, but "closed source" for the downstream end-user, because the former isn't required to pass along the same rights (ie the source code) to the latter.

In the real world, I've been forced to use a lot of proprietary software that is built on top of "open source" codebases. This includes multiple android devices and several variations of LLVM. After all, _I_ don't have the source code to what is actually running.

copyleft software, not "free" software

Posted Sep 26, 2020 18:36 UTC (Sat) by marcH (subscriber, #57642) [Link] (12 responses)

Thanks, I think this Nth million discussion about what "free software" means made me finally realize how poorly named hence poorly advertised it is. This is not just the confusion with "gratis" which does not help but is really not the main issue.

Of course I'm a bit slow: if something needs to be rephrased and discussed a million times then it's likely not just because everyone's stupid. Discussions that tend to get heated are also much more often triggered by misunderstandings than disagreements. Finally, who expects good names from software engineers? :-)

So the key concept/idea behind "free software" or more specifically "copyleft software" is transitivity: making sure not just the users but also _the users of the users_ are free to do what they want. This of course implies the first users are _less_ free to do what they want which means "free" is self-contradicting. Boom.

Even before someone wrote that "my freedom stops where yours begin" we knew freedom was a messy concept best avoided when possible. For some fun search for "weaponized first amendment".

This also seems like a classic case of trying to avoid a technical and unusual but very smart and extremely accurate term "copyleft" for the fear of confusing readers, dumbing it down and confusing everyone much more. And then not wondering what went wrong.

I will stop referring to GPL software as "free software" from now on, it will help save a fair amount of digital ink. "Copyleft software" it is.

PS: not sure yet how to best name BSD-like licenses. "permissive" is very vague.

copyleft software, not "free" software

Posted Sep 26, 2020 18:39 UTC (Sat) by mpr22 (subscriber, #60784) [Link] (2 responses)

Permissive is the best word I can think of to describe it.

(The other way I can think of is to describe the GPL as "socialist", the BSD and MIT licences as "liberal", and proprietary licences as "reactionary", but that doesn't work very well.)

copyleft software, not "free" software

Posted Sep 27, 2020 8:35 UTC (Sun) by Wol (subscriber, #4433) [Link]

Developer-Free, and User-Free?

GPL frees the *user*, BSD frees the *developer*.

Cheers,
Wol

copyleft software, not "free" software

Posted Sep 27, 2020 16:50 UTC (Sun) by IanKelling (subscriber, #89418) [Link]

https://www.gnu.org/licenses/license-recommendations.en.html uses "last pushover licenses". Aka pushover license.

copyleft software, not "free" software

Posted Sep 26, 2020 20:09 UTC (Sat) by smcv (subscriber, #53363) [Link]

"Permissive" is a term I've seen used frequently in e.g. Debian to refer to non-copyleft licenses (BSD, MIT/X11, Zlib, CC-BY, Unlicense, WTFPL and many similar licenses) as a group. Sometimes people draw a spectrum from strong copyleft (e.g. GPL) to permissive, with weak copyleft licenses like the LGPL in the middle as a compromise between the two.

Using "free software" to refer only to copyleft licenses and "open source" to refer to permissive licenses seems really confusing, since it's in conflict with the way the originators of those terms use them: the FSF considers both copyleft and permissive licenses to be free software, and the OSI considers both copyleft and permissive licences to be open source.

The free software movement and the open source movement (inasmuch as either of those is monolithic) have different goals and different focuses, and perhaps free software is more closely aligned with copyleft while open source is more closely aligned with permissive licensing, but I think a lot of people who consider themselves to be part of one community and not the other would agree that both styles of licensing have their place (although probably not on the specifics of which one is more suitable for a particular project).

copyleft software, not "free" software

Posted Sep 27, 2020 7:46 UTC (Sun) by rsidd (subscriber, #2582) [Link] (6 responses)

Apart from what you say, the FSF lists BSD/MIT/similar licences as free software. Copyleft has no role in RMS's or the FSF's definition of free software.

copyleft software, not "free" software

Posted Sep 27, 2020 17:05 UTC (Sun) by marcH (subscriber, #57642) [Link] (5 responses)

> Copyleft has no role in RMS's or the FSF's definition of free software.

... which is amazing considering he literally invented the entire "less-free-for-developers and more-free-for-users" software category, and probably the super smart "copyleft" word for it too. How come _he_ did not drop the super confusing "free" terminology? All his followers would have... followed, as they do when they use "free software" now, which helps feeding the never ending stream of debates where the basics seem to be re-explained over and over again.

copyleft software, not "free" software

Posted Sep 27, 2020 17:15 UTC (Sun) by rsidd (subscriber, #2582) [Link] (4 responses)

RMS's definition of "free software" is clear enough, and non-copyleft licences like BSD/MIT/Apache entirely qualify.
“Free software” means software that respects users' freedom and community. Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software. Thus, “free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech,” not as in “free beer”. We sometimes call it “libre software,” borrowing the French or Spanish word for “free” as in freedom, to show we do not mean the software is gratis.
Various comments on copyleft and non-copyleft licences are here. Note that objections to individual non-copyleft licences are not for their permissiveness but to unclear names (what does "BSD licence" or "MIT licence" mean?) or GPL incompatibility (eg the BSD licence with advertising clause; CDDL; APSL). The Apache 2.0 licence is strongly recommended as a permissive free software licence.

In short, this entire thread is a red herring, based on a misunderstanding of "free software".

copyleft software, not "free" software

Posted Sep 27, 2020 17:26 UTC (Sun) by marcH (subscriber, #57642) [Link]

> In short, this entire thread is a red herring, based on a misunderstanding of "free software".

Misunderstanding as in the gazillions other threads before it and in all the future ones too. I'm impressed by how quickly you found and posted the references, you must be really used to that :-)

copyleft software, not "free" software

Posted Sep 28, 2020 2:38 UTC (Mon) by jwarnica (subscriber, #27492) [Link]

> community

The problems is that RMS defines community as a) "the keybindings I personally enjoyed in 1975 long before industry and sanity discarded the concept of 'cording keyboard' " b) a particular non-technical and highly idealistic political philosophic and c) if yoiur a women, falling over yourself to get to me.

Which is, I grant, a *particular* community, but not one that is welcoming to pretty much anyone who has first used a computer since either the IBM PC or Apple MAC was introduced.

copyleft software, not "free" software

Posted Sep 29, 2020 10:19 UTC (Tue) by smcv (subscriber, #53363) [Link] (1 responses)

With hindsight, it's unfortunate that the originators of the free software term didn't talk about "software freedom" rather than "free software", which would have meant the same thing while avoiding the whole free beer/free speech ambiguity.

Regarding the difference between free software and copyleft: free software (or software freedom if you prefer) is a goal, but copyleft is one of several possible strategies for achieving that goal (permissive licensing is another). Copyleft is closely associated with the term "free software" because the FSF has chosen to use copyleft as their main strategy, but it isn't actually their objective.

copyleft software, not "free" software

Posted Oct 5, 2020 21:05 UTC (Mon) by marcH (subscriber, #57642) [Link]

> With hindsight, it's unfortunate that the originators of the free software term didn't talk about "software freedom" rather than "free software", which would have meant the same thing while avoiding the whole free beer/free speech ambiguity.

... and also avoided any copyleft/permissive ambiguity - thanks!

BTW "Software Freedom Conservancy" is an exceptionally clear name.

While their top goal seems to be copyleft enforcement, funny enough they don't seem to request copyright assignment before sending a patch. Their website also seems less focused on philosophy and more on getting copyleft things done but maybe that's just my impression.

copyleft software, not "free" software

Posted Oct 1, 2020 19:36 UTC (Thu) by ecree (guest, #95790) [Link]

> not sure yet how to best name BSD-like licenses.

I believe the canonical term is 'copycenter'. See http://www.catb.org/jargon/html/C/copycenter.html

Toward a "modern" Emacs

Posted Sep 26, 2020 3:24 UTC (Sat) by cmonsanto (subscriber, #96651) [Link] (4 responses)

> With delusional friends like these, Emacs needs no enemy:

> > "It is unfortunate that the people who implemented the newer editors chose incompatibility with Emacs."

Same mindset that kept Emacs on Bazaar well after the wider community standardized on Git.

> So we're now in this crazy situation where it takes more effort to make open-source contribution to FSF projects because of paperwork and refusal to use any tool that is not Kosher.

What bothers me the most about this situation is that there's nothing to even protect. Can you imagine a contentious lawsuit over Emacs source? What, is a router going to hide a modified elisp interpreter a-la busybox?

Toward a "modern" Emacs

Posted Sep 26, 2020 4:21 UTC (Sat) by IanKelling (subscriber, #89418) [Link] (3 responses)

Microsoft and apple have both made moves to make their app stores on the desktop be like the iphone and restrict applications beyond what gplv3 allows. They have enough legal resources to avoid violating in the first place. The fact that there are popular gplv3 desktop applications like emacs and gimp and others, along with FSF having the resources do the legal work to ensure compliance, I'd bet has and will be a deterrent from microsoft and apple restricting freedoms on those oses.

Toward a "modern" Emacs

Posted Sep 26, 2020 5:03 UTC (Sat) by marcH (subscriber, #57642) [Link] (2 responses)

The underestimated power of emacs and gimp stopping Microsoft from locking down Windows 10S, wow! What next, newer editors deliberately choosing copy/paste shortcuts different from Emacs?

More seriously: many companies do try to avoid the GPL as much as they can and the GPLv3 even more. However there's zero evidence that they care about who holds the copyright. Imagine a legal department having the time and resource to "profile" open source copyright authors...

Toward a "modern" Emacs

Posted Sep 26, 2020 6:35 UTC (Sat) by IanKelling (subscriber, #89418) [Link] (1 responses)

> there's zero evidence that they care about who holds the copyright. Imagine a legal department having the time and resource to "profile" open source copyright authors.

There is a long history and plenty of evidence regarding FSF and MS legal department.

Toward a "modern" Emacs

Posted Sep 26, 2020 17:01 UTC (Sat) by marcH (subscriber, #57642) [Link]

Again, thanks for correcting me... with at least one reference which should be very easy to provide considering "long" and "plenty".

To be clear: did Microsoft struggle with the FSF in the past? I bet. Did Microsoft have rules to deal with open source or the GPL? Yes of course. Still has, just like any other software company. What I assumed and meant is: Microsoft Legal never explicitly instructed its employees to deal with "FSF software" differently from any other GPL software.

Toward a "modern" Emacs

Posted Sep 26, 2020 9:35 UTC (Sat) by Sesse (subscriber, #53779) [Link] (22 responses)

>With delusional friends like these, Emacs needs no enemy:
>> "It is unfortunate that the people who implemented the newer editors chose incompatibility with Emacs."

Well, yes. Emacs has a problem: It can cater to new users, or it can cater to RMS' personal preferences. Whether explicitly or implicitly, the project is choosing the latter at almost every turn, and thus can not hope to attract many of the former.

Toward a "modern" Emacs

Posted Sep 26, 2020 12:38 UTC (Sat) by pizza (subscriber, #46) [Link] (8 responses)

> Well, yes. Emacs has a problem: It can cater to new users, or it can cater to RMS' personal preferences.

s/RMS/existing users/

and also, s/RMS/existing developers/

Granted, that doesn't invalidate your point. However, RMS's point is also valid; it's not wise to alienate the current user (and more importantly, developer) base, in favor of mythical hordes of new users (and developers) that experience shows us aren't likely to ever materialize.

Toward a "modern" Emacs

Posted Sep 26, 2020 12:46 UTC (Sat) by Sesse (subscriber, #53779) [Link] (7 responses)

No, I really think this is about a much narrower set than “existing users”. Of course, it's not RMS and RMS alone, but I do believe too much weight is put on his opinions compared to the larger group of emacs users who don't care about compatibility with their dotfiles from 1980.

Interestingly enough, since keybindings were discussed; vim has an even higher barrier to entry (I mean, if you think C-k for cut and C-y for paste is bad, how about vim's modes?), yet somehow manages to stay somewhat relevant while emacs is dwindling. (E.g. it ties IntelliJ for #4 in StackOverflow's survey over development tools, with five the popularity of emacs.)

Toward a "modern" Emacs

Posted Sep 26, 2020 17:09 UTC (Sat) by marcH (subscriber, #57642) [Link] (1 responses)

> (I mean, if you think C-k for cut and C-y for paste is bad, how about vim's modes?),

I suspect there's a sizable "niche" of users who like a modal editor. Because it's a bit of a niche there's less room for competition so vim is able to fill it completely (and to your point: probably because they listen to all their users too). I don't think there is any another modal _and_ popular editor. Because this niche is not so small, it ends up #4 on stackoverflow.

My 2 cents.

Toward a "modern" Emacs

Posted Sep 26, 2020 20:30 UTC (Sat) by cpitrat (subscriber, #116459) [Link]

Exactly that. I've been a vim user for the past 20 years but I remember when I switched to Linux and chose between emacs and vim. Emacs seemed just a very complex clone of other editors with different bindings. Vim had a different approach and I could immediately get why it could be considered more attractive.

Toward a "modern" Emacs

Posted Sep 26, 2020 20:26 UTC (Sat) by Cyberax (✭ supporter ✭, #52523) [Link] (4 responses)

Vim works fine because you need just a handful of commands to get by for regular tasks. And Vim is also present pretty much everywhere, so you kinda eventually have to learn it just to be able to work through SSH.

Toward a "modern" Emacs

Posted Sep 29, 2020 6:42 UTC (Tue) by dgm (subscriber, #49227) [Link]

Where's the damn +1 button?

Toward a "modern" Emacs

Posted Oct 1, 2020 19:41 UTC (Thu) by ecree (guest, #95790) [Link] (2 responses)

> And Vim is also present pretty much everywhere, so you kinda eventually have to learn it just to be able to work through SSH.

Well, you don't *have* to. You could do what I did and learn ed instead, which means you don't have to look at ugly Vim, and as an additional bonus you get to be insufferably smug. (Well, until someone shows up with butterflies.)

Toward a "modern" Emacs

Posted Oct 1, 2020 20:47 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link] (1 responses)

Toward a "modern" Emacs

Posted Oct 1, 2020 20:58 UTC (Thu) by ecree (guest, #95790) [Link]

Yes, that's a classic. The only problem is that gnu seem to have misclassified it under 'jokes' :P

Toward a "modern" Emacs

Posted Sep 26, 2020 19:32 UTC (Sat) by mvar (guest, #82051) [Link] (12 responses)

>Well, yes. Emacs has a problem: It can cater to new users, or it can cater to RMS' personal preferences. Whether explicitly or >implicitly, the project is choosing the latter at almost every turn, and thus can not hope to attract many of the former.

i see that response by rms as more tongue in cheek, meaning that everyone claims that emacs has those weird combinations for copy/cut/paste when actually it predates these by many, many years..So why should emacs adapt and change how it works based on some trend that appeared later? rms is stubborn at times, i just don't think this comment of his is indication of arrogance, it's just stating the facts. On the other hand his stance about the "NO WARRANTY" message in the splash screen (last link in the article), ugh... *sigh*

Toward a "modern" Emacs

Posted Sep 26, 2020 20:49 UTC (Sat) by Sesse (subscriber, #53779) [Link] (11 responses)

> So why should emacs adapt and change how it works based on some trend that appeared later?

In case it's not obvious: Because the Ctrl-X/C/V bindings are clearly _better_. They can be done with the left hand without moving it while the right hand is using the mouse, which is cumbersome for Ctrl-K/Y.

Of course, due to inertia, not everything is worth changing. And Emacs' problem is not first and foremost about those specific bindings. But it is a symptom.

Toward a "modern" Emacs

Posted Sep 27, 2020 2:15 UTC (Sun) by mathstuf (subscriber, #69389) [Link] (4 responses)

Yeah, on a QWERTY keyboard (which is the vast majority, I'll grant that). How is it on other layouts used around the world? As a Vim user, I prefer some mnemonics with things which `y` and `p` go with pretty well. What's the original rationale behind ^K and ^Y (IIRC, it is `kill-line`, but that doesn't sound like a copy at all other than that I know Vim does store the last removed text at the "top" of the paste stack).

Toward a "modern" Emacs

Posted Sep 27, 2020 8:16 UTC (Sun) by Sesse (subscriber, #53779) [Link] (3 responses)

The most common variants I am aware of are QWERTZ (German), where Y and Z have switched places, and AZERTY (French), where A/Q and W/Z are switched. Both touch on Ctrl-Z (undo), but X/C/V are unchanged. I don't honestly know if any of them typically also switch the hotkey for undo around.

Toward a "modern" Emacs

Posted Sep 28, 2020 11:40 UTC (Mon) by pbonzini (subscriber, #60935) [Link] (2 responses)

Well there's Dvorak keyboards.

Toward a "modern" Emacs

Posted Sep 29, 2020 7:32 UTC (Tue) by k8to (guest, #15413) [Link] (1 responses)

As a Dvorak user, I am perfectly happy with cut/copy/paste not being optimized for my keyboard layout.

Toward a "modern" Emacs

Posted Oct 1, 2020 3:21 UTC (Thu) by jasone (subscriber, #2423) [Link]

Same here, but Dvorak layout *would* be an ergonomic problem if my typical workflow involved much reaching for the mouse.

Toward a "modern" Emacs

Posted Sep 27, 2020 6:10 UTC (Sun) by rodgerd (guest, #58896) [Link] (1 responses)

> And Emacs' problem is not first and foremost about those specific bindings.

Indeed, and it's one that seems to expose a fundamental division in both the FSF and the GNU project generally: the people who would like very much to enable the broader world to have the ability to use free software to do the things that matter to them, and the people who are interested in the Cult of Richard.

Toward a "modern" Emacs

Posted Sep 27, 2020 6:40 UTC (Sun) by marcH (subscriber, #57642) [Link]

Wait, there are people _not_ part of some cult or another? Neither TV nor Fakebook ever talks about them. This sort of people without loud and simple opinions is too boring to exist anymore.

Toward a "modern" Emacs

Posted Sep 29, 2020 14:57 UTC (Tue) by cry_regarder (subscriber, #50545) [Link] (2 responses)

From my memory, didn't the ctrl-x ctrl-v actions enter muscle memory through the wordstar editors which started in 1979? Whereas EMACS initial release was in 1976 (with heritage from TECO)? Not so far apart.

Toward a "modern" Emacs

Posted Sep 29, 2020 15:59 UTC (Tue) by jem (subscriber, #24231) [Link] (1 responses)

No, Ctrl-x was down in WordStar. Cursor movement keys were in a diamond pattern: Ctrl-e/s/d/x for up, down, right and down, respectively.

Toward a "modern" Emacs

Posted Sep 29, 2020 17:53 UTC (Tue) by cry_regarder (subscriber, #50545) [Link]

Ah thanks! "IIRC" is so often flawed ;-)

Toward a "modern" Emacs

Posted Oct 13, 2020 17:18 UTC (Tue) by debacle (subscriber, #7114) [Link]

> In case it's not obvious: Because the Ctrl-X/C/V bindings are clearly _better_. They can be done with the left hand without moving it while the right hand is using the mouse, which is cumbersome for Ctrl-K/Y.

Or the other way around: It is cumbersome to use the mouse with Emacs key bindings. I assume, that many Emacs users do not use the mouse much. I don't even have one, only a touchpad, centered in front of the space bar.

Toward a "modern" Emacs

Posted Sep 28, 2020 11:00 UTC (Mon) by flussence (guest, #85566) [Link]

The semi-recent episode where Emacs users attempted to get LLVM integration upstream as a compromise because GCC is too broken *by design* to interoperate with the IDE was a real eye opener.

It's not about idealism any more, it's blind worship of religious scripture. RMS is high on his own product.

Toward a "modern" Emacs

Posted Sep 28, 2020 12:30 UTC (Mon) by MrWim (subscriber, #47432) [Link] (3 responses)

> The world has completely changed since the copyleft was invented. It's not "perfect" because closed source still exists (always will) but open source is absolutely "everywhere you look" and a massive lot is NOT copyleft. The FSF people have won but they haven't noticed because of their idealism/dogma.

I think this misunderstands the aims of the FSF. Really it's not about software, it's about people (aka users). Does the software restrict the user in some way? Free software licences including copyleft or BSD style are a means to that end, rather than an end in itself.

So: if there's more free software out there, but people have less control then overall this is seen as a loss.

I'm not saying that I completely agree with the FSF, but I think their position is consistent with their purpose (or idealism/dogma as you put it).

There was a link posted to LWN a few years ago to this effect. Something about there being more open-source software out there, but even more proprietary software build upon it. It was by some bigshot like Eben Moglen. I'd love to link to it but I can't find it now.

Toward a "modern" Emacs

Posted Sep 28, 2020 14:27 UTC (Mon) by pabs (subscriber, #43278) [Link] (1 responses)

Perhaps you are thinking of the FOSDEM talks by Karen Sandler and Bradley Kuhn:

https://archive.fosdem.org/2019/schedule/event/full_softw...
https://archive.fosdem.org/2020/schedule/event/open_sourc...

Toward a "modern" Emacs

Posted Sep 28, 2020 15:44 UTC (Mon) by MrWim (subscriber, #47432) [Link]

Thank you.

Toward a "modern" Emacs

Posted Sep 29, 2020 7:37 UTC (Tue) by k8to (guest, #15413) [Link]

The thing is, RMS keeps making decisions about FSF software that restrict what users can practically do with his software that do not enable the users. So there's kind of a blindness here, where the ideological freedom and capability of the users is being used to prevent the practical utility and capability of the users.

I think the ideological freedom of the users is important, and that FSF correctly identified this way back when and still have a useful mission to share that seed idea. I just don't think that browbeating users who want to make reasonable changes that do not actually harm those ideological ideas serves that mission.

Toward a "modern" Emacs

Posted Sep 25, 2020 18:14 UTC (Fri) by iabervon (subscriber, #722) [Link] (1 responses)

I think the think Emacs most needs is a variable my-first-emacs, which you can set to any previous or current version of Emacs and have that be the default configuration. With that, they'd be able to change the unadorned default configuration radically to attract new users without upsetting existing users, who would simply need to record when Emacs was right for them.

This would allow for proper handling of features that are objectively improvements in behavior but counterproductive for people who developed habits without them. For that matter, a lot of behaviors could be tied (by default) to a system where users can tell Emacs go to a more recommended configuration when the users want to devote some time to retraining. This also gives a path to softening the learning curve, where the default modern configuration is something intuitive but inefficient, and users who do that particular thing enough to care can put in the time when they choose to and get comfortable with the unintuitive efficient way. I like to remember that all of us are casual users of nearly everything, experts at a few things we've intentionally put time into, and idiosyncratic about some other things we've never really thought about. Having a system that does what the user wants for each of these cases is only possible by having different behavior depending on the user's history and changing when the user wants to.

Toward a "modern" Emacs

Posted Sep 25, 2020 19:52 UTC (Fri) by IanKelling (subscriber, #89418) [Link]

RMS said

> It would create a different editor that we Emacs users would never switch to.

And, I'd say, yes, that's still probably the best way forward. I don't think doing it multiple times as you suggest is a good idea, because it is a lot of work to maintain multiple defaults and all have them all work well. There are people are doing it already https://www.emacswiki.org/emacs/StarterKits. I suspect a good way forward for modernizing emacs is for one of those projects to make a concerted effort to get merged upstream and maintain the code in upstream.

Toward a "modern" Emacs

Posted Sep 25, 2020 18:57 UTC (Fri) by tdz (subscriber, #58733) [Link] (7 responses)

I'm not a user of emacs, but from what I heard, emacs is basically a Lisp environment with a text-editor UI on top. Much of the discussion seems focused on the UI side.

How much of emacs is the editor, and how much is the environment? Could they have an entirely separate, 'modern' interface on top of the Lisp interpreter and sell it as 'emacs-light'.

Toward a "modern" Emacs

Posted Sep 25, 2020 21:37 UTC (Fri) by wfp5p (subscriber, #56918) [Link]

At least for me, it's an editor. Sure, I've had to do some lisp for my customizations, but it's not like I had to be any kind of a lisp expert to do that. I don't have to look at lisp in any way during normal use.

Toward a "modern" Emacs

Posted Sep 26, 2020 4:40 UTC (Sat) by cozzyd (guest, #110972) [Link] (1 responses)

Yes, this is the most sensible thing to--offer an alternative name for emacs with a different configuration mirroring current best practices. The alias would be something hip like emacs.io, eemmaaccssyy or emacshub . On startup it would allocate 500 MB for no reason and spawn a few threads that busy wait on each other so that it has a familiar resource profile to what "modern" users are accustomed to. Of course, it will be a challenge to keep up with whatever the latest trend is, so it probably makes sense to also download the latest and greatest configuration on startup using some insecure bespoke package manager (you can fork pip or npm or whatever is in vogue). If users don't want conflicts from this, they can set up an emacsenv environment for each file they edit, as this seems to be the recommended practice nowadays anyway.

(actually, as a vim user, the main suggestion I'd have for emacs is to have evil mode by default =P).

Toward a "modern" Emacs

Posted Sep 26, 2020 8:08 UTC (Sat) by MKesper (subscriber, #38539) [Link]

No need to be snarky.
Please give doom-emacs a try.
Includes evil-mode, easy configuration and fast startup times though featuring everything that makes Emacs great like magit.

Toward a "modern" Emacs

Posted Sep 26, 2020 11:24 UTC (Sat) by dottedmag (subscriber, #18590) [Link] (3 responses)

What would be the point?

Emacs is used because of accumulated trove of elisp code that covers everything under the Sun.

Read the elisp manual and you'll see that the API to manipulate UI (buffers, windows) is in the heart of it — make a new, incompatible, UI and you'll lose compatibility with all the elisp code written ever except libraries.

Emacs with new incompatible UI is no better than an outdated quirky Lisp VM. One can easily take Clojure and build an editor from it, the results will be identical, except that the language is better.

Toward a "modern" Emacs

Posted Sep 26, 2020 11:59 UTC (Sat) by tdz (subscriber, #58733) [Link] (2 responses)

The point is: if Emacs is primarily a platform, the devs have all the options for overhauling the user interfaces. If Emacs is primarily an editor, possible changes are limited to UI style and theming.

Toward a "modern" Emacs

Posted Sep 26, 2020 15:38 UTC (Sat) by dottedmag (subscriber, #18590) [Link]

It's a lousy platform by standards of 2020. The only redeeming quality of Emacs today is a huge amount of effort that went into editor and modes. Losing backward compatibility with all this code makes Emacs-as-a-platform completely useless.

Toward a "modern" Emacs

Posted Sep 26, 2020 16:29 UTC (Sat) by khim (subscriber, #9252) [Link]

I will try to say what others have said again.

Yes, Emacs is mostly a development platform — and API for that development platform is Emacs UI.

That's the same issue Firefox developers faced and the same issue which made Chrome developers to only offer very limited extensions API: if you give developers an option to change, basically, anything in your app… then suddenly all possible changes in the app become impossible.

That's why, ultimately, what we have now, today, is not Emacs 28, but, in reality Emacs 1.28: the major part of Emacs version number was dropped years ago because you couldn't radically change anything in Emacs.

You can only extend it, not change it.

Toward a "modern" Emacs

Posted Sep 25, 2020 18:59 UTC (Fri) by josh (subscriber, #17465) [Link] (22 responses)

It seems pretty clear that there are two camps here: people who are used to the current behavior, and people who want more compatibility with conventions from the non-Emacs world. It's understandable that a programmer's editor should not make itself incompatible with its existing users' expectations. Having a single top-level switch for "classic defaults" vs "modern defaults" seems like it would help people with no disruption to existing users.

That wouldn't preclude further customization, just set a wide swath of defaults, and allow people who care about the classic defaults to just ignore proposals to change the modern defaults.

I think the conclusion that Emacs needs to sort out its development model and development community, though, is indeed an accurate assessment of the root of the problem. It's not (just) about using a better development interface. It's about allowing for "drive-by" contributions, dedicating time to reviewing *other people's* patches who don't have or want commit access, and otherwise helping people wade into development.

Toward a "modern" Emacs

Posted Sep 25, 2020 19:58 UTC (Fri) by IanKelling (subscriber, #89418) [Link] (21 responses)

> It's about allowing for "drive-by" contributions, dedicating time to reviewing *other people's* patches who don't have or want commit access

It's been a while, but I've had simple and complex patches quickly reviewed and merged. What are you basing this on?

Toward a "modern" Emacs

Posted Sep 25, 2020 20:35 UTC (Fri) by josh (subscriber, #17465) [Link] (20 responses)

The total number of people who have *ever* contributed to Emacs is remarkably low, for a project with as long a history as it has.

Requiring people to submit paperwork first kills casual contribution; you have to be fairly dedicated to get past even that hurdle.

I've also seen patches go months without any response at all.

Beyond that, I'm basing it on various anecdotes and observations, having followed the emacs-devel list for a while. In general, there are a number of things that discourage contribution, especially casual contribution. It's not that people aren't interested. It's that the reaction to many people who are interested radiates "go away".

It's absolutely the job of a maintainer to say "no" quite often. But given a good project and a well-meaning contributor, you don't want to just end it with a flat "no", you want to steer it towards "that approach won't work, here's why, but let's talk about how to solve the underlying problem that led you here in the first place". Leaving the last part out can turn it into "go away and don't come back".

Toward a "modern" Emacs

Posted Sep 25, 2020 20:46 UTC (Fri) by mohg (guest, #114025) [Link] (1 responses)

> The total number of people who have *ever* contributed to Emacs is remarkably low, for a project with as long a history as it has.

There are around 1900 people listed in the AUTHORS file for Emacs.
There are currently over 200 people with commit rights.

Developers

Posted Sep 25, 2020 21:23 UTC (Fri) by corbet (editor, #1) [Link]

For the curious, I did a quick gitdm run; from 26.1 to 27.1 saw 8237 patches from 326 developers. 50% of those came from five developers (Lars Ingebrigtsen, Eli Zaretskii, Paul Eggert, Michael Albinus, Stefan Monnier). There are 166 people who contributed exactly one patch toward this release.

Toward a "modern" Emacs

Posted Sep 26, 2020 1:09 UTC (Sat) by marcH (subscriber, #57642) [Link] (13 responses)

> Requiring people to submit paperwork first kills casual contribution; you have to be fairly dedicated to get past even that hurdle.

I recently tried to "promote" myself from seasoned user to contributor. Learned a bit more eLisp and some basic troubleshooting techniques. Root-caused a bug or two in tramp, pinpointed what was wrong in the code and started to make some code changes.

Then I discovered I have to surrender copyright, submit paperwork and subscribe to some mailing-lists (13 different ones listed at https://savannah.gnu.org/mail/?group=emacs...) I'm not interested in configuring an email filter so I can ignore emacs-devel discussions, I just want to file a bug and git push a patch to something that runs CI.

I heard the VSCode equivalent of tramp rocks. I'm now seriously considering abandoning a couple decades of Emacs muscle memory.

Toward a "modern" Emacs

Posted Sep 26, 2020 1:34 UTC (Sat) by IanKelling (subscriber, #89418) [Link] (7 responses)

> and subscribe to some mailing-lists

That is not true, I wonder where you got that. Subscription has and never will be required. Just email your patches to emacs-devel@gnu.org, email bug reports to bug-gnu-emacs@gnu.org. People will reply to you.

If you send email from an address the list has never seen before, it can take a few hours before a human looks at it and sends it to the list. That happens regardless of subscription status.

Toward a "modern" Emacs

Posted Sep 26, 2020 1:40 UTC (Sat) by IanKelling (subscriber, #89418) [Link]

I got the address wrong. CONTRIBUTE says "bug reports and fixes, feature
requests and patches/implementations should be sent to
bug-gnu-emacs@gnu.org" and then it has instructions on how to send a
patch. There is nothing about needing to subscribe to do it.

Toward a "modern" Emacs

Posted Sep 26, 2020 2:09 UTC (Sat) by marcH (subscriber, #57642) [Link] (5 responses)

> > and subscribe to some mailing-lists

> That is not true, I wonder where you got that.

That's great, thanks for correcting me but I'm still not interested in using email "the old way". I want to select myself which code reviews and which bugs send me email and I want all the discussion about one particular series to be easy to find in one place. It does not necessarily imply a web interface, it only implies a "modern" database. I haven't tried this myself but I heard some people use github from... Emacs most of the time! http://wikemacs.org/wiki/Github

PS: I "got that" because that is (used to be?) the most common expectation with email-based projects. I (genuinely) wonder where you got the correct information.

Toward a "modern" Emacs

Posted Sep 26, 2020 2:20 UTC (Sat) by IanKelling (subscriber, #89418) [Link] (2 responses)

I will admit that it is a problem that that many lists on the internet require subscription then people come to gnu lists expecting that. Perhaps CONTRIBUTE should mention this fact.

I can't remember exactly where I figured out that 99.5% of gnu.org and nongnu.org lists don't require subscription to post, probably after I became an administrator of them, which is not a good sign.

Toward a "modern" Emacs

Posted Sep 26, 2020 2:36 UTC (Sat) by IanKelling (subscriber, #89418) [Link]

Also, I think there's like 1 in 10 gnu/nongnu lists or so where you don't need to subscribe to post, but you won't get replies because the list is configured so replies only to the list. And you basically have to look at an example reply in the archive to figure it out. So, ya, we should fix that situation.

Toward a "modern" Emacs

Posted Sep 26, 2020 17:21 UTC (Sat) by marcH (subscriber, #57642) [Link]

> I will admit that it is a problem that that many lists on the internet require subscription then people come to gnu lists expecting that. Perhaps CONTRIBUTE should mention this fact.

Yes please.

I suspect the most obvious and common rationale for requiring mailing-list subscription is mitigating spam, which code review databases keep under control by requiring a user account, which is admittedly their biggest road bump for "drive-by" contributors. Security versus usability: always the same trade-off.

The user account road-bump is largely mitigated thanks to federation: I mean for instance you can re-use your launchpad and many other accounts on a number of "foreign" sites.

Toward a "modern" Emacs

Posted Sep 26, 2020 2:40 UTC (Sat) by IanKelling (subscriber, #89418) [Link] (1 responses)

I agree about the database. I'm hopeful that GNU will adopt something for that in the next year or so. Contributions are welcome.

Toward a "modern" Emacs

Posted Sep 26, 2020 17:44 UTC (Sat) by marcH (subscriber, #57642) [Link]

Is gitlab not free enough? Drifting away from the topic but genuine question. It seems increasingly popular with largely-but-not-totally-free projects right now.

Toward a "modern" Emacs

Posted Sep 26, 2020 6:40 UTC (Sat) by eliz (guest, #94829) [Link] (4 responses)

> Then I discovered I have to surrender copyright, submit paperwork and subscribe to some mailing-lists

On 1/3 true: the paperwork, and it's a one-time thing.

The rest is simply misunderstandings: you don't surrender any copyright (the legal paper you get at the end of the paperwork explicitly says that the FSF grants back to you the copyright), and you don't need to subscribe to any mailing lists, because submitting an issue makes sure you are CC'ed on any messages posted to that issue.

Toward a "modern" Emacs

Posted Sep 28, 2020 9:47 UTC (Mon) by farnz (subscriber, #17727) [Link] (3 responses)

Any paperwork is a real hassle for me, however; of my employers over the last 20 years, one would require approval for all OSS contributions, the others only require that I notify them of the contribution and that it's licensed under one of a list of acceptable licences (which include GPLv3). For contributions to most projects, this is enough - I can publish code where my employer is the copyright holder under a Free or Open source licence, they can pull it in, everyone's happy.

However, once you require copyright assignment paperwork (as the FSF does), the hassle level for me skyrockets; I have to get hold of the documentation, take it to legal, give them time to review it, schedule time with legal to discuss what the paperwork means, get legal to produce a document confirming I'm allowed to sign it without compromising my employment, sign it, get legal to sign it, and then return it to the originator. That's an awful lot of work if my patch is going to be a small thing and I don't expect to repeat it any time soon (so may move onto another employer and have to repeat the copyright assignment dance for the next patch).

So, while it might be a one-off per employer for me, it's a lot of effort to go through when I'm not doing a "big" contribution; and because I'm put off from doing small contributions, upstream never gets the chance to encourage me to make bigger ones.

Toward a "modern" Emacs

Posted Sep 28, 2020 12:12 UTC (Mon) by pabs (subscriber, #43278) [Link] (2 responses)

I recommend negotiating copyright ownership of any freely licensed code that you write, then you don't have to involve your employer in copyright assignment paperwork at all :)

https://sfconservancy.org/contractpatch/

Toward a "modern" Emacs

Posted Sep 28, 2020 13:06 UTC (Mon) by farnz (subscriber, #17727) [Link] (1 responses)

Even on code where I own the copyright, I still have to go via my employer to get permission to sign copyright assignment forms, because of the risk of a conflict of interest between the person I'm assigning copyright to, and my employer.

And, of course, such a negotiation involves all the hassle of going through legal to get a contract change *and* then I have to go through all the hassle again to sign a copyright assignment form. Why would I bother doing any of this for a small change?

Toward a "modern" Emacs

Posted Oct 2, 2020 10:37 UTC (Fri) by kpfleming (subscriber, #23250) [Link]

Even if you own the copyrights on your own work, if you are employed as a software developer the FSF will require a disclaimer from your employer confirming that they disclaim any interest in the works you are creating and contributing. As a person at an employer who had to create a process to produce these disclaimers for our employees, it is indeed a hassle.

So, if you are employed as a software developer, you will need to get your employer to sign an FSF document either way: either a copyright assignment, or a disclaimer.

Toward a "modern" Emacs

Posted Sep 26, 2020 2:11 UTC (Sat) by IanKelling (subscriber, #89418) [Link] (3 responses)

> Requiring people to submit paperwork first

No one has ever been required to submit paperwork FIRST. You submit a patch, it gets feedback, it may require revisions, if it gets accepted and its more than 15 lines of non-trival changes, then you assign copyright for it to be added to the repo. While that process happens, nothing is stopping you from working on and submitting more patches. Often people get multiple patches accepted and never assign copyright because they are only a few lines. And assigning copyright is pretty much just replying to an email with your name and address. If you work somewhere doing software or something, you send an email to your company. 2 emails.

This may have changed, but at least until recently, if employees at microsoft wanted to submit a patch to any free software at all, it had to be reviewed by their 2nd or 3rd level boss, perhaps a legal team, a much much bigger ordeal. Let's complain about that kind of thing instead.

Toward a "modern" Emacs

Posted Sep 26, 2020 2:21 UTC (Sat) by marcH (subscriber, #57642) [Link] (2 responses)

> This may have changed, but at least until recently, if employees at microsoft wanted to submit a patch to any free software at all, it had to be reviewed by their 2nd or 3rd level boss, perhaps a legal team, a much much bigger ordeal. Let's complain about that kind of thing instead.

Let's not because it's really bad but totally off-topic.

Toward a "modern" Emacs

Posted Sep 26, 2020 6:42 UTC (Sat) by eliz (guest, #94829) [Link] (1 responses)

> Let's not because it's really bad but totally off-topic.

Hey, you started this "off-topic" stuff.

Toward a "modern" Emacs

Posted Sep 26, 2020 17:41 UTC (Sat) by marcH (subscriber, #57642) [Link]

> Hey, you started this "off-topic" stuff.

Open https://lwn.net/Articles/832311 and search for "Microsoft".

Toward a "modern" Emacs

Posted Sep 25, 2020 19:44 UTC (Fri) by mtk (subscriber, #804) [Link] (25 responses)

someone mentioned that they've been using emacs since 1987. i've been using it since 1979 :-). i don't think a dark theme default is important (how old was the kid who suggested that?? his eyes must still work in dim light :-)). ditto for the other proposed changes. i think the way emacs supports LSP (the language server protocol) and eventually BSP (the build server protocol) is *critical*. this is what will matter to developers. this is how emacs can compete with IDE's and VS Code.

right now emacs supports LSP if you know how to pull it out of MELPA. but the number of available LSP servers for each language alone is confusing. and the number of complimentary libraries and their overlapping functionality is *bewildering*.

it would be useful if LSP support became part of the base. and if someone focused on providing a best-of-breed out-of-the-box LSP/tool setup that worked for all of the major languages

Toward a "modern" Emacs

Posted Sep 25, 2020 20:49 UTC (Fri) by mpr22 (subscriber, #60784) [Link] (4 responses)

I'm 43 and I prefer light-on-dark themes in applications and have my terminals set to lightgrey on black as the default colours.

bright backgrounds are (mostly) fantastic on reflective surfaces (books etc), but IME they're horrible on emissive surfaces (like computer screens).

Toward a "modern" Emacs

Posted Sep 25, 2020 21:23 UTC (Fri) by dskoll (subscriber, #1630) [Link] (3 responses)

Yes, my emacs is in "dark mode" by default.

$ xrdb -n -query | grep -i emacs
Emacs.background:       Black
Emacs.bold.attributeForeground: Blue
Emacs.foreground:       Wheat1
Emacs.italic.attributeForeground:       hotpink

Toward a "modern" Emacs

Posted Sep 26, 2020 4:47 UTC (Sat) by felixfix (subscriber, #242) [Link] (2 responses)

Does no-one use "--reverse-video"? I've got aliases and shell scripts which all use it.

Toward a "modern" Emacs

Posted Sep 26, 2020 13:01 UTC (Sat) by dskoll (subscriber, #1630) [Link] (1 responses)

That would give me white on black. I want wheat1 on black. ☺️

Toward a "modern" Emacs

Posted Sep 26, 2020 15:01 UTC (Sat) by felixfix (subscriber, #242) [Link]

You need a --glucose-tolerant mode :-)

Toward a "modern" Emacs

Posted Sep 25, 2020 21:52 UTC (Fri) by mina86 (guest, #68442) [Link] (19 responses)

As a person who doesn’t use LSP, I completely agree. When I speak with people about their editors, it’s never colours that they mention. It’s the ability to auto-complete, jump to definitions, refactor etc.

Toward a "modern" Emacs

Posted Sep 25, 2020 23:33 UTC (Fri) by dskoll (subscriber, #1630) [Link] (18 responses)

Autocompletion, jumping to definitions, etc. are all really good in Emacs. (OK, you need to use helper programs like etags for navigating to definitions.)

The problem is that some features require setup, and others are not obvious... I didn't know about Emacs's dynamic autocompletion using M-/ until I'd been using it for about 10 years. (I'm 30 years in on Emacs now and not switching editors any time soon...)

Toward a "modern" Emacs

Posted Sep 26, 2020 11:27 UTC (Sat) by dottedmag (subscriber, #18590) [Link] (16 responses)

etags means the definitions database is perpetually out of date (unless etags is run every time a file is changed in editor). This is not how computers ought to work in 2020.

Toward a "modern" Emacs

Posted Sep 26, 2020 13:00 UTC (Sat) by dskoll (subscriber, #1630) [Link] (2 responses)

I've never found this to be a problem in practice. When you're first navigating a large new software project, you don't change it much and etags is indispensable for navigating it. After that, refreshing a couple of times a day is generally good enough.

Toward a "modern" Emacs

Posted Sep 26, 2020 15:36 UTC (Sat) by dottedmag (subscriber, #18590) [Link] (1 responses)

Have you tried doing any extensive refactoring work on large codebases? It is essential to have up-to-date lists of references, especially in dynamically typed languages, to be productive.

Toward a "modern" Emacs

Posted Sep 26, 2020 21:02 UTC (Sat) by dskoll (subscriber, #1630) [Link]

I have not done extensive refactoring work on large codebases. I have done Linux kernel driver development and development of several quite large systems in languages including C, C++, Perl and PHP. And Emacs has worked very well for me.

Toward a "modern" Emacs

Posted Sep 27, 2020 9:52 UTC (Sun) by pgdx (guest, #119243) [Link] (10 responses)

I have a post-commit-hook in git that runs etags. Keeping each commit relatively small has the added benefit of keeping TAGS up-to-date.

You of course rebase/reorder/reword/squash your history before publishing it if necessary.

Toward a "modern" Emacs

Posted Sep 27, 2020 10:48 UTC (Sun) by dottedmag (subscriber, #18590) [Link] (8 responses)

Post-commit is too coarse.

I don't understand how in 2020 the index is not *always* up-to-date. We've got so much computing power, and we still have to run tools manually over a dataset (source code) that is sized in megabytes, and is modified less than a kilobyte per second?

Toward a "modern" Emacs

Posted Sep 27, 2020 11:55 UTC (Sun) by cmonsanto (subscriber, #96651) [Link] (7 responses)

> I don't understand

There's nothing to understand, it's a technically inferior solution. It was a hassle decades ago, and unacceptable in the age of LSP.

Toward a "modern" Emacs

Posted Sep 27, 2020 11:59 UTC (Sun) by dottedmag (subscriber, #18590) [Link]

Thanks, I was beginning to question my own sanity.

Toward a "modern" Emacs

Posted Sep 27, 2020 14:27 UTC (Sun) by dskoll (subscriber, #1630) [Link] (5 responses)

It's a "technically inferior" solution whose inferiority matters roughly 0.00% of the time, to the nearest hundredth of a percent. This is really nitpicking.

Toward a "modern" Emacs

Posted Sep 27, 2020 15:49 UTC (Sun) by cmonsanto (subscriber, #96651) [Link] (4 responses)

It's not nitpicking. The tags solution requires more work to setup and you get less from it. If it works for you then great, but why would a new user want to learn this arcane workflow when LSP Just Works(tm) in VSCode, the editor everyone else in their office uses? This is what I'm getting at when I say tags are "unacceptable" in this day in age.

Toward a "modern" Emacs

Posted Sep 28, 2020 0:32 UTC (Mon) by dskoll (subscriber, #1630) [Link] (3 responses)

Never having used VSCode before, I gave it a whirl. Fired it up on a directory containing some C sources, installed the C/C++ addon, and...

The cross-referencing didn't work. Every time I tried to jump to the definition of a function, it took me to the declaration instead. So much for "Just Works (tm)".

Toward a "modern" Emacs

Posted Sep 28, 2020 5:14 UTC (Mon) by jem (subscriber, #24231) [Link] (1 responses)

The C/C++/C# extensions for VSCode come from Microsoft. Call me paranoid, but I suspect Microsoft does not really want VSCode to be easy to use on projects using those languages. This because they don't want it to compete with their commercial offering, the original Visual Studio.

Toward a "modern" Emacs

Posted Sep 28, 2020 5:24 UTC (Mon) by Cyberax (✭ supporter ✭, #52523) [Link]

The original MSVS is 0xDEAD. It's stuck on 32 bits and apparently moving it to 64 bits would be tantamount to rewriting it fully. It's still being developed with incremental features because VSCode is not yet up to feature parity, but that's just a matter of time.

There's no incentive for MS to sabotage VSCode, they want to make sure developers are using Microsoft's tools that conveniently have all these nice out-of-the-box integrations with Microsoft services.

I have no idea what went wrong for you, but my VSCode works just fine with navigation and refactoring support.

Toward a "modern" Emacs

Posted Sep 28, 2020 12:04 UTC (Mon) by dskoll (subscriber, #1630) [Link]

I also investigated using VSCode for Perl development. The Perl extension I found asks you to install (surprise) ctags. So again, meh.

Toward a "modern" Emacs

Posted Sep 28, 2020 13:08 UTC (Mon) by mathstuf (subscriber, #69389) [Link]

So you have to rerun manually when you switch branches? There is also a post-checkout hook too you might want to attach that to.

Toward a "modern" Emacs

Posted Oct 1, 2020 11:54 UTC (Thu) by neilbrown (subscriber, #359) [Link] (1 responses)

I used to use etags extensively when working with code. I recently changed to a different editor which doesn't (yet) support etags, and having missed it at all.
This editor has easy access to "git grep", so I click on a name, "Alt-dot", and up pops a list of matches, which I can select from or walk through. Sometimes finding the declaration among all the uses is tricky, but usually it is no trouble.
The result of "git grep" is always completely up-to-date!

Toward a "modern" Emacs

Posted Oct 1, 2020 14:48 UTC (Thu) by geert (subscriber, #98403) [Link]

Tried that in the days your git (or bk) tree didn't fit in the page cache?
Indexing matters, if your full data set doesn't fit in RAM.
These days we have Google search, which is faster than finding something on your local machine.

Toward a "modern" Emacs

Posted Oct 4, 2020 11:32 UTC (Sun) by wtarreau (subscriber, #51152) [Link]

> I didn't know about Emacs's dynamic autocompletion using M-/ until I'd been using it for about 10 years

Never heard about it over the last 25 years. I'm using M-, for tags though. Will have a look, thanks.

Discoverability of features is absolutely horrible there. Just enabling popups a-la "did you know" on startup would promote a lot of them. Of course it would require that they are actually usable without having to blindly copy-paste config sections from stackoverflow...

Toward a "modern" Emacs

Posted Sep 25, 2020 21:38 UTC (Fri) by NYKevin (subscriber, #129325) [Link] (22 responses)

> One problem with many of these packages is that they are not actually a part of GNU Emacs. Changing that would often require the author to sign copyrights over to the Free Software Foundation, which is not something all authors are willing to do. Similar problems arise with many of the derivative Emacs "distributions", such as spacemacs or Doom, which have clearly eased the path into Emacs for some users. Some of the ideas found in these distributions may well merit inclusion in Emacs, but that does not happen. Emacs maintainer Eli Zaretskii complained that the creators of these distributions do not contribute their work back.

If I received a request to CLA my already-released FOSS project, I would likely WONTFIX it in five seconds. You have the code, it is fully GPL-compliant, and (as a result) it's already licensed under the same terms as upstream. There is no actual legal barrier to pulling it. If you want a copyright assignment anyway, you can pay me (so that I can hire a lawyer and ask them to figure out my obligations w.r.t. my employer, among other complicated and distressing legal issues). I imagine some of the maintainers of these projects would take a similar stance.

Frankly, I'm not sure GNU Emacs is in a position to continue making this demand, GNU policy notwithstanding. CLAs have, in recent years, been increasingly used by for-profit companies to lock away formerly-FOSS code behind non-FOSS licenses, or to otherwise cause problems for FOSS. See for example Oracle, Commons Clause, the SSPL, etc. How do I know that the FSF isn't going bankrupt in the next 10+ years? How do I know some random company isn't going to buy their stuff up and relicense everything to proprietary?

They have the right to conduct their internal development process however they want. They do not have the right to continue being relevant, especially if they choose to ignore the current state of the industry.

Toward a "modern" Emacs

Posted Sep 25, 2020 22:14 UTC (Fri) by IanKelling (subscriber, #89418) [Link] (21 responses)

Its not a CLA. Its a copyright assignment to a nonprofit dedicated to free software. US nonprofits can't be bought, they are bound by law to follow their mission, and FSF is ultimately run by by a volunteer board who would never stray from that mission. And there is a barrier to pulling your code: enforcing copyright when you don't own the copyright is significantly harder.

> ignore the current state of the industry

Give me a break. Here's a related link.
https://www.gnu.org/philosophy/words-to-avoid.en.html#Sof...

Toward a "modern" Emacs

Posted Sep 25, 2020 23:30 UTC (Fri) by sfeam (subscriber, #2841) [Link] (3 responses)

I am assuming that CLA here means "contributor license agreement". Can you explain how a formal copyright assignment is not an example of a CLA? I agree with the OP. If a contributor has already released code under GPL, that should be sufficient for any GPL project to incorporate it. Anything beyond that is an unwanted burden.

Toward a "modern" Emacs

Posted Sep 26, 2020 6:46 UTC (Sat) by eliz (guest, #94829) [Link] (2 responses)

> Can you explain how a formal copyright assignment is not an example of a CLA?

You need to read the assignment agreement text to understand that.

Basically, you assign the copyright to the FSF, and the FSF gives it back to you, so that you still have full copyright of the code you wrote, and can do whatever you want with it, including distributing it on whatever terms.

The paperwork is important only to the code that is part of Emacs, not to your original work. Authors always have full rights for the code they wrote.

Toward a "modern" Emacs

Posted Sep 26, 2020 11:13 UTC (Sat) by hvd (guest, #128680) [Link] (1 responses)

My understanding was that you do not get back the copyright, that you are instead granted a non-exclusive license to do what you want with your contribution. That is an important distinction: it determines who can take legal action against infringers, that was one of the reasons for having the copyright assignment in the first place. I looked for examples of the copyright assignment papers and found Free Software Foundation Copyright Assignment Form, which supports my understanding. Have things changed since then?

Toward a "modern" Emacs

Posted Oct 2, 2020 10:42 UTC (Fri) by kpfleming (subscriber, #23250) [Link]

No, they have not, this is correct. It is not possible to assign your copyrights to another party and then for them to 'assign it back to you'. If that were possible, the net effect of that document would be zero.

You assign your copyrights to the FSF, and they grant you a broad license (beyond the terms of the GPL or any other FSF software license) to continue making use of your contributions in any way you wish (as long as that use does not conflict with the FSF's use of the same contributions).

Toward a "modern" Emacs

Posted Sep 25, 2020 23:55 UTC (Fri) by NYKevin (subscriber, #129325) [Link] (1 responses)

> US nonprofits can't be bought, they are bound by law to follow their mission, and FSF is ultimately run by by a volunteer board who would never stray from that mission.

You missed the word "bankruptcy." If they go bankrupt, they may have no choice in the matter. This is precisely what happened to Sun.

> And there is a barrier to pulling your code: enforcing copyright when you don't own the copyright is significantly harder.

If I would agree with the upstream's enforcement action, then they can ask me to sign onto it at the time it actually happens. If I would not agree, then I see no reason to give them permission in advance. Regardless, they have the legal right to use the code. From my perspective, their personal preferences regarding how a purely hypothetical enforcement action would proceed are not my problem.

> Give me a break. Here's a related link.

Your link does not appear to be relevant to my argument, but instead merely states a preference to avoid the use of a specific term because it carries certain connotations, connotations which my argument does not depend on and which are entirely unrelated to this discussion. Since it is not relevant, I am ignoring it entirely.

Toward a "modern" Emacs

Posted Sep 26, 2020 0:27 UTC (Sat) by mohg (guest, #114025) [Link]

The issue of bankruptcy has been previously addressed at eg
https://lwn.net/Articles/582472/

Toward a "modern" Emacs

Posted Sep 26, 2020 0:00 UTC (Sat) by dvdeug (guest, #10998) [Link] (14 responses)

US nonprofits can be dissolved or assigned, or change their interpretation of their mission. They can also sell off assets to fund their mission; museums do this all the time, and any larger nonprofit has gotten rid of a building or two when it was time for a change. As for a volunteer board who would never stray, lots of people and groups have evolved over time.

> And there is a barrier to pulling your code: enforcing copyright when you don't own the copyright is significantly harder.

The Linux kernel seems fairly successful in that. And the structure of Emacs should aid in that; whether or not a Lisp package is owned by the FSF should be irrelevant if they infringed on Emacs, a complete tool without that Lisp package. It wouldn't give them control if that Lisp package was infringed alone, but that's life, and I would think that's pretty far down the list of things the FSF should be worrying about.

Toward a "modern" Emacs

Posted Sep 26, 2020 1:53 UTC (Sat) by pizza (subscriber, #46) [Link] (13 responses)

>> And there is a barrier to pulling your code: enforcing copyright when you don't own the copyright is significantly harder.
> The Linux kernel seems fairly successful in that.

Huh? If anything, the Linux kernel is a poster child for _poor_ copyright enforcement, because nearly everyone in a position to actually enforce it has deliberately (and publicly) chosen not to.

And even when they want to enforce their rights, the sheer size of Linux versus any one individual contributor's portion makes it considerably harder -- this is a large part of why the VMWare suit failed.

Toward a "modern" Emacs

Posted Sep 26, 2020 18:54 UTC (Sat) by NYKevin (subscriber, #129325) [Link] (12 responses)

> Huh? If anything, the Linux kernel is a poster child for _poor_ copyright enforcement, because nearly everyone in a position to actually enforce it has deliberately (and publicly) chosen not to.

This is a Good Thing. It means the Linux kernel developers are exercising personal agency over their code, rather than blindly allowing people who have contributed nothing to the kernel's development to make decisions on their behalf. It means that enforcement is more a matter of community norms and less a matter of "Here's what the FSF/SF[L]C/[somebody else who didn't write the kernel] says the GPL means."

I realize this frustrates Free Software activists to no end, but the desires of Free Software activists are not LKML's primary concern. Their goal has always been to have a kernel that (mostly) works and is (mostly) portable, and their licensing decisions have enabled them to accomplish that goal (by getting compatibility patches back, and mainlining them where it is appropriate and practical to do so). It is not reasonable to declare their process a failure when it is working exactly as they intended.

"Surely they cannot have intended widespread violations of the GPL?" you might ask. That's the wrong question. If they're unwilling to enforce, that means they don't think it's a violation in the first place, or at least not a violation that they actually care about. You may disagree on either or both of those points, but it's up to them to decide how and when they enforce their copyright.

> And even when they want to enforce their rights, the sheer size of Linux versus any one individual contributor's portion makes it considerably harder -- this is a large part of why the VMWare suit failed.

This is potentially a more serious problem - but it ultimately comes down to the same community norms. If you go around trying to recruit individual developers for a lawsuit, you are probably going to face issues getting a critical mass of people to sign up. You need to reach out to the community as a whole and convince them that the lawsuit is in the best interest of the project, and then you should be able to come up with enough plaintiffs with (between them) enough code contributions to demonstrate infringement.

That's rough when the project doesn't care about Free Software values. Too bad, it's not your code. You don't get to tell them how to enforce their copyrights. If most of them didn't want to sue VMWare, then maybe suing VMWare wasn't in the interest of the project after all. Or maybe it was, but the SFC did a bad job of reaching out to the community; I haven't adequately investigated this specific case to say what happened there. I will note that the SFC's FAQ conspicuously fails to mention any direct and explicit outreach to LKML for additional plaintiffs, but perhaps they didn't even realize it would be necessary or useful to do so, or perhaps they did reach out, but felt it would be unnecessary to record such a discussion in their FAQ. Hopefully, going forward, such outreach will be standard practice when dealing with GPL violations involving the kernel.

Toward a "modern" Emacs

Posted Sep 26, 2020 19:29 UTC (Sat) by pizza (subscriber, #46) [Link] (2 responses)

> This is a Good Thing.

As the copyright holder for a couple of (mostly obsolete) chunks of the Linux kernel, I strongly disagree.

> I realize this frustrates Free Software activists to no end

Who gives a crap about what nebulous "free software activists" want? I, as an *end user*, want the complete corresponding source code I was promised. That's it.

Toward a "modern" Emacs

Posted Sep 27, 2020 6:20 UTC (Sun) by NYKevin (subscriber, #129325) [Link] (1 responses)

> I, as an *end user*, want the complete corresponding source code I was promised. That's it.

This is a gross misunderstanding of the GPL, and of copyright law generally. No promise was ever made to any end users, so there is nothing for them to demand in the first place.

Rather, a promise was made to the original copyright holders. While the GPL may have been intended to give rights to end users, that is not what it actually does, nor is it what Linus (at least) wanted out of the GPL anyway (see https://www.youtube.com/watch?v=PaKIZ7gJlRU). And this is fine. People can use the same license to very different ends. This is cold comfort when you're the end user trying to get the source that you just *know* the XYZ company is required to provide, and nobody on LKML cares, but it's their code. If they want to let people steal it, that's their choice. Perhaps it is an unwise choice, but a choice nonetheless.

> As the copyright holder for a couple of (mostly obsolete) chunks of the Linux kernel, I strongly disagree.

If you can find people infringing on those specific chunks, you are free to do as you see fit, in your role as the copyright holder for those chunks. But not in your role as an end user, because end users are not parties to the GPL.

Toward a "modern" Emacs

Posted Sep 27, 2020 7:57 UTC (Sun) by dvdeug (guest, #10998) [Link]

> This is a gross misunderstanding of the GPL, and of copyright law generally. ... While the GPL may have been intended to give rights to end users, that is not what it actually does,

So, yeah, if you want what the GPL was intended to give you, it doesn't seem a gross misunderstanding of the GPL to expect that.

> No promise was ever made to any end users, so there is nothing for them to demand in the first place. ... People can use the same license to very different ends.

It seems you're making RMS's case for him. Above you say:

> You have the code, it is fully GPL-compliant, and (as a result) it's already licensed under the same terms as upstream.

But then you say that functionally it's licensed under very different terms, that functionally an end user has no right to expect creators of a derivative work to offer source code for the work. RMS wants Emacs, and by Emacs I mean the whole thing the FSF distributes in one tarball, to be free software with end users provided with source code for derivative works.

My problem with such a treatment of licenses is a free content provider; as an uploader of photographs to Commons, every time someone slaps the CC-BY-SA on their photo and then lets people use it as if it were public domain, it reduces the value of my CC-BY-SA on my photograph. If everyone is treating CC-BY-SA as being public domain, then I'm being unreasonable when I demand the works be treated as per the license. If one or two copyright owners of GPLed works get tetchy about distribution of their code against the licence, the rest of us are likely to be treated as unreasonable nuisances when complaining about license-infringing distribution; if many copyright holders so act, then normal (not pirates, not carefully conscientious) distributors will make an effort to follow the license.

Toward a "modern" Emacs

Posted Sep 26, 2020 20:40 UTC (Sat) by Cyberax (✭ supporter ✭, #52523) [Link] (8 responses)

> This is a Good Thing. It means the Linux kernel developers are exercising personal agency over their code, rather than blindly allowing people who have contributed nothing to the kernel's development to make decisions on their behalf.
The lack of enforcement means that bad actors have competitive advantage over good actors.

Toward a "modern" Emacs

Posted Sep 27, 2020 6:33 UTC (Sun) by NYKevin (subscriber, #129325) [Link] (1 responses)

The problem with the word "bad" is that it's ridiculously subjective. Canonical is, to the best of my knowledge, still shipping ZFS binaries, which may or may not be a GPL violation depending on which group of lawyers you ask (e.g. the SFC and the SFLC disagree), and as far as I can tell, nobody has sued them or expressed any interest in doing so. We may never get a legal resolution to this case, and we may never know whether this is a violation or not.

Is Canonical a "bad actor" within your definition?

Toward a "modern" Emacs

Posted Sep 27, 2020 6:38 UTC (Sun) by Cyberax (✭ supporter ✭, #52523) [Link]

Canonical is not a bad actor. A smart device manufacturer that doesn't supply the kernel source is one of them.

A couple of jobs before, we had a NAS appliance that ran a copy of Linux with special RAID drivers and device management drivers (cooling, temperature sensors). Without any source code provided. This is another example of a bad vendor.

Toward a "modern" Emacs

Posted Sep 27, 2020 18:29 UTC (Sun) by marcH (subscriber, #57642) [Link] (5 responses)

> The lack of enforcement means that bad actors have competitive advantage over good actors

Just like they have with a permissive license.

I think the tl;dr is "The kernel uses the GPL in a more permissive way". Nowhere near as permissive as a BSD license of course but more permissive than Emacs and other FSF software. I can understand the frustration of the "real" copyleft fans seeing their (world-domination...) tool used in a weaker way than intended.

Toward a "modern" Emacs

Posted Sep 27, 2020 19:05 UTC (Sun) by Cyberax (✭ supporter ✭, #52523) [Link] (4 responses)

> Just like they have with a permissive license.
No, it's not.

GPL has very real compliance costs that a good actor has to pay. This will increase the price of the product and/or make it more complicated (for example, you might have to move your "secret sauce" from kernelspace to userspace). A bad actor can just ignore these costs.

With permissive licenses the compliance cost is usually trivial. So all vendors are on the level playing field.

Toward a "modern" Emacs

Posted Sep 28, 2020 10:04 UTC (Mon) by ibukanov (subscriber, #3942) [Link] (3 responses)

As the grand parent wrote, the notion of a bad actor very subjective. For a consumer of the device who saved some money because that actor passed some of the savings from not complying to GPL to the consumer that actor is good.

And again, the license alone just sets an upper bounds on efforts to comply. The real required efforts depends on copyright holders. And in case of Linux those effectively decided that it is better to have Linux on more devices even if the collateral is that in a lot cases the device manufactures do not follow GPL.

Toward a "modern" Emacs

Posted Sep 28, 2020 16:17 UTC (Mon) by marcH (subscriber, #57642) [Link]

> As the grand parent wrote, the notion of a bad actor very subjective. For a consumer of the device who saved some money because that actor passed some of the savings from not complying to GPL to the consumer that actor is good.

Good and bad can be subjective but I think you're stretching that a bit too far. I doubt violating software licences for profit is considered "good" in any culture. I'm sure it's "not as bad" in some or can yield precedence to some higher cause in others but "good"?

Now of course most consumers will have no idea that their device violates the GPL but that's ignorance not subjectivity.

Toward a "modern" Emacs

Posted Sep 28, 2020 16:38 UTC (Mon) by Cyberax (✭ supporter ✭, #52523) [Link]

OK. Change the word "bad" to "software license violator" then.

Toward a "modern" Emacs

Posted Sep 28, 2020 19:17 UTC (Mon) by dvdeug (guest, #10998) [Link]

The licenses you have on a piece of software set the requirements you have for distributing that software. You can argue an implied license, but arguing that it's okay to copy a whole work with no possible fair use argument just because you don't think you'll get sued is simple piracy.

In the case of Linux, like any other work with so many copyright holders, it's clear that at least some copyright holders don't agree with this implicit license, even if they don't always have the will to go through with a court battle. That's why we have explicit licenses, so all the copyright holders on Linux can get together and agree on the terms.

Toward a "modern" Emacs

Posted Sep 25, 2020 23:55 UTC (Fri) by sdalley (subscriber, #18550) [Link]

As one who has grown used to emacs over the years, it has nevertheless been a source of ongoing astonishment to me that it not yet become "modern" enough to update its dired-mode buffers when an actual update (new files, new modification times) has occurred in the directory being viewed. It sometimes realizes that it has happened, it is even helpful enough (in a manner of speaking) to alert you by prompting with "Directory has changed on disk, type g to update dired", and typing "g" is now wired into my muscle memory.

This seems a really quaint limitation in this day and age. But who knows, maybe version 28 will succeed in fixing even this.

It might even succeed in dragging it kicking and screaming into the 1990's, when the CUA90 shortcut key standards (copy=ctrl-C etc) were introduced.

Toward a "modern" Emacs

Posted Sep 26, 2020 0:51 UTC (Sat) by pabs (subscriber, #43278) [Link]

Some more discussion of the article:

https://news.ycombinator.com/item?id=24593616

Toward a "modern" Emacs

Posted Sep 26, 2020 8:32 UTC (Sat) by dvdeug (guest, #10998) [Link] (5 responses)

The old joke is "Emacs is a great operating system, lacking only a decent editor". I don't know how fair it is or ever was, but having opened Emacs up a couple times over the past few years, I'm still wondering about the value proposition. I guess the impression is an editor with a newsreader is interesting, but in this days of GUIs and Google making so many things system-independent*, why? Vim gets me what I need when telnetting, and a proper GUI editor like gvim/gedit/atom or a proper IDE gets me what I need when programming, so why would I want to learn emacs? No offense to anyone who likes it, but that's why I've never tried to learn it.

* Yeah, yeah, concerns about the power of Google. At the end of the day, I don't think many people want to ssh into one computer to read their email or newsgroups over a text interface; either they have one system that does it with a GUI, or they use their web browser.

Toward a "modern" Emacs

Posted Sep 26, 2020 10:38 UTC (Sat) by Wol (subscriber, #4433) [Link] (4 responses)

> I don't know how fair it is or ever was, but having opened Emacs up a couple times over the past few years, I'm still wondering about the value proposition.

Emacs is a power tool. Like all power tools it has a steep learning curve. To quote my brother from god knows how many years ago - when he started using emacs he didn't know what all the fuss was about, fast forward a few years and as a power user he wouldn't be without it.

Sounds like you're not using it enough to appreciate it.

Oh - and the value proposition from guis is WAY over-rated. I still miss the Sheffield Editor - probably very similar to vim but it was basically a combination of Pr1me ed (itself probably pretty much the original ed), and a screen editor for terminals. Small changes you use the screen editor but I was forever dropping into ed mode and running commands over the entire file - try that with a gui!!!

I've got the source for the Sheffield Editor, but it's written in Pr1me Pascal so firstly I'd have to convert it to standard Pascal, and then find a compiler, and then get it to work with modern terminals :-)

Cheers,
Wol

Toward a "modern" Emacs

Posted Sep 26, 2020 22:32 UTC (Sat) by gus3 (guest, #61103) [Link] (1 responses)

OT: What's the copyright on the Sheffield Editor? Any chance you could share it somehow?

Toward a "modern" Emacs

Posted Sep 27, 2020 8:31 UTC (Sun) by Wol (subscriber, #4433) [Link]

It's abandonware, I'd have to do some digging to find out exactly the proper legal situation. Pr1me went bust in the early 90s, so their market disappeared. At some point shortly afterwards, they announced that they were abandoning it, and the source was available to buy for anyone who wanted it.

I then got given a copy some years later. I guess if someone emailed the Sheffield University Computer Department they would probably give us a disclaimer.

If you want it, I'll have to hunt it down - it's on my computer somewhere - and I'll email it you. If you haven't got my email you'll find it on my user page on the linux raid wiki - drop me a line.

Cheers,
Wol

Toward a "modern" Emacs

Posted Sep 27, 2020 23:20 UTC (Sun) by jwarnica (subscriber, #27492) [Link] (1 responses)

> Emacs is a power tool. Like all power tools it has a steep learning curve.

Such crazy.

I was more or less, out of obligation of corporate windows desktop, Linux systems, and local culture to adopt VSCode as an editor on a gig last year.

It's mostly consistent with standards put on the world by the IBM PC standard. And because of that, and a bunch of actually existing plugins, I was as productive with it, in a few days, as I've ever been in any IDE. I'll grant I don't spend 40 hours a week refactoring code (data!), but I don't know who does.

I'll go as far as saying I did not learn VSCode at all. Because it just worked with they way one who uses computers would expect it to work.

Toward a "modern" Emacs

Posted Sep 28, 2020 6:59 UTC (Mon) by madscientist (subscriber, #16861) [Link]

I tried to use vscode last year. It did not work the way I expected, and I've been using computers for a long time.

Well, maybe I've just been using computers for TOO long and that's my problem. On the other hand my son also did some programming this summer and he also used vscode. He also had trouble getting various things to work (this was a large pre-existing C++ codebase, using a debugger, etc.) We spent a non-trivial amount of time searching the internet for the correct incantation of inscrutable JSON settings to add to various config files.

Yes, vscode is a good editor. It has some nice things. It does some things well. It also has some annoying things, and some things it doesn't do very well. If what you need to do is complex, then you will have to learn some new things, even with vscode. That's just a fact.

I get that some people are upset about the C-c/C-x thing. I agree, it's too bad that this conflict happened. But, "just change Emacs" is really a non-starter. C-c and C-x are two of the most fundamental keys in the entirety of Emacs. You can't just change those keys to something else! Well, I mean, of course you CAN just change them: it's Emacs after all. But no Emacs user who's been using the editor for more than a few weeks would be happy about that change. It's like telling a vi user that you are changing the colon key to mean something else.

The idea that resistance to the CUA change is simply RMS being an unreasonable autocrat is ludicrous.

Sure, have a mode that can enable CUA bindings (exists already, of course). Great. Maybe it could even be the default (on the assumption that experienced users will have an easier time resetting it than novice users will have setting it); I actually don't really care what the defaults are. But, the people who really KNOW Emacs, and the people who are DOCUMENTING Emacs, writing all the howto's, guides, wiki pages, providing help on StackOverflow, etc. etc. will all be using the traditional bindings. And probably 85% of solutions or improvements will involve using C-c or C-x at least once. Confusion will reign.

So it seems likely to me that anyone who wants to actually use Emacs as their editor that they program in all day every day will switch over to use the traditional bindings at some point anyway. Probably sooner rather than later.

Toward a "modern" Emacs

Posted Sep 26, 2020 14:29 UTC (Sat) by abo (subscriber, #77288) [Link]

As a long time casual Emacs and bash user I don't mind the GNU style keybindings, but discoverability is still bad. I often fail to find options which probably are there, but they aren't easily visible and I can't be bothered enough to search for them. Another issue is Emacs Lisp. I do know Scheme, but back when I looked at elisp it just seemed odd to me and not worth the effort to learn, so I'm probably missing out on a lot of the power in that regard as well. Is it that I like the concept of Emacs, but not the implementation?

Toward a "modern" Emacs

Posted Sep 26, 2020 15:33 UTC (Sat) by shemminger (subscriber, #5739) [Link] (24 responses)

Reminds me of
‘Many forms of Text Editor on Linux have been tried, and will be tried in this world of sin and woe. No one pretends that Emacs is perfect or all-wise. Indeed it has been said that Emacs is the worst type of text editor except for all those other forms that have been tried from time to time.…’

Last time I tried all the others were either pay to play or poorly supported

Toward a "modern" Emacs

Posted Sep 26, 2020 20:33 UTC (Sat) by Cyberax (✭ supporter ✭, #52523) [Link] (23 responses)

Atom exists. VSCode exists. Both are superior editors to Emacs.

Toward a "modern" Emacs - First Steps

Posted Sep 27, 2020 1:20 UTC (Sun) by loox (guest, #142138) [Link] (9 responses)

Forget other editors, it’s not a matter of competition. Instead, Emacs does not appeal to the “modern” user because of some glaring lacks. I use BBEdit on Mac and would be willing to switch to emacs. I do not care about Visual Code Studio or TextMate, I’m happy with BBEdit and I’d be glad to be happier with emacs. Here follow the main facts that keep me from investing time on emacs:

1) I’m European. We live with accents and other exotic characters. More, being 2020, I use emoticons. Emacs _as is_ doesn’t work with Unicode. Please, don’t tell me how easy it is to fix it. Just fix it for me, thanks. Any other, er, modern editor is Unicode-enabled, period.
2) I’m in bed at the moment, writing with my iPad. Tomorrow morning I’ll wake up, I’ll wake my Mac up, and I’ll instantly work with whatever document I was working now on the iPad. This means:
2a) I want emacs on my iPad. I sorely miss BBEdit in my iPad. A reason to switch to emacs would be the ability to u se it from my iPad. I realize that having emacs on a iPhone borders with absurd; ok. Having it on the iPad doesn’t.
2b) Synchronization. Please make Emacs iCloud-ready, Dropbox-ready, Pcloud-ready, Box-ready, whatever-ready if you don’t want to create emacs’ own sync service.
I fully understand the conflicts between GPL and the App Store. Sorry, I’m not a lawyer; I’m a user. Want emacs to appeal more to users? Make it work for users, then. Write GPL4 if needed, talk with Apple and Google, kiss a frog. This crusade against app stores is not in the interest of users. If an app is universally available to whoever wants to download it, freedom of redistributing it is actually pointless. GPL should contemplate an exception in this case.
3) Import-Export. Make it easy to import and export common formats. I know you’re programmers; I’m more of an editor, Please make easy, really easy, to output a PDF, writing in Markdown, preview an HTML document.

The chatting about dark mode or video tutorials is moot. It would be more useful, in fact, a graphical app with a micro-emacs inside, that people can try to discover the capabilities of emacs while getting work done in the while.

Thanks for the attention.

Toward a "modern" Emacs - First Steps

Posted Sep 27, 2020 12:24 UTC (Sun) by khim (subscriber, #9252) [Link] (6 responses)

Having it on the iPad doesn’t.
Of course it's absurd. Apple made it impossible to make GPLed programs for iPad and don't think FSF would be willing to compromise.
Please make Emacs iCloud-ready, Dropbox-ready, Pcloud-ready, Box-ready, whatever-ready if you don’t want to create emacs’ own sync service.
FSF would never do that and you know why.
I fully understand the conflicts between GPL and the App Store. Sorry, I’m not a lawyer; I’m a user.
If you say that then you don't understand the conflict.
Write GPL4 if needed, talk with Apple and Google, kiss a frog.
Lol. And what would be the end result? More users? But FSF's end goal is not to make users happy!

Users are just a means to get more developers and developers are needed to make free software. If the price of getting more users is making software not free... then the whole point of attracting them is lost.

It would be more useful, in fact, a graphical app with a micro-emacs inside, that people can try to discover the capabilities of emacs while getting work done in the while.
How would that help to produce more free software? That the main goal here, remember?

P.S. Please don't tell me that it's absurd to put the needs/wants of the users lower then the needs/wants of some piece of software (software is not alive, it doesn't have needs, after all). I know that and kind of agree with that. But situation is different from FSF's POV: that's the organization which is specifically made to promote free software and not to make popular software which makes users happy.

Toward a "modern" Emacs - First Steps

Posted Sep 27, 2020 21:27 UTC (Sun) by loox (guest, #142138) [Link] (5 responses)

>Users are just a means to get more developers and developers are needed to make free software. If the price of getting more users is making software not free... then the whole point of attracting them is lost.

Excluding one and half billion machines from running GPLed software, in order to promote free software, is not smart. Are you telling me that Firefox isn't free software? What about vim? VLC? I can run these apps, as well as plenty of other free software, on iPad. Find common ground with Apple; create it if needed; solve the issue. The current standoff is not promoting free software; it is making emacs increasingly irrelevant. Excellent work, FSF. My compliments.

Toward a "modern" Emacs - First Steps

Posted Sep 27, 2020 22:46 UTC (Sun) by pizza (subscriber, #46) [Link]

> Find common ground with Apple; create it if needed; solve the issue.

Wow, next you'll tell us you have a plan for peace in the Middle East.

(I'm reminded of the saying "Democracy is two wolves and a sheep deciding what to have for dinner.")

Toward a "modern" Emacs - First Steps

Posted Sep 27, 2020 22:55 UTC (Sun) by madscientist (subscriber, #16861) [Link]

I have seen posts about people getting Emacs running in iOS so it's not a technical problem with the code. I should point out that the GNU project doesn't provide pre-built binaries for ANY platform. It's up to someone else to build the software and distribute it. So, if that's not being done for iPad it's not really the GNU project's problem: that's not what they do. The problem is that no one else has done it.

So why has no one else done it? I don't know. Maybe you do?

I have heard three different things: one is that Apple doesn't allow interpreters in programs that run on the iPad. If that's true, the entire basis of Emacs (which is a Lisp enterpreter) is not allowed. How do you suggest that this be worked around? Other people say this is not true, or it was true but is not true anymore, and that other examples of interpreters exist. So maybe that's not the problem.

I've also heard that Apple won't allow an application to download other software. If that's true, it means that you can't use Emacs' package facility to install extra elisp packages. If all you care about is vanilla Emacs I guess that's fine but most people use at least one add-on package. Perhaps whomever created Emacs for the iPad could add in a bunch of the most popular external elisp packages--but the odds that it will include everything you might want are slim. But still, someone could publish Emacs if this were the only issue.

I've also heard that Apple won't allow any program licensed under the GPLv3 to appear in the app store. If this is true, then this certainly would be something that could not be solved by a user who wanted to publish an iPad version of Emacs. If this is the problem, how do you suppose this should be worked around?

When you say "work it out", is it your belief that Apple will agree to some compromise where both parties give some ground to come to a resolution? If that's how you think it would work I recommend you read about the current situation between Epic Games and Apple.

What you're really saying is, the GNU project should give in completely to Apple and do whatever they want, in order to increase their user base to include a group of people who either don't know or don't care about the fundamental reason the FSF and the GNU project exists, or anyway don't care enough to avoid buying hardware that is completely anathema to that reason.

That MIGHT make sense if the goal of the GNU project was to get as many users as possible. Although, the aforementioned Epic Games shows that even if that is your goal you might not be able to come to terms with Apple.

However, the GNU project isn't about increasing market share, it's about increasing software freedom. Compromising their principles to gain a group of users who are happy buying hardware that will only work with pre-compiled software that is selected for them by a single company who exercises absolute control over anything they could run on that hardware is... not an attractive deal for them, to say the least.

Toward a "modern" Emacs - First Steps

Posted Sep 28, 2020 8:29 UTC (Mon) by khim (subscriber, #9252) [Link]

Are you telling me that Firefox isn't free software? What about vim? VLC?
As distributed on iPad/iPhone? All of these are not free. FSF even includes nice diagram to underscore it
I can run these apps, as well as plenty of other free software, on iPad.
No. You can't. All that software, as per FSF's definition is non-Free. And FSF argues that free software is better than open source. If you can run certain free software program then that means that their authors have given up on the free software and produced proprietary version for you to consume.
The current standoff is not promoting free software; it is making emacs increasingly irrelevant.
That's more-or-less what FSF heard about… well, few times per year for it's 35 years of existence. Their chances haven't changed. I don't think your rant would impress them all that much.

Excellent work, FSF. My compliments.
I know have meant that to be sarcastic... but I actually applaud them. At one time I was sure “open source” won and “free software” lost… but today… I'm not so sure anymore.

Think Clang vs GCC. Currently Clang is ahead… but just barely — and that's when it's about 10x (if not 100x) more popular among developers of derived products. Why? Because only Google pushes Clang itself. Everyone else are doing their own proprietary forks… and development effort spent on these, sooner or later, becomes a loss.

I'm not 100% sure which side would win (is it better to attract lots of users and developer even if 90% of development would go to waste… or is it better to have fewer developers — but the ones who care?), but I can certainly see where FSF comes from.

Toward a "modern" Emacs - First Steps

Posted Oct 8, 2020 19:33 UTC (Thu) by markjanes (guest, #58426) [Link] (1 responses)

> Are you telling me that Firefox isn't free software? What about vim? VLC? I can run these apps, as well as plenty of other free software, on iPad.

I was surprised to find out that Firefox is prevented from running add-ons when running on iOS. For example, you cannot install adblock or extensions to ensure your browsing privacy.

https://support.mozilla.org/en-US/kb/add-ons-firefox-ios

Firefox as implemented on iOS is not free, because I am not free to run it in the manner that I choose.

Toward a "modern" Emacs - First Steps

Posted Oct 9, 2020 13:51 UTC (Fri) by mathstuf (subscriber, #69389) [Link]

Well, Firefox (or any browser really) on iOS is just a reskinned Safari. So you get syncing at least. But without the actual engine, how many add-ons actually work? But doing a vetted list of add-ons makes sense to me there. They seem to be doing something similar on Android too. For example, uBlock Origin works on Android, but Intention has not yet been allowed (I presume they do some performance metrics to avoid churning needless battery?). I also assume that they're using metrics to figure out which ones to focus on first.

Toward a "modern" Emacs - First Steps

Posted Sep 27, 2020 13:45 UTC (Sun) by jem (subscriber, #24231) [Link] (1 responses)

>1) I’m European. We live with accents and other exotic characters. More, being 2020, I use emoticons. Emacs _as is_ doesn’t work with Unicode. Please, don’t tell me how easy it is to fix it. Just fix it for me, thanks. Any other, er, modern editor is Unicode-enabled, period.

What problem do you have with accents in Emacs? I have not had any problems with them in Emacs for a long time. No configuration needed, either.

Emacs also supports emojis, I just tried and got a grinning face *in color* on screen in Emacs. Granted, I had to choose a font that supports emojis, and I had to enter it using "C-x 8 RET grinning face RET". How do you do that in your "modern, Unicode-enabled" editor? Is your keyboard equipped with a key that has a yellow grinning face printed on it?

Toward a "modern" Emacs - First Steps

Posted Sep 27, 2020 21:03 UTC (Sun) by loox (guest, #142138) [Link]

>What problem do you have with accents in Emacs? I have not had any problems with them in Emacs for a long time. No configuration needed, either.

You're right; I stand corrected on this. Thanks!

Toward a "modern" Emacs

Posted Sep 27, 2020 6:11 UTC (Sun) by jem (subscriber, #24231) [Link] (1 responses)

VSCode is not superior to Emacs as a *text* editor. VSCode as an editor (with the default settings) is essentially Windows Notepad embedded in an IDE. Basic usage depends heavily on reaching for the arrow keys and the mouse or trackpad. Of course, VSCode supports more complex editing commands, but they all have esoteric key bindings you will have to learn, and they all have functional equivalents in Emacs.

Now, as an IDE for, say, working on a Java project VSCode is far superior to Emacs. Install the Java Extension Pack with a few clicks and you have Java syntax highlighting and checking, completion and automatic imports. Not only that, you get support for building the project within VSCode, and an integrated debugger out of the box. For these reasons, I use VSCode instead of Emacs when working with Java, *but* with the Vim emulator extension to be able to use a real text editor.

By the way, I find it funny that, when talking about CUA (Common User Access), the examples given are the Ctrl-X, Ctrl-C and Ctrl-V key bindings. These key bindings are not in the CUA document, they were introduced by the Apple Macintosh as Command-{X,C,V}, and later ported to Windows as Ctrl-{X,C,V}. In CUA the Cut command is Shift+Del, Copy is Ctrl+Ins and Paste is Shift+Ins.

Toward a "modern" Emacs

Posted Sep 27, 2020 6:16 UTC (Sun) by Cyberax (✭ supporter ✭, #52523) [Link]

I'd been VSCode as my text editor for Markdown documents. It supports all I need out of the box: navigation with bookmarks, columnar selection, search&replace and a clipboard ring. All of them can be learned through visual menus.

I honestly don't know what you want more from a pure text editor.

And yes, there's an IDE on top of VSCode if you need it (though I prefer IntelliJ products).

Toward a "modern" Emacs

Posted Sep 27, 2020 10:13 UTC (Sun) by pgdx (guest, #119243) [Link] (10 responses)

> Atom exists. VSCode exists. Both are superior editors to Emacs. --- Cyberax

Atom is good, vscode is good.

You cannot linearly order editors (that much should be clear by now). I can come up with many tasks that I can do much faster, easier, and more comfortably in Emacs than you can do in either of your editors.

Here's a thing I did the other day that was quite easy in Emacs: open a CSV file, sort by second column, make into a latex table and generate a nicely typeset pdf. Bonus points if you can inspect that very pdf in your editor. But that's just Emacs showing off, I guess...

Toward a "modern" Emacs

Posted Sep 27, 2020 12:35 UTC (Sun) by khim (subscriber, #9252) [Link] (9 responses)

Here's a thing I did the other day that was quite easy in Emacs: open a CSV file, sort by second column, make into a latex table and generate a nicely typeset pdf. Bonus points if you can inspect that very pdf in your editor.
Wow. That's pretty cool. Maybe you can write an article which would explain how I, as complete novice who have never opened the manual and just wants to do that… can repeat that daring feat.

And if the answer is no, you can't, you need all the 600 pages of manual first… then that is where you have lost 90% of users. Now you are fighting for the remaining 10%… with VIM.

But that's just Emacs showing off, I guess…
Not Emacs, but you, I suspect. Yes, Emacs can do that and more… but only for someone who knows how to program. Which is not the majority of users our there. And no, I'm not talking about the need to write actual lisp code. That can be avoided, I suspect. But the need to understand how programs work in principle… these are unavoidable. And majority of text editor users… have no idea about that.

So before Emacs would decide what to do… it's developers have to decide if they want to try to pull more of that 10% users or they are audacious enough to fight for the remaining 90%. Strategy would depend on that…

Toward a "modern" Emacs

Posted Sep 27, 2020 14:18 UTC (Sun) by pgdx (guest, #119243) [Link] (8 responses)

It's three steps, so it's not like you need an engineering degree to
achieve it. Also, you don't need to read 600 manual pages if you are
willing to just use a search engine.

Open csv file in csv-mode, run C-c C-s (for alphabetic sort) or C-c C-n
(for numeric sort). If you haven't selected a region of the file
(typically the entire file or the entire file minus the header), Emacs
will select the entire file and ask you it you indeed want to sort the
entire file (including the first row). Then Emacs asks you which
column, and it defaults to the column your cursor is in (select 2).

Now, enter org-mode, select the table and run C-c |. (Sounds weird, but
pipe is column separator in org-mode, so it's quite natural if you're
familiar with org-mode.) If you want to make the first row the header
row, you simply press C-c -, which inserts a separator line under your
cursor.

Finally, run C-c C-e l p (again, possibly weird, but C-c C-e is
org-export, and then l p means LaTeX and PDF).

Toward a "modern" Emacs

Posted Sep 28, 2020 9:24 UTC (Mon) by beagnach (guest, #32987) [Link] (1 responses)

Yes, it's simple, three steps, but the point is that a new user is never going to figure this out unaided.

Toward a "modern" Emacs

Posted Sep 28, 2020 10:30 UTC (Mon) by pgdx (guest, #119243) [Link]

Yes, it's simple, three steps, but the point is that a new user is never going to figure this out unaided.

No, that's not the point. It's certainly a point, but it's not my point. My point was that the statement

Atom exists. VSCode exists. Both are superior editors to Emacs
isn't correct, at least not for me. I just tried to say that there are things I'd rather do in Emacs than attempt to achieve in either of the other two.

Toward a "modern" Emacs

Posted Sep 28, 2020 23:26 UTC (Mon) by gus3 (guest, #61103) [Link] (5 responses)

> Open csv file in csv-mode

How to do that?

> Now, enter org-mode

Again, how to do that?

You're trying to explain how to do all this without reading 600 manual pages, right? If you're going to explain how to do something, make sure your entire audience (not just your expected audience) can get a clue, a feel for the task.

I'm writing this solely as someone with a glancing familiarity with Emacs.

Toward a "modern" Emacs

Posted Sep 29, 2020 7:10 UTC (Tue) by pgdx (guest, #119243) [Link]

>> Open csv file in csv-mode
> How to do that?

M-x csv-mode (it defaults to that if you open a CSV file, though, so probably unnecessary).

>> Now, enter org-mode
> Again, how to do that?

M-x org-mode.

If you're not familiar with M-x, it is (usually) Alt-x and then you type in your command, e.g. help, apropos, whitespace-cleanup, org-mode, markdown-mode, csv-sort-fields, sort-lines, magit-blame, etc.... The set of available commands depends on your "current mode" (e.g. java, csv, org, markdown, text, mail, ...).

Toward a "modern" Emacs

Posted Sep 29, 2020 7:41 UTC (Tue) by jem (subscriber, #24231) [Link] (3 responses)

This is getting ridiculous. The task at hand obviously is not easily solvable by a "complete novice" of any tool, unless the tool is specifically coded for the task. It is definitely not solvable by the praised Emacs competitors like Atom and VS Code, without coding an extension in Typescript or some such. In Emacs the needed pieces are readily available, and if you don't feel like reading the manual you may be able to find someone who can whip up a semi-friendly front end that makes use of the existing Emacs csv-mode and org-mode packages.

You don't need to read 600 pages of manual to start using Emacs. You can start using it just like Windows Notepad (or a Notepad-like editor like VS Code): open a file by choosing Open File... in the File menu. Move around in the text using the arrow keys (or Ctrl-arrow for moving by word), the Page Up and Page Down keys, Home, End, Ctrl-Home, Ctrl-End. Edit the text using the Backspace and Delete keys; again, you can combine these keys with Ctrl to delete by word. Click on and select text using the mouse, if that's the way you want to work.

Unfortunately, for historical reasons, a few common Ctrl key combinations are different, so you will have to learn the Emacs alternatives for cut, copy, paste and undo (which, by the way, are also available for selection in the Edit menu). Oh well, I guess that's too much for the typical attention span of people today...

One more thing: the Real CUA key combinations for cut (Shift-Del), copy (Ctrl-Ins) and paste (Shift-Ins) are also available. Apple forced us to learn new key combinations for those functions.

Toward a "modern" Emacs

Posted Sep 29, 2020 9:00 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]

> You can start using it just like Windows Notepad (or a Notepad-like editor like VS Code): open a file by choosing Open File... in the File menu.
I've actually tried this route back in 2006. And quickly discarded it. Back at that time I was already used to a "standard" layout: the project tree in the left and the tabbed editor on the right.

When you open a file in Emacs you get a full screen of it. There are no tabs and navigation between open files (who said "buffers"?) is NOT trivial. And it's a completely different model from everything else.

So basically you HAVE to start with reading the manual and un-learning all the muscle memory. CUA mode doesn't particularly help. As far as I remember, even text selection worked differently (not the usual shift+movement keys).

Toward a "modern" Emacs

Posted Sep 30, 2020 2:20 UTC (Wed) by dvdeug (guest, #10998) [Link] (1 responses)

Omitting the Emacs/Unix-specific step of invoking LaTeX, Excel or just about any spreadsheet can do it just fine. Again, the old joke is "Emacs is a great operating system, lacking only a decent editor". Why should I open a CSV file in a text editor and expect it to be treated like a spreadsheet?

> One more thing: the Real CUA key combinations for cut (Shift-Del), copy (Ctrl-Ins) and paste (Shift-Ins) are also available. Apple forced us to learn new key combinations for those functions.

Because the original ones were horrible? Maybe if any two keyboards kept Del and Ins in the same spot, I could learn to touch-type with them, but that would still require moving my right hand from the normal position.

Toward a "modern" Emacs

Posted Sep 30, 2020 6:26 UTC (Wed) by jem (subscriber, #24231) [Link]

>Omitting the Emacs/Unix-specific step of invoking LaTeX, Excel or just about any spreadsheet can do it just fine. Again, the old joke is "Emacs is a great operating system, lacking only a decent editor".

I really doubt a complete novice (not my words) could do it with Excel either. But the general expectation seems to be that if you are unable to do something in Excel, then "stop complaining and start learning". My objection was directed at commenter pgdx who complained that if a "complete novice" can't do this convoluted task without reading 600 pages of manual then "then that is where you have lost 90% of users." Isn't it a bit unfair to expect Emacs to enable someone who has always lived under a rock to be able to handle CSV files using it, without first learning the basics?

Another joke is that Emacs stands for "Eight Megabytes And Constantly Swapping". Oh, the horror.

>Why should I open a CSV file in a text editor and expect it to be treated like a spreadsheet?

You don't have to, if you don't want to. I guess the example was just to demonstrate how powerful and extendible Emacs is. If you don't care about org-mode or csv-mode, then please ignore them. They don't bloat Emacs, other than taking up a bit of disk space.

>Because the original ones were horrible? Maybe if any two keyboards kept Del and Ins in the same spot, I could learn to touch-type with them, but that would still require moving my right hand from the normal position.

My comment on the CUA key bindings was written with tongue in cheek. My point was that key bindings have not been set in stone since the beginning of the IT era, and also that talking about Ctrl-x/c/v as "Common User Access Keys" is a misnomer.

Toward a "modern" Emacs

Posted Sep 27, 2020 16:29 UTC (Sun) by ard (guest, #139727) [Link] (18 responses)

After reading the comments here it looks like most of the people have never used Emacs or tried it once 30 years ago (no Unicode support? https://lwn.net/Articles/832663), cannot use mailing lists what indicates that they don't have too much experience with open source in general, and that they feel modern because they are so modern and cool because they use C-c and C-v to copy and paste text what actually means that they are inflexible and unwilling to learn new ways of doing things and may not even know what C-c does in the command line.

I have been using Emacs for 10 years and it works well for me - I use Elpy for Python, go-mode for Go, cc-mode with company-mode and smart-compile for C, Magit for Git integration, yasnippets. All of the features you'd expect from contemporary IDEs are here - auto complete, on the fly syntax checking, integrated debugger, refactoring capabilities, showing documentation for symbol at point, narrowing, jumping to definition. It's hard to come across file written in a programming language for which Emacs wouldn't at least provide syntax coloring out of the box - I've just tried .java, .kt, various assembly types.

I've also used Jira mode that allowed me to list all tasks assigned to me, comment on them and create new tasks without leaving Emacs. Additionally, I can use Emacs without touching a mouse and in server-client mode so I have access to all existing buffers when writing an e-mail in Mutt or when using sudoedit. I use zenburn theme because I prefer darker colors.

A couple of things I looked into recently: JSON mode - it's here https://github.com/joshwnj/json-mode, Rust mode - it's here https://github.com/rust-lang/rust-mode.

If you cannot figure out how to use a mailing list feel free to ask questions on Emacs SE: https://emacs.stackexchange.com.

Nothing is perfect though - one of the things I don't like about Emacs is that it cannot be run under Wayland without using XWayland because 'it is not a proper gtk application' or whatever https://emacshorrors.com/posts/psa-emacs-is-not-a-proper-....

Toward a "modern" Emacs

Posted Sep 27, 2020 18:41 UTC (Sun) by marcH (subscriber, #57642) [Link] (17 responses)

> cannot use mailing lists what indicates that they don't have too much experience with open source in general,

Been living under a rock?

I try to avoid the word "modern" when possible but it's getting difficult when the developers relying on email the most use the words "stone tablets".

Toward a "modern" Emacs

Posted Sep 27, 2020 18:52 UTC (Sun) by ard (guest, #139727) [Link] (16 responses)

Are you trying to say that mailing lists are not used any more? What are Mailing List Archive https://marc.info, https://gmane.io or lore.kernel.org for? Yes, there are many projects on Github, Gitlab etc. but there are also some projects that only have mailing lists. This is also why there are `git send-email` and `git am` in Git. I hope Git it's modern enough?

Toward a "modern" Emacs

Posted Sep 27, 2020 20:09 UTC (Sun) by marcH (subscriber, #57642) [Link] (15 responses)

> Are you trying to say that mailing lists are not used any more?

Non idea how you got that. I quoted a very specific sentence from you.

Toward a "modern" Emacs

Posted Sep 27, 2020 20:13 UTC (Sun) by ard (guest, #139727) [Link] (14 responses)

Ok, so what do you mean by "Been living under a rock?" in reference to my point about mailing lists and open source?

Toward a "modern" Emacs

Posted Sep 28, 2020 2:27 UTC (Mon) by pabs (subscriber, #43278) [Link] (13 responses)

There is a whole generation of developers that only use web interfaces (principally GitHub), those interfaces are getting to the point where they also replace local editors like emacs or VSCode and compilers and so on.

Toward a "modern" Emacs

Posted Sep 28, 2020 4:26 UTC (Mon) by marcH (subscriber, #57642) [Link]

Not using mailing lists does not imply coding in a web interface but yes, that's a good (counter) example.

Toward a "modern" Emacs

Posted Sep 28, 2020 8:36 UTC (Mon) by ard (guest, #139727) [Link] (11 responses)

> There is a whole generation of developers that only use web interfaces (principally GitHub),

And? There is also a whole generation of developers who have never used C or command line but you cannot say that these things are not used any more. Everyone uses e-mail though, using mailing list is easy especially if you do not need to subscribe. If you don't know how to use a mailing list you will never contribute to Linux or Freebsd kernels or projects such as busybox, U-boot and others. Newer projects such as https://core.dpdk.org/contribute (started in 2012) that I got interested in lately also use mailing lists. So it's not about whether someone has used it or not - they can always give it a try, someday they might have to if they'll want to contribute and there's nothing wrong with that - this is called learning.

Toward a "modern" Emacs

Posted Sep 28, 2020 18:26 UTC (Mon) by marcH (subscriber, #57642) [Link] (10 responses)

> but you cannot say that these things are not used any more.

Good thing no one said that then but please keep arguing with yourself again.

> this is called learning.

I've already used mailing-lists and I'm still using some sometimes. That's why I try to avoid them.

> Everyone uses e-mail though, using mailing list is easy especially if you do not need to subscribe

If you're interested in learning this assumption has already been questioned and discussed a million times on this site - and others.

Random example: https://lwn.net/Articles/817668/

By the way it's not mailing-lists that seem to be losing steam; email as a whole too. "Blame" Facebook, Whatsapp and what not.

> If you don't know how to use a mailing list you will never contribute to Linux or Freebsd kernels or projects such as busybox, U-boot and others.

Exactly one of the top issues that has already been discussed a million times, welcome to the party. Better late than never.

Toward a "modern" Emacs

Posted Sep 28, 2020 18:51 UTC (Mon) by ard (guest, #139727) [Link] (9 responses)

> > but you cannot say that these things are not used any more.
>
> Good thing no one said that then but please keep arguing with yourself
> again.

It's either me or you should express your thoughts more clearly.

> > this is called learning.
>
> I've already used mailing-lists and I'm still using some sometimes. That's
> why I try to avoid them.

You see, and I *prefer* using mailing lists over Web-based forums.

> > Everyone uses e-mail though, using mailing list is easy especially if you
> do not need to subscribe
>
> If you're interested in learning this assumption has already been
> questioned and discussed a million times on this site - and others.
>
> Random example: https://lwn.net/Articles/817668/

Wow, if you didn't tell me that I wouldn't even know that
https://discourse.debian.net exists. I have never used Discourse but
I'd gladly start if there was a need but e-mail would still be
better. I can use both - no problem for me but I see that some
self-called "modern" people (not you) are rather close-minded and
inflexible.

> By the way it's not mailing-lists that seem to be losing steam; email as a
> whole too. "Blame" Facebook, Whatsapp and what not.

I don't use e-mail on my phone when I want to ask someone if we hang
out this evening, I use Signal. But e-mail loosing steam? Maybe but
I'm not sure it will stop being relevant until the end of my "career"
but I wouldn't be so sure about Facebooks, Whatsapps and other today's
rockstars. At least, e-mail serves as a login/registration mechanism
and notification system in many places. It's still widely used in
business because it's versatile, unified, independent and secure (but
only if set up correctly).

>
> > If you don't know how to use a mailing list you will never contribute to
> Linux or Freebsd kernels or projects such as busybox, U-boot and others.
>
> Exactly one of the top issues that has already been discussed a million
> times, welcome to the party. Better late than never.

Well, if someone cannot figure out how to use e-mail they'd better not
contribute.

Toward a "modern" Emacs

Posted Sep 28, 2020 20:52 UTC (Mon) by marcH (subscriber, #57642) [Link] (8 responses)

> It's either me or you should express your thoughts more clearly.

I clarified "this is not what I said". pabs gave a good example that I endorsed. Yet you kept at it. If you're not sure what I meant don't keep making me say what you fancy answering instead. This site is one of the few left where people try to understand each other in the comments section.

> It's still widely used in business because it's versatile, unified, independent and secure

I agree with most of your technical description of email here but it doesn't automatically follow that email should be used for everything including code reviews and project collaboration, no more than it implies email is good substitute for databases (which most "modern" tools rely on = not so random example).

> > This assumption has already been questioned and discussed a million times on this site - and others.

Yet I can't resist addressing this particular, knee-jerk justification:

> Well, if someone cannot figure out how to use e-mail they'd better not contribute.

s/figure out/like/

I know how to use email; I even knew how to send a message with telnet 25 and retrieve them on port 110 (before everything became encrypted). I just _prefer_ to avoid email when I can because I find it messy, disorganized and not productive.

I perform a number of code reviews daily and I can understand the temptation not to make too easy to contribute but seriously: use email because you think it's the best way for the project to communicate, not because there are technically easier ways to communicate!? That's the worst reason ever and possibly turning off people who like email but not this kind of attitude and to be honest it lowers the credit of other, much better points you made. Don't mix up two totally different problems.

For instance a much better way to filter contributors and save maintainer time is not to start reviewing anything until all tests and checks pass in CI (or have a very good, written justification why they don't). Now you know the wannabee contributor had the technical skills to perform something actually useful and relevant: reproduce and troubleshoot failures and fix them. If no CI failure (for instance because of lack of test coverage), asking for new tests is another much better litmus test.

This is just an example I bet you can find others. BTW any _single_ litmus test carries a "monoculture" risk.

In general creating an artificial shortage of contributors because there is a shortage of maintainers is playing with fire from a long term, natural selection perspective, so proceed very carefully. Even betting you'll be the next "COBOL generation" pulled out of retirement at great expense would be risky ;-) There are many open-source projects to contribute to, many more than ever before and there is a shortage of smart contributors too. So good luck finding your next generation maintainers if you purposely rely on a litmus test as bad as "Do you like email?"

Toward a "modern" Emacs

Posted Sep 28, 2020 21:45 UTC (Mon) by ard (guest, #139727) [Link] (7 responses)

> Yet I can't resist addressing this particular, knee-jerk justification:
>
> > Well, if someone cannot figure out how to use e-mail they'd better not
> contribute.
>
> s/figure out/like/
>
> I know how to use email;

Everybody does. And I didn't mean that YOU don't know how to use
e-mail - I meant that if someone wants to contribute to a project that
uses e-mail they should be intellectually able to figure out how to
use their e-mail client, git-send-mail and git-am. Well, I did and I'm
not the smartest person in the world, I'm actually quite dumb.

> I even knew how to send a message with telnet 25
> and retrieve them on port 110 (before everything became encrypted).

Cool, I use telnet only for tests. I use Mutt + msmtp + offlineimap +
K-9 Mail on the daily basis.

> I just _prefer_ to avoid email when I can because I find it messy,
> disorganized and not productive.

And I find e-mail something completely opposite - organized (mutt has
good searching capabilities: I can filter e-mails by From: or To:
headers, by subject, by e-mail body; I can move e-mails to other
mailboxes; can easily backup my ~/.muttmail even though all messages
are also kept on the server; I'm notified about new e-mails on my
phone; I can read and reply to e-mails on my phone and thanks to IMAP
they are synchronized with mutt) and productive - I don't have to
leave command line and since I use Emacs to write the body I have
access to all existing buffers as I explained above.

> I perform a number of code reviews daily and I can understand the
> temptation not to make too easy to contribute but seriously: use email
> because you think it's the best way for the project to communicate, not
> because there are technically easier ways to communicate!?

As I explained, I find e-mail technically easy to use. I also find web
forms technically use to use though slightly less convenient because I
hate using mouse (I'm using tridactyl in Firefox to overcome this
problem) and because web based forums are not so flexible, cannot be
backed up locally and do not provide as good searching capabilities as
mutt does. So yes, I find e-mail the best way for the project to
communicate.

> That's the worst reason ever and possibly turning off people who
> like email but not this kind of attitude and to be honest it lowers
> the credit of other, much better points you made. Don't mix up two
> totally different problems.

I don't get it.

> For instance a much better way to filter contributors and save maintainer
> time is not to start reviewing anything until all tests and checks pass in
> CI (or have a very good, written justification why they don't).

Yes, this is good.

> Now you know the wannabee contributor had the technical skills to
> perform something actually useful and relevant: reproduce and
> troubleshoot failures and fix them. If no CI failure (for instance
> because of lack of test coverage), asking for new tests is another
> much better litmus test.

ok but what's your point here? Are you saying there is no CI on
mailing lists? There might be - there is one on LKML for example, and
they also have a web based interface that shows all patches sent,
their state and shows the discussion
https://lore.kernel.org/patchwork/project/lkml/list (I heard managers
like it this way).

> This is just an example I bet you can find others. BTW any _single_ litmus
> test carries a "monoculture" risk.
>
> In general creating an artificial shortage of contributors because there is
> a shortage of maintainers is playing with fire from a long term, natural
> selection perspective, so proceed very carefully

But this is not 'artificial shortage of contributors', I don't know
how did you come to this conclusion. What if project A uses Github but
someone who wants to contribute used to work for years in project B
that uses Gerrit and doesn't know how Github works (and these 2 tools
are really different technically) - is project A intentionally
creating shortage of contributors this way?

> Even betting you'll be the next "COBOL generation" pulled out of
> retirement at great expense would be risky ;-)

Don't worry about me, I have to work for another 35 years to achieve
retirement age. I expect to see a lot of breakthrough changes, new
ways of doing things, new ideas and adapt to all of them. Just a few
months ago I switched to i3 to be ready to switch to Sway on Wayland
and a few days ago I got a new M.2 SSD disk, much faster than the ones
I have used so far. I'm not and am not planning on being stuck in the
past.

> There are many open-source projects to contribute to

I know, I contributed to many.

> many more than ever before

There are many although their quality and usefulness vary.

> and there is a shortage of smart contributors too.

Smart contributors - yes, smart.

> So good luck finding your next generation maintainers if you
> purposely rely on a litmus test as bad as "Do you like email?"

I don't do that.

Toward a "modern" Emacs

Posted Sep 28, 2020 22:57 UTC (Mon) by marcH (subscriber, #57642) [Link] (6 responses)

> > I know how to use email;

> Everybody does. And I didn't mean that YOU don't know how to use e-mail - I meant that if someone wants to contribute to a project that uses e-mail they should be intellectually able to figure out how to use their e-mail client, git-send-mail and git-am.

This is not really about configuring an email client or using git. It's about organizing the information overload you're describing:

> And I find e-mail something completely opposite - organized (mutt has good searching capabilities: I can filter e-mails by From: or To: headers, by subject, by e-mail body; I can move e-mails to other mailboxes; can easily backup my ~/.muttmail even though all messages are also kept on the server;

I prefer not having to do most of these _at all_.

BTW referring to mutt in a discussion about ease of use is... interesting?

> As I explained, I find e-mail technically easy to use.

Great but this discussion isn't about you cause you already prefer email.

> I also find web forms technically use to use though slightly less convenient because I hate using mouse

You just hit the second most common misconception in this discussion. While the web is clearly the preferred database interface these days, there's no fundamental requirement for it to be. If some people manage to get something out of github from Emacs (github = the closed source poster child of open source), surely it's possible to do even better with alternatives to github.

> ok but what's your point here? Are you saying there is no CI on mailing lists?

Again, no idea how you got that. Information overload?

> they also have an interface that shows all patches sent, their state and shows the discussion https://lore.kernel.org/patchwork/project/lkml/list (I heard managers like it this way).

Exactly: this as close to "modern" as kernel development gets. Re-constructing a missing code review database from loose emails as opposed to having some sort of email (and other) interfaces from a code review database like everyone else does. A code review database means someone joining the project 2 years later and debugging a long standing issue can find all the relevant information and barely any irrelevant information in a jiffy. No email organization needed. Meanwhile: https://lwn.net/Articles/797613/

Also: https://damien.lespiau.name/posts/2016-02-13-augmenting-m...

> is github project A intentionally creating shortage of contributors this way?

Yes but not intentionally and (IMHO) not as much as with email. I mean I've never read this: "Well, if someone cannot figure out how to use github they'd better not contribute." In fact github's constant efforts are the exact opposite of that.

> > There are many open-source projects to contribute to

> I know, I contributed to many.

Just to be clear: I meant including many that do not require email.

> > So good luck finding your next generation maintainers if you
> > purposely rely on a litmus test as bad as "Do you like email?"

> I don't do that.

I'm pretty sure you just did.

Also sure you still have a lot of past discussions to catch up with. Write less and read more (and more slowly).

Toward a "modern" Emacs

Posted Sep 28, 2020 23:33 UTC (Mon) by ard (guest, #139727) [Link] (5 responses)

> > > I know how to use email;
>
> > Everybody does. And I didn't mean that YOU don't know how to use e-mail -
> I meant that if someone wants to contribute to a project that uses e-mail
> they should be intellectually able to figure out how to use their e-mail
> client, git-send-mail and git-am.
>
> This is not really about configuring an email client or using git. It's
> about organizing the information overload you're describing:

Information overload? E-mail contains From:, To:, Subject: and
body. How is this different from anything else?

> > And I find e-mail something completely opposite - organized (mutt has
> good searching capabilities: I can filter e-mails by From: or To: headers,
> by subject, by e-mail body; I can move e-mails to other mailboxes; can
> easily backup my ~/.muttmail even though all messages are also kept on the
> server;
>
> I prefer not having to do most of these _at all_.

You don't have to do that, you can. And what exactly would you prefer
not having to do? You prefer not doing backup ("there are two kinds of
people...")? You prefer not having easy searching by author or
subject? You prefer not using your smartphone? You prefer not using
the command line? You hate synchronization and notifications?

> BTW referring to mutt in a discussion about ease of use is... interesting?

Sorry, "easy to use" might mean something completely different to
different people, don't you think? For instance, I find Gmail flashy
clicky web interface absolutely disgusting and unusable.

>
> > As I explained, I find e-mail technically easy to use.
>
> Great but this discussion isn't about you cause you already prefer email.

You asked me:

> I perform a number of code reviews daily and I can understand the
> temptation not to make too easy to contribute but seriously: use email
> because you think it's the best way for the project to communicate, not
> because there are technically easier ways to communicate!?

and so I answered.

> > I also find web forms technically use to use though slightly less
> convenient because I hate using mouse
>
> You just hit the second most common misconception in this discussion. While
> the web is clearly the preferred database interface these days, there's no
> fundamental requirement for it to be. If some people manage to get
> something out of github from Emacs (github = the closed source poster child
> of open source), surely it's possible to do even better with alternatives
> to github.

Surely it's also possible with e-mail. BTW, I have never wished to use
Github from Emacs. You can use Github like a regular repository and
you can use hub command line tool to fork and push pull requests
etc. and you can read and reply to all tickets by e-mail.

> > ok but what's your point here? Are you saying there is no CI on mailing
> lists?
>
> Again, no idea how you got that. Information overload?

> Just to be clear: I meant including many that do not require email.

There are no projects that do not require e-mail because you have to
use e-mail to register. Yes, I've used Gerrit, Gitlab, Github and
Bitbucket. I also use StackExchange a lot (Emacs has a very nice
Markdown mode) - it's heavily web based. But what's the point? I have
used many different things, have self-called "modern" developers too?

> > > So good luck finding your next generation maintainers if you
> > > purposely rely on a litmus test as bad as "Do you like email?"
>
> > I don't do that.
>
> I'm pretty sure you just did.

No. Use the right tool for the job. If you want to contribute, follow
the rules. You don't have to like them, it's not your project.

> Also sure you still have a lot of past discussions to catch up with. Write
> less and read more (and more slowly).

Honestly, I have a very hard time trying to understand your
posts. They're patronizing and written in a very bizarre way.

Toward a "modern" Emacs

Posted Sep 29, 2020 15:30 UTC (Tue) by marcH (subscriber, #57642) [Link] (4 responses)

> Honestly, I have a very hard time trying to understand your posts.

I shared a number of references but it doesn't seem you tried to read any other post. You're only interested in explaining how perfect email is (for you).

Toward a "modern" Emacs

Posted Sep 29, 2020 17:18 UTC (Tue) by pizza (subscriber, #46) [Link] (3 responses)

> I shared a number of references but it doesn't seem you tried to read any other post. You're only interested in explaining how perfect email is (for you).

I should point out here that his comfort with email is fine, just as the email-centric development model of emacs (or whatever) is also fine -- it serves those doing the work quite well. Indeed, hyper-customizable tooling is the entire raison d'etre of emacs, and non-email server-based workflows invariably require using someone else's tooling.

If someone wishes those folks to change a development model/methodology they personally find very productive (and aligns with their overall principles) for something significantly different, that someone will have to show how those changes will be an overall improvement _for the existing team_ -- they are, after all, the ones who are doing the work, and are all volunteers.

Anyway.

Toward a "modern" Emacs

Posted Sep 29, 2020 17:37 UTC (Tue) by marcH (subscriber, #57642) [Link] (2 responses)

> that someone will have to show how those changes will be an overall improvement _for the existing team_

Totally agreed - as long the existing team doesn't "live under a rock", doesn't place non-technical objectives too far above technical ones and can generally listen to unusual perspectives. Otherwise it would just be a lost cause it would be better to either fork or look for alternatives and not just for tooling reasons.

Another option when you can afford it and when the size of the project justifies it is to "fragment and bridge" the tooling, this is what happens for the kernel for instance.

> and are all volunteers.

Depends on the project.

Toward a "modern" Emacs

Posted Sep 29, 2020 17:56 UTC (Tue) by ard (guest, #139727) [Link]

> > that someone will have to show how those changes will be an overall
> improvement _for the existing team_
>
> Totally agreed - as long the existing team doesn't "live under a rock",
> doesn't place non-technical objectives too far above technical ones and can
> generally listen to unusual perspectives.

But who does that? I'm not a member of Emacs core team and never sent
any patches but I'm glad they think about the future, I'd like to see
how Emacs evolves in the next decades. I also described how Emacs
fills all of my needs as a programmer in year 2020, mentioned Emacs SE
(I forgot r/emacs) and stated that there are many other projects that
use e-email and that you should know how to use it. You somehow
focused on that e-mail thing and started convincing me that it's very
very bad and should not be used. Nobody "lives under the rock" here.

> Otherwise it would just be a lost cause it would be better to either
> fork or look for alternatives and not just for tooling reasons.

Emacs has been forked multiple times, and it will be forked multiple
other times if there is a need. For me, making it work on Wayland
without using XWayland is now one of the most important things to
do. I'd gladly start using Wayland on the daily basis without any
leftovers from X.

> Another option when you can afford it and when the size of the project
> justifies it is to "fragment and bridge" the tooling, this is what happens
> for the kernel for instance.

Emacs is, however, a much smaller project compared to kernel
(actually, most OS projects are smaller than kernel). It's also not as
critical and there are not so many eyeballs looking at it.

Toward a "modern" Emacs

Posted Sep 29, 2020 18:25 UTC (Tue) by pizza (subscriber, #46) [Link]

> Otherwise it would just be a lost cause it would be better to either fork or look for alternatives and not just for tooling reasons.

Well, yes -- the developers doing the actual work are the ones who ultimately decide what direction a project takes, up to and including forking it if the nominal "owners" are intransigent.

If RMS is truly the only impediment to "progress" in emacs, then its most productive developers will revolt and fork it. It won't even be the first time this has happened to a core GNU package.

Toward a "modern" Emacs

Posted Sep 27, 2020 17:30 UTC (Sun) by rsidd (subscriber, #2582) [Link] (1 responses)

So I have been using vi(m) since the 1990s and emacs since about 2003. This article and the comments are very interesting. Here is my take
  • For quick-and-dirty editing I use vi (I type "vi", it invokes vim in terminal mode). For coding I use emacs.
  • The look-and-feel of emacs doesn't bother me.
  • But for both vim and emacs, I have only scratched the surface of their power it seems; eg I didn't realize that "undo trees" were a thing, and wonder why I didn't know. So, discoverability is important.
  • This may be because I tend to RTFM up until the point where it is not too difficult to do something; then just go with what I know and am comfortable with. I don't know how typical I am here.
  • Also, I use emacs as an editor, not an IDE. I save the code and do other stuff from the terminal. (These days I use jupyter a lot, for python and julia; but I often do major edits of the code in emacs anyway.)
  • I am aware of atom, vscode, etc; not particularly tempted to switch.
  • Once upon a time emacs was seen as bloated and slow. Now we have editors written in typescript/javascript running on atom. So a lisp interpreter seems like no big deal.
  • But, sad to say, younger people know to program javascript; they don't know common lisp or scheme, still less emacs lisp.
  • My main languages are python, julia, latex; and previously, C, ocaml.
  • My teenage son is getting into coding, and I find it hard to justify emacs to him. He is using atom.
  • Discoverability of advanced options, and default keybindings that match with common current usage (but can be configured away), would definitely make it easier to encourage younger people to use emacs.
  • Support for a widespread language (javascript, python, whatever) as an underlying engine would be even better, but I imagine, much harder -- even guile-emacs didn't really work out.
I feel emacs still has its place today and younger coders should discover it; and it wouldn't hurt to make the learning process less steep.

Toward a "modern" Emacs

Posted Oct 4, 2020 11:58 UTC (Sun) by wtarreau (subscriber, #51152) [Link]

Same here overall. Regarding it having been bloated, I can still easily use it on a machine where the Arduino editor is unusable, with half a second lag between a key being pressed and the letter appearing on the screen (how do they achieve this is beyond my imagination, we're speaking about using billions of CPU cycles to display a single character).

Toward a "modern" Emacs

Posted Sep 27, 2020 20:44 UTC (Sun) by wjb (subscriber, #71810) [Link]

Blender bit the bullet after 2.79, moved it's arcane UI to one more in tune with the rest of the world, and doesn't appear to have suffered as a result.

Toward a "modern" Emacs

Posted Oct 1, 2020 19:20 UTC (Thu) by smitty_one_each (subscriber, #28989) [Link]

I love Emacs, but its defaults are physically incompatible with my limbs.

https://spacemacs.org is how I use Emacs.

What the community might consider is how to better integrate and expose sets of functionality along the lines of spacemacs.

Toward a "modern" Emacs

Posted Oct 3, 2020 14:15 UTC (Sat) by cgwaldman (subscriber, #9061) [Link] (1 responses)

187 comments and nobody has mentioned Xah Lee's efforts at modernization (http://ergoemacs.org/emacs/emacs_modernization.html), or the (basically failed) XEmacs fork?

Toward a "modern" Emacs

Posted Oct 3, 2020 21:45 UTC (Sat) by thumperward (guest, #34368) [Link]

The Lucid Emacs schism confirmed nearly 30 years ago why efforts to actually improve GNU Emacs will, literally, happen over rms's dead body.

There is an incredible irony in that the man generally heralded as the founder of the movement for software collaboration is impossible to work with.

Compatibility is important

Posted Oct 4, 2020 11:53 UTC (Sun) by wtarreau (subscriber, #51152) [Link] (1 responses)

For me the main problem with Emacs is its permanent breakage across upgrades. It's even my main blocker from upgrading my distro, because I *know* that I'll again have a terrible experience for 3 months, the time it takes to fix everything again. And I'm not using anything really custom, just basic stuff like trying to fix the broken auto-indent stuff that happily appends tabs and spaces after your last edited line, using a barely readable font, fixing tab-width etc. Many of these change and trigger errors upon upgrades.

There's no incentive for developers to actually *learn* how to master it since it will be worthless again 1 year later.

On the input side, I'm still very annoyed by the stubbornness in confusing tabs and spaces. Tabs are for indent, spaces for alignment, but I somewhat gave up and finally spend my time deleting wrong tabs and replacing them with spaces by hand. Having lost the ability to delete a region without copying it into the buffer when switching from Xemacs to emacs continues to annoy me as well, because I cannot easily use the same block to replace many occurrences of a seemingly identical block anymore.

Still it's the editor I find myself most comfortable with. But I also hate it for its strong refusal to adapt to my needs nor helping me perform rare operations. Very often I find myself saving my file an running sed or vi on it for a repetitive operation that would take hours to figure inside emacs. Contrary to its original author I don't live in ideology nor dogma and just want to get things done efficiently, so if I can do something easier with something else, I switch for the time it takes to do it.

The first thing to think about for future versions, instead of switching colors, is to think about *keeping* users by giving them less incentive to use other tools in the first place, even temporarily. There are extremely few emacs users around me, all others seem to be on gvim an to be mostly happy. Thinking that it's probably much easier to switch from emacs to gvim than the other way around suggests that not tempting to switch (even just for a small operation) is the most important thing to achieve.

Compatibility is important

Posted Oct 4, 2020 21:15 UTC (Sun) by jhhaller (guest, #56103) [Link]

I hear you. I frequently remote into other machines. Emacs is rarely installed on those machines, and even if it was, it doesn't work the way I want it to without changing the configuration. I don't have the time or patience to address this. My first editor on Unix was ed on a printing terminal, so on those remote machines, I generally use vi as a visual tool. I can use the vi commands of a, d, i, and r. Everything else I do is prefixed with a ":" and an ed command. Yank and put on vi is a great mystery to me, and I have to reread the manual to figure out how to use it. I did learn to use emacs and became quite proficient with it, but tired of installing and configuring it to do what I wanted.

Toward a "modern" Emacs

Posted Oct 17, 2020 14:14 UTC (Sat) by seagle0128 (guest, #142585) [Link]

Maybe basic mode and advanced mode is another option. Or basic configuration and advance configuration by default?
BTW, Centaur Emacs https://github.com/seagle0128/.emacs.d/ are available for FSF.


Copyright © 2020, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds