Adam, thank you for finding this and setting the record straight.
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.
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.
Clem Cole <clemc@ccc.com> writes: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.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--