[TUHS] screen editors

Mary Ann Horton mah at mhorton.net
Thu Jan 9 04:30:43 AEST 2020


It's interesting how much of this has  been lost to history. Curses, in 
particular, is sketchily documented, and se is unknown. Here's how I 
remember it.

Bill Joy made major enhancements to previously enhanced versions of ed, 
creating vi. In 1979, he bumped up against the 64K boundary on the 
PDP-11, and handed it off to me. I made some more smaller enhancements.

vi was huge by the standards of the day, especially compared to ed. 
There were ifdefs to take out several features, such as support for 
upper case only terminals, to make it fit on the PDP-11. I had to split 
it into version 2 (16 bit) and 3 (32 bit) to be able to enhance it and 
still support 2BSD on the PDP-11.

Ken Arnold took the screen updating code from vi (just the "full screen 
update", not the parts that did insert/delete line/char) and turned it 
into the curses library. Rogue was the primary user of curses.

Once I graduated from Berkeley went to Bell Labs, I took vi, termcap, 
and curses with me. I replaced termcap, which was too slow to start up 
(it was quadratic on the size of the entry, which was awful on the 
hardware of the day) with terminfo, a binary version that was faster. It 
included tools like tic and infocmp to translate back and forth to text 
and termcap.

I also rewrote curses with a new algorithm that fully utilized 
insert/delete line/char. I had a paper to publish on the subject, but I 
lost it and never did publish it.

I gave a talk at Usenix Boston in 1982 about the new curses and 
terminfo. But I couldn't release the code, because it was considered 
proprietary. Pavel Curtis offered to clone it, and I coached him on the 
algorithm and specs, and he released a good clone pcurses. Eventually 
that became ncurses.

Nearly everyone at Bell Labs (outside area 11) was using either vi or 
emacs, but System III just had ed. There was a big push to add vi or 
emacs to UNIX 3.0 (System III), but USG instead chose to write se, the 
"screen editor" and put it in UNIX 4.0. Nobody would use it, so UNIX 5.0 
(System V) relented and included vi.

     Mary Ann

On 1/7/20 8:30 AM, arnold at skeeve.com wrote:
> Larry McVoy <lm at mcvoy.com> wrote:
>
>> I'm a vi guy to this day.  Love it.
> In the summer of '82 I did some contract programming at Southern Bell
> on a PDP-11 running USG Unix 4.0.  It had a screen editor called 'se'
> that I only ever saw there, written somewhere in the Bell System and
> squeezed to run on an -11.  Anyone know anything about it?
>
> Unrelated, Georgia Tech had the 'se' screen editor as part of the
> Software Tools Subsystem, based on the 'ed' in the Software Tools book.
> This was later ported to Unix. I modified that code to use curses/termlib
> and posted it to USENET. It's been updated and is available from
> https://github.com/se-editor/se and http://se-editor.org is the home
> page. (Thomas Cort IIRC did that work.)
>
> What's funny is that in doing the work to get 'se' running on Georgia
> Tech's Vax, I had to learn vi.  By the time I was done, vi had become
> my main editor and had burned itself into my finger's ROMs.
>
> Arnold


More information about the TUHS mailing list