[TUHS] Data structures in Unix editors

Noel Chiappa jnc at mercury.lcs.mit.edu
Fri Apr 2 06:12:11 AEST 2021


    > 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


More information about the TUHS mailing list