@@ -399,14 +399,14 @@
incorporated from the reset feature of BSD tset written by Eric
Allman.
- o SVr4 added color initialization using the orig_colors and
- orig_pairs capabilities in the init subcommand.
+ o SVr4 added color initialization using the orig_colors and orig_pair
+ capabilities in the init subcommand.
Keith Bostic replaced the BSD tput command in 1989 with a new
implementation based on the AT&T System V program tput. Like the AT&T
program, Bostic's version accepted some parameters named for terminfo
- capabilities (clear, init, longname and reset). However (because he
- had only termcap available), it accepted termcapnames for other
+ capabilities (clear, init, longname and reset). However (because he
+ had only termcap available), it accepted termcap names for other
capabilities. Also, Bostic's BSD tput did not modify the terminal I/O
modes as the earlier BSD tset had done.
@@ -443,14 +443,14 @@
Until changes made after ncurses 6.0, tput did not modify terminal
modes. tput now uses a similar scheme, using functions shared with
tset (and ultimately based on the 4.4BSD tset). If it is not able
- to open a terminal, e.g., when running in cron, tput will return an
- error.
+ to open a terminal, e.g., when running in cron(1), tput will return
+ an error.
o AT&T tput guesses the type of its capname operands by seeing if all
of the characters are numeric, or not.
Most implementations which provide support for capname operands use
- the tparm function to expand parameters in it. That function
+ the tparm function to expand parameters in it. That function
expects a mixture of numeric and string parameters, requiring tput
to know which type to use.
@@ -459,82 +459,83 @@
to analyze nonstandard capname operands.
Besides providing more reliable operation than AT&T's utility, a
- portability problem is introduced by this analysis. An OpenBSD
+ portability problem is introduced by this analysis: An OpenBSD
developer adapted the internal library function from ncurses to
- allow tput to interpret multiple commands on a line. Portable
+ port NetBSD's termcap-based tput 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.
This implementation (unlike others) can accept both termcap and
- terminfo names for the capname feature, if termcap support is compiled
- in. However, the predefined termcap and terminfo names have two
+ terminfo names for the capname feature, if termcap support is compiled
+ in. However, the predefined termcap and terminfo names have two
ambiguities in this case (and the terminfo name is assumed):
- o The termcap name dl corresponds to the terminfo name dl1 (delete
+ o The termcap name dl corresponds to the terminfo name dl1 (delete
one line).
- The terminfo name dl corresponds to the termcap name DL (delete a
+ The terminfo name dl corresponds to the termcap name DL (delete a
given number of lines).
- o The termcap name ed corresponds to the terminfo name rmdc (end
+ o The termcap name ed corresponds to the terminfo name rmdc (end
delete mode).
- The terminfo name ed corresponds to the termcap name cd (clear to
+ The terminfo name ed corresponds to the termcap name cd (clear to
end of screen).
- The longname and -S options, and the parameter-substitution features
- used in the cup example, were not supported in BSD curses before
+ The longname and -S options, and the parameter-substitution features
+ used in the cup example, were not supported in BSD curses before
4.3reno (1989) or in AT&T/USL curses before SVr4 (1988).
- IEEE Std 1003.1/The Open Group Base Specifications Issue 7
- (POSIX.1-2008) documents only the operands for clear, init and reset.
+ IEEE Std 1003.1/The Open Group Base Specifications Issue 7
+ (POSIX.1-2008) documents only the operands for clear, init and reset.
There are a few interesting observations to make regarding that:
- o In this implementation, clear is part of the capname support. The
- others (init and longname) do not correspond to terminal
+ o In this implementation, clear is part of the capname support. The
+ others (init and longname) do not correspond to terminal
capabilities.
o Other implementations of tput on SVr4-based systems such as
- Solaris, IRIX64 and HPUX as well as others such as AIX and Tru64
+ Solaris, IRIX64 and HPUX as well as others such as AIX and Tru64
provide support for capname operands.
o A few platforms such as FreeBSD recognize termcap names rather than
terminfo capability names in their respective tput commands. Since
- 2010, NetBSD's tput uses terminfo names. Before that, it (like
+ 2010, NetBSD's tput uses terminfo names. Before that, it (like
FreeBSD) recognized termcap names.
- Beginning in 2021, FreeBSD uses the ncurses tput, configured for
+ Beginning in 2021, FreeBSD uses the ncurses tput, configured for
both terminfo (tested first) and termcap (as a fallback).
Because (apparently) all of the certified Unix systems support the full
- set of capability names, the reasoning for documenting only a few may
+ set of capability names, the reasoning for documenting only a few may
not be apparent.
- o X/Open Curses Issue 7 documents tput differently, with capname and
+ o X/Open Curses Issue 7 documents tput differently, with capname and
the other features used in this implementation.
- o That is, there are two standards for tput: POSIX (a subset) and
- X/Open Curses (the full implementation). POSIX documents a subset
- to avoid the complication of including X/Open Curses and the
+ o That is, there are two standards for tput: POSIX (a subset) and
+ X/Open Curses (the full implementation). POSIX documents a subset
+ to avoid the complication of including X/Open Curses and the
terminal capabilities database.
- o While it is certainly possible to write a tput program without
- using curses, none of the systems which have a curses
- implementation provide a tput utility which does not provide the
+ o While it is certainly possible to write a tput program without
+ using curses, none of the systems which have a curses
+ implementation provide a tput utility which does not provide the
capname feature.
X/Open Curses Issue 7 (2009) is the first version to document
utilities. However that part of X/Open Curses does not follow existing
practice (i.e., Unix features documented in SVID 3):
- o It assigns exit code 4 to "invalid operand", which may be the same
- as unknowncapability. For instance, the source code for Solaris'
+ o It assigns exit code 4 to "invalid operand", which may be the same
+ as unknowncapability. For instance, the source code for Solaris'
xcurses uses the term "invalid" in this case.
- o It assigns exit code 255 to a numeric variable that is not
+ o It assigns exit code 255 to a numeric variable that is not
specified in the terminfo database. That likely is a documentation
- error, confusing the -1 written to the standard output for an
+ error, confusing the -1 written to the standard output for an
absent or cancelled numeric value versus an (unsigned) exit code.
- The various Unix systems (AIX, HPUX, Solaris) use the same exit-codes
+ The various Unix systems (AIX, HPUX, Solaris) use the same exit-codes
as ncurses.
NetBSD curses documents different exit codes which do not correspond to
@@ -544,7 +545,7 @@