- This example shows <STRONG>tput</STRONG> processing several capabilities in one
- invocation. It clears the screen, moves the cursor to position
- 10, 10 and turns on bold (extra bright) mode. The list is
- terminated by an exclamation mark (<STRONG>!</STRONG>) on a line by itself.
+ <EM>ncurses</EM> <STRONG>tput</STRONG> uses a table to determine the parameter types for the
+ standard <EM>cap-code</EM> operands, and an internal function to analyze
+ nonstandard <EM>cap-code</EM> operands.
+
+ While more reliable than System V's utility, a portability problem
+ is introduced by this analysis. An OpenBSD developer adapted the
+ internal library function from <EM>ncurses</EM> to port NetBSD's <EM>termcap</EM>-
+ based <STRONG>tput</STRONG> to <EM>terminfo,</EM> and modified it to interpret multiple <EM>cap-</EM>
+ <EM>codes</EM> (and parameters) on the command line. Portable applications
+ should not rely upon this feature; <EM>ncurses</EM> offers it to support
+ applications written specifically for OpenBSD.
+
+ This implementation, unlike others, accepts both <EM>termcap</EM> and <EM>terminfo</EM>
+ <EM>cap-codes</EM> if <EM>termcap</EM> support is compiled in. In that case, however,
+ the predefined <EM>termcap</EM> and <EM>terminfo</EM> codes have two ambiguities; <EM>ncurses</EM>
+ assumes the <EM>terminfo</EM> code.
+
+ <STRONG>o</STRONG> The <EM>cap-code</EM> <STRONG>dl</STRONG> means <STRONG>delete_line</STRONG> to <EM>termcap</EM> but <STRONG>parm_delete_line</STRONG>
+ to <EM>terminfo.</EM> <EM>termcap</EM> uses the code <STRONG>DL</STRONG> for <STRONG>parm_delete_line</STRONG>. <EM>term-</EM>
+ <EM>info</EM> uses the code <STRONG>dch1</STRONG> for <STRONG>delete_line</STRONG>.
+
+ <STRONG>o</STRONG> The <EM>cap-code</EM> <STRONG>ed</STRONG> means <STRONG>exit_delete_mode</STRONG> to <EM>termcap</EM> but <STRONG>clr_eos</STRONG> to
+ <EM>terminfo.</EM> <EM>termcap</EM> uses the code <STRONG>cd</STRONG> for <STRONG>clr_eos</STRONG>. <EM>terminfo</EM> uses the
+ code <STRONG>rmdc</STRONG> for <STRONG>exit_delete_mode</STRONG>.
+
+ The <STRONG>longname</STRONG> operand, <STRONG>-S</STRONG> option, and the parameter-substitution
+ features used in the <STRONG>cup</STRONG> example below, were not supported in AT&T/USL
+ <EM>curses</EM> before SVr4 (1989). Later, 4.3BSD-Reno (1990) added support for
+ <STRONG>longname</STRONG>, and in 1994, NetBSD added support for the parameter-
+ substitution features.