Live data from Hacker News

Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

news.ycombinator.com

31–40 of 340 posts

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#31

The core should be in rust, verfied in lean, and the runtime should be in guile. Literate programming in org-mode should be a hard requirement. Package management should require patch algebra. Macros should be submitted to a leaderboard in a blockchain and yield flair in EUDC. M-x measure-beard-length should require 10000 hours of logged usage and unlock the major mode infinity-categorization. Tongue-no-longer-in-che…

Ok, you had me for the first three sentences.

Implemented mostly in Guile, with just some native primitives/kernel bits in Rust, makes a lot of sense, for a programmer's application platform in the spirit of Emacs.

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#33
Biggest issue w/ emacs is once you start adding packages everything is half-broken. Ideal emacs replacement would preserve the ease of extension and flexibility but have more of a static time verification systems (types and ...?) to prevent bugs (and bonus, make easier to achieve speed too).

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#34
post #28

Don't use lisp. Normal people don't like it, it looks weird. I wonder how many projects failed because they were lisp. Normal people: Visits a project page. Sees it's a lisp. Closes page.

Parentheses scare away anyone who shouts "bro!" and fist-bumps each other, before they can insist "the first thing Emacs needs is a package manager, to hide code as much as possible from casual users" (missing half the point of Emacs).

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#35
post #12
post #6

Instead of using ctrl and meta modifiers, use a leader key like escape or semicolon or comma or some such thing as the prefix key for key bindings. In fact, this desire for leader-key-based, non-modal text editing led me to write devil-mode for Emacs: https://susam.github.io/devil/ >.

Make CapsLock an additional Ctrl. On many old keyboards that is where the Ctrl key was positioned [1]. [1] https://en.m.wikipedia.org/wiki/Caps_Lock#Placement

Instead of making it an additional Ctrl key, you can also make it a new separate modifier key with XKB[1]. I've found this very useful over the years for WM-related key bindings, leaving the other modifiers for applications.

Tangentially, I really loathe how Wayland has no alternative to this. I'm expected to configure keyboard layouts in every DE or WM I use, which is a much worse UX.

[1]: https://vincent.bernat.ch/en/extending-xkb#attaching-symbols...

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#36
post #25

I would change the development platform. Doing everything by mail makes things more difficult for people that are not used to the older mail+patch workflow. Having something like GitLab or sourcehut would be nice, as it would also bring a more modern bug tracker. Personally I find following email conversations much harder than just a single conversation thread like in a GitHub issue, for example.

All sensible email clients have a 'thread view' for just this purpose, which effectively makes it a 'single conversation thread'.

Yes, the Gmail web client does this. However my (personal) problem comes more from reading the emacs-devel archives, where the thread view takes the shape of something more like a tree (maybe I'm not configuring something correctly). I was subscribed to emacs-devel at some point (which made reading easier) but it started filling up my account storage so I un-subscribed.

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#37
post #32

Allow for user controllable window layout within the frame, objectively the editor's only significant drawback.

god yes please. "Will I get a new window? If so, where will it be?"

If I could have Emacs with Acme-style window management, that'd be perfect

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#38

> If you were rewriting Emacs from scratch, what would you do differently? UI: Electron, of course. Json to represent the edit buffer in RAM. Each utf8 code point base64 encoded, in a json array, it itself, as a blob, base64 encoded. Now, before you complain that that is gonna blow up the data too much, don’t forget that 1. “Ram is cheap” and 2. “gzipped base64 is about the same size as binary”. So, of course, we’ll…

Prefer Tauri to Electron. It is 2024, after all.
Post reply on HN