bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 20/40] man/tput.1: Revise (9/10) (HISTORY).


From: G. Branden Robinson
Subject: [PATCH 20/40] man/tput.1: Revise (9/10) (HISTORY).
Date: Fri, 12 Jan 2024 13:30:13 -0600

Content:
* Clarify nature of Bill Joy's "tput", which is not that easy to find.
  It seems to live mainly in McKusick's CSRG CD-ROM collection and
  sources descended from that  because BSD never actually _distributed_
  it until after Keith Bostic rewrote it (and then he rewrote it again).
* Drop mention of vendor from "System V", since it had multiple vendors.
* Fix error in SVr3 release date.
* Add dates to various other System V releases.
* Accompany capability names with their terminfo codes.
* Expand history of Bostic tput to reflect the version in 4.3BSD-Tahoe.

Style:
* Recast.

Markup:
* Favor man(7) font style macros over *roff font selection escape
  sequences, except for man page cross references.
---
 man/tput.1 | 128 +++++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 94 insertions(+), 34 deletions(-)

diff --git a/man/tput.1 b/man/tput.1
index 6bb55457f..f699bf13e 100644
--- a/man/tput.1
+++ b/man/tput.1
@@ -732,52 +732,112 @@ .SH PORTABILITY
 .I \%ncurses
 nor X/Open Curses.
 .SH HISTORY
-The \fBtput\fP command was begun by Bill Joy in 1980.
-The initial version only cleared the screen.
+Bill Joy wrote a
+.B tput
+command during development of 4BSD in October 1980.
+This initial version only cleared the screen,
+and did not ship with official distributions.
+.\" It also exited with backwards exit status (1 on success, 0 on
+.\" failure), and was characterized by Bostic in 1988 as "pretty
+.\" unreasonable".
+.\" See Spinellis's "unix-history-repo" on GitHub.
 .PP
-AT&T System V provided a different \fBtput\fP command:
+System\ V developed a different
+.B tput
+command.
 .bP
-SVr2 provided a rudimentary \fBtput\fP
-which checked the parameter against each
+SVr2 (1984) provided a rudimentary
+.B tput
+that checked the parameter against each
 predefined capability and returned the corresponding value.
-This version of \fBtput\fP did not use \fBtparm\fP(3X) for
-the capabilities which are parameterized.
+This version of
+.B tput
+did not use \fB\%tparm\fP(3X) for parameterized capabilities.
 .bP
-SVr3 replaced that, a year later, by a more extensive program
-whose \fBinit\fP and \fBreset\fP subcommands
-(more than half the program) were incorporated from
-the \fBreset\fP feature of BSD \fBtset\fP written by Eric Allman.
+SVr3 (1987) replaced that
+.\" SVr3 released in 1987, not 1985.
+.\" https://unix.org/what_is_unix/history_timeline.html
+with a more extensive program
+whose support for
+.B init
+and
+.B \%reset
+operands
+(more than half the program)
+incorporated the
+.B \%reset
+feature of BSD
+.B tset
+written by Eric Allman.
 .bP
-SVr4 added color initialization using the \fBorig_colors\fP and
-\fBorig_pair\fP capabilities in the \fBinit\fP subcommand.
-.PP
-Keith Bostic replaced the BSD \fBtput\fP command in 1989
-with a new implementation
-based on the AT&T System V program \fBtput\fP.
-Like the AT&T program, Bostic's version
-accepted some parameters named for \fIterminfo\fP capabilities
-(\fBclear\fP, \fBinit\fP, \fBlongname\fP and \fBreset\fP).
-However (because he had only \fItermcap\fP available),
-it accepted \fItermcap\fP names for other capabilities.
-Also, Bostic's BSD \fBtput\fP did not modify the terminal I/O modes
-as the earlier BSD \fBtset\fP had done.
+SVr4 (1989) added color initialization by using the
+.B \%orig_colors
+.RB ( oc )
+and
+.B \%orig_pair
+.RB ( op )
+capabilities in its
+.B init
+logic.
 .PP
-At the same time, Bostic added a shell script named \*(``clear\*('',
-which used \fBtput\fP to clear the screen.
+Keith Bostic refactored BSD
+.B tput
+for shipment in 4.3BSD-Tahoe (1988),
+then replaced it the next year with a new implementation based on
+System\ V
+.BR tput .
+Bostic's version similarly accepted some parameters named for
+.I \%term\%info
+(pseudo-)capabilities:
+.BR clear ,
+.BR init ,
+.BR \%longname ,
+and
+.BR \%reset .
+However,
+because he had only
+.I termcap
+available,
+it accepted
+.I termcap
+names for other capabilities.
+Also,
+Bostic's BSD
+.B tput
+did not modify the terminal modes as the earlier BSD
+.B tset
+had done.
 .PP
+At the same time,
+Bostic added a shell script named \*(``clear\*('' that used
+.B tput
+to clear the screen.
 Both of these appeared in 4.4BSD,
-becoming the \*(``modern\*('' BSD implementation of \fBtput\fP.
+becoming the \*(``modern\*('' BSD implementation of
+.BR tput .
 .PP
-This implementation of \fBtput\fP began from a different source than
-AT&T or BSD: Ross Ridge's \fImytinfo\fP package, published on
-\fIcomp.sources.unix\fP in December 1992.
+The origin of
+.I \%ncurses
+\fB\%@TPUT@\fP lies outside both System\ V and BSD,
+in Ross Ridge's
+.I \%mytinfo
+package,
+published on
+.I comp.sources.unix
+in December 1992.
 Ridge's program made more sophisticated use of the terminal capabilities
 than the BSD program.
-Eric Raymond used that \fBtput\fP program
-(and other parts of \fImytinfo\fP) in \fI\%ncurses\fP in June 1995.
-Using the portions dealing with terminal capabilities
+Eric Raymond used that
+.B tput
+program
+(and other parts of
+.IR \%mytinfo )
+in
+.I \%ncurses
+in June 1995.
+Incorporating the portions dealing with terminal capabilities
 almost without change,
-Raymond made improvements to the way the command-line parameters
+Raymond made improvements to the way command-line parameters
 were handled.
 .PP
 Before
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]