ncurses 6.0 - patch 20160820
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 21 Aug 2016 01:36:58 +0000 (01:36 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 21 Aug 2016 01:36:58 +0000 (01:36 +0000)
+ update tput manual page to reflect changes to manipulate terminal
  modes by sharing functions with tset.
+ add the terminal-mode parts of "reset" (aka tset) to the "tput reset"
  command, making the two almost the same except for window-size.
+ adapt logic used in dialog "--keep-tite" option for test/filter.c as
  "-a" option.  When set, test/filter attempts to suppress the
  alternate screen.
+ correct a typo in interix entry -TD

32 files changed:
NEWS
VERSION
dist.mk
doc/html/man/captoinfo.1m.html
doc/html/man/clear.1.html
doc/html/man/curs_terminfo.3x.html
doc/html/man/form.3x.html
doc/html/man/infocmp.1m.html
doc/html/man/infotocap.1m.html
doc/html/man/menu.3x.html
doc/html/man/ncurses.3x.html
doc/html/man/panel.3x.html
doc/html/man/tabs.1.html
doc/html/man/terminfo.5.html
doc/html/man/tic.1m.html
doc/html/man/toe.1m.html
doc/html/man/tput.1.html
doc/html/man/tset.1.html
man/curs_terminfo.3x
man/tput.1
misc/terminfo.src
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
progs/reset_cmd.c
progs/tput.c
progs/tset.c
test/bs.c
test/filter.c

diff --git a/NEWS b/NEWS
index 0d97b82e47e69ca5349a63fdc472bd2925a6a4ea..e8cdb6364574baf47625cbfda4342462f563bd2a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2642 2016/08/13 18:03:28 tom Exp $
+-- $Id: NEWS,v 1.2647 2016/08/20 23:43:08 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,16 @@ See the AUTHORS file for the corresponding full names.
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20160820
+       + update tput manual page to reflect changes to manipulate terminal
+         modes by sharing functions with tset.
+       + add the terminal-mode parts of "reset" (aka tset) to the "tput reset"
+         command, making the two almost the same except for window-size.
+       + adapt logic used in dialog "--keep-tite" option for test/filter.c as
+         "-a" option.  When set, test/filter attempts to suppress the
+         alternate screen.
+       + correct a typo in interix entry -TD
+
 20160813
        + add a dependency upon generated-sources in Ada95/src/Makefile.in to
          handle a case of "configure && make install".
diff --git a/VERSION b/VERSION
index 67f75ed9d2f71262e49a5adc1e8c38a975a6fed9..98d0ccc42e365ef42d6a0b390b2eddfeb3d5815c 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:9  6.0     20160813
+5:0:9  6.0     20160820
diff --git a/dist.mk b/dist.mk
index 3e0305cf6660963975649d9a2aa2d59b046bd89d..a82a9485e7a16118a79023a607ed3d302f0c64a0 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.1119 2016/08/13 15:43:19 tom Exp $
+# $Id: dist.mk,v 1.1120 2016/08/20 18:31:02 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -37,7 +37,7 @@ SHELL = /bin/sh
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 6
 NCURSES_MINOR = 0
-NCURSES_PATCH = 20160813
+NCURSES_PATCH = 20160820
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index 8d9c204a1066546f692bf82a5db6234548b1d26f..f12bce36b1c7d97ff54d34c9c37b8e42337d215c 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160730).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160820).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 92d86c8acfab36cdcdd0985319a7ec3990d0aa2d..7c36d6c45f785d69b17b734d86dd6984b576b6db 100644 (file)
@@ -67,7 +67,7 @@
 </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 20160730).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160820).
 
 
 
index c72b2f4af3e60c715ccfa6e24d737cac735e774a..2477c6bf1faed4142e4f9b1cec6d01af77d1f64e 100644 (file)
@@ -1,6 +1,6 @@
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1999-2011,2013 Free Software Foundation, Inc.              *
+  * Copyright (c) 1999-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,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_terminfo.3x,v 1.43 2013/07/20 19:29:59 tom Exp @
+  * @Id: curs_terminfo.3x,v 1.44 2016/08/20 23:26:10 tom Exp @
   * ***************************************************************************
   * ***************************************************************************
   * ***************************************************************************
        passed to <STRONG>setupterm</STRONG> from <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> uses  buffered
        I/O,  and would write to the corresponding stream.  In ad-
        dition to the limitation that the  terminal  was  left  in
-       block-buffered  mode on exit (like SystemV curses), it was
+       block-buffered mode on exit (like System V curses), it was
        problematic because <STRONG>ncurses</STRONG> did not allow a  reliable  way
        to cleanup on receiving SIGTSTP.  The current version uses
        output buffers managed directly by <STRONG>ncurses</STRONG>.  Some  of  the
index c7a86efbd9fe7f18ec4289b4f273901b6559d779..2a0849f600abe77085a4e7b27ff3cc108cff9fb5 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
        detailed descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160730).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160820).
 
 
 
index b99fed4c0e9941f968678a17de56a7998ebef4f2..7dfefaf5a6684c5c194aee0be4370f4baf5ab5d1 100644 (file)
 
        http://invisible-island.net/ncurses/tctest.html
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160730).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160820).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index a0b56389e6d4b795007c90284649b8fe5469af50..81006a59e3a4e0eeeacac6aef86264630d625db9 100644 (file)
@@ -88,7 +88,7 @@
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160730).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160820).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 469a2301f09b8a9276b5084dd538f34295df1cf3..86db173854d0a760a5d4422ea81f3994ac3656bf 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for
        detailed descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160730).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160820).
 
 
 
index e7c39f3e7007af47f24c69d357803cabe6b137e1..2e9e92eb4cde4e3f8fa2a4b0395bbed67b9d8a73 100644 (file)
@@ -60,7 +60,7 @@
        sonable optimization.  This implementation is "new curses"
        (ncurses) and is the approved replacement for 4.4BSD clas-
        sic  curses,  which has been discontinued.  This describes
-       <STRONG>ncurses</STRONG> version 6.0 (patch 20160730).
+       <STRONG>ncurses</STRONG> version 6.0 (patch 20160820).
 
        The <STRONG>ncurses</STRONG> library emulates the curses library of  System
        V  Release  4  UNIX,  and  XPG4 (X/Open Portability Guide)
index 9a9ac9fcc711ad74d14d268648e85a9ce2b93896..db2923ff3a22a53e0cbc83cb990752c4947e352a 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160730).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160820).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index c91682c756456dc881d008d2f00a7bcf1f6ef8bb..c3156d607b3e610250cbd43918f43b3217868707 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160730).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160820).
 
 
 
index b2be450c6a1fa6d6ec7a2b83c27d5112fe0c396d..5f73558af9bac901c8477c2cc656845a4cc8a355 100644 (file)
@@ -75,7 +75,7 @@
        nals by giving a set of capabilities which they  have,  by
        specifying how to perform screen operations, and by speci-
        fying padding requirements and  initialization  sequences.
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160730).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160820).
 
        Entries in <EM>terminfo</EM> consist of a sequence of `,' separated
        fields (embedded commas may be escaped with a backslash or
index 3c9470c45c48d138ecc8f8b3c61e30539db521c5..95df6d1034d4e87267714d7e2712267e14bf7023 100644 (file)
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,    <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,   <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160730).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160820).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 3a3506e3d3f20862d51ea9dd43440e22dfb603f3..f25a2a100539b1ed9ff95292a2e8f0716a6d67d8 100644 (file)
        <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,   <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,    <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160730).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160820).
 
 
 
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).
 
 
 
index 6cf8124df1a81b70bff76b5f13fbc15109750cc3..dc475ccae1703f09de3e41ea957b12a621e3831e 100644 (file)
@@ -26,7 +26,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tset.1,v 1.42 2016/07/30 21:59:39 tom Exp @
+  * @Id: tset.1,v 1.43 2016/08/06 23:16:39 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
        <STRONG>tset</STRONG> or <STRONG>reset</STRONG>.
 
        The AT&amp;T <STRONG>tput</STRONG> utility (AIX,  HPUX,  Solaris)  incorporated
-       the  terminal-mode manipulation from <STRONG>tset</STRONG>, presumably with
-       the intention of making <STRONG>tset</STRONG> obsolete.  However,  each  of
-       those systems still provides <STRONG>tset</STRONG>.  In fact, the commonly-
-       used <STRONG>reset</STRONG> utility is always an alias for <STRONG>tset</STRONG>.
+       the  terminal-mode  manipulation  as well as termcap-based
+       features such as  resetting  tabstops  from  <STRONG>tset</STRONG>  in  BSD
+       (4.1c), presumably with the intention of making <STRONG>tset</STRONG> obso-
+       lete.  However, each of those systems still provides <STRONG>tset</STRONG>.
+       In  fact,  the  commonly-used  <STRONG>reset</STRONG>  utility is always an
+       alias for <STRONG>tset</STRONG>.
 
        The <STRONG>tset</STRONG> utility provides for backward-compatibility  with
        BSD  environments  (under most modern UNIXes, <STRONG>/etc/inittab</STRONG>
        <STRONG>csh(1)</STRONG>,   <STRONG>sh(1)</STRONG>,   <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,   <STRONG>tty(4)</STRONG>,
        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160730).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160820).
 
 
 
index 7d440bf53ebca8388f5df312e241ac3dd93a232b..9e9dfa43783b84f06fba0e626fdeafd14de88dab 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1999-2011,2013 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1999-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,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_terminfo.3x,v 1.43 2013/07/20 19:29:59 tom Exp $
+.\" $Id: curs_terminfo.3x,v 1.44 2016/08/20 23:26:10 tom Exp $
 .TH curs_terminfo 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -387,7 +387,7 @@ Older versions of \fBncurses\fP assumed that the file descriptor passed to
 \fBsetupterm\fP from \fBinitscr\fP or \fBnewterm\fP uses buffered I/O,
 and would write to the corresponding stream.
 In addition to the limitation that the terminal was left in block-buffered
-mode on exit (like SystemV curses),
+mode on exit (like System V curses),
 it was problematic because \fBncurses\fP
 did not allow a reliable way to cleanup on receiving SIGTSTP.
 The current version uses output buffers managed directly by \fBncurses\fP.
index 46f19668a59a52eee4a2e62e498dae6ca4b8e6d7..f8da1f2330c5628f1e37bb893cc73d69bb9d4d92 100644 (file)
@@ -27,7 +27,7 @@
 .\" 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 $
 .TH @TPUT@ 1 ""
 .ds d @TERMINFO@
 .ds n 1
@@ -328,13 +328,23 @@ T}
 The \fBtput\fP command was begun by Bill Joy in 1980.
 The initial version only cleared the screen.
 .PP
-Keith Bostic replaced this in 1989 with a new implementation
-based on the AT&T SystemV program \fBtput\fP.
+AT&T System V provided a different \fBtput\fP command,
+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.
+Later the corresponding source code for \fIreset\fP
+was removed from the BSD \fBtset\fP
+(in June 1993, released in 4.4BSD-Lite a year later).
+.PP
+Keith Bostic replaced the BSD \fBtput\fP command in 1989 with a new implementation
+based on the AT&T System V program \fBtput\fP.
 Like the AT&T program, Bostic's version
 accepted some parameters named for \fIterminfo capabilities\fP
 (\fBclear\fP, \fBinit\fP, \fBlongname\fP and \fBreset\fP).
 However (because he had only termcap available),
 it accepted \fItermcap names\fP for other capabilities.
+Also, Bostic's BSD \fBtput\fP did not modify the terminal I/O modes
+as the earlier BSD \fBtset\fP had done.
 .PP
 At the same time, Bostic added a shell script named \*(lqclear\*(rq,
 which used \fBtput\fP to clear the screen.
@@ -346,15 +356,23 @@ becoming the \*(lqmodern\*(rq BSD implementation of \fBtput\fP.
 This implementation of \fBtput\fP differs from AT&T \fBtput\fP in
 two important areas:
 .bP
-@TPUT@ writes to the standard output.
+@TPUT@ \fIcapname\fP writes to the standard output.
 That need not be a regular terminal.
+However, the subcommands which manipulate terminal modes
+may not use the standard output.
 .IP
 The AT&T implementation's \fBinit\fP and \fBreset\fP commands
-use the \fBtset\fP source, which manipulates terminal modes.
+use the BSD (4.1c) \fBtset\fP source, which manipulates terminal modes.
 It successively tries standard output, standard error, standard input
 before falling back to \*(lq/dev/tty\*(rq and finally just assumes
 a 1200Bd terminal.
 When updating terminal modes, it ignores errors.
+.IP
+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 \fBtset\fP).
+If it is not able to open a terminal, e.g., when running in \fBcron\fP,
+@TPUT@ will return an error.
 .bP
 AT&T \fBtput\fP guesses the type of its \fIcapname\fP operands by seeing if
 all of the characters are numeric, or not.
index 63e7f51289128714ff8dace39d5284a5dbcca672..965b2436ae392374cb1c2fce0b660ac401acc6dc 100644 (file)
@@ -6,8 +6,8 @@
 # Report bugs and new terminal descriptions to
 #      bug-ncurses@gnu.org
 #
-#      $Revision: 1.565 $
-#      $Date: 2016/06/11 18:59:38 $
+#      $Revision: 1.566 $
+#      $Date: 2016/08/17 08:17:26 $
 #
 # The original header is preserved below for reference.  It is noted that there
 # is a "newer" version which differs in some cosmetic details (but actually
@@ -7252,14 +7252,14 @@ interix|opennt|opennt-25|ntconsole|ntconsole-25|OpenNT-term compatible with colo
        kf46=\EFk, kf47=\EFm, kf48=\EFn, kf49=\EFo, kf5=\EF5,
        kf50=\EFp, kf51=\EFq, kf52=\EFr, kf53=\EFs, kf54=\EFt,
        kf55=\EFu, kf56=\EFv, kf57=\EFw, kf58=\EFx, kf59=\EFy,
-       kf6=\EF6, kf60=\EFz, kf61=\EF+, kf62=\EF-,
-       kf63=\EF\014 kf64=\EF$, kf7=\EF7, kf8=\EF8, kf9=\EF9,
-       kich1=\E[L, kll=\E[U, knp=\E[T, kpp=\E[S, ll=\E[U, nel=^M^J,
-       op=\E[m, rc=\E[u, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT,
-       rmcup=\E[2b\E[u\r\E[K, rmso=\E[m, rmul=\E[m, rs1=\Ec,
-       sc=\E[s, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
-       setb=\E[%p1%{40}%+%dm, setf=\E[%p1%{30}%+%dm,
-       sgr0=\E[0m, smcup=\E[s\E[1b, smso=\E[7m, smul=\E[4m,
+       kf6=\EF6, kf60=\EFz, kf61=\EF+, kf62=\EF-, kf63=\EF^L,
+       kf7=\EF7, kf8=\EF8, kf9=\EF9, kich1=\E[L, kll=\E[U, knp=\E[T,
+       kpp=\E[S, ll=\E[U, nel=^M^J, op=\E[m, rc=\E[u, rev=\E[7m,
+       ri=\E[T, rin=\E[%p1%dT, rmcup=\E[2b\E[u\r\E[K, rmso=\E[m,
+       rmul=\E[m, rs1=\Ec, sc=\E[s, setab=\E[4%p1%dm,
+       setaf=\E[3%p1%dm, setb=\E[%p1%{40}%+%dm,
+       setf=\E[%p1%{30}%+%dm, sgr0=\E[0m, smcup=\E[s\E[1b,
+       smso=\E[7m, smul=\E[4m, kf64=\EF$,
 
 opennt-35|ntconsole-35|OpenNT-term35 compatible with color,
        lines#35, use=opennt,
@@ -23851,4 +23851,7 @@ v3220|LANPAR Vision II model 3220/3221/3222,
 #        that could be returned -TD
 #      + added a few capabilities fixed in recent vte -TD
 #
+# 20160817
+#      + correct a typo in interix -TD
+#
 ######## SHANTIH!  SHANTIH!  SHANTIH!
index 7bb77f74aeb1ee623f55965e5b0ab369bc975a1a..2d9ef4cf73d5618c23b0ac767dab321951f4be0f 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20160813) unstable; urgency=low
+ncurses6 (6.0+20160820) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 13 Aug 2016 11:43:19 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 20 Aug 2016 14:31:02 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 7bb77f74aeb1ee623f55965e5b0ab369bc975a1a..2d9ef4cf73d5618c23b0ac767dab321951f4be0f 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20160813) unstable; urgency=low
+ncurses6 (6.0+20160820) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 13 Aug 2016 11:43:19 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 20 Aug 2016 14:31:02 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index ccea93f535c5d5381fb1337101f733736538ebc8..177dd0f1a1bca9be088db7132750eba03254015b 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20160813) unstable; urgency=low
+ncurses6 (6.0+20160820) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 13 Aug 2016 11:43:19 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 20 Aug 2016 14:31:02 -0400
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index c07fc915212256d406ebb535e57fd563d2bfb819..e415c10b8af300dcd3c6a7cd67871ffb3d270537 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.171 2016/08/13 15:43:19 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.172 2016/08/20 18:31:02 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "0"\r
 !define VERSION_YYYY  "2016"\r
-!define VERSION_MMDD  "0813"\r
+!define VERSION_MMDD  "0820"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index 43fd8a96cc3439e95bd7baa52c1943a021166753..4ed3cfb5e4c8c822571cad3d1d7215482e772b04 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.0
-Release: 20160813
+Release: 20160820
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 687ab7dbc6589fa007bd411b1744feee9a5d5e48..0a885f2ee643e908e1f48a0ebfc1d7eee26bbb11 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.0
-Release: 20160813
+Release: 20160820
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 94ad75089e436feb4b149d14f0ba6657cb2d0c0b..da953eb1218804ed4d8850fa0d61c058dbb5047c 100644 (file)
@@ -51,7 +51,7 @@
 #include <sys/ptem.h>
 #endif
 
-MODULE_ID("$Id: reset_cmd.c,v 1.5 2016/08/06 21:04:54 tom Exp $")
+MODULE_ID("$Id: reset_cmd.c,v 1.6 2016/08/20 23:53:44 tom Exp $")
 
 /*
  * SCO defines TIOCGSIZE and the corresponding struct.  Other systems (SunOS,
@@ -491,6 +491,7 @@ send_init_strings(TTY * old_settings)
     int i;
     bool need_flush = FALSE;
 
+    (void) old_settings;
 #ifdef TAB3
     if (old_settings != 0 &&
        old_settings->c_oflag & (TAB3 | ONLCR | OCRNL | ONLRET)) {
index f90e76cdb667b7eeb5b5b3c91fc9fd4269776388..8ff3be1ba57346943770dbec9de7df5a63b9aa38 100644 (file)
@@ -48,7 +48,7 @@
 #endif
 #include <transform.h>
 
-MODULE_ID("$Id: tput.c,v 1.56 2016/08/06 20:59:26 tom Exp $")
+MODULE_ID("$Id: tput.c,v 1.57 2016/08/20 21:46:31 tom Exp $")
 
 #define PUTS(s)                fputs(s, stdout)
 
@@ -118,10 +118,24 @@ tput_cmd(int argc, char *argv[])
        name = "";
     check_aliases(name, FALSE);
     if (is_reset || is_init) {
+       TTY mode, oldmode;
+
+       int terasechar = -1;    /* new erase character */
+       int intrchar = -1;      /* new interrupt character */
+       int tkillchar = -1;     /* new kill character */
+
+       (void) save_tty_settings(&mode);
+
        reset_start(stdout, is_reset, is_init);
-       if (send_init_strings((TTY *) 0)) {
+       reset_tty_settings(&mode);
+
+       set_control_chars(&mode, terasechar, intrchar, tkillchar);
+       set_conversions(&mode);
+       if (send_init_strings(&oldmode)) {
            reset_flush();
        }
+
+       update_tty_settings(&oldmode, &mode);
        return 0;
     }
 
index 029207678738564b26597c4b1c2a5a7f52212872..7a0f521ec2b1304bf75ec77900cdc910556cd5be 100644 (file)
@@ -96,7 +96,7 @@
 char *ttyname(int fd);
 #endif
 
-MODULE_ID("$Id: tset.c,v 1.107 2016/08/06 20:54:22 tom Exp $")
+MODULE_ID("$Id: tset.c,v 1.108 2016/08/20 23:53:44 tom Exp $")
 
 #ifndef environ
 extern char **environ;
@@ -492,6 +492,8 @@ get_termcap_entry(int fd, char *userarg)
 #endif
     char *ttypath;
 
+    (void) fd;
+
     if (userarg) {
        ttype = userarg;
        goto found;
index a74f64300ad27daf8888bea0919e2df68ab2b65d..aeb92f30a6caf6320462ae66941921c8a66dbde0 100644 (file)
--- a/test/bs.c
+++ b/test/bs.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2014,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            *
@@ -34,7 +34,7 @@
  * v2.0 featuring strict ANSI/POSIX conformance, November 1993.
  * v2.1 with ncurses mouse support, September 1995
  *
- * $Id: bs.c,v 1.63 2014/08/09 22:27:12 tom Exp $
+ * $Id: bs.c,v 1.64 2016/08/21 00:03:32 tom Exp $
  */
 
 #include <test.priv.h>
@@ -214,7 +214,7 @@ announceopts(void)
 static void
 intro(void)
 {
-    char *tmpname;
+    const char *tmpname;
 
     srand((unsigned) (time(0L) + getpid()));   /* Kick the random number generator */
 
index fe587cbb0821a5b3545daaefbce00cb6039a8ecf..89096ba370ff3c0082b89af0d2ddd34474faaa48 100644 (file)
@@ -29,7 +29,7 @@
 /*
  * Author:  Thomas E. Dickey 1998
  *
- * $Id: filter.c,v 1.24 2016/04/16 22:11:03 tom Exp $
+ * $Id: filter.c,v 1.26 2016/08/20 20:38:56 tom Exp $
  *
  * An example of the 'filter()' function in ncurses, this program prompts
  * for commands and executes them (like a command shell).  It illustrates
@@ -258,6 +258,44 @@ new_command(char *buffer, int length, int underline, bool clocked, bool polled)
     return code;
 }
 
+#ifdef NCURSES_VERSION
+/*
+ * Cancel xterm's alternate-screen mode (from dialog -TD)
+ */
+#define isprivate(s) ((s) != 0 && strstr(s, "\033[?") != 0)
+static void
+cancel_altscreen(void)
+{
+    if (isatty(fileno(stdout))
+       && key_mouse != 0       /* xterm and kindred */
+       && isprivate(enter_ca_mode)
+       && isprivate(exit_ca_mode)) {
+       /*
+        * initscr() or newterm() already wrote enter_ca_mode as a side effect
+        * of initializing the screen.  It would be nice to not even do that,
+        * but we do not really have access to the correct copy of the
+        * terminfo description until those functions have been invoked.
+        */
+       (void) refresh();
+       (void) putp(exit_ca_mode);
+       (void) fflush(stdout);
+       /*
+        * Prevent ncurses from switching "back" to the normal screen when
+        * exiting from this program.  That would move the cursor to the
+        * original location saved in xterm.  Normally curses sets the cursor
+        * position to the first line after the display, but the alternate
+        * screen switching is done after that point.
+        *
+        * Cancelling the strings altogether also works around the buggy
+        * implementation of alternate-screen in rxvt, etc., which clear more
+        * of the display than they should.
+        */
+       enter_ca_mode = 0;
+       exit_ca_mode = 0;
+    }
+}
+#endif
+
 static void
 usage(void)
 {
@@ -266,6 +304,9 @@ usage(void)
        "Usage: filter [options]"
        ,""
        ,"Options:"
+#ifdef NCURSES_VERSION
+       ,"  -a   suppress xterm alternate-screen by amending smcup/rmcup"
+#endif
        ,"  -c   show current time on prompt line with \"Command\""
        ,"  -i   use initscr() rather than newterm()"
        ,"  -p   poll for individual characters rather than using getnstr"
@@ -282,14 +323,22 @@ main(int argc, char *argv[])
     int ch;
     char buffer[80];
     int underline;
+#ifdef NCURSES_VERSION
+    bool a_option = FALSE;
+#endif
     bool c_option = FALSE;
     bool i_option = FALSE;
     bool p_option = FALSE;
 
     setlocale(LC_ALL, "");
 
-    while ((ch = getopt(argc, argv, "cip")) != -1) {
+    while ((ch = getopt(argc, argv, "acip")) != -1) {
        switch (ch) {
+#ifdef NCURSES_VERSION
+       case 'a':
+           a_option = TRUE;
+           break;
+#endif
        case 'c':
            c_option = TRUE;
            break;
@@ -312,6 +361,11 @@ main(int argc, char *argv[])
     } else {
        (void) newterm((char *) 0, stdout, stdin);
     }
+#ifdef NCURSES_VERSION
+    if (a_option) {
+       cancel_altscreen();
+    }
+#endif
     cbreak();
     keypad(stdscr, TRUE);
 
@@ -342,7 +396,7 @@ main(int argc, char *argv[])
        erase();
        refresh();
     }
-    printw("done");
+    clear();
     refresh();
     endwin();
     ExitProgram(EXIT_SUCCESS);