Live data from Hacker News

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

news.ycombinator.com

231–240 of 340 posts

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

#231
post #4

Earlier quoted context omitted.

Actually, I love Emacs for its Lisp! Yes, Emacs Lisp is not the best Lisp out there, however, IMHO, it's miles ahead of VimScript. If I were really to rewrite Emacs, I'd use some modern Scheme.

Fennel is a better Lisp than elisp. Neovim is extensible, and to a large degree written in, Lua, which the target language of Fennel. Most developers do not like writing Lisp. That's just a fact, slamming the downvote button won't change it. I am not among those developers, I like writing Lisp, but most, flatly put, do not. So by choosing Scheme you are competing with a remarkable number of little-used editors which…

> Neovim has achieved the best of both worlds

No it has not. Fennel doesn't have the same level of integration into Neovim, like Elisp has in Emacs. Emacs is essentially a Lisp interpreter with a text editor built on top of it. This tight coupling allows Elisp to interact with and modify every aspect of Emacs, providing a level of customization and extensibility that is difficult to replicate with external languages.

While Neovim's approach with Lua and Fennel is commendable, it is unlikely that these languages will achieve the same level of seamless integration as Elisp within Emacs.

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

#232
post #215

Earlier quoted context omitted.

"A friction" you say? You can run Emacs, open a scratch buffer and extend it right away. You don't even have to save the damn code, you can try it out immediately. Folks complaining about Emacs being hard without even trying to understand any Lisp, is on the same level of whining about how web-development is so much harder compared to building shit in Squarespace (or something), only because you can't figure out HTML…

Compare to when you'd go to use an add-on, and it would be one text file, right on your screen, and you would think: . o O ( hey, I get some of this, and I can just start tweaking it here... )

You clearly don't know what you're talking about. You simply don't argue over customizability of Emacs, nobody does, because they know it's futile. If you think anything else has even some slightly better ergonomics to extend the thing, you just have not seen the bonkers level of extensibility what's possible with Emacs.

In Emacs, you can seamlessly integrate a function from a third-party package, say, a command that fetches a url, parses it, performs processing, and displays the results in a browser. Remarkably, you can modify it to send the results to an LLM or another function instead, without altering any other aspects. This level of granular control is complete bananas and only possible in Emacs. For VSCode, you'd likely need to create a new extension, while in Vim, you'd have to rewrite the entire function. Emacs, on the other hand, allows you to precisely specify and override only the desired part of the function. And once again, you don't even have to save a damn file to try it out.

So, yeah, I don't have to compare it with nothing. Nothing else comes even close.

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

#233
post #112

Disclaimer: my experience with Emacs is limited. I've only used it because it's the path of least resistence to learn Lisp. So for me it would be: everything that makes Lisp programming easier, like: - Use a Lisp implementation that's not tied to the editor. - Slime/Sly + Quicklisp functionality out of the box. - Integrated syntax awareness, preferably "syntax directed" for programming. There is more, but it'll be ob…

I used to do a lot of consulting work using Common Lisp on remote servers and would frequently need to set up tmux, Emacs, SBCL, Slime, etc. on remote servers to do my work. Keep good notes, and it gets much easier and faster.

Past month I setup ssh accounts to access a remote server using Laravel. The guys doing the programming absolutely hate the console, but it turns out VS Code can work through ssh connections just fine. Not sure if it can also debug, but editing was seamless. I wonder if it uses sftp or escape codes.

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

#234
post #47

I'd make cursors be positioned within the document instead of on the screen. Currently, Emacs does not support off-screen cursors. If you attempt to scroll a cursor off screen, it will move within the document to stay on screen. This behavior is contrary to all modern text editors, and there is no good workaround. I once made a serious effort to start using Emacs, but ultimately stopped because of the annoying cursor…

It is possible to emulate this in Emacs Lisp. I've created a package to that extent, see http://ankarstrom.se/~john/etc/emacs/scroll-without-point.el. (I've made a few changes to it the last couple of weeks that I have yet to upload, though.) I should probably publish it somewhere else eventually, but I've always felt it to be a bit of a hack. Still, I use it and it works well 99% of the time.

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

#235
post #215

Earlier quoted context omitted.

Compare to when you'd go to use an add-on, and it would be one text file, right on your screen, and you would think: . o O ( hey, I get some of this, and I can just start tweaking it here... )

You clearly don't know what you're talking about. You simply don't argue over customizability of Emacs, nobody does, because they know it's futile. If you think anything else has even some slightly better ergonomics to extend the thing, you just have not seen the bonkers level of extensibility what's possible with Emacs. In Emacs, you can seamlessly integrate a function from a third-party package, say, a command that…

I think I wasn't clear about what comparison I was talking about.

I've made some Emacs extensions, the public ones of which are at: https://www.neilvandyke.org/emacs/

My point was that I see a lot of people now who aren't getting the advantage that I had, of seeing "here's some Emacs Lisp code that does X", right up in their face, from the start, and constantly.

So they have more friction, to even knowing what Emacs Lisp looks like, and knowing how close they are to extending Emacs themselves.

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

#236
post #19

Earlier quoted context omitted.

> If text in Emacs looked as pretty as text on the web does Do you have an example of this? I can't tell any difference for the fonts that I use (with emacs-pgtk). I believe Emacs uses Harfbuzz (same as Chrom{e|ium}).

I have never figured out how to get a good font and rendering going for text in Urdu/arabic script.

Is vscode better at Urdu/arabic?

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

#237
post #215

Earlier quoted context omitted.

Compare to when you'd go to use an add-on, and it would be one text file, right on your screen, and you would think: . o O ( hey, I get some of this, and I can just start tweaking it here... )

You clearly don't know what you're talking about. You simply don't argue over customizability of Emacs, nobody does, because they know it's futile. If you think anything else has even some slightly better ergonomics to extend the thing, you just have not seen the bonkers level of extensibility what's possible with Emacs. In Emacs, you can seamlessly integrate a function from a third-party package, say, a command that…

I mean, it would be really nice if we didn’t have to drop into SVG or XWidget to mix text with GUI elements…

But agreed that Emacs is more user-extensible than all the other options presently out there, purely from how easy text-oriented extensions are.

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

#238
post #235

Earlier quoted context omitted.

You clearly don't know what you're talking about. You simply don't argue over customizability of Emacs, nobody does, because they know it's futile. If you think anything else has even some slightly better ergonomics to extend the thing, you just have not seen the bonkers level of extensibility what's possible with Emacs. In Emacs, you can seamlessly integrate a function from a third-party package, say, a command that…

I think I wasn't clear about what comparison I was talking about. I've made some Emacs extensions, the public ones of which are at: https://www.neilvandyke.org/emacs/ My point was that I see a lot of people now who aren't getting the advantage that I had, of seeing "here's some Emacs Lisp code that does X", right up in their face, from the start, and constantly. So they have more friction, to even knowing what Emacs…

I'm now utterly confused, even than before. From the start I thought you were saying "Emacs is hard to extend [for a newbie]", or something like that, and I've been arguing that it is not. Now I'm not sure what you're talking about at all - all the packages anyone uses come with their source code, the body of any function is a keystroke away.

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

#239

Earlier quoted context omitted.

You clearly don't know what you're talking about. You simply don't argue over customizability of Emacs, nobody does, because they know it's futile. If you think anything else has even some slightly better ergonomics to extend the thing, you just have not seen the bonkers level of extensibility what's possible with Emacs. In Emacs, you can seamlessly integrate a function from a third-party package, say, a command that…

I mean, it would be really nice if we didn’t have to drop into SVG or XWidget to mix text with GUI elements… But agreed that Emacs is more user-extensible than all the other options presently out there, purely from how easy text-oriented extensions are.

Sure, yes, a graphical layer would be nice, I would love to be able to draw some arrows and other elements in some sort of an overlay, something like DrRacket does. And yes, better integration with an actual web browser would be splendid. I would love that.

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

#240
post #180
post #98

One thing about Emacs, is it's not really just an editor anymore. Comparing it to other editors kind of misses the mark. It's more like an integrated Lisp development and runtime environment. It reminds me of Smalltalk environments, say Squeak or Pharo, albeit in a very text oriented way. The world could probably make room for an integrated Lisp development environment that makes GUI programming more of a first class…

Emacs runs on terminals too. If you want GUI's, you can choose Common Lisp with Lem and MCCLIM, or that newish web oriented GUI with a similar environment.

And so? Emacs GUI already does tons of things that don't work in terminal:

- It can render different fontsets

- PDFs

- SVG and images

- Emojis and file icons

- Tooltips

- Drag&Drop and better mouse support (scrolling, selection, etc.)

I think it would be great to have a better GUI layer and native web-browser integration. Emacs' evolution doesn't have to be constrained by terminal limitations, and so far it doesn't seem that it was.

Post reply on HN