<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Adam, thank you for finding this and setting the record straight.</p>
    <p>AT&T management had nothing to do with it. I self-censored
      because AT&T's policy was that anything I wrote belonged to my
      employer.</p>
    <p>Pavel graciously offered to clone my work, and I slipped him the
      spec and the algorithm for the new improved curses. His version
      was FOSS and became the de facto standard everywhere except
      AT&T, where it wound up in System V Release 4 / Solaris.<br>
    </p>
    <div class="moz-signature">Thanks,
      <p>
        <style type="text/css">
table {
   border-spacing: 0px solid white;
   border-collapse:collapse;
}
</style></p>
      <table border="0">
        <tbody>
          <tr>
            <td>
                    <i>Mary Ann Horton</i> (she/her/ma'am)
              <br>
                    Award Winning Author
              <br>
                    <a href="https://maryannhorton.com">maryannhorton.com</a>
            </td>
          </tr>
        </tbody>
      </table>
      <br>
      <br>
    </div>
    <div class="moz-cite-prefix">On 5/25/24 11:07, Adam Sampson wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:y2ay17x9356.fsf@offog.org">
      <pre class="moz-quote-pre" wrap="">Clem Cole <a class="moz-txt-link-rfc2396E" href="mailto:clemc@ccc.com"><clemc@ccc.com></a> writes:

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">Pavel (with coaching from a few of us, including me], wrote a new
implementation of terminfo.  When he was added it, he combined a
rewrite of curses.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
>From the utzoo Usenet archive...

--start--

From: utzoo!decvax!harpo!floyd!vax135!cornell!pavel
Newsgroups: net.general
Title: New Curses/Terminfo Package
Article-I.D.: cornell.3348
Posted: Sat Jul 10 15:10:14 1982
Received: Sun Jul 11 03:55:13 1982

At this past week's USENIX meeting, Mark Horton announced the completion
of a replacement database/interface for the Berkeley 'termcap' setup.  The
new version is called 'terminfo' and has several advantages over termcap:
        - The database is compiled and therefore start-up time for
          programs using the package is considerably reduced, even 
          faster than reading a single-entry termcap database.
        - The database is more human-readable and flexible.
        - Many more terminals can be supported due to the addition
          of several new capabilities, generalised parameter
          mechanisms (enabling the full use of, for example, the ANSI
          cursor-forward capability by allowing you to say 'move forward
          35 spaces' as opposed to 'move forward' 35 times), a fully
          general yet efficient arithmetic mechanism which should allow
          the use of \any/ bizarre cursor-addressing scheme which can
          be computed, etc.
        - A \far/ better set of routines for accessing the database,
          requiring, for example, only a single call to read in an
          entire entry, making all of the terminal's capabilities fully
          available to the calling program.  No more need for 'tgetent',
          'tgetstr', etc.
Conversion of existing programs from termcap to terminfo is very easy and
usually consists mostly of throwing out all of the garbage needed to read
and store a termcap entry.

As a companion to the change to terminfo, Mark has also completed work on
a re-vamped version of the Curses screen-handling library package.  The new
version has many, many advantages over the previous version, some of which
are listed below:
        - New curses can use insert/delete line/character capabilities
          in terminals which have them, considerably speeding up many
          applications
        - It is possible to use the new curses on more than one type of
          terminal at once
        - All of the video attributes of a terminal (e.g. reverse video,
          boldface, blinking, etc.) can be used, in tandem if possible
        - New curses handles terminals like the Televideos with the
          so-called 'magic cookie' glitch which leaves markers on the
          screen for each change of video attributes
        - The arrow and function keys of terminals can be input just as
          though they were single characters, even on terminals which use
          multi-character sequences for these functions.  The new curses
          does all necessary interpretation, passing back to the program
          only a defined constant telling which key was pressed.
        - There is a user-accessable scrolling region
        - The use of shell escapes and the csh ^Z job control feature is
          supported more fully
        - On systems which can support the notion, updates of the screen
          will abort if a character is typed at the keyboard, thus allowing
          the application to possibly avoid useless output
        - It should now be possible for most programs to be written very
          portably to run on most versions of UNIX, including System III,
          Berkeley UNIX, V7, Bell Labs internal UNIX, etc.  This portability
          extends to the use of most terminal modes, such as raw mode,
          echoing, etc.

Now for the bad news.  Mark, being an employee of Bell Labs, cannot release
any of his code.  Estimates currently run as high as 18 months for a Bell
release.  Even then, nothing could be guaranteed as to its price.  As a result,
I have decided to do a public-domain implementation of both terminfo and the
new curses.  They will be compatible with Mark's versions.  I have arranged
for the library/database to be distributed with the next Berkeley Software
Distribution, 4.2BSD, in December of this year.  It will also be made available
for free to any requestor.  I agree with Mark when he says that terminfo is
clearly superior to termcap and deserves to be made a new and lasting standard.

I expect to be able to begin recruiting test sites for both curses and terminfo
by the end of September.

If you have any questions, comments or suggestions, please send them to me, not
the network. 

        Pavel Curtis
        {decvax,allegra,vax135,harpo,...}!cornell!pavel
        Pavel.Cornell@Udel-Relay

--end--

</pre>
    </blockquote>
  </body>
</html>