[TUHS] the history of termcap (was: Re: Curly braces: An evolution of UNIX and C)

Clem Cole via TUHS tuhs at tuhs.org
Thu May 21 12:36:55 AEST 2026


Believe me when I state, I wasn’t trying to suggest more of Joy’s work than
other than he started it all. His ex(1) edited was different than fred(1),
ned(1) and the like. The terminal support was in an external ascii db for
ex(1). For instance I hacked fred(1) to support the Perkin Elmer Fox
terminal which CMU standardized on in 1978 [they a great volume price - my
memory is $750-$800].

WRT to the full history of term cap, the person you need to talk to is Mary
Ann Horton (off line). I was at UCB for some of its history, but arrived
earlier than I did and she was integral it all of it.  She started with
Joys work and took it to a new level  I believe she is the one that broke
it out of ex(1), but she was not the one that did that, she will know who
did. Note curses(3) was much later - and  instead ex(1) being the driver,
rogue(1) was. In that case, you need to talk to Ken Arnold who adapted his
library for Mine Toy.

Sent from a handheld expect more typos than usual

On Wed, May 20, 2026 at 9:37 PM G. Branden Robinson <
g.branden.robinson at gmail.com> wrote:

> Hi Clem,
>
> Splitting off one topic here...
>
> At 2026-05-20T21:23:47-0400, Clem Cole wrote:
> > The point is, as late as the development of Research Seventh Edition,
> > the use of a "glass tty" was less common within the Bell System, while
> > the Universities had already started to switch, and at many places
> > (certainly my experience at CMU and USB) had already switched nearly
> > 100%.   But that was the problem.  Most "video" editors like Cornell's
> > Fred (friendly ed) or the Rand Editor were hard-coded for specific
> > terminals.  Joy's termcap was a huge (and practical) solution to an
> > issue that was felt outside the Bell System before it was really
> > needed inside it.
>
> I think this account might be positioning Joy such that he eclipses the
> contributions of others.  Here's the history of the termcap library in
> the relevant ncurses man page nowadays.
>
> HISTORY
>      Bill Joy originated a forerunner of termcap called “ttycap”, dated
>      September 1977, and released in 1BSD (March 1978).  It used many of
>      the same function names as the later termcap, such as tgetent,
>      tgetflag, tgetnum, and tgetstr.
>
>      A clear descendant, the termlib library, followed in 2BSD (May
>      1979), adding tgoto and tputs.  The former applied at that time
>      only to cursor positioning capabilities, thus the overly specific
>      name.  Little changed in 3BSD (late 1979) except the addition of
>      test programs and a termlib man page, which documented the API
>      shown in section “SYNOPSIS” above.
>
>      4BSD (November 1980) renamed termlib to termcap and added another
>      test program.  The library remained much the same through 4.3BSD
>      (June 1986).  4.4BSD‐Lite (June 1994) refactored it, leaving the
>      API unchanged.
> ...
>
> Full disclosure: I've worked on that very content--with Thomas Dickey,
> of course.  If there are incorrect claims, I'm keen to get them fixed.
>
> Regards,
> Branden
>


More information about the TUHS mailing list