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 --]
next prev parent 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).