The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Mary Ann Horton <mah@mhorton.net>
To: tuhs@minnie.tuhs.org
Subject: Re: [TUHS] screen editors
Date: Wed, 8 Jan 2020 10:30:43 -0800	[thread overview]
Message-ID: <e31f5e4e-73f5-c68e-b22a-30527f6ddeea@mhorton.net> (raw)
In-Reply-To: <202001071630.007GUrBj030452@freefriends.org>

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@skeeve.com wrote:
> Larry McVoy <lm@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

  parent reply	other threads:[~2020-01-08 18:31 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-07  2:31 Doug McIlroy
2020-01-07  2:37 ` Brantley Coile
2020-01-07  2:38 ` Larry McVoy
2020-01-07 16:30   ` arnold
2020-01-07 16:38     ` Richard Salz
2020-01-07 18:32     ` Dan Cross
2020-01-07 19:14     ` Thomas Paulsen
2020-01-09  5:01       ` Grant Taylor via TUHS
2020-01-10  8:16         ` ricercar
2020-01-08  0:10     ` Jon Steinhart
2020-01-17 22:06       ` Dave Horsfall
2020-01-08 18:30     ` Mary Ann Horton [this message]
2020-01-08 21:41       ` Thomas Paulsen
2020-01-09  8:30       ` arnold
2020-01-07  6:19 ` Dave Horsfall
2020-01-07  8:24   ` Thomas Paulsen
2020-01-07 20:44     ` Dave Horsfall
2020-01-08 15:29   ` Steve Mynott
2020-01-08 23:31     ` Dave Horsfall
2020-01-07  9:43 ` ullbeking
2020-01-07 14:53   ` Dan Cross
2020-01-07 19:35   ` Rodrigo G. López
2020-01-08  5:13     ` Mark van Atten
2020-01-07 15:03 ` Clem Cole
2020-01-08 21:43   ` [TUHS] screen editors (FRED) Greg A. Woods
2020-01-09  0:04     ` Dave Horsfall
2020-01-07 15:50 ` [TUHS] screen editors Thomas Paulsen
2020-01-07 20:45   ` Chet Ramey
2020-01-07 21:20     ` Derek Fawcus
2020-01-07 19:57 Doug McIlroy
2020-01-07 20:17 ` Brantley Coile
2020-01-07 20:47 ` Bakul Shah
2020-01-08  7:39 Thomas Paulsen
2020-01-08 15:58 ` Steve Nickolas
2020-01-08 23:41   ` Dave Horsfall
2020-01-09  1:43     ` Nemo Nusquam
2020-01-08 21:49 ` Dave Horsfall
2020-01-08 22:01   ` Clem Cole
2020-01-17 23:38     ` Dave Horsfall
2020-01-18  0:07       ` Ryan Casalino
2020-01-18 23:02       ` greg travis
2020-01-10  8:13   ` markus schnalke
2020-01-10  8:17     ` U'll Be King of the Stars
2020-01-11 19:58       ` markus schnalke
2020-01-11 20:54         ` Derek Fawcus
2020-01-11 21:27         ` Henry Bent
2020-02-04  8:40         ` Sijmen J. Mulder
2020-01-10 15:31     ` Nemo Nusquam
2020-01-10 16:04       ` Clem Cole
2020-01-10 17:10       ` Dan Cross
2020-01-10 17:18         ` Steve Nickolas
2020-01-18  1:55           ` Michael Parson
2020-01-10 15:58     ` Theodore Y. Ts'o
2020-01-08  9:46 Rudi Blom
2020-01-08 14:15 ` Chet Ramey
2020-01-08 15:15   ` Steffen Nurpmeso
2020-01-08 15:42     ` Steve Mynott
     [not found]     ` <68b3d6df-94f6-625d-39bf-6149b4c177c9@andrewnesbit.org>
2020-01-08 20:56       ` Steffen Nurpmeso
2020-01-08 23:21   ` Dave Horsfall
2020-01-09  0:08     ` Warner Losh
2020-01-09  1:28       ` Larry McVoy
2020-01-09  1:40         ` Bakul Shah
2020-01-09  2:04           ` Clem Cole
2020-01-09  2:07             ` Larry McVoy
2020-01-09  2:12               ` Clem Cole
2020-01-09  2:59                 ` Bakul Shah
2020-01-09  3:08                   ` Larry McVoy
2020-01-09  3:43                     ` Bakul Shah
2020-01-09  3:27                 ` Mary Ann Horton
2020-01-09  3:34                   ` Larry McVoy
2020-01-09  3:49                   ` Bakul Shah
2020-01-09  3:55                     ` Mary Ann Horton
2020-01-09  5:27                       ` Bakul Shah
2020-01-09  4:23                 ` Jon Steinhart
2020-01-09 15:54                   ` Clem Cole
2020-01-09 17:21                     ` Jon Steinhart
2020-01-09 17:30                       ` Warner Losh
2020-01-09 17:56                       ` Bakul Shah
2020-01-18  2:11                         ` Michael Parson
2020-01-09 18:53                       ` Larry McVoy
2020-01-09 19:01                         ` Jon Steinhart
2020-01-09 19:02                     ` Steffen Nurpmeso
2020-01-09 19:19                       ` Steffen Nurpmeso
2020-01-09 20:20                     ` Mary Ann Horton
2020-01-18  2:06                   ` Michael Parson
2020-01-18  3:13                     ` Clem Cole
2020-01-18  3:44                       ` Kurt H Maier
2020-01-18 15:37                       ` Larry McVoy
2020-01-18 22:11                         ` markus schnalke
2020-01-09  2:14         ` Greg 'groggy' Lehey
2020-01-09  2:48           ` Chet Ramey
2020-01-09  9:05       ` Thomas Paulsen
2020-01-08 15:11 ` Nemo Nusquam
2020-01-08 15:37   ` Henry Bent
2020-01-18 14:22   ` Michael Parson
2020-01-09 21:46 Norman Wilson
2020-01-09 22:10 ` Brantley Coile
     [not found] <20200120155946.169b39e0.ref@sagittariusa.cnb.csic.es>
2020-01-20 14:59 ` [TUHS] Screen editors Jose R. Valverde via TUHS
2020-01-20 16:07   ` Toby Thain
2020-01-20 16:20     ` Larry McVoy
2020-01-31 18:21       ` Jose R. Valverde via TUHS
2020-01-29 22:24     ` Dave Horsfall
2020-01-29 22:33       ` Larry McVoy
2020-02-07 23:05         ` Dave Horsfall
2020-02-07 23:54           ` Richard Salz
2020-02-08  3:11             ` Dave Horsfall
2020-02-08  3:38               ` Ronald Natalie
2020-02-08  0:05           ` Bakul Shah
2020-01-29 23:00       ` Thomas Paulsen
2020-01-26 18:28   ` arnold
2020-01-26 18:33     ` Adam Thornton
2020-01-26 18:36       ` arnold
2020-01-26 18:40       ` arnold
2020-01-26 19:11         ` Adam Thornton
2020-01-26 19:40     ` Jon Forrest
2020-01-26 20:08     ` Chet Ramey
2020-01-26 20:32 Paul Ruizendaal
2020-01-26 23:14 ` Thomas Paulsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e31f5e4e-73f5-c68e-b22a-30527f6ddeea@mhorton.net \
    --to=mah@mhorton.net \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).