There's not many other programs that are in a similar place of very old + still in widespread use + still seeing regular feature development.
The impacts of what sort of design decisions linger on, and for how long? What change is born out of the program itself vs. having to adapt to changes in the environment? What's more likely to result in defect counts going up again? All sorts of interesting data points re lifecycle ...
That said, it's interesting how for example original keybindings from 1976 still survive, despite being effectively a result of a quick email poll and scavenging of people's dotfiles.
I'm guessing Stallman would have been replacing Mock Lisp with a real Lisp.
EDIT: well, doh, the Wikipedia page on GNU Emacs (which I have never visited until now, since I don't use Emacs) confirms that:
"GNU Emacs was initially based on Gosling Emacs, but Stallman's replacement of its Mocklisp interpreter with a true Lisp interpreter required that nearly all of its code be rewritten."
The existence of this relationship explains why there is a MockLisp article in the Wikipedia at all.
The performance issues with elisp keep it from “conquering” more of the world.
I expect to wake up one morning and read on HN that they’ve finally fixed it.
Then the Ultimate Editor Construction Kit will win over another generation.
I use magit everyday and can't tell whether it sync or async (meaning no performance issues).
jupyter-python code blocks are definitely async (I can type in the same buffer while they are calculating something).
There is no issue with tailing logs in one vterm buffer and doing whatever in another.
Some operations are slow e.g., generating daily agenda from multi year org files (though it is not slow enough that I've bothered to do anything about it).
My problem is that I am a little obsessive about keeping all my JetBrain IDEs, LispWorks, and VSCode all set up with useful plugins. As you might imagine, I also use them.
However, I think my work flow would be better just using one tool. I like to play around with dev tools and configurations too much. I am 71 years old, I should know better :-)
I'll not mention all the time people gripe at me about how hard it is to learn vim commands while I save so much time on large repetitive edits that I've made back my (enjoyable) investment years ago.
Emacs is slow. Even with native compilation. Even with the default or a minimal config. Opening files or switching buffers, imenu, isearch, etc especially in files of a few thousand lines or more, have a noticeable UI grogginess to them.
It's probably only dozens or maybe hundreds of milliseconds but it's very clearly there and always has been on every system I've used emacs on for nearly 20 years now. I do not understand emacs people who claim it isn't, or try to make it a "you're using it wrong" matter based around my config. Your config can certainly make it much worse, but you can't config it out of emacs it is part of the software.
Vim definitely starts up faster. But to make it more comparable, do you consider “emacs -nw -Q” slow too? What do you get for “time emacs -nw -Q -eval '(kill-emacs)'”?
I am basing this entirely off of how it feels to use the tool, rather than measured timings, because I am a person who feels and not a clock that measures.
I also don't care all that much! Emacs is slow and also still the best tool for many of my uses. If it's unbearably slow for a given task I just use something else for that.