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 A360E26E03 for ; Sat, 25 May 2024 18:07:15 +0200 (CEST) Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id A58BA43AEF; Sun, 26 May 2024 02:07:10 +1000 (AEST) Received: from mail-oi1-x22f.google.com (mail-oi1-x22f.google.com [IPv6:2607:f8b0:4864:20::22f]) by minnie.tuhs.org (Postfix) with ESMTPS id DB79D43AE4 for ; Sun, 26 May 2024 02:07:03 +1000 (AEST) Received: by mail-oi1-x22f.google.com with SMTP id 5614622812f47-3d1bc1e5d14so192180b6e.1 for ; Sat, 25 May 2024 09:07:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ccc.com; s=google; t=1716653223; x=1717258023; 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=OMRja9fkEfdYZD51dE8gffSSnVjgymnRmVJqq6SNxfM=; b=UqWb7pmsrd0xyYXZLXcvwJsrVdaLrWLCYUohHDer6uuTpT3tNBj7YQie4TnqJT1IuR uVXoRoiDIC5sluuQZ9EdrBpZiGtq3lxjP9gNEQ/BrbrMk22ReSXDq5a4IsTtM2V/PhJ+ YfONvCHN0PY6eY9SgE2nqKzEKHMJv0QbLj5DQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716653223; x=1717258023; 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=OMRja9fkEfdYZD51dE8gffSSnVjgymnRmVJqq6SNxfM=; b=sGqj/d5g2rIe6811yCE7tNnSyxnmhHdkm7Qgge2kLUlk+bSlZ3OL6dfNgpZZslogFm 45mZu2i/R42IDzSudSyMx/M3z60RnQyj8E3hMG7YTvYkZNBeVsKhb+3ZdLD4ZGPRTGFn zLiou9B1FspNUc5LhPlQzniiMBE+x+zN7arBAAEyHM7pRLhA8zzP89aXli3RifPlayF+ zucF2RZWXNqDZMr6NioV0G1WT7TCJY152LaCFZKtZbBG/LRx+EHQIs2Y4nlq7kaq5rdg LQsys3c73MR9WaI93oMy6hvFUsusGjSGpaL7g8Efeit9B7ACDZ/3bN813oE5CJcux87z zqgw== X-Gm-Message-State: AOJu0YyD3BtSxH2JUUGY1QMiSlwsNvPaCUKtB7pKU2Q2Wcokn4k23lRL fE0S7uy5oGKgPJb0ZEdjCuTlCA5r9pjrHLPHWbXXEkeWLN/aXB5Ictxg+CrvVf93AFxsMas1rBb oHc2faPyp4u/DqTFrvpjsgJ0gunuhYHEBSOiR X-Google-Smtp-Source: AGHT+IEIGtDZWxPECaiOTE8XLYYxz6FkERGSLGJkZCkZuV9rWrEC6fxYg5KcAqQSOsUO9woi0Jjag8KvOchgNHjzKRE= X-Received: by 2002:a05:6808:10ce:b0:3c9:c9b4:a9db with SMTP id 5614622812f47-3d1a745c739mr6365418b6e.46.1716653222812; Sat, 25 May 2024 09:07:02 -0700 (PDT) MIME-Version: 1.0 References: <20240525155737.bwmngdyf4qnj4avv@illithid> In-Reply-To: <20240525155737.bwmngdyf4qnj4avv@illithid> From: Clem Cole Date: Sat, 25 May 2024 12:06:27 -0400 Message-ID: To: "G. Branden Robinson" Content-Type: multipart/alternative; boundary="0000000000008c7db606194979fa" Message-ID-Hash: WRPYHZSWBLRJXVQXQNQAZAUDVEOHJ3ST X-Message-ID-Hash: WRPYHZSWBLRJXVQXQNQAZAUDVEOHJ3ST 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: --0000000000008c7db606194979fa Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 librar= y. > 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 > --0000000000008c7db606194979fa Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Ken was working in Ing70 [he was part of the Ingres gro= up] - IngVax did not yet exist,
3D""=E1=90=A7
3D""= =E1=90=A7

On Sat, May 25, 2024 at 11:57=E2=80=AFAM G. Branden Robinso= n <g.b= randen.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.=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
--0000000000008c7db606194979fa--