Why Rewriting Emacs Is Hard

There have been quite a few attempts to re-implement (part of) Emacs’ functionalities in languages other than C, like JEmacs, remacs, and lem. And we are seeing new efforts in EmacsConf 2024: rune 1, gypsum 2, and the revived Guilemacs 3. (Strictly speaking, Guilemacs is more a fork than a total rewrite, but anyway.) However, a complete rewrite of (GNU) Emacs has always seemed like an insurmountable task, not just because writing editors is hard. This article aims to look into some of these difficulties and the Emacs designs (that of course have been exposed in some Emacs Lisp API) that lead to them. The rationale for this piece is that I too have been pipe-dreaming about yet another rewrite. :-/ 1 EmacsConf – 2024 – Experimental Emacs Core in Rust 2 EmacsConf – 2024 -…

Read more on Lobste.rs