[TUHS] Was curses ported to Seventh Edition Unix?

Mary Ann Horton mah at mhorton.net
Tue May 28 04:31:17 AEST 2024


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 <https://maryannhorton.com>



On 5/25/24 11:07, Adam Sampson wrote:
> Clem Cole<clemc at 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 at Udel-Relay
>
> --end--
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.tuhs.org/pipermail/tuhs/attachments/20240527/ccd95e30/attachment.htm>


More information about the TUHS mailing list