ncurses 6.0 - patch 20161231
[ncurses.git] / doc / html / man / clear.1.html
index 442eff4a4036caa9cc2d85dc1e2697e1c504c69d..74b53fdc670bac6f876f7373d5664c4584df21ac 100644 (file)
@@ -1,6 +1,6 @@
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2013,2016 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,7 +26,9 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: clear.1,v 1.10 2013/06/22 22:22:11 tom Exp @
+  * @Id: clear.1,v 1.16 2016/12/31 16:09:34 tom Exp @
+  * these would be fallbacks for DS/DE,
+  * but groff changed the meaning of the macros.
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>clear</STRONG> - clear the terminal screen
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>clear</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
        <STRONG>clear</STRONG>  clears  your  screen if this is possible, including
        its scrollback buffer (if the extended "E3" capability  is
        defined).  <STRONG>clear</STRONG> looks in the environment for the terminal
-       type and then in the <STRONG>terminfo</STRONG> database to determine how to
-       clear the screen.
+       type given by the environment variable <STRONG>TERM</STRONG>, and  then  in
+       the  <STRONG>terminfo</STRONG>  database  to  determine  how  to  clear the
+       screen.
+
+       <STRONG>clear</STRONG> writes to the standard output.  You can redirect the
+       standard output to a file (which prevents <STRONG>clear</STRONG> from actu-
+       ally clearing the screen), and later <STRONG>cat</STRONG> the file  to  the
+       screen, clearing it at that point.
 
        <STRONG>clear</STRONG>  ignores  any  command-line  parameters  that may be
-       present.
+       present.  The  analogous  "<STRONG>tput</STRONG>  clear"  has  command-line
+       parameters  including  <STRONG>-T</STRONG> for overriding the <STRONG>TERM</STRONG> environ-
+       ment variable.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       A <STRONG>clear</STRONG> command appeared in  2.79BSD  dated  February  24,
+       1979.  Later that was provided in Unix 8th edition (1985).
+
+       AT&amp;T  adapted a different BSD program (<STRONG>tset</STRONG>) to make a new
+       command (<STRONG>tput</STRONG>), and used this to replace the <STRONG>clear</STRONG> command
+       with a shell script which calls <STRONG>tput</STRONG> <STRONG>clear</STRONG>, e.g.,
+
+         /usr/bin/tput ${1:+-T$1} clear 2&gt; /dev/null
+         exit
+
+       In 1989, when Keith Bostic revised the BSD <STRONG>tput</STRONG> command to
+       make it similar to the AT&amp;T <STRONG>tput</STRONG>, he added a shell  script
+       for the <STRONG>clear</STRONG> command:
+
+         exec tput clear
+
+       The  remainder  of  the script in each case is a copyright
+       notice.
+
+       The ncurses <STRONG>clear</STRONG> command began in 1995  by  adapting  the
+       original BSD <STRONG>clear</STRONG> command (with terminfo, of course).
+
+       The <STRONG>E3</STRONG> extension came later:
+
+       <STRONG>o</STRONG>   In June 1999, xterm provided an extension to the stan-
+           dard control sequence for clearing the screen.  Rather
+           than  clearing  just  the  visible  part of the screen
+           using
+
+             printf '\033[2J'
+
+           one could clear the <EM>scrollback</EM> using
+
+             printf '\033[<STRONG>3</STRONG>J'
+
+           This is documented in <EM>XTerm</EM>  <EM>Control</EM>  <EM>Sequences</EM>  as  a
+           feature originating with xterm.
+
+       <STRONG>o</STRONG>   A  few  other terminal developers adopted the feature,
+           e.g., PuTTY in 2006.
+
+       <STRONG>o</STRONG>   In April 2011, a Red Hat developer submitted  a  patch
+           to  the  Linux kernel, modifying its console driver to
+           do the same thing.  The Linux change, part of the  3.0
+           release,  did not mention xterm, although it was cited
+           in the Red Hat bug report (#683733) which led  to  the
+           change.
+
+       <STRONG>o</STRONG>   Again,  a  few  other  terminal developers adopted the
+           feature.  But the next relevant step was a  change  to
+           the  <STRONG>clear</STRONG>  program in 2013 to incorporate this exten-
+           sion.
+
+       <STRONG>o</STRONG>   In 2013, the <STRONG>E3</STRONG> extension was overlooked in <STRONG>tput</STRONG>  with
+           the  "clear" parameter.  That was addressed in 2016 by
+           reorganizing <STRONG>tput</STRONG> to share its logic  with  <STRONG>clear</STRONG>  and
+           <STRONG>tset</STRONG>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       Neither  IEEE Std 1003.1/The Open  Group  Base  Specifica-
+       tions  Issue  7 (POSIX.1-2008) nor X/Open Curses  Issue  7
+       documents tset or reset.
+
+       The  latter documents <STRONG>tput</STRONG>, which could be used to replace
+       this utility either via a shell  script  or  by  an  alias
+       (such as a symbolic link) to run <STRONG>tput</STRONG> as <STRONG>clear</STRONG>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150718).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161231).
 
 
 
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>