From: David C. Brock
I'd like to read similar discussions of the data
structures for ed, em,
ex/vi. ... Similarly, if there are any pointers to references on some
other data structures in editors like TECO, QED and E, I'd welcome them
as well.
I don't have any discussions I can point you at, but I do have source - for
two things which are somewhat older than most of the ones you mention
(ex/vi/etc).
The first is a TECO from the fourth floor V6 machine (DSSR/RTS) at Tech Sq at
MIT:
http://ana-3.lcs.mit.edu/~jnc/tech/unix/teco
There's some rudimentary documentation in there, in teco.doc, but don't expect
too much. You'll have to rely on the source, which is in MACRO-11 - but it
seems to be reasonably well commented. This actually predates V6; it was
originally written for an MIT OS called DELPHI, which ran on an -11/45 which
was the main EECS undergrad machine. At some point (probably post the Unix
port), it was modified to have '^R mode', which was a WYSIWYG display mode a
lot like the one in the ITS TECO in which EMACS was first written.
I have also put up the Montgomery Emacs for Unix:
http://ana-3.lcs.mit.edu/~jnc/tech/unix/emacs
This is the version we were running on the 5th floor MIT V6 machine (CSR),
which by that point have absorbed a few V7isms (e.g. some ioctl() stuff). So
don't expect to be able to compile and run it, without a fair amount of
work. (I vaguely recall that it needs I+D space, so maybe not on a /23 at
all.) But at least the source is in C, so you can read it. I don't think
there's an un-modified version online (i.e. the original Montgomery source),
alas.
Noel