From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,HTML_FONT_LOW_CONTRAST,HTML_MESSAGE, MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: from minnie.tuhs.org (minnie.tuhs.org [IPv6:2600:3c01:e000:146::1]) by inbox.vuxu.org (Postfix) with ESMTP id DBF8D240AC for ; Sat, 25 May 2024 18:14:54 +0200 (CEST) Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 7B9C343B02; Sun, 26 May 2024 02:14:51 +1000 (AEST) Received: from mail-ot1-x32a.google.com (mail-ot1-x32a.google.com [IPv6:2607:f8b0:4864:20::32a]) by minnie.tuhs.org (Postfix) with ESMTPS id 879CE43AFB for ; Sun, 26 May 2024 02:14:47 +1000 (AEST) Received: by mail-ot1-x32a.google.com with SMTP id 46e09a7af769-6f0f728d373so4673335a34.0 for ; Sat, 25 May 2024 09:14:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ccc.com; s=google; t=1716653686; x=1717258486; darn=tuhs.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=h3jhklVhaR7Bu8jHr3uCPVJshjtX1pMCzm8lySkKycc=; b=Lv/by3e0CDpyU4HMt/7sUS3oJVC6n6QLf5gr74WMz4LRWgSTdSfvP0zdajMuPJFw1r ACRcj1QiFOj49hPzF+sgkJnXlvqXtwd0IPDkvRVeH0MFDKYJfnlTEipzjYjvnDqAQD8H 6jKQf9ntwk0Y4fUtVcXkPsaPFHO8Y1Y37chCE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716653686; x=1717258486; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=h3jhklVhaR7Bu8jHr3uCPVJshjtX1pMCzm8lySkKycc=; b=CaR4hz3gLSxpD8lfVlx77dMjh0ijkpYObyIEPKnPdfuKU6Chbd99W5clKf7EQndFJg lJU86wrfyCErsS9EM3VNDbYSzeNKNkmQkIFOI211l+YoCtA/mTB5feqxyq5hMHnsSC7x Bth1mwrT+0k9aMHKHSQtGxy0b5PZCA3iri6KAqCXUDTPcu0dGZxQy3D2iuj7n7mUD4cR sp3OqYdT9Q0RZmUcI0rQRozQ3TuD0XZs3TscheW6q44yOHqgUcGrlnfd1132GhWDxvJi KrbQzoDZg7TgyYpBD+pSb7o3VO9KSmbv+1IynBXDBRl1pApeQhOGMCnuPNBsJQ30aEgQ 5tqg== X-Gm-Message-State: AOJu0YxKTs4UliZ0xAQ6v5/k+3//N7L6erIXg+YoeoSnze2m6YkYlbuo 6mNpjlutNf4b9LgjU9uU6NKGrSkLXNLSIc445C+T3OPRf6UH/kTbuqonY6D641duUU6KSBsngkq gRsWQYkSgZ3G83/jZwfJJN2TIgqlh8F0S7h3kZbgI60GmcNA= X-Google-Smtp-Source: AGHT+IH3ytrYU/7GXWfYNIwPRVQvi62zUsjjSaiPneoaVU0fsZ28lG8SQb60pBpfxm2WVc7Hvyk/BjnqU4JOHtPTOr8= X-Received: by 2002:a05:6830:1299:b0:6f0:acf9:7c00 with SMTP id 46e09a7af769-6f8d0a484aemr6423824a34.6.1716653686488; Sat, 25 May 2024 09:14:46 -0700 (PDT) MIME-Version: 1.0 References: <20240525155737.bwmngdyf4qnj4avv@illithid> In-Reply-To: From: Clem Cole Date: Sat, 25 May 2024 12:14:10 -0400 Message-ID: To: "G. Branden Robinson" Content-Type: multipart/alternative; boundary="0000000000002f9fe8061949950b" Message-ID-Hash: EN7QDXNJKYPUK3ARK7DNAFYGFZTLO5QV X-Message-ID-Hash: EN7QDXNJKYPUK3ARK7DNAFYGFZTLO5QV X-MailFrom: clemc@ccc.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: TUHS main list X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: Was curses ported to Seventh Edition Unix? List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --0000000000002f9fe8061949950b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Ouch -- there was no licensing issue with curses or termcap. termcap and curses were written at UCB. When MaryAnn went to Columbus - there was desire to rewrite to be "compiled". That work was terminfo. AT&T >>restricted<< terminfo. 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. Clem =E1=90=A7 On Sat, May 25, 2024 at 12:06=E2=80=AFPM Clem Cole wrote: > Ken was working in Ing70 [he was part of the Ingres group] - IngVax did > not yet exist, > =E1=90=A7 > =E1=90=A7 > > On Sat, May 25, 2024 at 11:57=E2=80=AFAM G. Branden Robinson < > g.branden.robinson@gmail.com> wrote: > >> Hi Clem, >> >> At 2024-05-25T11:40:13-0400, Clem Cole wrote: >> > It was never needed to be ported -- it was developed on V7. >> > It was released in comp.sources.unix volume1 as pcurses >> >> This bit conflicts with other accounts. Here's what I have in draft. >> >> HISTORY >> 4BSD (1980) introduced curses, implemented largely by Kenneth >> C. R. C. Arnold, who organized the terminal abstraction and screen >> management features of Bill Joy=E2=80=99s vi(1) editor into a libra= ry. >> That system ran only on the VAX architecture; curses saw a port to >> 2.9BSD (1983) for the PDP=E2=80=9011. >> >> System V Release 2 (SVr2, 1984) significantly revised curses and >> replaced the termcap portion thereof with a different API for >> terminal handling, terminfo. System V added form and menu >> libraries in SVr3 (1987) and enhanced curses with color support in >> SVr3.2 later the same year. SVr4 (1989) brought the panel library. >> >> pcurses by distinction was, by the accounts I have, a later effort by >> Pavel Curtis to clone SVr2 curses by taking BSD curses and replacing its >> termcap bits with a reimplementation terminfo. This was apparently done >> for licensing reasons, as BSD code was free ("as in freedom") and System >> V certainly was not. >> >> The pcurses 0.7 tarball I have contains a document, doc/manual.tbl.ms, >> which starts as follows. Note the 2nd and 3rd paragraphs. >> >> .po +.5i >> .TL >> The Curses Reference Manual >> .AU >> Pavel Curtis >> .NH >> Introduction >> .LP >> Terminfo is a database describing many capabilities of over 150 >> different terminals. Curses is a subroutine package which >> presents a high level screen model to the programmer, while >> dealing with issues such as terminal differences and optimization of >> output to change one screenfull of text into another. >> .LP >> Terminfo is based on Berkeley's termcap database, but contains a >> number of improvements and extensions. Parameterized strings are >> introduced, making it possible to describe such capabilities as >> video attributes, and to handle far more unusual terminals than >> possible with termcap. >> .LP >> Curses is also based on Berkeley's curses package, with many >> improvements. The package makes use of the insert and delete >> line and character features of terminals so equipped, and >> determines how to optimally use these features with no help from the >> programmer. It allows arbitrary combinations of video attributes >> to be displayed, even on terminals that leave ``magic cookies'' >> on the screen to mark changes in attributes. >> >> > That said, I believe late volumes have nervous updates. >> >> I'm gathering data for another paragraph of that "History" section now. >> The long and short of it seems to be that: >> >> BSD curses, besides getting ported to many platforms, begat pcurses. >> >> pcurses begat PCCurses, PDCurses, and ncurses. >> >> PCCurses died. >> >> PDCurses went dormant, begat PDCursesMod, and roused from its slumber. >> >> ncurses, after a long period of erratic early administration that seemed >> more concerned with seizing celebrity status for its developers (one of >> whom was more single-minded and successful at this goal than the other) >> than with software development, has been maintained with a steady hand >> over 25 years. >> >> There also exists NetBSD curses, which wasn't developed ex nihilo but >> I'm not sure yet what origin it forked from. >> >> Regards, >> Branden >> > --0000000000002f9fe8061949950b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Ouch -- there was no licensing issue with curses or ter= mcap.

termcap and curses were written at UCB.
=
When MaryAnn went to Columbus - there was=C2=A0 desire to rewr= ite to be "compiled".=C2=A0 That work was terminfo.=C2=A0 =C2=A0 = AT&T >>restricted<< terminfo.
Pavel (with coaching = from a few of us, including me], wrote a=C2=A0 new implementation of termin= fo.
When he was added it, he combined a rewrite of curses.
=
Clem
3D""=E1=90=A7

3D""=E1=90=A7
Hi Clem,

At 2024-05-25T11:40:13-0400, Clem Cole wrote:
> It was never needed to be ported -- it was developed on V7.
> It was released in comp.sources.unix volume1 as pcurses

This bit conflicts with other accounts.=C2=A0 Here's what I have in dra= ft.

HISTORY
=C2=A0 =C2=A0 =C2=A04BSD (1980) introduced curses, implemented largely by K= enneth
=C2=A0 =C2=A0 =C2=A0C. R. C. Arnold, who organized the terminal abstraction= and screen
=C2=A0 =C2=A0 =C2=A0management features of Bill Joy=E2=80=99s vi(1) editor = into a library.
=C2=A0 =C2=A0 =C2=A0That system ran only on the VAX architecture; curses sa= w a port to
=C2=A0 =C2=A0 =C2=A02.9BSD (1983) for the PDP=E2=80=9011.

=C2=A0 =C2=A0 =C2=A0System V Release 2 (SVr2, 1984) significantly revised c= urses and
=C2=A0 =C2=A0 =C2=A0replaced the termcap portion thereof with a different A= PI for
=C2=A0 =C2=A0 =C2=A0terminal handling, terminfo.=C2=A0 System V added form = and menu
=C2=A0 =C2=A0 =C2=A0libraries in SVr3 (1987) and enhanced curses with color= support in
=C2=A0 =C2=A0 =C2=A0SVr3.2 later the same year.=C2=A0 SVr4 (1989) brought t= he panel library.

pcurses by distinction was, by the accounts I have, a later effort by
Pavel Curtis to clone SVr2 curses by taking BSD curses and replacing its termcap bits with a reimplementation terminfo.=C2=A0 This was apparently do= ne
for licensing reasons, as BSD code was free ("as in freedom") and= System
V certainly was not.

The pcurses 0.7 tarball I have contains a document, doc/manual.tbl.ms,
which starts as follows.=C2=A0 Note the 2nd and 3rd paragraphs.

.po +.5i
.TL
The Curses Reference Manual
.AU
Pavel Curtis
.NH
Introduction
.LP
Terminfo is a database describing many capabilities of over 150
different terminals.=C2=A0 Curses is a subroutine package which
presents a high level screen model to the programmer, while
dealing with issues such as terminal differences and optimization of
output to change one screenfull of text into another.
.LP
Terminfo is based on Berkeley's termcap database, but contains a
number of improvements and extensions.=C2=A0 Parameterized strings are
introduced, making it possible to describe such capabilities as
video attributes, and to handle far more unusual terminals than
possible with termcap.
.LP
Curses is also based on Berkeley's curses package, with many
improvements.=C2=A0 The package makes use of the insert and delete
line and character features of terminals so equipped, and
determines how to optimally use these features with no help from the
programmer.=C2=A0 It allows arbitrary combinations of video attributes
to be displayed, even on terminals that leave ``magic cookies''
on the screen to mark changes in attributes.

> That said, I believe late volumes have nervous updates.

I'm gathering data for another paragraph of that "History" se= ction now.
The long and short of it seems to be that:

BSD curses, besides getting ported to many platforms, begat pcurses.

pcurses begat PCCurses, PDCurses, and ncurses.

PCCurses died.

PDCurses went dormant, begat PDCursesMod, and roused from its slumber.

ncurses, after a long period of erratic early administration that seemed more concerned with seizing celebrity status for its developers (one of
whom was more single-minded and successful at this goal than the other)
than with software development, has been maintained with a steady hand
over 25 years.

There also exists NetBSD curses, which wasn't developed ex nihilo but I'm not sure yet what origin it forked from.

Regards,
Branden
--0000000000002f9fe8061949950b--