ncurses 6.0 - patch 20160820
[ncurses.git] / doc / html / man / tput.1.html
index 32a8b22ae05b23b103c8c4210deae926dd8c8b1e..f754de3cc43cc516e812114a65d710c07eb624fe 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tput.1,v 1.42 2016/07/30 21:01:09 tom Exp @
+  * @Id: tput.1,v 1.44 2016/08/20 23:40:31 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
        The <STRONG>tput</STRONG> command was begun by Bill Joy in 1980.  The  ini-
        tial version only cleared the screen.
 
-       Keith  Bostic replaced this in 1989 with a new implementa-
-       tion based on the AT&amp;T SystemV  program  <STRONG>tput</STRONG>.   Like  the
-       AT&amp;T  program,  Bostic's  version accepted some parameters
-       named for <EM>terminfo</EM> <EM>capabilities</EM> (<STRONG>clear</STRONG>, <STRONG>init</STRONG>, <STRONG>longname</STRONG> and
-       <STRONG>reset</STRONG>).   However (because he had only termcap available),
-       it accepted <EM>termcap</EM> <EM>names</EM> for other capabilities.
-
-       At the same  time,  Bostic  added  a  shell  script  named
+       AT&amp;T  System  V  provided  a different <STRONG>tput</STRONG> command, whose
+       <STRONG>init</STRONG> and <STRONG>reset</STRONG>  subcommands (more than half  the  program)
+       were incorporated from the <STRONG>reset</STRONG> feature of BSD <STRONG>tset</STRONG> writ-
+       ten by Eric Allman.  Later the corresponding  source  code
+       for  <EM>reset</EM>  was  removed  from the BSD <STRONG>tset</STRONG> (in June 1993,
+       released in 4.4BSD-Lite a year later).
+
+       Keith Bostic replaced the BSD <STRONG>tput</STRONG> command in 1989 with  a
+       new  implementation  based  on  the  AT&amp;T System V program
+       <STRONG>tput</STRONG>.  Like the AT&amp;T program,  Bostic's  version  accepted
+       some  parameters  named  for <EM>terminfo</EM> <EM>capabilities</EM> (<STRONG>clear</STRONG>,
+       <STRONG>init</STRONG>, <STRONG>longname</STRONG> and <STRONG>reset</STRONG>).  However (because he  had  only
+       termcap  available),  it  accepted <EM>termcap</EM> <EM>names</EM> for other
+       capabilities.  Also, Bostic's BSD <STRONG>tput</STRONG> did not modify  the
+       terminal I/O modes as the earlier BSD <STRONG>tset</STRONG> had done.
+
+       At  the  same  time,  Bostic  added  a  shell script named
        "clear", which used <STRONG>tput</STRONG> to clear the screen.
 
-       Both  of  these  appeared in 4.4BSD, becoming the "modern"
+       Both of these appeared in 4.4BSD,  becoming  the  "modern"
        BSD implementation of <STRONG>tput</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       This implementation of <STRONG>tput</STRONG> differs from AT&amp;T <STRONG>tput</STRONG> in  two
+       This  implementation of <STRONG>tput</STRONG> differs from AT&amp;T <STRONG>tput</STRONG> in two
        important areas:
 
-       <STRONG>o</STRONG>   tput  writes to the standard output.  That need not be
-           a regular terminal.
-
-           The AT&amp;T implementation's <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands  use
-           the <STRONG>tset</STRONG> source, which manipulates terminal modes.  It
-           successively tries standard  output,  standard  error,
-           standard  input  before falling back to "/dev/tty" and
-           finally just assumes a 1200Bd terminal.  When updating
-           terminal modes, it ignores errors.
+       <STRONG>o</STRONG>   tput <EM>capname</EM> writes to the standard output.  That need
+           not  be  a regular terminal.  However, the subcommands
+           which manipulate terminal modes may not use the  stan-
+           dard output.
+
+           The  AT&amp;T implementation's <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands use
+           the BSD (4.1c) <STRONG>tset</STRONG> source, which manipulates terminal
+           modes.   It  successively tries standard output, stan-
+           dard error, standard  input  before  falling  back  to
+           "/dev/tty" and finally just assumes a 1200Bd terminal.
+           When updating terminal modes, it ignores errors.
+
+           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  ulti-
+           mately  based  on the 4.4BSD <STRONG>tset</STRONG>).  If it is not able
+           to open a terminal, e.g., when running in  <STRONG>cron</STRONG>,  tput
+           will return an error.
 
        <STRONG>o</STRONG>   AT&amp;T  <STRONG>tput</STRONG> guesses the type of its <EM>capname</EM> operands by
            seeing if all of the characters are numeric, or not.
        <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>,    <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>,   <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>,   <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
        <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160730).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160820).