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. Thanks, /Mary Ann Horton/ (she/her/ma'am)       Award Winning Author maryannhorton.com On 5/25/24 11:07, Adam Sampson wrote: > Clem Cole 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-- >