Emacs-ng: Emacs with Deno runtime and TypeScript
I agree that using a JS runtime makes more sense that Emacs&#x27;s weird e-lisp runtime, with all of its dynamic-scope weirdness.<p>But dynamic scope, and e-lisp, isn&#x27;t the only thing weird about Emacs.  Emacs also calls &quot;files&quot; &quot;buffers&quot;, and calls &quot;windows&quot; &quot;frames&quot; and &quot;frames&quot; &quot;windows&quot;.  It has weird keyboard shortcuts.  Every third command also copies to the clipboard as a side-effect, which means you constantly obliterate the contents of the clipboard while getting ready to paste what you thought was there.  Oh, but to address this problem, it makes the clipboard into a <i>ring</i> of clipboards, so that when you replace the clipboard with something else, you can still access the other clipboards in a ring by hitting the paste command multiple times in a row.  Oh, but if you press another key in between, you get lost in clipboard madness.<p>Emacs also has an &quot;undo&quot;, but no &quot;redo&quot; command.  Except that when you &quot;undo&quot;, it actually pushes the &quot;undo&quot; itself onto the list of &quot;things to undo&quot;, so that you can undo that undo, in order to redo.  But people also need to undo multiple undos before getting interrupted with a redo, so Emacs only undoes the undos if you press some other key after undoing a few dos in a row.  But hey, this means it doesn&#x27;t need a &quot;redo&quot; command.<p>So, I agree that the elisp runtime is a weird thing about Emacs, and something that is rational to change.  But the thing is... if you&#x27;re going to change that... why not everything else about Emacs?<p>I mean, at some point Emacs looks a lot like Bitcoin Core, or Wikipedia -- a beautiful historical community with weird consensus rules that flowered into a very exotic, strange, and usually-functional artifact.  Although sometimes it doesn&#x27;t work as well as the newer technologies.