The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Mary Ann Horton <mah@mhorton.net>
To: tuhs@tuhs.org
Subject: [TUHS] Re: Was curses ported to Seventh Edition Unix?
Date: Mon, 27 May 2024 11:31:17 -0700	[thread overview]
Message-ID: <78be4696-e743-4231-9c6a-32b6edd92f09@mhorton.net> (raw)
In-Reply-To: <y2ay17x9356.fsf@offog.org>

[-- Attachment #1: Type: text/plain, Size: 5389 bytes --]

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@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--
>

[-- Attachment #2: Type: text/html, Size: 6313 bytes --]

  reply	other threads:[~2024-05-27 18:31 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-25  0:03 [TUHS] " G. Branden Robinson
2024-05-25  0:46 ` [TUHS] " Clem Cole
2024-05-25  0:57   ` G. Branden Robinson
2024-05-25 10:48 ` Jonathan Gray
2024-05-25 11:08   ` Arrigo Triulzi via TUHS
2024-05-25 12:16   ` Clem Cole
2024-05-25 23:06     ` Rob Pike
2024-05-25 15:06   ` [TUHS] " Douglas McIlroy
2024-05-25 15:11     ` [TUHS] " Rich Salz
2024-05-25 15:40       ` Clem Cole
2024-05-25 15:43         ` Clem Cole
2024-05-25 15:51         ` Clem Cole
2024-05-25 15:57         ` G. Branden Robinson
2024-05-25 16:06           ` Clem Cole
2024-05-25 16:13             ` G. Branden Robinson
2024-05-25 16:21               ` Clem Cole
2024-05-25 16:38                 ` G. Branden Robinson
2024-05-25 17:02                   ` Warner Losh
2024-05-25 16:14             ` Clem Cole
2024-05-25 16:25               ` G. Branden Robinson
2024-05-25 18:07               ` Adam Sampson
2024-05-27 18:31                 ` Mary Ann Horton [this message]
2024-05-25 15:28     ` G. Branden Robinson
2024-05-25 17:24 Steve Simon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=78be4696-e743-4231-9c6a-32b6edd92f09@mhorton.net \
    --to=mah@mhorton.net \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).