X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Ftput.1;h=0834e44723846d973a88e1695f4915229326c48f;hp=8e4a565842c403939dd104018cae08b112d0c232;hb=f9994a48d2f74b613a0adb19d3917f724d4d1312;hpb=21b36e89c00f2188954d680bf9fea60328b4538c diff --git a/man/tput.1 b/man/tput.1 index 8e4a5658..0834e447 100644 --- a/man/tput.1 +++ b/man/tput.1 @@ -28,7 +28,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: tput.1,v 1.66 2021/03/06 15:56:23 tom Exp $ +.\" $Id: tput.1,v 1.72 2021/10/02 21:41:00 tom Exp $ .TH @TPUT@ 1 "" .ds d @TERMINFO@ .ds n 1 @@ -423,7 +423,7 @@ exit code error message \fB0\fR T{ (\fIcapname\fR is a numeric variable that is not specified in the \fBterminfo\fR(5) database for this terminal type, e.g. -\fB@TPUT@ \-T450 lines\fR and \fB@TPUT@ \-T2621 xmc\fR) +\fB@TPUT@ \-T450 lines\fR and \fB@TPUT@ \-Thp2621 xmc\fR) T} \fB1\fR no error message is printed, see the \fBEXIT CODES\fR section. \fB2\fR usage error @@ -436,10 +436,21 @@ T} The \fBtput\fP command was begun by Bill Joy in 1980. The initial version only cleared the screen. .PP -AT&T System V provided a different \fBtput\fP command, -whose \fBinit\fP and \fBreset\fP subcommands +AT&T System V provided a different \fBtput\fP command: +.bP +SVr2 provided a rudimentary \fBtput\fP +which 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. +.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. +.bP +SVr4 added color initialization using the \fIorig_colors\fP and +\fIorig_pairs\fP capabilities in the \fBinit\fP subcommand. .PP Keith Bostic replaced the BSD \fBtput\fP command in 1989 with a new implementation @@ -505,6 +516,15 @@ requiring \fB@TPUT@\fP to know which type to use. This implementation uses a table to determine the parameter types for the standard \fIcapname\fR operands, and an internal library function to analyze nonstandard \fIcapname\fR operands. +.IP +Besides providing more reliable operation than AT&T's utility, +a portability problem is introduced by this analysis: +An OpenBSD developer adapted the internal library function from ncurses +to port NetBSD's termcap-based \fBtput\fP to terminfo. +That had been modified to interpret multiple commands on a line. +Portable applications should not rely upon this feature; +ncurses provides it to support applications written +specifically for OpenBSD. .PP This implementation (unlike others) can accept both \fItermcap\fP and \fIterminfo\fP names for the \fIcapname\fP feature, @@ -530,7 +550,7 @@ features used in the \fBcup\fR example, were not supported in BSD curses before 4.3reno (1989) or in AT&T/USL curses before SVr4 (1988). .PP -IEEE Std 1003.1/The Open Group Base Specifications Issue 7 (POSIX.1-2008) +IEEE Std 1003.1/The Open Group Base Specifications Issue 7 (POSIX.1-2008) documents only the operands for \fBclear\fP, \fBinit\fP and \fBreset\fP. There are a few interesting observations to make regarding that: .bP