There’s a lot of lost history, even in something as seemingly mundane like text editing and text user interfaces in general.
Some of it has survived on in some form, but there were a lot of interesting things being done before:
There were also multiple editors around with varying architectures before many of them died. Emacs was one of many … there was EINE, ZWEI .. and ZWEI went on to become Zmacs used on the Lisp Machines: http://en.wikipedia.org/wiki/Zmacs … a manual for it can be found at http://bitsavers.informatik.uni-stuttgart.de/pdf/ti/explorer/2243192-0001A_Zmacs_Jun87.pdf but that doesn’t go into many details about the implementation, I suspect.
I also wrote something in the Atom forums to talk about the Deuce editor architecture: https://discuss.atom.io/t/the-deuce-editor-architecture/2218
Deuce is an editor written in Dylan and is part of the IDE. It is pretty un-featureful at the current point in time, but the architecture was quite nice and powerful. It was written by someone who worked on stuff at Symbolics for the Lisp Machine back in the 1980s. Something that I really like about Deuce is that buffers are composed of sections which can come from multiple files. With this, a search operation can yield up live views of the parts of the file that matched the search. Want to edit all methods that override something? Sure. Want to edit every method that calls method foo? Sure.
Hopefully some more of what has gone before will be preserved before everyone that wrote it dies. We have a few years …
no mention of Acme?
Feel free. I haven’t used it.
He mentioned Oberon’s text UI, which may look awfully familiar. ;)
Even TempleOS has a text editor that allows embedded images … I find very impressive (and sad …) that a lot of software from the 70-80s is more powerful than most of the stuff that we (have to) use today.
one editor i truly wish had been opensourced rather than left to fade away and die was an old dos editor called aurora. it followed the emacs architecture, more or less - a little interpreter in some combination of c and assembly (i’m guessing), and the bulk of the editor written in its own macro language, AML. the nice thing about aurora was that its editor DSL and source code was truly well designed and accessible; it was vaguely pascal-like, from what i recall, and everything was neatly modular and easy to modify.
on my copious-free-time list is to go through that with the lambda-term/zed source code open and see how it aligns.