From 58552e8c761a70f8f0bd591fecdf576fa8216e3e Mon Sep 17 00:00:00 2001 From: "Thomas E. Dickey" Date: Sun, 8 Jan 2017 01:40:29 +0000 Subject: [PATCH] ncurses 6.0 - patch 20170107 + amend changes for tput to reset tty modes to "sane" if the program is run as "reset", like tset. Likewise, ensure that tset sends either reset- or init-strings. + improve manual page descriptions of tput init/reset and tset/reset, to make it easier to see how they are similar and different. + move a static result from key_name() to _nc_globals + modify _nc_get_screensize to allow for use_env() and use_tioctl() state to be per-screen when sp-funcs are configured, better matching the behavior when using the term-driver configuration. + improve cross-references in manual pages for often used functions + move SCREEN field for use_tioctl() data before the ncursesw fields, and limit that to the sp-funcs configuration to improve termlib compatibility (cf: 20120714). + correct order of initialization for traces in use_env() and use_tioctl() versus first trace calls. --- Ada95/package/debian/copyright | 4 +- COPYING | 4 +- NEWS | 21 +- VERSION | 2 +- dist.mk | 6 +- doc/html/man/adacurses6-config.1.html | 2 +- doc/html/man/captoinfo.1m.html | 2 +- doc/html/man/clear.1.html | 2 +- doc/html/man/curs_add_wch.3x.html | 22 +- doc/html/man/curs_addch.3x.html | 16 +- doc/html/man/curs_attr.3x.html | 6 +- doc/html/man/curs_color.3x.html | 6 +- doc/html/man/curs_get_wstr.3x.html | 18 +- doc/html/man/curs_getch.3x.html | 4 +- doc/html/man/curs_getstr.3x.html | 6 +- doc/html/man/curs_initscr.3x.html | 22 +- doc/html/man/curs_inopts.3x.html | 60 +- doc/html/man/curs_kernel.3x.html | 6 +- doc/html/man/curs_memleaks.3x.html | 27 +- doc/html/man/curs_mouse.3x.html | 10 +- doc/html/man/curs_move.3x.html | 10 +- doc/html/man/curs_outopts.3x.html | 6 +- doc/html/man/curs_pad.3x.html | 10 +- doc/html/man/curs_print.3x.html | 4 +- doc/html/man/curs_printw.3x.html | 6 +- doc/html/man/curs_scr_dump.3x.html | 12 +- doc/html/man/curs_sp_funcs.3x.html | 4 +- doc/html/man/curs_termcap.3x.html | 8 +- doc/html/man/curs_trace.3x.html | 6 +- doc/html/man/curs_util.3x.html | 178 ++--- doc/html/man/curs_variables.3x.html | 2 +- doc/html/man/form.3x.html | 2 +- doc/html/man/form_driver.3x.html | 6 +- doc/html/man/form_post.3x.html | 6 +- doc/html/man/form_variables.3x.html | 2 +- doc/html/man/infocmp.1m.html | 2 +- doc/html/man/infotocap.1m.html | 2 +- doc/html/man/menu.3x.html | 2 +- doc/html/man/menu_driver.3x.html | 8 +- doc/html/man/menu_post.3x.html | 6 +- doc/html/man/ncurses.3x.html | 20 +- doc/html/man/ncurses6-config.1.html | 2 +- doc/html/man/panel.3x.html | 2 +- doc/html/man/resizeterm.3x.html | 10 +- doc/html/man/tabs.1.html | 2 +- doc/html/man/term.5.html | 10 +- doc/html/man/term_variables.3x.html | 35 +- doc/html/man/terminfo.5.html | 1028 +++++++++++++------------ doc/html/man/tic.1m.html | 2 +- doc/html/man/toe.1m.html | 2 +- doc/html/man/tput.1.html | 277 ++++--- doc/html/man/tset.1.html | 186 +++-- man/curs_add_wch.3x | 6 +- man/curs_addch.3x | 8 +- man/curs_attr.3x | 6 +- man/curs_color.3x | 6 +- man/curs_get_wstr.3x | 6 +- man/curs_getstr.3x | 6 +- man/curs_initscr.3x | 10 +- man/curs_inopts.3x | 14 +- man/curs_kernel.3x | 6 +- man/curs_memleaks.3x | 6 +- man/curs_mouse.3x | 8 +- man/curs_move.3x | 6 +- man/curs_outopts.3x | 6 +- man/curs_pad.3x | 6 +- man/curs_print.3x | 6 +- man/curs_printw.3x | 6 +- man/curs_scr_dump.3x | 6 +- man/curs_termcap.3x | 6 +- man/curs_trace.3x | 6 +- man/curs_util.3x | 47 +- man/form_post.3x | 6 +- man/manhtml.aliases | 14 +- man/menu_driver.3x | 6 +- man/menu_post.3x | 6 +- man/ncurses.3x | 8 +- man/resizeterm.3x | 6 +- man/term.5 | 6 +- man/term_variables.3x | 8 +- man/terminfo.tail | 8 +- man/tput.1 | 91 ++- man/tset.1 | 61 +- ncurses/base/MKlib_gen.sh | 7 +- ncurses/curses.priv.h | 13 +- ncurses/tinfo/MKfallback.sh | 8 +- ncurses/tinfo/lib_data.c | 9 +- ncurses/tinfo/lib_setup.c | 29 +- ncurses/tinfo/tinfo_driver.c | 6 +- ncurses/widechar/lib_key_name.c | 15 +- package/debian-mingw/changelog | 4 +- package/debian-mingw/copyright | 4 +- package/debian-mingw64/changelog | 4 +- package/debian-mingw64/copyright | 4 +- package/debian/changelog | 4 +- package/debian/copyright | 4 +- package/mingw-ncurses.nsi | 6 +- package/mingw-ncurses.spec | 2 +- package/ncurses.spec | 2 +- progs/tput.c | 12 +- progs/tset.c | 6 +- test/package/debian-mingw/copyright | 4 +- test/package/debian-mingw64/copyright | 4 +- test/package/debian/copyright | 4 +- 104 files changed, 1455 insertions(+), 1197 deletions(-) diff --git a/Ada95/package/debian/copyright b/Ada95/package/debian/copyright index dfc525da..e8ee3e2f 100644 --- a/Ada95/package/debian/copyright +++ b/Ada95/package/debian/copyright @@ -4,11 +4,11 @@ Current ncurses maintainer: Thomas Dickey ------------------------------------------------------------------------------- Files: * -Copyright: 1998-2015,2016 Free Software Foundation, Inc. +Copyright: 1998-2016,2017 Free Software Foundation, Inc. Licence: X11 Files: aclocal.m4 package -Copyright: 2010-2015,2016 by Thomas E. Dickey +Copyright: 2010-2016,2017 by Thomas E. Dickey Licence: X11 Permission is hereby granted, free of charge, to any person obtaining a diff --git a/COPYING b/COPYING index 830a8b56..98b786cf 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,4 @@ -Copyright (c) 1998-2015,2016 Free Software Foundation, Inc. +Copyright (c) 1998-2016,2017 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 @@ -25,4 +25,4 @@ sale, use or other dealings in this Software without prior written authorization. -- vile:txtmode fc=72 --- $Id: COPYING,v 1.4 2016/01/02 20:24:37 tom Exp $ +-- $Id: COPYING,v 1.5 2017/01/08 00:33:50 tom Exp $ diff --git a/NEWS b/NEWS index 0ab183bf..eac8f2b8 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Copyright (c) 1998-2015,2016 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2016,2017 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 -- @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.2722 2016/12/31 21:35:53 tom Exp $ +-- $Id: NEWS,v 1.2732 2017/01/07 22:49:11 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -45,6 +45,23 @@ 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. +20170107 + + amend changes for tput to reset tty modes to "sane" if the program + is run as "reset", like tset. Likewise, ensure that tset sends + either reset- or init-strings. + + improve manual page descriptions of tput init/reset and tset/reset, + to make it easier to see how they are similar and different. + + move a static result from key_name() to _nc_globals + + modify _nc_get_screensize to allow for use_env() and use_tioctl() + state to be per-screen when sp-funcs are configured, better matching + the behavior when using the term-driver configuration. + + improve cross-references in manual pages for often used functions + + move SCREEN field for use_tioctl() data before the ncursesw fields, + and limit that to the sp-funcs configuration to improve termlib + compatibility (cf: 20120714). + + correct order of initialization for traces in use_env() and + use_tioctl() versus first trace calls. + 20161231 + fix errata for ncurses-howto (report by Damien Ruscoe). + fix a few places in configure/build scripts where DESTDIR and rpath diff --git a/VERSION b/VERSION index d71eeccc..395fc777 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5:0:9 6.0 20161231 +5:0:9 6.0 20170107 diff --git a/dist.mk b/dist.mk index 8420e45f..b06dc4ed 100644 --- a/dist.mk +++ b/dist.mk @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 1998-2015,2016 Free Software Foundation, Inc. # +# Copyright (c) 1998-2016,2017 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 "Software"), # @@ -25,7 +25,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: dist.mk,v 1.1139 2016/12/31 12:01:55 tom Exp $ +# $Id: dist.mk,v 1.1141 2017/01/07 15:27:12 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 = 20161231 +NCURSES_PATCH = 20170107 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) diff --git a/doc/html/man/adacurses6-config.1.html b/doc/html/man/adacurses6-config.1.html index 3a41c232..f4433a90 100644 --- a/doc/html/man/adacurses6-config.1.html +++ b/doc/html/man/adacurses6-config.1.html @@ -131,7 +131,7 @@

SEE ALSO

        curses(3x)
 
-       This describes ncurses version 6.0 (patch 20161231).
+       This describes ncurses version 6.0 (patch 20170107).
 
 
 
diff --git a/doc/html/man/captoinfo.1m.html b/doc/html/man/captoinfo.1m.html
index ee5b53a7..6141188d 100644
--- a/doc/html/man/captoinfo.1m.html
+++ b/doc/html/man/captoinfo.1m.html
@@ -198,7 +198,7 @@
 

SEE ALSO

        infocmp(1m), curses(3x), terminfo(5)
 
-       This describes ncurses version 6.0 (patch 20161231).
+       This describes ncurses version 6.0 (patch 20170107).
 
 
 

AUTHOR

diff --git a/doc/html/man/clear.1.html b/doc/html/man/clear.1.html
index 74b53fdc..4117f52e 100644
--- a/doc/html/man/clear.1.html
+++ b/doc/html/man/clear.1.html
@@ -147,7 +147,7 @@
 

SEE ALSO

        tput(1), terminfo(5)
 
-       This describes ncurses version 6.0 (patch 20161231).
+       This describes ncurses version 6.0 (patch 20170107).
 
 
 
diff --git a/doc/html/man/curs_add_wch.3x.html b/doc/html/man/curs_add_wch.3x.html
index 66360113..b33c693e 100644
--- a/doc/html/man/curs_add_wch.3x.html
+++ b/doc/html/man/curs_add_wch.3x.html
@@ -1,6 +1,6 @@
 
 
 
@@ -91,20 +91,20 @@
 
 

echo_wchar

        The echo_wchar function is functionally  equivalent  to  a
-       call to add_wch followed by a call to refresh.  Similarly,
-       the wecho_wchar is functionally equivalent to  a  call  to
-       wadd_wch  followed  by  a call to wrefresh.  The knowledge
-       that only a single character is being output is taken into
-       consideration and, for non-control characters, a consider-
-       able performance gain might be seen by  using  the  *echo*
-       functions instead of their equivalents.
+       call  to add_wch followed by a call to refresh(3x).  Simi-
+       larly, the wecho_wchar is  functionally  equivalent  to  a
+       call  to  wadd_wch  followed  by  a call to wrefresh.  The
+       knowledge that only a single character is being output  is
+       taken  into consideration and, for non-control characters,
+       a considerable performance gain might be seen by using the
+       *echo* functions instead of their equivalents.
 
 
 

Line Graphics

-       Like  curs_addch(3x),  addch_wch  accepts symbols which make it
+       Like  addch(3x),  addch_wch  accepts symbols which make it
        simple to draw lines and  other  frequently  used  special
        characters.   These  symbols  correspond to the same VT100
-       line-drawing set as curs_addch(3x).
+       line-drawing set as addch(3x).
 
        Name              Unicode    Default   Description
        ----------------------------------------------------------------
diff --git a/doc/html/man/curs_addch.3x.html b/doc/html/man/curs_addch.3x.html
index eaedb031..3ef9e500 100644
--- a/doc/html/man/curs_addch.3x.html
+++ b/doc/html/man/curs_addch.3x.html
@@ -1,7 +1,7 @@
 
 
 
@@ -109,7 +109,7 @@
        Video attributes can be combined with a character argument
        passed to addch or related functions by logical-ORing them
        into  the  character.   (Thus, text, including attributes,
-       can be copied from one place to  another  using  inch  and
+       can be copied from one place to another using inch(3x) and
        addch.)   See  the curs_attr(3x) page for values of prede-
        fined video attribute constants that can be usefully OR'ed
        into characters.
@@ -117,11 +117,11 @@
 
 

Echoing characters

        The  echochar  and  wechochar routines are equivalent to a
-       call to addch followed by a call to refresh, or a call  to
-       waddch followed by a call to wrefresh.  The knowledge that
-       only a single character is being output is used  and,  for
-       non-control  characters,  a  considerable performance gain
-       may be seen by  using  these  routines  instead  of  their
+       call to addch followed by a call to refresh(3x), or a call
+       to  waddch  followed by a call to wrefresh.  The knowledge
+       that only a single character is being output is used  and,
+       for  non-control  characters,  a  considerable performance
+       gain may be seen by using these routines instead of  their
        equivalents.
 
 
diff --git a/doc/html/man/curs_attr.3x.html b/doc/html/man/curs_attr.3x.html
index c4c0eddf..cca759ac 100644
--- a/doc/html/man/curs_attr.3x.html
+++ b/doc/html/man/curs_attr.3x.html
@@ -1,7 +1,7 @@
 
 
 
@@ -66,13 +66,13 @@
 
 

DESCRIPTION

        The  effect  of get_wstr is as though a series of calls to
-       get_wch were made, until a newline, other end-of-line,  or
-       end-of-file condition is processed.  An end-of-file condi-
-       tion is represented by WEOF, as defined in <wchar.h>.  The
-       newline  and end-of-line conditions are represented by the
-       \n wchar_t value.  In all instances, the end of the string
-       is  terminated  by a null wchar_t.  The routine places re-
-       sulting values in the area pointed to by wstr.
+       get_wch(3x) were made, until a newline, other end-of-line,
+       or  end-of-file  condition  is  processed.  An end-of-file
+       condition is represented by WEOF, as defined in <wchar.h>.
+       The  newline and end-of-line conditions are represented by
+       the \n wchar_t value.  In all instances, the  end  of  the
+       string  is  terminated  by  a  null  wchar_t.  The routine
+       places resulting values in the area pointed to by wstr.
 
        The user's erase and kill characters are interpreted.   If
        keypad   mode   is   on   for  the  window,  KEY_LEFT  and
diff --git a/doc/html/man/curs_getch.3x.html b/doc/html/man/curs_getch.3x.html
index 8eaad52d..d19c4b87 100644
--- a/doc/html/man/curs_getch.3x.html
+++ b/doc/html/man/curs_getch.3x.html
@@ -266,13 +266,13 @@
        real key:
 
        o   KEY_RESIZE is returned when the  SIGWINCH  signal  has
-           been  detected  (see  curs_initscr(3x) and resizeterm(3x)).
+           been  detected  (see  initscr(3x) and resizeterm(3x)).
            This code is returned whether or not keypad  has  been
            enabled.
 
        o   KEY_MOUSE    is   returned   for   mouse-events   (see
            curs_mouse(3x)).  This code relies upon whether or not
-           keypad(3x) has been enabled, because (e.g., with xterm
+           keypad(3x) has been enabled, because (e.g., with xterm
            mouse prototocol) ncurses must read escape  sequences,
            just like a function key.
 
diff --git a/doc/html/man/curs_getstr.3x.html b/doc/html/man/curs_getstr.3x.html
index 0141f63d..8f42e1f5 100644
--- a/doc/html/man/curs_getstr.3x.html
+++ b/doc/html/man/curs_getstr.3x.html
@@ -1,6 +1,6 @@
 
 
 
@@ -117,7 +117,7 @@
        Issue 4.  They  read  single-byte  characters  only.   The
        standard  does  not define any error conditions.  This im-
        plementation returns ERR if the window pointer is null, or
-       if the lower-level wgetch call returns an ERR.
+       if the lower-level wgetch(3x) call returns an ERR.
 
        SVr3  and early SVr4 curses implementations did not reject
        function keys; the SVr4.0 documentation claimed that "spe-
diff --git a/doc/html/man/curs_initscr.3x.html b/doc/html/man/curs_initscr.3x.html
index c7e16775..7f398881 100644
--- a/doc/html/man/curs_initscr.3x.html
+++ b/doc/html/man/curs_initscr.3x.html
@@ -1,6 +1,6 @@
 
 
 
@@ -66,16 +66,16 @@
 

initscr

        initscr is normally the first curses routine to call  when
        initializing  a program.  A few special routines sometimes
-       need to be called before it; these are  slk_init,  filter,
-       ripoffline,  use_env.  For multiple-terminal applications,
-       newterm may be called before initscr.
+       need to be called before it; these are slk_init(3x),  fil-
+       ter,  ripoffline, use_env.  For multiple-terminal applica-
+       tions, newterm may be called before initscr.
 
        The initscr code determines the terminal type and initial-
        izes  all curses data structures.  initscr also causes the
-       first call to refresh to clear the screen.  If errors  oc-
-       cur,  initscr writes an appropriate error message to stan-
-       dard error and exits; otherwise, a pointer is returned  to
-       stdscr.
+       first call to refresh(3x) to clear the screen.  If  errors
+       occur,  initscr  writes  an  appropriate  error message to
+       standard error and exits; otherwise, a pointer is returned
+       to stdscr.
 
 
 

newterm

@@ -115,8 +115,8 @@
 
        o   resets the terminal into the proper non-visual mode.
 
-       Calling refresh or doupdate after a temporary escape caus-
-       es the program to resume visual mode.
+       Calling  refresh(3x)  or doupdate after a temporary escape
+       causes the program to resume visual mode.
 
 
 

isendwin

diff --git a/doc/html/man/curs_inopts.3x.html b/doc/html/man/curs_inopts.3x.html
index c22be9da..211295e4 100644
--- a/doc/html/man/curs_inopts.3x.html
+++ b/doc/html/man/curs_inopts.3x.html
@@ -1,6 +1,6 @@
 
 
 
@@ -103,14 +103,14 @@
 
 

echo/noecho

        The  echo  and  noecho routines control whether characters
-       typed by the user are echoed by getch as they  are  typed.
-       Echoing by the tty driver is always disabled, but initial-
-       ly getch is in echo mode, so characters typed are  echoed.
-       Authors  of  most  interactive programs prefer to do their
-       own echoing in a controlled area of the screen, or not  to
-       echo  at  all,  so they disable echoing by calling noecho.
-       [See curs_getch(3x) for a discussion of how these routines
-       interact with cbreak and nocbreak.]
+       typed by the user are echoed  by  getch(3x)  as  they  are
+       typed.   Echoing by the tty driver is always disabled, but
+       initially getch is in echo mode, so characters  typed  are
+       echoed.  Authors of most interactive programs prefer to do
+       their own echoing in a controlled area of the  screen,  or
+       not  to  echo  at  all, so they disable echoing by calling
+       noecho.  [See curs_getch(3x) for a discussion of how these
+       routines interact with cbreak and nocbreak.]
 
 
 

halfdelay

@@ -138,15 +138,15 @@
 

keypad

        The  keypad option enables the keypad of the user's termi-
        nal.  If enabled (bf is TRUE), the user can press a  func-
-       tion  key (such as an arrow key) and wgetch returns a sin-
-       gle value representing the function key, as  in  KEY_LEFT.
-       If  disabled (bf is FALSE), curses does not treat function
-       keys specially and the program has to interpret the escape
-       sequences  itself.   If  the keypad in the terminal can be
-       turned on (made to transmit) and off (made to work  local-
-       ly),  turning on this option causes the terminal keypad to
-       be turned on when wgetch is called.  The default value for
-       keypad is FALSE.
+       tion  key  (such as an arrow key) and wgetch(3x) returns a
+       single  value  representing  the  function  key,   as   in
+       KEY_LEFT.   If  disabled  (bf  is  FALSE), curses does not
+       treat function keys specially and the program has  to  in-
+       terpret the escape sequences itself.  If the keypad in the
+       terminal can be turned on (made to transmit) and off (made
+       to work locally), turning on this option causes the termi-
+       nal keypad to be turned on when wgetch(3x) is called.  The
+       default value for keypad is FALSE.
 
 
 

meta

@@ -169,9 +169,9 @@
        If  no input is ready, getch returns ERR.  If disabled (bf
        is FALSE), getch waits until a key is pressed.
 
-       While interpreting an input escape sequence, wgetch sets a
-       timer  while  waiting  for the next character.  If notime-
-       out(win, TRUE) is called,  then  wgetch  does  not  set  a
+       While interpreting an input  escape  sequence,  wgetch(3x)
+       sets a timer while waiting for the next character.  If no-
+       timeout(win, TRUE) is called, then wgetch does not  set  a
        timer.  The purpose of the timeout is to differentiate be-
        tween sequences received from a  function  key  and  those
        typed by a user.
@@ -215,14 +215,14 @@
        The  curses  library  does "line-breakout optimization" by
        looking for  typeahead  periodically  while  updating  the
        screen.   If  input is found, and it is coming from a tty,
-       the current update is postponed until refresh or  doupdate
-       is  called again.  This allows faster response to commands
-       typed in advance.  Normally, the input FILE pointer passed
-       to  newterm,  or  stdin in the case that initscr was used,
-       will be used to do this typeahead checking.  The typeahead
-       routine  specifies  that  the  file descriptor fd is to be
-       used to check for typeahead instead.  If fd is -1, then no
-       typeahead checking is done.
+       the current update is postponed until refresh(3x) or doup-
+       date is called again.  This allows faster response to com-
+       mands typed in advance.  Normally, the input FILE  pointer
+       passed  to  newterm, or stdin in the case that initscr was
+       used, will be used to do this typeahead checking.  The ty-
+       peahead  routine  specifies that the file descriptor fd is
+       to be used to check for typeahead instead.  If fd  is  -1,
+       then no typeahead checking is done.
 
 
 

RETURN VALUE

diff --git a/doc/html/man/curs_kernel.3x.html b/doc/html/man/curs_kernel.3x.html
index ceb4dc27..a91bb850 100644
--- a/doc/html/man/curs_kernel.3x.html
+++ b/doc/html/man/curs_kernel.3x.html
@@ -1,6 +1,6 @@
 
 
 
@@ -85,7 +85,7 @@
 

reset_prog_mode, reset_shell_mode

        The reset_prog_mode and reset_shell_mode routines  restore
        the  terminal  to "program" (in curses) or "shell" (out of
-       curses) state.  These are  done  automatically  by  endwin
+       curses) state.  These are done automatically by endwin(3x)
        and,  after  an  endwin, by doupdate, so they normally are
        not called.
 
diff --git a/doc/html/man/curs_memleaks.3x.html b/doc/html/man/curs_memleaks.3x.html
index d94946c6..499374aa 100644
--- a/doc/html/man/curs_memleaks.3x.html
+++ b/doc/html/man/curs_memleaks.3x.html
@@ -1,6 +1,6 @@
 
 
 
@@ -67,17 +67,18 @@
 
        Any  implementation of curses must not free the memory as-
        sociated with a screen, since (even after calling endwin),
-       it  must be available for use in the next call to refresh.
-       There are also chunks of memory held for performance  rea-
-       sons.   That  makes it hard to analyze curses applications
-       for memory leaks.  To work around this, one  can  build  a
-       debugging version of the ncurses library which frees those
-       chunks which it can, and provides these functions to  free
-       all of the memory allocated by the ncurses library.
-
-       The  _nc_free_and_exit function is the preferred one since
-       some of the memory which is freed may be required for  the
-       application  to  continue  running.   Its parameter is the
+       it  must  be  available  for  use  in the next call to re-
+       fresh(3x).  There are also chunks of memory held for  per-
+       formance  reasons.   That  makes it hard to analyze curses
+       applications for memory leaks.  To work around  this,  one
+       can build a debugging version of the ncurses library which
+       frees those chunks which it can, and provides these  func-
+       tions  to  free all of the memory allocated by the ncurses
+       library.
+
+       The _nc_free_and_exit function is the preferred one  since
+       some  of the memory which is freed may be required for the
+       application to continue running.   Its  parameter  is  the
        code to pass to the exit routine.
 
 
diff --git a/doc/html/man/curs_mouse.3x.html b/doc/html/man/curs_mouse.3x.html
index 383685d5..194e4d0f 100644
--- a/doc/html/man/curs_mouse.3x.html
+++ b/doc/html/man/curs_mouse.3x.html
@@ -1,7 +1,7 @@
 
 
 
@@ -77,7 +77,7 @@
 

DESCRIPTION

        These  functions provide an interface to mouse events from
        ncurses(3x).  Mouse events are  represented  by  KEY_MOUSE
-       pseudo-key values in the wgetch input stream.
+       pseudo-key values in the wgetch(3x) input stream.
 
 
 

mousemask

@@ -178,8 +178,8 @@
        stdscr-relative coordinates are not  always  identical  to
        window-relative  coordinates  due  to the mechanism to re-
        serve lines on top or bottom of the screen for other  pur-
-       poses  (see  the  ripoffline and slk_init calls, for exam-
-       ple).
+       poses  (see the ripoffline and slk_init(3x) calls, for ex-
+       ample).
 
        o   If the parameter to_screen is TRUE, the  pointers  pY,
            pX must reference the coordinates of a location inside
diff --git a/doc/html/man/curs_move.3x.html b/doc/html/man/curs_move.3x.html
index 11521941..5401fd7c 100644
--- a/doc/html/man/curs_move.3x.html
+++ b/doc/html/man/curs_move.3x.html
@@ -1,6 +1,6 @@
 
 
 
@@ -59,9 +59,9 @@
 

DESCRIPTION

        These  routines move the cursor associated with the window
        to line y and column x.  This routine does  not  move  the
-       physical  cursor  of the terminal until refresh is called.
-       The position specified is relative to the upper  left-hand
-       corner of the window, which is (0,0).
+       physical  cursor  of  the  terminal  until  refresh(3x) is
+       called.  The position specified is relative to  the  upper
+       left-hand corner of the window, which is (0,0).
 
 
 

RETURN VALUE

diff --git a/doc/html/man/curs_outopts.3x.html b/doc/html/man/curs_outopts.3x.html
index f77255ec..6e4ec307 100644
--- a/doc/html/man/curs_outopts.3x.html
+++ b/doc/html/man/curs_outopts.3x.html
@@ -1,6 +1,6 @@
 
 
 
@@ -69,7 +69,7 @@
        These routines set options that change the style of output
        within  curses.   All  options are initially FALSE, unless
        otherwise stated.  It is not necessary to turn  these  op-
-       tions off before calling endwin.
+       tions off before calling endwin(3x).
 
 
 

clearok

diff --git a/doc/html/man/curs_pad.3x.html b/doc/html/man/curs_pad.3x.html
index 250f8a93..f59a9451 100644
--- a/doc/html/man/curs_pad.3x.html
+++ b/doc/html/man/curs_pad.3x.html
@@ -1,6 +1,6 @@
 
 
 
@@ -114,9 +114,9 @@
 
 

pechochar

        The pechochar routine is functionally equivalent to a call
-       to  addch  followed by a call to refresh, a call to waddch
-       followed by a call to wrefresh, or a call to  waddch  fol-
-       lowed  by  a  call to prefresh.  The knowledge that only a
+       to addch followed by a call to refresh(3x), a call to wad-
+       dch followed by a call to wrefresh, or a  call  to  waddch
+       followed by a call to prefresh.  The knowledge that only a
        single character is being output is taken into  considera-
        tion  and, for non-control characters, a considerable per-
        formance gain might be seen by using  these  routines  in-
diff --git a/doc/html/man/curs_print.3x.html b/doc/html/man/curs_print.3x.html
index a954e859..2fba9f3f 100644
--- a/doc/html/man/curs_print.3x.html
+++ b/doc/html/man/curs_print.3x.html
@@ -1,6 +1,6 @@
 
 
 
diff --git a/doc/html/man/curs_printw.3x.html b/doc/html/man/curs_printw.3x.html
index 1a357f31..2fa0762c 100644
--- a/doc/html/man/curs_printw.3x.html
+++ b/doc/html/man/curs_printw.3x.html
@@ -1,6 +1,6 @@
 
 
 
@@ -105,7 +105,7 @@
 
 
 

SEE ALSO

-       curses(3x), printf(3), vprintf(3)
+       curses(3x), printf(3), vprintf(3).
 
 
 
diff --git a/doc/html/man/curs_scr_dump.3x.html b/doc/html/man/curs_scr_dump.3x.html
index 9ecfac5d..4666ecd6 100644
--- a/doc/html/man/curs_scr_dump.3x.html
+++ b/doc/html/man/curs_scr_dump.3x.html
@@ -1,6 +1,6 @@
 
 
 
@@ -75,10 +75,10 @@
        of the screen on this information rather than clearing the
        screen  and starting from scratch.  scr_init is used after
        initscr or a system call to share the screen with  another
-       process  which  has done a scr_dump after its endwin call.
-       The data is declared invalid if the terminfo  capabilities
-       rmcup and nrrmc exist; also if the terminal has been writ-
-       ten to since the preceding scr_dump call.
+       process  which  has  done  a scr_dump after its endwin(3x)
+       call.  The data is declared invalid if the terminfo  capa-
+       bilities  rmcup  and nrrmc exist; also if the terminal has
+       been written to since the preceding scr_dump call.
 
        The scr_set routine is a combination  of  scr_restore  and
        scr_init.   It  tells  the program that the information in
diff --git a/doc/html/man/curs_sp_funcs.3x.html b/doc/html/man/curs_sp_funcs.3x.html
index 45e09261..db948fe0 100644
--- a/doc/html/man/curs_sp_funcs.3x.html
+++ b/doc/html/man/curs_sp_funcs.3x.html
@@ -218,7 +218,7 @@
        new_prescr
             when creating a new screen, the library  uses  static
             variables   which   have   been   preset,   e.g.,  by
-            curs_util(3x), curs_util(3x), etc.  With the screen-point-
+            use_env(3x), filter(3x), etc.  With the screen-point-
             er extension, there are situations where it must cre-
             ate a current screen before  the  unextended  library
             does.   The new_prescr function is used internally to
@@ -253,7 +253,7 @@
        NCURSES_OUTC
             This  is  a  function-pointer type used for the cases
             where a function  passes  characters  to  the  output
-            stream, e.g., curs_terminfo(3x).
+            stream, e.g., vidputs(3x).
 
 
 

PORTABILITY

diff --git a/doc/html/man/curs_termcap.3x.html b/doc/html/man/curs_termcap.3x.html
index 80c555ed..a20e11e0 100644
--- a/doc/html/man/curs_termcap.3x.html
+++ b/doc/html/man/curs_termcap.3x.html
@@ -1,6 +1,6 @@
 
 
 
@@ -155,8 +155,8 @@
            case, the first parameter is merely a placeholder.
 
        o   Normally the ncurses library is compiled with terminfo
-           support.  In that case, tgoto uses tparm (a more capa-
-           ble formatter).
+           support.   In  that case, tgoto uses tparm(3x) (a more
+           capable formatter).
 
        The tputs routine is described  on  the  curs_terminfo(3x)
        manual page.  It can retrieve capabilities by either term-
diff --git a/doc/html/man/curs_trace.3x.html b/doc/html/man/curs_trace.3x.html
index e8ae83b9..d22a10c3 100644
--- a/doc/html/man/curs_trace.3x.html
+++ b/doc/html/man/curs_trace.3x.html
@@ -1,6 +1,6 @@
 
 
 
@@ -123,7 +123,7 @@
             trace user and system times of updates.
 
        TRACE_TPUTS
-            trace tputs calls.
+            trace tputs(3x) calls.
 
        TRACE_UPDATE
             trace update actions, old & new screens.
diff --git a/doc/html/man/curs_util.3x.html b/doc/html/man/curs_util.3x.html
index 898bd9a4..062eabef 100644
--- a/doc/html/man/curs_util.3x.html
+++ b/doc/html/man/curs_util.3x.html
@@ -1,7 +1,7 @@
 
 
 
@@ -92,11 +92,11 @@
        o   DEL (character 127) is displayed as ^?.
 
        o   Values above 128 are either meta  characters  (if  the
-           screen  has  not been initialized, or if meta has been
-           called with a TRUE parameter), shown in the M-X  nota-
-           tion,  or  are displayed as themselves.  In the latter
-           case, the values may not be  printable;  this  follows
-           the X/Open specification.
+           screen  has  not  been initialized, or if meta(3x) has
+           been called with a TRUE parameter), shown in  the  M-X
+           notation, or are displayed as themselves.  In the lat-
+           ter case, the values may not be printable;  this  fol-
+           lows the X/Open specification.
 
        o   Values  above  256  may  be  the names of the names of
            function keys.
@@ -133,7 +133,7 @@
        screen size).  It modifies the way ncurses treats environ-
        ment variables when determining the screen size.
 
-       o   Normally ncurses looks first at the terminal  database
+       o   Normally ncurses looks first at the terminal  database
            for the screen size.
 
            If  use_env  was  called  with FALSE for parameter, it
@@ -145,12 +145,12 @@
            the terminal database.
 
        o   Finally  (unless use_env was called with FALSE parame-
-           ter), ncurses examines the LINES or  COLUMNS  environ-
+           ter), ncurses examines the LINES or  COLUMNS  environ-
            ment variables, using a value in those to override the
            results from the operating system  or  terminal  data-
            base.
 
-           Ncurses  also  updates  the screen size in response to
+           Ncurses  also  updates  the screen size in response to
            SIGWINCH, unless overridden by the  LINES  or  COLUMNS
            environment variables,
 
@@ -159,17 +159,17 @@
        The  use_tioctl  routine, if used, should be called before
        initscr or newterm are called (because those  compute  the
        screen  size).  After use_tioctl is called with TRUE as an
-       argument, ncurses modifies the last step in  its  computa-
+       argument, ncurses modifies the last step in  its  computa-
        tion of screen size as follows:
 
        o   checks  if the LINES and COLUMNS environment variables
            are set to a number greater than zero.
 
-       o   for each, ncurses updates the  corresponding  environ-
+       o   for each, ncurses updates the  corresponding  environ-
            ment  variable with the value that it has obtained via
            operating system call or from the terminal database.
 
-       o   ncurses re-fetches the value of the environment  vari-
+       o   ncurses re-fetches the value of the environment  vari-
            ables  so  that  it is still the environment variables
            which set the screen size.
 
@@ -181,16 +181,16 @@
 
 
 
-     TRUE      FALSE        This  is  the default behavior.  ncurses
+     TRUE      FALSE        This  is  the default behavior.  ncurses
                             uses operating system calls unless over-
                             ridden by $LINES or $COLUMNS environment
                             variables.
-     TRUE      TRUE         ncurses  updates  $LINES  and   $COLUMNS
+     TRUE      TRUE         ncurses  updates  $LINES  and   $COLUMNS
                             based on operating system calls.
-     FALSE     TRUE         ncurses ignores $LINES and $COLUMNS, us-
+     FALSE     TRUE         ncurses ignores $LINES and $COLUMNS, us-
                             es  operating  system  calls  to  obtain
                             size.
-     FALSE     FALSE        ncurses  relies on the terminal database
+     FALSE     FALSE        ncurses  relies on the terminal database
                             to determine size.
 
 
@@ -249,11 +249,8 @@
                returns an error if the terminal was not  initial-
                ized.
 
-          meta returns  an error if the terminal was not initial-
-               ized.
-
           putwin
-               returns an error if the  associated  fwrite  calls
+               returns  an  error  if the associated fwrite calls
                return an error.
 
 
@@ -261,118 +258,126 @@
 
 

filter

        The SVr4 documentation describes the action of filter only
-       in the vaguest terms.  The  description  here  is  adapted
-       from  the  XSI Curses standard (which erroneously fails to
+       in  the  vaguest  terms.   The description here is adapted
+       from the XSI Curses standard (which erroneously  fails  to
        describe the disabling of cuu).
 
 
 

keyname

-       The keyname function may return the names of  user-defined
-       string  capabilities which are defined in the terminfo en-
-       try via the -x option of tic.  This  implementation  auto-
-       matically  assigns  at  run-time  keycodes to user-defined
-       strings which begin  with  "k".   The  keycodes  start  at
-       KEY_MAX,  but  are not guaranteed to be the same value for
-       different runs because user-defined codes are merged  from
-       all  terminal  descriptions  which  have been loaded.  The
-       use_extended_names function controls whether this data  is
-       loaded  when  the  terminal description is read by the li-
+       The  keyname function may return the names of user-defined
+       string capabilities which are defined in the terminfo  en-
+       try  via  the -x option of tic.  This implementation auto-
+       matically assigns at  run-time  keycodes  to  user-defined
+       strings  which  begin  with  "k".   The  keycodes start at
+       KEY_MAX, but are not guaranteed to be the same  value  for
+       different  runs because user-defined codes are merged from
+       all terminal descriptions which  have  been  loaded.   The
+       use_extended_names  function controls whether this data is
+       loaded when the terminal description is read  by  the  li-
        brary.
 
 
 

nofilter/use_tioctl

-       The nofilter  and  use_tioctl  routines  are  specific  to
-       ncurses.   They  were  not  supported on Version 7, BSD or
+       The  nofilter  and  use_tioctl  routines  are  specific to
+       ncurses.  They were not supported on  Version  7,  BSD  or
        System V implementations.  It is recommended that any code
-       depending  on  ncurses  extensions  be  conditioned  using
+       depending  on  ncurses  extensions  be  conditioned  using
        NCURSES_VERSION.
 
 
 

putwin/getwin

-       The putwin and getwin functions have several  issues  with
+       The  putwin  and getwin functions have several issues with
        portability:
 
-       o   The  files  written and read by these functions use an
-           implementation-specific format.  Although  the  format
-           is  an obvious target for standardization, it has been
+       o   The files written and read by these functions  use  an
+           implementation-specific  format.   Although the format
+           is an obvious target for standardization, it has  been
            overlooked.
 
            Interestingly enough, according to the copyright dates
            in Solaris source, the functions (along with scr_init,
-           etc.) originated with the  University  of  California,
-           Berkeley  (in  1982) and were later (in 1988) incorpo-
-           rated into SVr4.  Oddly, there are no  such  functions
+           etc.)  originated  with  the University of California,
+           Berkeley (in 1982) and were later (in  1988)  incorpo-
+           rated  into  SVr4.  Oddly, there are no such functions
            in the 4.3BSD curses sources.
 
-       o   Most  implementations  simply  dump  the binary WINDOW
-           structure to the file.   These  include  SVr4  curses,
-           NetBSD  and  PDCurses,  as  well as older ncurses ver-
-           sions.  This implementation (as  well  as  the  X/Open
-           variant  of  Solaris  curses, dated 1995) uses textual
+       o   Most implementations simply  dump  the  binary  WINDOW
+           structure  to  the  file.   These include SVr4 curses,
+           NetBSD and PDCurses, as well  as  older  ncurses  ver-
+           sions.   This  implementation  (as  well as the X/Open
+           variant of Solaris curses, dated  1995)  uses  textual
            dumps.
 
-           The implementations which use binary dumps use  block-
-           I/O  (the fwrite and fread functions).  Those that use
-           textual dumps use buffered-I/O.   A  few  applications
+           The  implementations which use binary dumps use block-
+           I/O (the fwrite and fread functions).  Those that  use
+           textual  dumps  use  buffered-I/O.  A few applications
            may happen to write extra data in the file using these
-           functions.  Doing that can run  into  problems  mixing
-           block-  and buffered-I/O.  This implementation reduces
-           the problem on writes by flushing the output.   Howev-
-           er,  reading  from  a file written using mixed schemes
+           functions.   Doing  that  can run into problems mixing
+           block- and buffered-I/O.  This implementation  reduces
+           the  problem on writes by flushing the output.  Howev-
+           er, reading from a file written  using  mixed  schemes
            may not be successful.
 
 
 

unctrl/wunctrl

-       The XSI Curses standard, Issue  4  describes  these  func-
-       tions.   It  states  that unctrl and wunctrl will return a
-       null pointer if unsuccessful, but does not define any  er-
+       The  XSI  Curses  standard,  Issue 4 describes these func-
+       tions.  It states that unctrl and wunctrl  will  return  a
+       null  pointer if unsuccessful, but does not define any er-
        ror conditions.  This implementation checks for three cas-
        es:
 
-       o   the parameter is a 7-bit US-ASCII code.  This  is  the
+       o   the  parameter  is a 7-bit US-ASCII code.  This is the
            case that X/Open Curses documented.
 
        o   the parameter is in the range 128-159, i.e., a C1 con-
-           trol code.  If use_legacy_coding has been called  with
-           a  2  parameter, unctrl returns the parameter, i.e., a
-           one-character string with the parameter as  the  first
-           character.   Otherwise,  it  returns "~@", "~A", etc.,
+           trol  code.  If use_legacy_coding has been called with
+           a 2 parameter, unctrl returns the parameter,  i.e.,  a
+           one-character  string  with the parameter as the first
+           character.  Otherwise, it returns  "~@",  "~A",  etc.,
            analogous to "^@", "^A", C0 controls.
 
-           X/Open Curses does not document whether unctrl can  be
-           called  before  initializing curses.  This implementa-
-           tion permits that, and returns the "~@", etc.,  values
+           X/Open  Curses does not document whether unctrl can be
+           called before initializing curses.   This  implementa-
+           tion  permits that, and returns the "~@", etc., values
            in that case.
 
-       o   parameter  values  outside the 0 to 255 range.  unctrl
+       o   parameter values outside the 0 to 255  range.   unctrl
            returns a null pointer.
 
-       The strings returned by unctrl in this implementation  are
-       determined  at  compile time, showing C1 controls from the
-       upper-128 codes with a `~' prefix rather than `^'.   Other
-       implementations  have different conventions.  For example,
-       they may show both sets of control  characters  with  `^',
-       and  strip the parameter to 7 bits.  Or they may ignore C1
-       controls and treat all of the upper-128  codes  as  print-
+       The  strings returned by unctrl in this implementation are
+       determined at compile time, showing C1 controls  from  the
+       upper-128  codes with a `~' prefix rather than `^'.  Other
+       implementations have different conventions.  For  example,
+       they  may  show  both sets of control characters with `^',
+       and strip the parameter to 7 bits.  Or they may ignore  C1
+       controls  and  treat  all of the upper-128 codes as print-
        able.  This implementation uses 8 bits but does not modify
        the string to reflect locale.  The use_legacy_coding func-
        tion allows the caller to change the output of unctrl.
 
-       Likewise,  the  meta  function allows the caller to change
-       the output of keyname, i.e., it determines whether to  use
-       the `M-' prefix for "meta" keys (codes in the range 128 to
-       255).  Both use_legacy_coding and meta succeed only  after
-       curses  is  initialized.   X/Open Curses does not document
-       the treatment of codes 128 to 159.  When treating them  as
-       "meta"  keys  (or if keyname is called before initializing
-       curses),  this  implementation  returns  strings   "M-^@",
-       "M-^A", etc.
+       Likewise, the  meta(3x)  function  allows  the  caller  to
+       change  the output of keyname, i.e., it determines whether
+       to use the `M-' prefix for "meta" keys (codes in the range
+       128 to 255).  Both use_legacy_coding and meta succeed only
+       after curses is initialized.  X/Open Curses does not docu-
+       ment  the  treatment  of  codes 128 to 159.  When treating
+       them as "meta" keys (or if keyname is called  before  ini-
+       tializing  curses),  this  implementation  returns strings
+       "M-^@", "M-^A", etc.
+
+
+

use_env/use_tioctl

+       If ncurses is configured to provide the  sp-functions  ex-
+       tension, the state of use_env and use_tioctl may be updat-
+       ed before creating  each  screen  rather  than  once  only
+       (curs_sp_funcs(3x)).   This feature of use_env is not pro-
+       vided by other implementation of curses.
 
 
 

SEE ALSO

-       legacy_coding(3x), curses(3x), curs_initscr(3x), curs_ker-
-       nel(3x),  curs_scr_dump(3x),   curs_variables(3x),   lega-
-       cy_coding(3x).
+       legacy_coding(3x), curses(3x), curs_initscr(3x),  curs_in-
+       opts(3x),        curs_kernel(3x),       curs_scr_dump(3x),
+       curs_sp_funcs(3x), curs_variables(3x), legacy_coding(3x).
 
 
 
@@ -402,6 +407,7 @@
 
  • nofilter/use_tioctl
  • putwin/getwin
  • unctrl/wunctrl
  • +
  • use_env/use_tioctl
  • SEE ALSO
  • diff --git a/doc/html/man/curs_variables.3x.html b/doc/html/man/curs_variables.3x.html index 42ce0b28..2ee4a584 100644 --- a/doc/html/man/curs_variables.3x.html +++ b/doc/html/man/curs_variables.3x.html @@ -138,7 +138,7 @@

    NOTES

            The   curses   library   is   initialized   using   either
    -       curs_initscr(3x), or curs_initscr(3x).
    +       initscr(3x), or newterm(3x).
     
            If  curses  is  configured to use separate curses/terminfo
            libraries, most of these variables reside  in  the  curses
    diff --git a/doc/html/man/form.3x.html b/doc/html/man/form.3x.html
    index 8e8b30eb..bcfd3364 100644
    --- a/doc/html/man/form.3x.html
    +++ b/doc/html/man/form.3x.html
    @@ -239,7 +239,7 @@
            curses(3x) and related pages whose names begin "form_" for
            detailed descriptions of the entry points.
     
    -       This describes ncurses version 6.0 (patch 20161231).
    +       This describes ncurses version 6.0 (patch 20170107).
     
     
     
    diff --git a/doc/html/man/form_driver.3x.html b/doc/html/man/form_driver.3x.html
    index 74c3c0b7..6fb31c70 100644
    --- a/doc/html/man/form_driver.3x.html
    +++ b/doc/html/man/form_driver.3x.html
    @@ -66,7 +66,7 @@
            o   The input is a form  navigation  request.   Navigation
                request codes are constants defined in <form.h>, which
                are  distinct  from  the  key-  and  character   codes
    -           returned by wgetch(3x).
    +           returned by wgetch(3x).
     
            o   The input is a printable character.  Printable charac-
                ters (which must  be  positive,  less  than  256)  are
    @@ -79,7 +79,7 @@
     

    form_driver_w

            This extension simplifies the use  of  the  forms  library
            using  wide characters.  The input is either a key code (a
    -       request) or a wide character returned by get_wch(3x).  The
    +       request) or a wide character returned by get_wch(3x).  The
            type  must  be  passed  as  well, to enable the library to
            determine whether the parameter is a wide character  or  a
            request.
    @@ -274,7 +274,7 @@
     

    SEE ALSO

            curses(3x),        form(3x),        form_field_buffer(3x),
            form_field_validation(3x),  form_fieldtype(3x), form_vari-
    -       ables(3x), curs_getch(3x).
    +       ables(3x), getch(3x).
     
     
     

    NOTES

    diff --git a/doc/html/man/form_post.3x.html b/doc/html/man/form_post.3x.html
    index a16f9485..a3608dea 100644
    --- a/doc/html/man/form_post.3x.html
    +++ b/doc/html/man/form_post.3x.html
    @@ -1,7 +1,7 @@
     
     
     
    @@ -60,7 +60,7 @@
     

    DESCRIPTION

            The function post_form displays a form to  its  associated
            subwindow.   To trigger physical display of the subwindow,
    -       use  refresh  or  some  equivalent  curses  routine   (the
    +       use refresh(3x) or some  equivalent  curses  routine  (the
            implicit  doupdate  triggered  by  an curses input request
            will do).
     
    diff --git a/doc/html/man/form_variables.3x.html b/doc/html/man/form_variables.3x.html
    index f1a4590e..55394b4a 100644
    --- a/doc/html/man/form_variables.3x.html
    +++ b/doc/html/man/form_variables.3x.html
    @@ -65,7 +65,7 @@
     
     

    DESCRIPTION

            These  are  building blocks for the form library, defining
    -       fields that can be created using form_fieldtype(3x).   Each
    +       fields that can be created using set_fieldtype(3x).   Each
            provides  functions  for  field- and character-validation,
            according to the given datatype.
     
    diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html
    index efb6f1cf..93eeae71 100644
    --- a/doc/html/man/infocmp.1m.html
    +++ b/doc/html/man/infocmp.1m.html
    @@ -478,7 +478,7 @@
     
            http://invisible-island.net/ncurses/tctest.html
     
    -       This describes ncurses version 6.0 (patch 20161231).
    +       This describes ncurses version 6.0 (patch 20170107).
     
     
     

    AUTHOR

    diff --git a/doc/html/man/infotocap.1m.html b/doc/html/man/infotocap.1m.html
    index 21722fa3..34c9ef58 100644
    --- a/doc/html/man/infotocap.1m.html
    +++ b/doc/html/man/infotocap.1m.html
    @@ -88,7 +88,7 @@
     

    SEE ALSO

            curses(3x), tic(1m), infocmp(1m), terminfo(5)
     
    -       This describes ncurses version 6.0 (patch 20161231).
    +       This describes ncurses version 6.0 (patch 20170107).
     
     
     

    AUTHOR

    diff --git a/doc/html/man/menu.3x.html b/doc/html/man/menu.3x.html
    index e756ff71..6ae3ccca 100644
    --- a/doc/html/man/menu.3x.html
    +++ b/doc/html/man/menu.3x.html
    @@ -217,7 +217,7 @@
            curses(3x) and related pages whose names begin "menu_" for
            detailed descriptions of the entry points.
     
    -       This describes ncurses version 6.0 (patch 20161231).
    +       This describes ncurses version 6.0 (patch 20170107).
     
     
     
    diff --git a/doc/html/man/menu_driver.3x.html b/doc/html/man/menu_driver.3x.html
    index 495b763b..98b5de81 100644
    --- a/doc/html/man/menu_driver.3x.html
    +++ b/doc/html/man/menu_driver.3x.html
    @@ -1,6 +1,6 @@
     
     
     
    @@ -62,7 +62,7 @@
            o   The  input  is  a form navigation request.  Navigation
                request codes are constants defined in <form.h>, which
                are   distinct  from  the  key-  and  character  codes
    -           returned by wgetch.
    +           returned by wgetch(3x).
     
            o   The input is a printable character.  Printable charac-
                ters  (which  must  be  positive,  less  than 256) are
    @@ -218,7 +218,7 @@
     
     
     

    SEE ALSO

    -       curses(3x), menu(3x), curs_getch(3x).
    +       curses(3x), menu(3x), getch(3x).
     
     
     

    NOTES

    diff --git a/doc/html/man/menu_post.3x.html b/doc/html/man/menu_post.3x.html
    index edbad84d..884473b3 100644
    --- a/doc/html/man/menu_post.3x.html
    +++ b/doc/html/man/menu_post.3x.html
    @@ -1,7 +1,7 @@
     
     
     
    @@ -60,7 +60,7 @@
     

    DESCRIPTION

            The function post_menu displays a menu to  its  associated
            subwindow.   To trigger physical display of the subwindow,
    -       use  refresh  or  some  equivalent  curses  routine   (the
    +       use refresh(3x) or some  equivalent  curses  routine  (the
            implicit  doupdate  triggered  by  an curses input request
            will do). post_menu resets the  selection  status  of  all
            items.
    diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html
    index 35e2bac1..f0542543 100644
    --- a/doc/html/man/ncurses.3x.html
    +++ b/doc/html/man/ncurses.3x.html
    @@ -1,7 +1,7 @@
     
     
     
    @@ -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
    -       ncurses version 6.0 (patch 20161231).
    +       ncurses version 6.0 (patch 20170107).
     
            The ncurses library emulates the curses library of  System
            V  Release  4  UNIX,  and  XPG4 (X/Open Portability Guide)
    @@ -108,7 +108,7 @@
     
            The function initscr or newterm must be called to initial-
            ize the library before any of the other routines that deal
    -       with windows and screens are  used.   The  routine  endwin
    +       with windows and screens are used.  The routine endwin(3x)
            must be called before exiting.
     
            To  get  character-at-a-time  input  without echoing (most
    @@ -153,12 +153,12 @@
            names beginning with w, allowing the  user  to  specify  a
            window.  The routines not beginning with w affect stdscr.
     
    -       After  using  routines  to manipulate a window, refresh is
    -       called, telling curses to make the user's CRT screen  look
    -       like  stdscr.   The characters in a window are actually of
    -       type chtype, (character and attribute data) so that  other
    -       information  about  the  character may also be stored with
    -       each character.
    +       After  using  routines to manipulate a window, refresh(3x)
    +       is called, telling curses to make the  user's  CRT  screen
    +       look like stdscr.  The characters in a window are actually
    +       of type chtype, (character and  attribute  data)  so  that
    +       other  information  about the character may also be stored
    +       with each character.
     
            Special windows  called  pads  may  also  be  manipulated.
            These are windows which are not constrained to the size of
    diff --git a/doc/html/man/ncurses6-config.1.html b/doc/html/man/ncurses6-config.1.html
    index 133cdac7..bf8285ef 100644
    --- a/doc/html/man/ncurses6-config.1.html
    +++ b/doc/html/man/ncurses6-config.1.html
    @@ -114,7 +114,7 @@
     

    SEE ALSO

            curses(3x)
     
    -       This describes ncurses version 6.0 (patch 20161231).
    +       This describes ncurses version 6.0 (patch 20170107).
     
     
     
    diff --git a/doc/html/man/panel.3x.html b/doc/html/man/panel.3x.html
    index fa08f20b..e489d861 100644
    --- a/doc/html/man/panel.3x.html
    +++ b/doc/html/man/panel.3x.html
    @@ -208,7 +208,7 @@
     

    SEE ALSO

            curses(3x), curs_variables(3x),
     
    -       This describes ncurses version 6.0 (patch 20161231).
    +       This describes ncurses version 6.0 (patch 20170107).
     
     
     

    AUTHOR

    diff --git a/doc/html/man/resizeterm.3x.html b/doc/html/man/resizeterm.3x.html
    index 31965414..ca51d4a3 100644
    --- a/doc/html/man/resizeterm.3x.html
    +++ b/doc/html/man/resizeterm.3x.html
    @@ -1,6 +1,6 @@
     
     
     
    @@ -112,7 +112,7 @@
     
            o   on receipt of a SIGWINCH, the handler sets a flag
     
    -       o   which is tested in wgetch and doupdate,
    +       o   which is tested in wgetch(3x) and doupdate,
     
            o   in turn, calling the resizeterm function,
     
    @@ -138,9 +138,9 @@
     

    PORTABILITY

            It is possible to resize the screen with SVr4 curses, by
     
    -       o   exiting curses with endwin(3x) and
    +       o   exiting curses with endwin(3x) and
     
    -       o   resuming using refresh(3x).
    +       o   resuming using refresh(3x).
     
            Doing that clears the screen and is visually distracting.
     
    diff --git a/doc/html/man/tabs.1.html b/doc/html/man/tabs.1.html
    index a8d01343..41dad6d2 100644
    --- a/doc/html/man/tabs.1.html
    +++ b/doc/html/man/tabs.1.html
    @@ -170,7 +170,7 @@
     

    SEE ALSO

            tset(1), infocmp(1m), curses(3x), terminfo(5).
     
    -       This describes ncurses version 6.0 (patch 20161231).
    +       This describes ncurses version 6.0 (patch 20170107).
     
     
     
    diff --git a/doc/html/man/term.5.html b/doc/html/man/term.5.html
    index bde9d971..7afb2b08 100644
    --- a/doc/html/man/term.5.html
    +++ b/doc/html/man/term.5.html
    @@ -1,6 +1,6 @@
     
     
     
    @@ -95,9 +95,9 @@
            made.
     
            The  compiled  file  is  created with the tic program, and
    -       read by the routine setupterm.  The file is  divided  into
    -       six parts: the header, terminal names, boolean flags, num-
    -       bers, strings, and string table.
    +       read by the routine setupterm(3x).  The  file  is  divided
    +       into six parts: the header, terminal names, boolean flags,
    +       numbers, strings, and string table.
     
            The header section begins the file.  This section contains
            six  short  integers in the format described below.  These
    diff --git a/doc/html/man/term_variables.3x.html b/doc/html/man/term_variables.3x.html
    index 799b0a0f..d7bb4f04 100644
    --- a/doc/html/man/term_variables.3x.html
    +++ b/doc/html/man/term_variables.3x.html
    @@ -1,6 +1,6 @@
     
     
     
    @@ -105,17 +105,17 @@
     

    Current Terminal Data

            After  initializing the curses or terminfo interfaces, the
            cur_term contains data describing  the  current  terminal.
    -       This variable is also set as a side-effect of curs_initscr(3x)
    -       and curs_initscr(3x).
    +       This variable is also set as a side-effect of set_term(3x)
    +       and delscreen(3x).
     
            It is possible to save a value of cur_term for  subsequent
            use  as  a  parameter  to  set_term, for switching between
            screens.  Alternatively, one can  save  the  return  value
    -       from newterm or setupterm to reuse in set_term.
    +       from newterm or setupterm(3x) to reuse in set_term.
     
     
     

    Terminfo Names

    -       The  tic(1m)  and infocmp(1m) programs use lookup tables for
    +       The  tic(1)  and infocmp(1) programs use lookup tables for
            the long and short names of terminfo capabilities, as well
            as  the  corresponding  names  for  termcap  capabilities.
            These are available to other  applications,  although  the
    @@ -134,39 +134,40 @@
     
     

    Terminal Type

            On  initialization  of  the curses or terminfo interfaces,
    -       setupterm copies the terminal name to the array ttytype.
    +       setupterm(3x) copies the terminal name to the  array  tty-
    +       type.
     
     
     

    Terminfo Names

            In addition to the variables, <term.h> also defines a sym-
    -       bol  for each terminfo capability long name.  These are in
    +       bol for each terminfo capability long name.  These are  in
            terms of the symbol CUR, which is defined
     
            #define CUR cur_term->type.
     
            These symbols provide a faster method of accessing termin-
    -       fo capabilities than using tigetstr(3x), etc.
    +       fo capabilities than using tigetstr(3x), etc.
     
     
     

    NOTES

    -       The  low-level  terminfo  interface  is  initialized using
    -       curs_terminfo(3x).  The upper-level curses interface uses  the
    +       The low-level  terminfo  interface  is  initialized  using
    +       setupterm(3x).   The upper-level curses interface uses the
            low-level terminfo interface, internally.
     
     
     

    PORTABILITY

    -       X/Open  Curses  does  not describe any of these except for
    -       cur_term.  (The inclusion of cur_term  appears  to  be  an
    +       X/Open Curses does not describe any of  these  except  for
    +       cur_term.   (The  inclusion  of  cur_term appears to be an
            oversight, since other comparable low-level information is
            omitted by X/Open).
     
            Other implementations may have comparable variables.  Some
    -       implementations  provide the variables in their libraries,
    +       implementations provide the variables in their  libraries,
            but omit them from the header files.
     
    -       All implementations which provide terminfo interfaces  add
    -       definitions  as  described  in the Terminfo Names section.
    -       Most, but not all, base the definition upon  the  cur_term
    +       All  implementations which provide terminfo interfaces add
    +       definitions as described in the  Terminfo  Names  section.
    +       Most,  but  not all, base the definition upon the cur_term
            variable.
     
     
    diff --git a/doc/html/man/terminfo.5.html b/doc/html/man/terminfo.5.html
    index fc80360a..00009cf8 100644
    --- a/doc/html/man/terminfo.5.html
    +++ b/doc/html/man/terminfo.5.html
    @@ -33,7 +33,7 @@
       ****************************************************************************
       * @Id: terminfo.head,v 1.22 2016/10/15 17:02:31 tom Exp @
       * Head of terminfo man page ends here
    -  * @Id: terminfo.tail,v 1.75 2016/12/24 22:54:11 tom Exp @
    +  * @Id: terminfo.tail,v 1.76 2017/01/07 18:32:49 tom Exp @
       * Beginning of terminfo.tail file
       * This file is part of ncurses.
       * See "terminfo.head" for copyright.
    @@ -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 ncurses version 6.0 (patch 20161231).
    +       This describes ncurses version 6.0 (patch 20170107).
     
            Entries in terminfo consist of a sequence of `,' separated
            fields (embedded commas may be escaped with a backslash or
    @@ -1167,8 +1167,8 @@
     
            A  delay  in  milliseconds may appear anywhere in a string
            capability, enclosed in $<..> brackets, as in  el=\EK$<5>,
    -       and  padding  characters  are supplied by tputs to provide
    -       this delay.
    +       and  padding  characters are supplied by tputs(3x) to pro-
    +       vide this delay.
     
            o   The delay must be a number with at  most  one  decimal
                place of precision; it may be followed by suffixes "*"
    @@ -1379,9 +1379,10 @@
                 The  terms  "static"  and  "dynamic"  are misleading.
                 Historically, these are simply two different sets  of
                 variables,  whose  values are not reset between calls
    -            to tparm.  However, that fact is  not  documented  in
    -            other  implementations.  Relying on it will adversely
    -            impact portability to other implementations.
    +            to tparm(3x).  However, that fact is  not  documented
    +            in   other   implementations.   Relying  on  it  will
    +            adversely impact  portability  to  other  implementa-
    +            tions.
     
            %'c' char constant c
     
    @@ -1404,16 +1405,16 @@
                 logical AND and OR operations (for conditionals)
     
            %!, %~
    -            unary   operations   (logical  and  bit  complement):
    +            unary  operations  (logical  and   bit   complement):
                 push(op pop())
     
            %i   add 1 to first two parameters (for ANSI terminals)
     
            %? expr %t thenpart %e elsepart %;
    -            This forms  an  if-then-else.   The  %e  elsepart  is
    -            optional.   Usually  the  %? expr part pushes a value
    -            onto the stack, and %t pops it from the stack,  test-
    -            ing  if it is nonzero (true).  If it is zero (false),
    +            This  forms  an  if-then-else.   The  %e  elsepart is
    +            optional.  Usually the %? expr part  pushes  a  value
    +            onto  the stack, and %t pops it from the stack, test-
    +            ing if it is nonzero (true).  If it is zero  (false),
                 control passes to the %e (else) part.
     
                 It is possible to form else-if's a la Algol 68:
    @@ -1422,221 +1423,221 @@
                 where ci are conditions, bi are bodies.
     
                 Use the -f option of tic or infocmp to see the struc-
    -            ture  of if-then-else's.  Some strings, e.g., sgr can
    +            ture of if-then-else's.  Some strings, e.g., sgr  can
                 be very complicated when written on one line.  The -f
    -            option  splits  the  string into lines with the parts
    +            option splits the string into lines  with  the  parts
                 indented.
     
            Binary operations are in postfix form with the operands in
    -       the  usual  order.   That  is,  to  get  x-5 one would use
    -       "%gx%{5}%-".  %P and %g variables  are  persistent  across
    +       the usual order.  That  is,  to  get  x-5  one  would  use
    +       "%gx%{5}%-".   %P  and  %g variables are persistent across
            escape-string evaluations.
     
            Consider the HP2645, which, to get to row 3 and column 12,
    -       needs to be sent \E&a12c03Y  padded  for  6  milliseconds.
    -       Note  that  the  order of the rows and columns is inverted
    -       here, and that the row and column are printed as two  dig-
    +       needs  to  be  sent  \E&a12c03Y padded for 6 milliseconds.
    +       Note that the order of the rows and  columns  is  inverted
    +       here,  and that the row and column are printed as two dig-
            its.  Thus its cup capability is "cup=6\E&%p2%2dc%p1%2dY".
     
            The Microterm ACT-IV needs the current row and column sent
    -       preceded by a ^T, with the row and column  simply  encoded
    -       in  binary,  "cup=^T%p1%c%p2%c".  Terminals which use "%c"
    -       need to be able to backspace the  cursor  (cub1),  and  to
    +       preceded  by  a ^T, with the row and column simply encoded
    +       in binary, "cup=^T%p1%c%p2%c".  Terminals which  use  "%c"
    +       need  to  be  able  to backspace the cursor (cub1), and to
            move the cursor up one line on the screen (cuu1).  This is
    -       necessary because it is not always safe to transmit \n  ^D
    -       and  \r,  as  the system may change or discard them.  (The
    -       library routines dealing with terminfo set  tty  modes  so
    +       necessary  because it is not always safe to transmit \n ^D
    +       and \r, as the system may change or  discard  them.   (The
    +       library  routines  dealing  with terminfo set tty modes so
            that tabs are never expanded, so \t is safe to send.  This
            turns out to be essential for the Ann Arbor 4080.)
     
            A final example is the LSI ADM-3a, which uses row and col-
            umn  offset  by  a  blank  character,  thus  "cup=\E=%p1%'
    -       '%+%c%p2%' '%+%c".  After sending "\E=", this  pushes  the
    -       first  parameter, pushes the ASCII value for a space (32),
    -       adds them (pushing the sum on the stack in  place  of  the
    -       two  previous  values) and outputs that value as a charac-
    -       ter.  Then the same is  done  for  the  second  parameter.
    +       '%+%c%p2%'  '%+%c".   After sending "\E=", this pushes the
    +       first parameter, pushes the ASCII value for a space  (32),
    +       adds  them  (pushing  the sum on the stack in place of the
    +       two previous values) and outputs that value as  a  charac-
    +       ter.   Then  the  same  is  done for the second parameter.
            More complex arithmetic is possible using the stack.
     
     
     

    Cursor Motions

            If the terminal has a fast way to home the cursor (to very
    -       upper left corner of screen) then this  can  be  given  as
    -       home;  similarly  a fast way of getting to the lower left-
    -       hand corner can be given as ll; this may involve going  up
    -       with  cuu1  from  the  home position, but a program should
    -       never do this itself (unless ll does) because it can  make
    -       no  assumption about the effect of moving up from the home
    -       position.  Note that the home  position  is  the  same  as
    +       upper  left  corner  of  screen) then this can be given as
    +       home; similarly a fast way of getting to the  lower  left-
    +       hand  corner can be given as ll; this may involve going up
    +       with cuu1 from the home position,  but  a  program  should
    +       never  do this itself (unless ll does) because it can make
    +       no assumption about the effect of moving up from the  home
    +       position.   Note  that  the  home  position is the same as
            addressing to (0,0): to the top left corner of the screen,
    -       not of memory.  (Thus, the \EH sequence  on  HP  terminals
    +       not  of  memory.   (Thus, the \EH sequence on HP terminals
            cannot be used for home.)
     
            If the terminal has row or column absolute cursor address-
    -       ing, these can be given as single  parameter  capabilities
    +       ing,  these  can be given as single parameter capabilities
            hpa (horizontal position absolute) and vpa (vertical posi-
            tion absolute).  Sometimes these are shorter than the more
    -       general  two  parameter  sequence (as with the hp2645) and
    +       general two parameter sequence (as with  the  hp2645)  and
            can be used in preference to cup.  If there are parameter-
    -       ized  local  motions  (e.g.,  move  n spaces to the right)
    +       ized local motions (e.g., move  n  spaces  to  the  right)
            these can be given as cud, cub, cuf, and cuu with a single
    -       parameter  indicating  how many spaces to move.  These are
    -       primarily useful if the terminal does not have  cup,  such
    +       parameter indicating how many spaces to move.   These  are
    +       primarily  useful  if the terminal does not have cup, such
            as the TEKTRONIX 4025.
     
            If the terminal needs to be in a special mode when running
            a program that uses these capabilities, the codes to enter
    -       and  exit this mode can be given as smcup and rmcup.  This
    -       arises, for example, from terminals like the Concept  with
    -       more  than  one  page of memory.  If the terminal has only
    -       memory relative cursor addressing and not screen  relative
    +       and exit this mode can be given as smcup and rmcup.   This
    +       arises,  for example, from terminals like the Concept with
    +       more than one page of memory.  If the  terminal  has  only
    +       memory  relative cursor addressing and not screen relative
            cursor addressing, a one screen-sized window must be fixed
    -       into the terminal for cursor addressing to work  properly.
    +       into  the terminal for cursor addressing to work properly.
            This is also used for the TEKTRONIX 4025, where smcup sets
    -       the command character to be the one used by terminfo.   If
    -       the  smcup  sequence  will not restore the screen after an
    +       the  command character to be the one used by terminfo.  If
    +       the smcup sequence will not restore the  screen  after  an
            rmcup sequence is output (to the state prior to outputting
            rmcup), specify nrrmc.
     
     
     

    Area Clears

            If the terminal can clear from the current position to the
    -       end of the line, leaving the  cursor  where  it  is,  this
    +       end  of  the  line,  leaving  the cursor where it is, this
            should be given as el.  If the terminal can clear from the
    -       beginning of the line to the current  position  inclusive,
    -       leaving  the  cursor  where it is, this should be given as
    -       el1.  If the terminal can clear from the current  position
    -       to  the  end  of the display, then this should be given as
    -       ed.  Ed is only defined from the first column of  a  line.
    -       (Thus,  it can be simulated by a request to delete a large
    +       beginning  of  the line to the current position inclusive,
    +       leaving the cursor where it is, this should  be  given  as
    +       el1.   If the terminal can clear from the current position
    +       to the end of the display, then this should  be  given  as
    +       ed.   Ed  is only defined from the first column of a line.
    +       (Thus, it can be simulated by a request to delete a  large
            number of lines, if a true ed is not available.)
     
     
     

    Insert/delete line and vertical motions

    -       If the terminal can open a new blank line before the  line
    -       where  the cursor is, this should be given as il1; this is
    -       done only from the first position of a line.   The  cursor
    +       If  the terminal can open a new blank line before the line
    +       where the cursor is, this should be given as il1; this  is
    +       done  only  from the first position of a line.  The cursor
            must then appear on the newly blank line.  If the terminal
    -       can delete the line which the  cursor  is  on,  then  this
    -       should  be  given as dl1; this is done only from the first
    -       position on the line to be deleted.  Versions of  il1  and
    -       dl1  which  take  a  single parameter and insert or delete
    +       can  delete  the  line  which  the cursor is on, then this
    +       should be given as dl1; this is done only from  the  first
    +       position  on  the line to be deleted.  Versions of il1 and
    +       dl1 which take a single parameter  and  insert  or  delete
            that many lines can be given as il and dl.
     
    -       If the terminal has a settable scrolling region (like  the
    -       vt100)  the  command to set this can be described with the
    -       csr capability, which takes two parameters:  the  top  and
    +       If  the terminal has a settable scrolling region (like the
    +       vt100) the command to set this can be described  with  the
    +       csr  capability,  which  takes two parameters: the top and
            bottom lines of the scrolling region.  The cursor position
            is, alas, undefined after using this command.
     
    -       It is possible to get the effect of insert or delete  line
    +       It  is possible to get the effect of insert or delete line
            using csr on a properly chosen region; the sc and rc (save
    -       and restore cursor) commands may be  useful  for  ensuring
    -       that  your  synthesized insert/delete string does not move
    -       the cursor.  (Note that the ncurses(3x) library does  this
    -       synthesis   automatically,   so   you   need  not  compose
    +       and  restore  cursor)  commands may be useful for ensuring
    +       that your synthesized insert/delete string does  not  move
    +       the  cursor.  (Note that the ncurses(3x) library does this
    +       synthesis  automatically,  so   you   need   not   compose
            insert/delete strings for an entry with csr).
     
            Yet another way to construct insert and delete might be to
    -       use  a  combination  of index with the memory-lock feature
    -       found on some terminals (like the HP-700/90 series,  which
    +       use a combination of index with  the  memory-lock  feature
    +       found  on some terminals (like the HP-700/90 series, which
            however also has insert/delete).
     
    -       Inserting  lines  at  the  top or bottom of the screen can
    -       also be done using ri or ind on many terminals  without  a
    -       true  insert/delete line, and is often faster even on ter-
    +       Inserting lines at the top or bottom  of  the  screen  can
    +       also  be  done using ri or ind on many terminals without a
    +       true insert/delete line, and is often faster even on  ter-
            minals with those features.
     
    -       The boolean non_dest_scroll_region should be set  if  each
    -       scrolling  window  is effectively a view port on a screen-
    -       sized canvas.  To  test  for  this  capability,  create  a
    -       scrolling  region in the middle of the screen, write some-
    -       thing to the bottom line, move the cursor to  the  top  of
    +       The  boolean  non_dest_scroll_region should be set if each
    +       scrolling window is effectively a view port on  a  screen-
    +       sized  canvas.   To  test  for  this  capability, create a
    +       scrolling region in the middle of the screen, write  some-
    +       thing  to  the  bottom line, move the cursor to the top of
            the region, and do ri followed by dl1 or ind.  If the data
    -       scrolled off the bottom  of  the  region  by  the  ri  re-
    -       appears,  then scrolling is non-destructive.  System V and
    -       XSI Curses expect that ind, ri, indn, and rin  will  simu-
    -       late  destructive  scrolling; their documentation cautions
    -       you not to define csr unless this is  true.   This  curses
    +       scrolled  off  the  bottom  of  the  region  by the ri re-
    +       appears, then scrolling is non-destructive.  System V  and
    +       XSI  Curses  expect that ind, ri, indn, and rin will simu-
    +       late destructive scrolling; their  documentation  cautions
    +       you  not  to  define csr unless this is true.  This curses
            implementation is more liberal and will do explicit erases
            after scrolling if ndsrc is defined.
     
            If the terminal has the ability to define a window as part
    -       of  memory,  which all commands affect, it should be given
    +       of memory, which all commands affect, it should  be  given
            as the parameterized string wind.  The four parameters are
    -       the  starting  and ending lines in memory and the starting
    +       the starting and ending lines in memory and  the  starting
            and ending columns in memory, in that order.
     
    -       If the terminal can retain display memory above, then  the
    -       da  capability  should  be given; if display memory can be
    -       retained below, then db should be given.   These  indicate
    -       that  deleting  a  line  or  scrolling may bring non-blank
    -       lines up from below or that scrolling  back  with  ri  may
    +       If  the terminal can retain display memory above, then the
    +       da capability should be given; if display  memory  can  be
    +       retained  below,  then db should be given.  These indicate
    +       that deleting a line  or  scrolling  may  bring  non-blank
    +       lines  up  from  below  or that scrolling back with ri may
            bring down non-blank lines.
     
     
     

    Insert/Delete Character

    -       There  are  two  basic kinds of intelligent terminals with
    -       respect to insert/delete character which can be  described
    -       using  terminfo.   The most common insert/delete character
    -       operations affect only the characters on the current  line
    -       and  shift  characters  off  the  end of the line rigidly.
    -       Other terminals, such as the Concept 100  and  the  Perkin
    -       Elmer  Owl,  make  a distinction between typed and untyped
    -       blanks on the screen, shifting upon an  insert  or  delete
    -       only  to  an  untyped  blank on the screen which is either
    +       There are two basic kinds of  intelligent  terminals  with
    +       respect  to insert/delete character which can be described
    +       using terminfo.  The most common  insert/delete  character
    +       operations  affect only the characters on the current line
    +       and shift characters off the  end  of  the  line  rigidly.
    +       Other  terminals,  such  as the Concept 100 and the Perkin
    +       Elmer Owl, make a distinction between  typed  and  untyped
    +       blanks  on  the  screen, shifting upon an insert or delete
    +       only to an untyped blank on the  screen  which  is  either
            eliminated, or expanded to two untyped blanks.
     
    -       You can determine the kind of terminal you have by  clear-
    -       ing  the  screen  and then typing text separated by cursor
    -       motions.  Type "abc    def"  using  local  cursor  motions
    -       (not  spaces) between the "abc" and the "def".  Then posi-
    -       tion the cursor before the "abc" and put the  terminal  in
    -       insert  mode.  If typing characters causes the rest of the
    -       line to shift rigidly and characters to fall off the  end,
    +       You  can determine the kind of terminal you have by clear-
    +       ing the screen and then typing text  separated  by  cursor
    +       motions.   Type  "abc    def"  using  local cursor motions
    +       (not spaces) between the "abc" and the "def".  Then  posi-
    +       tion  the  cursor before the "abc" and put the terminal in
    +       insert mode.  If typing characters causes the rest of  the
    +       line  to shift rigidly and characters to fall off the end,
            then your terminal does not distinguish between blanks and
    -       untyped positions.  If the "abc" shifts over to the  "def"
    -       which  then  move  together  around the end of the current
    -       line and onto the next as you insert, you have the  second
    +       untyped  positions.  If the "abc" shifts over to the "def"
    +       which then move together around the  end  of  the  current
    +       line  and onto the next as you insert, you have the second
            type of terminal, and should give the capability in, which
            stands for "insert null".
     
    -       While these are two  logically  separate  attributes  (one
    -       line  versus multi-line insert mode, and special treatment
    -       of untyped spaces) we have seen no terminals whose  insert
    +       While  these  are  two  logically separate attributes (one
    +       line versus multi-line insert mode, and special  treatment
    +       of  untyped spaces) we have seen no terminals whose insert
            mode cannot be described with the single attribute.
     
    -       Terminfo  can describe both terminals which have an insert
    +       Terminfo can describe both terminals which have an  insert
            mode, and terminals which send a simple sequence to open a
    -       blank  position  on  the  current  line.  Give as smir the
    -       sequence to get  into  insert  mode.   Give  as  rmir  the
    -       sequence  to  leave  insert  mode.   Now  give as ich1 any
    +       blank position on the current  line.   Give  as  smir  the
    +       sequence  to  get  into  insert  mode.   Give  as rmir the
    +       sequence to leave insert  mode.   Now  give  as  ich1  any
            sequence needed to be sent just before sending the charac-
    -       ter  to  be  inserted.   Most terminals with a true insert
    -       mode will not give ich1; terminals which send  a  sequence
    +       ter to be inserted.  Most terminals  with  a  true  insert
    +       mode  will  not give ich1; terminals which send a sequence
            to open a screen position should give it here.
     
    -       If  your terminal has both, insert mode is usually prefer-
    -       able to ich1.   Technically,  you  should  not  give  both
    -       unless  the  terminal actually requires both to be used in
    -       combination.  Accordingly,  some  non-curses  applications
    -       get  confused  if both are present; the symptom is doubled
    +       If your terminal has both, insert mode is usually  prefer-
    +       able  to  ich1.   Technically,  you  should  not give both
    +       unless the terminal actually requires both to be  used  in
    +       combination.   Accordingly,  some  non-curses applications
    +       get confused if both are present; the symptom  is  doubled
            characters in an update using insert.  This requirement is
            now rare; most ich sequences do not require previous smir,
            and most smir insert modes do not require ich1 before each
    -       character.   Therefore,  the  new  curses actually assumes
    -       this is the case and uses either rmir/smir or ich/ich1  as
    +       character.  Therefore, the  new  curses  actually  assumes
    +       this  is the case and uses either rmir/smir or ich/ich1 as
            appropriate (but not both).  If you have to write an entry
    -       to be used under new curses for a terminal old  enough  to
    +       to  be  used under new curses for a terminal old enough to
            need both, include the rmir/smir sequences in ich1.
     
            If post insert padding is needed, give this as a number of
    -       milliseconds in ip (a string option).  Any other  sequence
    -       which  may  need  to  be  sent after an insert of a single
    +       milliseconds  in ip (a string option).  Any other sequence
    +       which may need to be sent after  an  insert  of  a  single
            character may also be given in ip.  If your terminal needs
            both to be placed into an "insert mode" and a special code
    -       to precede each inserted character,  then  both  smir/rmir
    -       and  ich1  can  be  given, and both will be used.  The ich
    +       to  precede  each  inserted character, then both smir/rmir
    +       and ich1 can be given, and both will  be  used.   The  ich
            capability, with one parameter, n, will repeat the effects
            of ich1 n times.
     
    @@ -1644,62 +1645,62 @@
            in insert mode, give this as a number of milliseconds pad-
            ding in rmp.
     
    -       It  is  occasionally  necessary  to  move  around while in
    -       insert mode to delete characters on the same  line  (e.g.,
    -       if  there is a tab after the insertion position).  If your
    -       terminal allows motion while in insert mode you  can  give
    -       the  capability  mir  to  speed up inserting in this case.
    -       Omitting mir  will  affect  only  speed.   Some  terminals
    +       It is occasionally  necessary  to  move  around  while  in
    +       insert  mode  to delete characters on the same line (e.g.,
    +       if there is a tab after the insertion position).  If  your
    +       terminal  allows  motion while in insert mode you can give
    +       the capability mir to speed up  inserting  in  this  case.
    +       Omitting  mir  will  affect  only  speed.   Some terminals
            (notably Datamedia's) must not have mir because of the way
            their insert mode works.
     
    -       Finally, you can specify dch1 to delete a  single  charac-
    -       ter,  dch  with  one parameter, n, to delete n characters,
    -       and delete mode by giving smdc and rmdc to enter and  exit
    -       delete  mode  (any mode the terminal needs to be placed in
    +       Finally,  you  can specify dch1 to delete a single charac-
    +       ter, dch with one parameter, n, to  delete  n  characters,
    +       and  delete mode by giving smdc and rmdc to enter and exit
    +       delete mode (any mode the terminal needs to be  placed  in
            for dch1 to work).
     
    -       A command to erase n characters (equivalent to  outputting
    -       n  blanks  without  moving the cursor) can be given as ech
    +       A  command to erase n characters (equivalent to outputting
    +       n blanks without moving the cursor) can be  given  as  ech
            with one parameter.
     
     
     

    Highlighting, Underlining, and Visible Bells

            If  your  terminal  has  one  or  more  kinds  of  display
    -       attributes,  these  can be represented in a number of dif-
    +       attributes, these can be represented in a number  of  dif-
            ferent ways.  You should choose one display form as stand-
            out mode, representing a good, high contrast, easy-on-the-
    -       eyes, format for highlighting  error  messages  and  other
    -       attention  getters.   (If you have a choice, reverse video
    -       plus half-bright is good, or reverse  video  alone.)   The
    -       sequences  to  enter  and  exit standout mode are given as
    -       smso and rmso, respectively.  If the code to  change  into
    -       or  out of standout mode leaves one or even two blank spa-
    -       ces on the screen, as the TVI 912  and  Teleray  1061  do,
    +       eyes,  format  for  highlighting  error messages and other
    +       attention getters.  (If you have a choice,  reverse  video
    +       plus  half-bright  is  good, or reverse video alone.)  The
    +       sequences to enter and exit standout  mode  are  given  as
    +       smso  and  rmso, respectively.  If the code to change into
    +       or out of standout mode leaves one or even two blank  spa-
    +       ces  on  the  screen,  as the TVI 912 and Teleray 1061 do,
            then xmc should be given to tell how many spaces are left.
     
    -       Codes  to  begin  underlining  and  end underlining can be
    -       given as smul and rmul respectively.  If the terminal  has
    -       a  code  to  underline  the current character and move the
    +       Codes to begin underlining  and  end  underlining  can  be
    +       given  as smul and rmul respectively.  If the terminal has
    +       a code to underline the current  character  and  move  the
            cursor one space to the right, such as the Microterm Mime,
            this can be given as uc.
     
    -       Other  capabilities  to  enter  various highlighting modes
    -       include blink (blinking) bold (bold or extra  bright)  dim
    -       (dim  or  half-bright)  invis (blanking or invisible text)
    -       prot (protected) rev (reverse video) sgr0  (turn  off  all
    -       attribute  modes)  smacs  (enter  alternate  character set
    -       mode) and  rmacs  (exit  alternate  character  set  mode).
    -       Turning  on  any of these modes singly may or may not turn
    +       Other capabilities to  enter  various  highlighting  modes
    +       include  blink  (blinking) bold (bold or extra bright) dim
    +       (dim or half-bright) invis (blanking  or  invisible  text)
    +       prot  (protected)  rev  (reverse video) sgr0 (turn off all
    +       attribute modes)  smacs  (enter  alternate  character  set
    +       mode)  and  rmacs  (exit  alternate  character  set mode).
    +       Turning on any of these modes singly may or may  not  turn
            off other modes.
     
    -       If there is a sequence to set  arbitrary  combinations  of
    -       modes,  this should be given as sgr (set attributes), tak-
    -       ing 9 parameters.  Each parameter is either 0 or  nonzero,
    +       If  there  is  a sequence to set arbitrary combinations of
    +       modes, this should be given as sgr (set attributes),  tak-
    +       ing  9 parameters.  Each parameter is either 0 or nonzero,
            as the corresponding attribute is on or off.  The 9 param-
    -       eters are, in order: standout, underline, reverse,  blink,
    -       dim,  bold,  blank, protect, alternate character set.  Not
    -       all modes need be supported by sgr, only those  for  which
    +       eters  are, in order: standout, underline, reverse, blink,
    +       dim, bold, blank, protect, alternate character  set.   Not
    +       all  modes  need be supported by sgr, only those for which
            corresponding separate attribute commands exist.
     
            For example, the DEC vt220 supports most of the modes:
    @@ -1717,22 +1718,22 @@
             p8                   protect          not used
             p9                   altcharset       ^O (off) ^N (on)
     
    -       We  begin each escape sequence by turning off any existing
    -       modes, since there is no quick way  to  determine  whether
    +       We begin each escape sequence by turning off any  existing
    +       modes,  since  there  is no quick way to determine whether
            they are active.  Standout is set up to be the combination
    -       of reverse and bold.  The vt220  terminal  has  a  protect
    -       mode,  though  it  is  not commonly used in sgr because it
    -       protects characters on the screen  from  the  host's  era-
    -       sures.   The  altcharset mode also is different in that it
    -       is either ^O or ^N, depending on whether it is off or  on.
    -       If  all  modes  are  turned  on, the resulting sequence is
    +       of  reverse  and  bold.   The vt220 terminal has a protect
    +       mode, though it is not commonly used  in  sgr  because  it
    +       protects  characters  on  the  screen from the host's era-
    +       sures.  The altcharset mode also is different in  that  it
    +       is  either ^O or ^N, depending on whether it is off or on.
    +       If all modes are turned  on,  the  resulting  sequence  is
            \E[0;1;4;5;7;8m^N.
     
    -       Some sequences are common to different modes.   For  exam-
    -       ple,  ;7  is output when either p1 or p3 is true, that is,
    +       Some  sequences  are common to different modes.  For exam-
    +       ple, ;7 is output when either p1 or p3 is true,  that  is,
            if either standout or reverse modes are turned on.
     
    -       Writing out the above sequences, along with  their  depen-
    +       Writing  out  the above sequences, along with their depen-
            dencies yields
     
           sequence             when to output      terminfo translation
    @@ -1751,62 +1752,62 @@
                sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p4%t;5%;
                    %?%p1%p3%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
     
    -       Remember  that  if  you specify sgr, you must also specify
    -       sgr0.  Also, some implementations rely on sgr being  given
    -       if  sgr0  is, Not all terminfo entries necessarily have an
    -       sgr string, however.  Many terminfo  entries  are  derived
    -       from  termcap  entries which have no sgr string.  The only
    -       drawback to adding an sgr  string  is  that  termcap  also
    -       assumes  that  sgr0  does not exit alternate character set
    +       Remember that if you specify sgr, you  must  also  specify
    +       sgr0.   Also, some implementations rely on sgr being given
    +       if sgr0 is, Not all terminfo entries necessarily  have  an
    +       sgr  string,  however.   Many terminfo entries are derived
    +       from termcap entries which have no sgr string.   The  only
    +       drawback  to  adding  an  sgr  string is that termcap also
    +       assumes that sgr0 does not exit  alternate  character  set
            mode.
     
    -       Terminals with the "magic  cookie"  glitch  (xmc)  deposit
    +       Terminals  with  the  "magic  cookie" glitch (xmc) deposit
            special   "cookies"   when   they   receive   mode-setting
    -       sequences, which affect the display algorithm rather  than
    -       having  extra  bits  for  each character.  Some terminals,
    -       such as the HP 2621,  automatically  leave  standout  mode
    -       when  they  move to a new line or the cursor is addressed.
    -       Programs using standout mode  should  exit  standout  mode
    -       before  moving the cursor or sending a newline, unless the
    -       msgr capability, asserting that it  is  safe  to  move  in
    +       sequences,  which affect the display algorithm rather than
    +       having extra bits for  each  character.   Some  terminals,
    +       such  as  the  HP  2621, automatically leave standout mode
    +       when they move to a new line or the cursor  is  addressed.
    +       Programs  using  standout  mode  should exit standout mode
    +       before moving the cursor or sending a newline, unless  the
    +       msgr  capability,  asserting  that  it  is safe to move in
            standout mode, is present.
     
    -       If  the terminal has a way of flashing the screen to indi-
    -       cate an error quietly (a bell replacement) then  this  can
    +       If the terminal has a way of flashing the screen to  indi-
    +       cate  an  error quietly (a bell replacement) then this can
            be given as flash; it must not move the cursor.
     
    -       If  the  cursor  needs to be made more visible than normal
    +       If the cursor needs to be made more  visible  than  normal
            when it is not on the bottom line (to make, for example, a
    -       non-blinking  underline  into  an  easier to find block or
    +       non-blinking underline into an easier  to  find  block  or
            blinking underline) give this sequence as cvvis.  If there
    -       is  a  way  to  make the cursor completely invisible, give
    +       is a way to make the  cursor  completely  invisible,  give
            that as civis.  The capability cnorm should be given which
            undoes the effects of both of these modes.
     
            If your terminal correctly generates underlined characters
    -       (with no special codes needed) even  though  it  does  not
    -       overstrike,  then you should give the capability ul.  If a
    -       character overstriking another leaves both  characters  on
    +       (with  no  special  codes  needed) even though it does not
    +       overstrike, then you should give the capability ul.  If  a
    +       character  overstriking  another leaves both characters on
            the screen, specify the capability os.  If overstrikes are
    -       erasable with a blank, then this should  be  indicated  by
    +       erasable  with  a  blank, then this should be indicated by
            giving eo.
     
     
     

    Keypad and Function Keys

            If the terminal has a keypad that transmits codes when the
    -       keys are pressed, this information  can  be  given.   Note
    +       keys  are  pressed,  this  information can be given.  Note
            that it is not possible to handle terminals where the key-
            pad only works in local (this applies, for example, to the
    -       unshifted  HP  2621  keys).   If  the keypad can be set to
    -       transmit or not transmit, give these  codes  as  smkx  and
    +       unshifted HP 2621 keys).  If the  keypad  can  be  set  to
    +       transmit  or  not  transmit,  give these codes as smkx and
            rmkx.  Otherwise the keypad is assumed to always transmit.
     
    -       The  codes  sent by the left arrow, right arrow, up arrow,
    -       down arrow, and home keys can be given  as  kcub1,  kcuf1,
    -       kcuu1,  kcud1, and khome respectively.  If there are func-
    -       tion keys such as f0, f1, ..., f10, the  codes  they  send
    -       can  be  given as kf0, kf1, ..., kf10.  If these keys have
    -       labels other than the default f0 through f10,  the  labels
    +       The codes sent by the left arrow, right arrow,  up  arrow,
    +       down  arrow,  and  home keys can be given as kcub1, kcuf1,
    +       kcuu1, kcud1, and khome respectively.  If there are  func-
    +       tion  keys  such  as f0, f1, ..., f10, the codes they send
    +       can be given as kf0, kf1, ..., kf10.  If these  keys  have
    +       labels  other  than the default f0 through f10, the labels
            can be given as lf0, lf1, ..., lf10.
     
            The codes transmitted by certain other special keys can be
    @@ -1846,60 +1847,60 @@
     
            o   khts (set a tab stop in this column).
     
    -       In addition, if the keypad has a 3  by  3  array  of  keys
    -       including  the four arrow keys, the other five keys can be
    +       In  addition,  if  the  keypad  has a 3 by 3 array of keys
    +       including the four arrow keys, the other five keys can  be
            given as ka1, ka3, kb2, kc1, and kc3.  These keys are use-
    -       ful  when  the  effects  of  a  3 by 3 directional pad are
    +       ful when the effects of a  3  by  3  directional  pad  are
            needed.
     
    -       Strings to program function keys can be  given  as  pfkey,
    -       pfloc,  and pfx.  A string to program screen labels should
    -       be specified as pln.  Each  of  these  strings  takes  two
    -       parameters:  the function key number to program (from 0 to
    -       10) and the string to program it with.  Function key  num-
    -       bers  out  of  this  range may program undefined keys in a
    -       terminal dependent manner.   The  difference  between  the
    -       capabilities  is  that pfkey causes pressing the given key
    -       to be the same as the user typing the given string;  pfloc
    +       Strings  to  program  function keys can be given as pfkey,
    +       pfloc, and pfx.  A string to program screen labels  should
    +       be  specified  as  pln.   Each  of these strings takes two
    +       parameters: the function key number to program (from 0  to
    +       10)  and the string to program it with.  Function key num-
    +       bers out of this range may program  undefined  keys  in  a
    +       terminal  dependent  manner.   The  difference between the
    +       capabilities is that pfkey causes pressing the  given  key
    +       to  be the same as the user typing the given string; pfloc
            causes the string to be executed by the terminal in local;
    -       and pfx causes the string to be transmitted  to  the  com-
    +       and  pfx  causes  the string to be transmitted to the com-
            puter.
     
            The capabilities nlab, lw and lh define the number of pro-
    -       grammable screen labels and their width  and  height.   If
    -       there  are  commands  to  turn the labels on and off, give
    -       them in smln and rmln.  smln is normally output after  one
    +       grammable  screen  labels  and their width and height.  If
    +       there are commands to turn the labels  on  and  off,  give
    +       them  in smln and rmln.  smln is normally output after one
            or more pln sequences to make sure that the change becomes
            visible.
     
     
     

    Tabs and Initialization

    -       If the terminal has hardware tabs, the command to  advance
    -       to  the  next tab stop can be given as ht (usually control
    +       If  the terminal has hardware tabs, the command to advance
    +       to the next tab stop can be given as ht  (usually  control
            I).  A "back-tab" command which moves leftward to the pre-
    -       ceding  tab  stop  can be given as cbt.  By convention, if
    -       the teletype modes indicate that tabs are  being  expanded
    -       by  the  computer  rather than being sent to the terminal,
    -       programs should not  use  ht  or  cbt  even  if  they  are
    -       present,  since  the user may not have the tab stops prop-
    -       erly set.  If the terminal has  hardware  tabs  which  are
    -       initially  set every n spaces when the terminal is powered
    -       up, the numeric parameter it is given, showing the  number
    -       of  spaces  the tabs are set to.  This is normally used by
    -       the tset command to determine whether to set the mode  for
    -       hardware  tab expansion, and whether to set the tab stops.
    -       If the terminal has tab stops that can be  saved  in  non-
    -       volatile  memory, the terminfo description can assume that
    +       ceding tab stop can be given as cbt.   By  convention,  if
    +       the  teletype  modes indicate that tabs are being expanded
    +       by the computer rather than being sent  to  the  terminal,
    +       programs  should  not  use  ht  or  cbt  even  if they are
    +       present, since the user may not have the tab  stops  prop-
    +       erly  set.   If  the  terminal has hardware tabs which are
    +       initially set every n spaces when the terminal is  powered
    +       up,  the numeric parameter it is given, showing the number
    +       of spaces the tabs are set to.  This is normally  used  by
    +       the  tset command to determine whether to set the mode for
    +       hardware tab expansion, and whether to set the tab  stops.
    +       If  the  terminal  has tab stops that can be saved in non-
    +       volatile memory, the terminfo description can assume  that
            they are properly set.
     
    -       Other capabilities include is1, is2, and is3,  initializa-
    -       tion  strings  for the terminal, iprog, the path name of a
    -       program to be run to initialize the terminal, and if,  the
    -       name  of  a  file  containing long initialization strings.
    -       These strings are expected to set the terminal into  modes
    -       consistent  with  the  rest  of  the terminfo description.
    +       Other  capabilities include is1, is2, and is3, initializa-
    +       tion strings for the terminal, iprog, the path name  of  a
    +       program  to be run to initialize the terminal, and if, the
    +       name of a file  containing  long  initialization  strings.
    +       These  strings are expected to set the terminal into modes
    +       consistent with the  rest  of  the  terminfo  description.
            They are normally sent to the terminal, by the init option
    -       of  the  tput  program,  each time the user logs in.  They
    +       of the tput program, each time the  user  logs  in.   They
            will be printed in the following order:
     
                   run the program
    @@ -1919,107 +1920,107 @@
                   and finally
                          output is3.
     
    -       Most initialization is done with  is2.   Special  terminal
    +       Most  initialization  is  done with is2.  Special terminal
            modes can be set up without duplicating strings by putting
    -       the common sequences in is2 and special cases in  is1  and
    +       the  common  sequences in is2 and special cases in is1 and
            is3.
     
            A set of sequences that does a harder reset from a totally
            unknown state can be given as rs1, rs2, rf and rs3, analo-
    -       gous  to  is1  ,  is2  ,  if  and is3 respectively.  These
    -       strings are output by the reset  program,  which  is  used
    -       when  the terminal gets into a wedged state.  Commands are
    -       normally placed in rs1, rs2 rs3 and rf only if  they  pro-
    -       duce  annoying effects on the screen and are not necessary
    -       when logging in.  For example,  the  command  to  set  the
    -       vt100  into  80-column mode would normally be part of is2,
    -       but it causes an annoying glitch of the screen and is  not
    -       normally  needed  since the terminal is usually already in
    +       gous to is1 ,  is2  ,  if  and  is3  respectively.   These
    +       strings  are  output  by  the reset program, which is used
    +       when the terminal gets into a wedged state.  Commands  are
    +       normally  placed  in rs1, rs2 rs3 and rf only if they pro-
    +       duce annoying effects on the screen and are not  necessary
    +       when  logging  in.   For  example,  the command to set the
    +       vt100 into 80-column mode would normally be part  of  is2,
    +       but  it causes an annoying glitch of the screen and is not
    +       normally needed since the terminal is usually  already  in
            80 column mode.
     
            The reset program writes strings including iprog, etc., in
    -       the  same  order  as  the  init  program, using rs1, etc.,
    +       the same order as  the  init  program,  using  rs1,  etc.,
            instead of is1, etc.  If any of rs1, rs2, rs3, or rf reset
    -       capability  strings  are  missing, the reset program falls
    +       capability strings are missing, the  reset  program  falls
            back  upon  the  corresponding  initialization  capability
            string.
     
            If there are commands to set and clear tab stops, they can
    -       be given as tbc (clear all tab stops) and hts (set  a  tab
    -       stop  in the current column of every row).  If a more com-
    -       plex sequence is needed  to  set  the  tabs  than  can  be
    -       described  by  this,  the sequence can be placed in is2 or
    +       be  given  as tbc (clear all tab stops) and hts (set a tab
    +       stop in the current column of every row).  If a more  com-
    +       plex  sequence  is  needed  to  set  the  tabs than can be
    +       described by this, the sequence can be placed  in  is2  or
            if.
     
     
     

    Delays and Padding

    -       Many older and slower  terminals  do  not  support  either
    +       Many  older  and  slower  terminals  do not support either
            XON/XOFF or DTR handshaking, including hard copy terminals
    -       and some very archaic CRTs (including,  for  example,  DEC
    -       VT100s).   These may require padding characters after cer-
    +       and  some  very  archaic CRTs (including, for example, DEC
    +       VT100s).  These may require padding characters after  cer-
            tain cursor motions and screen changes.
     
            If the terminal uses xon/xoff handshaking for flow control
    -       (that  is, it automatically emits ^S back to the host when
    +       (that is, it automatically emits ^S back to the host  when
            its input buffers are close to full), set xon.  This capa-
    -       bility  suppresses  the emission of padding.  You can also
    -       set it for memory-mapped console devices effectively  that
    -       do  not  have  a  speed limit.  Padding information should
    -       still be included so that routines can make  better  deci-
    +       bility suppresses the emission of padding.  You  can  also
    +       set  it for memory-mapped console devices effectively that
    +       do not have a speed  limit.   Padding  information  should
    +       still  be  included so that routines can make better deci-
            sions about relative costs, but actual pad characters will
            not be transmitted.
     
    -       If pb (padding baud rate) is given, padding is  suppressed
    -       at  baud rates below the value of pb.  If the entry has no
    -       padding baud rate, then whether padding is emitted or  not
    +       If  pb (padding baud rate) is given, padding is suppressed
    +       at baud rates below the value of pb.  If the entry has  no
    +       padding  baud rate, then whether padding is emitted or not
            is completely controlled by xon.
     
    -       If  the terminal requires other than a null (zero) charac-
    -       ter as a pad, then this can be given  as  pad.   Only  the
    +       If the terminal requires other than a null (zero)  charac-
    +       ter  as  a  pad,  then this can be given as pad.  Only the
            first character of the pad string is used.
     
     
     

    Status Lines

    -       Some  terminals  have  an extra "status line" which is not
    -       normally used by software (and thus  not  counted  in  the
    +       Some terminals have an extra "status line"  which  is  not
    +       normally  used  by  software  (and thus not counted in the
            terminal's lines capability).
     
    -       The  simplest  case  is  a  status  line  which is cursor-
    -       addressable but not part of the main scrolling  region  on
    -       the  screen;  the  Heathkit  H19 has a status line of this
    -       kind, as would a 24-line VT100 with  a  23-line  scrolling
    -       region  set up on initialization.  This situation is indi-
    +       The simplest case  is  a  status  line  which  is  cursor-
    +       addressable  but  not part of the main scrolling region on
    +       the screen; the Heathkit H19 has a  status  line  of  this
    +       kind,  as  would  a 24-line VT100 with a 23-line scrolling
    +       region set up on initialization.  This situation is  indi-
            cated by the hs capability.
     
            Some terminals with status lines need special sequences to
    -       access  the  status  line.   These  may  be expressed as a
    +       access the status line.   These  may  be  expressed  as  a
            string with single parameter tsl which takes the cursor to
    -       a  given zero-origin column on the status line.  The capa-
    +       a given zero-origin column on the status line.  The  capa-
            bility fsl must return to the main-screen cursor positions
    -       before  the  last  tsl.   You may need to embed the string
    -       values of sc (save cursor) and rc (restore cursor) in  tsl
    +       before the last tsl.  You may need  to  embed  the  string
    +       values  of sc (save cursor) and rc (restore cursor) in tsl
            and fsl to accomplish this.
     
    -       The  status  line is normally assumed to be the same width
    -       as the width of the terminal.  If this is untrue, you  can
    +       The status line is normally assumed to be the  same  width
    +       as  the width of the terminal.  If this is untrue, you can
            specify it with the numeric capability wsl.
     
    -       A  command to erase or blank the status line may be speci-
    +       A command to erase or blank the status line may be  speci-
            fied as dsl.
     
    -       The  boolean  capability  eslok  specifies   that   escape
    +       The   boolean   capability  eslok  specifies  that  escape
            sequences, tabs, etc., work ordinarily in the status line.
     
    -       The  ncurses  implementation does not yet use any of these
    -       capabilities.  They are documented here in case they  ever
    +       The ncurses implementation does not yet use any  of  these
    +       capabilities.   They are documented here in case they ever
            become important.
     
     
     

    Line Graphics

    -       Many  terminals  have  alternate character sets useful for
    -       forms-drawing.  Terminfo and curses build in  support  for
    -       the  drawing  characters supported by the VT100, with some
    -       characters from the AT&T  4410v1  added.   This  alternate
    +       Many terminals have alternate character  sets  useful  for
    +       forms-drawing.   Terminfo  and curses build in support for
    +       the drawing characters supported by the VT100,  with  some
    +       characters  from  the  AT&T  4410v1 added.  This alternate
            character set may be specified by the acsc capability.
     
            Glyph                       ACS           Ascii     VT100
    @@ -2057,74 +2058,74 @@
            upper right corner          ACS_URCORNER  +         k
            vertical line               ACS_VLINE     |         x
     
    -       The  best  way to define a new device's graphics set is to
    -       add a column to a copy of this table  for  your  terminal,
    -       giving   the   character   which   (when  emitted  between
    -       smacs/rmacs switches) will be rendered as the  correspond-
    -       ing  graphic.  Then read off the VT100/your terminal char-
    -       acter pairs right to left in sequence;  these  become  the
    +       The best way to define a new device's graphics set  is  to
    +       add  a  column  to a copy of this table for your terminal,
    +       giving  the  character   which   (when   emitted   between
    +       smacs/rmacs  switches) will be rendered as the correspond-
    +       ing graphic.  Then read off the VT100/your terminal  char-
    +       acter  pairs  right  to left in sequence; these become the
            ACSC string.
     
     
     

    Color Handling

    -       The  curses  library  functions  init_pair  and init_color
    -       manipulate the color pairs and color values  discussed  in
    -       this  section (see curs_color(3x) for details on these and
    +       The curses  library  functions  init_pair  and  init_color
    +       manipulate  the  color pairs and color values discussed in
    +       this section (see curs_color(3x) for details on these  and
            related functions).
     
    -       Most color terminals are either "Tektronix-like"  or  "HP-
    +       Most  color  terminals are either "Tektronix-like" or "HP-
            like":
     
    -       o   Tektronix-like  terminals  have  a predefined set of N
    -           colors (where N is usually 8), and can set  character-
    -           cell  foreground  and  background  characters indepen-
    +       o   Tektronix-like terminals have a predefined  set  of  N
    +           colors  (where N is usually 8), and can set character-
    +           cell foreground  and  background  characters  indepen-
                dently, mixing them into N * N color-pairs.
     
    -       o   On HP-like terminals, the user  must  set  each  color
    -           pair  up separately (foreground and background are not
    -           independently settable).  Up to M color-pairs  may  be
    -           set  up  from  2*M  different colors.  ANSI-compatible
    +       o   On  HP-like  terminals,  the  user must set each color
    +           pair up separately (foreground and background are  not
    +           independently  settable).   Up to M color-pairs may be
    +           set up from  2*M  different  colors.   ANSI-compatible
                terminals are Tektronix-like.
     
            Some basic color capabilities are independent of the color
            method.  The numeric capabilities colors and pairs specify
    -       the maximum numbers of colors and color-pairs that can  be
    -       displayed  simultaneously.   The op (original pair) string
    -       resets foreground and background colors to  their  default
    -       values  for the terminal.  The oc string resets all colors
    -       or color-pairs to their default values for  the  terminal.
    -       Some  terminals  (including  many  PC  terminal emulators)
    -       erase screen  areas  with  the  current  background  color
    -       rather  than the power-up default background; these should
    +       the  maximum numbers of colors and color-pairs that can be
    +       displayed simultaneously.  The op (original  pair)  string
    +       resets  foreground  and background colors to their default
    +       values for the terminal.  The oc string resets all  colors
    +       or  color-pairs  to their default values for the terminal.
    +       Some terminals  (including  many  PC  terminal  emulators)
    +       erase  screen  areas  with  the  current  background color
    +       rather than the power-up default background; these  should
            have the boolean capability bce.
     
    -       While the curses library works with color pairs  (reflect-
    -       ing  the  inability  of some devices to set foreground and
    +       While  the curses library works with color pairs (reflect-
    +       ing the inability of some devices to  set  foreground  and
            background colors independently), there are separate capa-
            bilities for setting these features:
     
    -       o   To  change  the current foreground or background color
    -           on a Tektronix-type  terminal,  use  setaf  (set  ANSI
    -           foreground)  and  setab  (set ANSI background) or setf
    -           (set foreground) and  setb  (set  background).   These
    -           take  one parameter, the color number.  The SVr4 docu-
    -           mentation describes only setaf/setab; the  XPG4  draft
    +       o   To change the current foreground or  background  color
    +           on  a  Tektronix-type  terminal,  use  setaf (set ANSI
    +           foreground) and setab (set ANSI  background)  or  setf
    +           (set  foreground)  and  setb  (set background).  These
    +           take one parameter, the color number.  The SVr4  docu-
    +           mentation  describes  only setaf/setab; the XPG4 draft
                says  that  "If  the  terminal  supports  ANSI  escape
                sequences  to  set  background  and  foreground,  they
                should be coded as setaf and setab, respectively.
     
            o   If the terminal supports other escape sequences to set
    -           background and foreground, they  should  be  coded  as
    -           setf  and  setb,  respectively.   The  vidputs and the
    -           refresh functions use the setaf and setab capabilities
    -           if they are defined.
    +           background  and  foreground,  they  should be coded as
    +           setf and setb,  respectively.   The  vidputs  and  the
    +           refresh(3x) functions use the setaf and setab capabil-
    +           ities if they are defined.
     
    -       The  setaf/setab  and setf/setb capabilities take a single
    +       The setaf/setab and setf/setb capabilities take  a  single
            numeric argument each.  Argument values 0-7 of setaf/setab
    -       are  portably defined as follows (the middle column is the
    +       are portably defined as follows (the middle column is  the
            symbolic #define available in the header for the curses or
    -       ncurses  libraries).  The terminal hardware is free to map
    -       these as it likes, but  the  RGB  values  indicate  normal
    +       ncurses libraries).  The terminal hardware is free to  map
    +       these  as  it  likes,  but  the RGB values indicate normal
            locations in color space.
     
                  Color       #define       Value       RGB
    @@ -2135,9 +2136,10 @@
                  blue      COLOR_BLUE        4     0,0,max
                  magenta   COLOR_MAGENTA     5     max,0,max
                  cyan      COLOR_CYAN        6     0,max,max
    +
                  white     COLOR_WHITE       7     max,max,max
     
    -       The  argument  values of setf/setb historically correspond
    +       The argument values of setf/setb  historically  correspond
            to a different mapping, i.e.,
     
                  Color       #define       Value       RGB
    @@ -2151,36 +2153,36 @@
                  white     COLOR_WHITE       7     max,max,max
     
            It is important to not confuse the two sets of color capa-
    -       bilities;  otherwise  red/blue will be interchanged on the
    +       bilities; otherwise red/blue will be interchanged  on  the
            display.
     
    -       On an HP-like terminal, use scp with a  color-pair  number
    +       On  an  HP-like terminal, use scp with a color-pair number
            parameter to set which color pair is current.
     
            Some terminals allow the color values to be modified:
     
    -       o   On  a  Tektronix-like terminal, the capability ccc may
    -           be present to indicate that colors  can  be  modified.
    -           If  so,  the initc capability will take a color number
    -           (0 to colors  -  1)and  three  more  parameters  which
    +       o   On a Tektronix-like terminal, the capability  ccc  may
    +           be  present  to  indicate that colors can be modified.
    +           If so, the initc capability will take a  color  number
    +           (0  to  colors  -  1)and  three  more parameters which
                describe the color.  These three parameters default to
    -           being interpreted as RGB (Red,  Green,  Blue)  values.
    -           If  the  boolean  capability  hls is present, they are
    -           instead as HLS (Hue, Lightness,  Saturation)  indices.
    +           being  interpreted  as  RGB (Red, Green, Blue) values.
    +           If the boolean capability hls  is  present,  they  are
    +           instead  as  HLS (Hue, Lightness, Saturation) indices.
                The ranges are terminal-dependent.
     
    -       o   On  an  HP-like  terminal, initp may give a capability
    -           for changing a color-pair value.  It will  take  seven
    -           parameters;  a color-pair number (0 to max_pairs - 1),
    -           and two triples describing first background  and  then
    -           foreground  colors.   These  parameters  must be (Red,
    +       o   On an HP-like terminal, initp may  give  a  capability
    +           for  changing  a color-pair value.  It will take seven
    +           parameters; a color-pair number (0 to max_pairs -  1),
    +           and  two  triples describing first background and then
    +           foreground colors.  These  parameters  must  be  (Red,
                Green, Blue) or (Hue, Lightness, Saturation) depending
                on hls.
     
    -       On  some  color terminals, colors collide with highlights.
    +       On some color terminals, colors collide  with  highlights.
            You can register these collisions with the ncv capability.
    -       This  is a bit-mask of attributes not to be used when col-
    -       ors are enabled.  The correspondence with  the  attributes
    +       This is a bit-mask of attributes not to be used when  col-
    +       ors  are  enabled.  The correspondence with the attributes
            understood by curses is as follows:
     
               Attribute              Bit   Decimal      Set by
    @@ -2201,210 +2203,210 @@
               A_VERTICAL             14    16384        sgr1
               A_ITALIC               15    32768        sitm
     
    -       For  example,  on  many  IBM  PC  consoles,  the underline
    -       attribute collides with the foreground color blue  and  is
    -       not  available  in  color  mode.  These should have an ncv
    +       For example,  on  many  IBM  PC  consoles,  the  underline
    +       attribute  collides  with the foreground color blue and is
    +       not available in color mode.  These  should  have  an  ncv
            capability of 2.
     
    -       SVr4 curses does nothing with ncv, ncurses  recognizes  it
    +       SVr4  curses  does nothing with ncv, ncurses recognizes it
            and optimizes the output in favor of colors.
     
     
     

    Miscellaneous

    -       If  the terminal requires other than a null (zero) charac-
    -       ter as a pad, then this can be given  as  pad.   Only  the
    -       first  character of the pad string is used.  If the termi-
    +       If the terminal requires other than a null (zero)  charac-
    +       ter  as  a  pad,  then this can be given as pad.  Only the
    +       first character of the pad string is used.  If the  termi-
            nal does not have a pad character, specify npc.  Note that
    -       ncurses  implements  the  termcap-compatible  PC variable;
    -       though the application may set  this  value  to  something
    -       other  than  a  null,  ncurses will test npc first and use
    +       ncurses implements  the  termcap-compatible  PC  variable;
    +       though  the  application  may  set this value to something
    +       other than a null, ncurses will test  npc  first  and  use
            napms if the terminal has no pad character.
     
    -       If the terminal can move up or down half a line, this  can
    -       be  indicated  with  hu  (half-line  up) and hd (half-line
    +       If  the terminal can move up or down half a line, this can
    +       be indicated with hu  (half-line  up)  and  hd  (half-line
            down).  This is primarily useful for superscripts and sub-
    -       scripts  on  hard-copy terminals.  If a hard-copy terminal
    -       can eject to the next page (form feed), give  this  as  ff
    +       scripts on hard-copy terminals.  If a  hard-copy  terminal
    +       can  eject  to  the next page (form feed), give this as ff
            (usually control L).
     
    -       If  there is a command to repeat a given character a given
    -       number of times (to save time transmitting a large  number
    -       of  identical  characters)  this can be indicated with the
    -       parameterized string rep.   The  first  parameter  is  the
    -       character  to  be repeated and the second is the number of
    -       times to repeat it.  Thus, tparm(repeat_char, 'x', 10)  is
    +       If there is a command to repeat a given character a  given
    +       number  of times (to save time transmitting a large number
    +       of identical characters) this can be  indicated  with  the
    +       parameterized  string  rep.   The  first  parameter is the
    +       character to be repeated and the second is the  number  of
    +       times  to repeat it.  Thus, tparm(repeat_char, 'x', 10) is
            the same as "xxxxxxxxxx".
     
    -       If  the terminal has a settable command character, such as
    -       the TEKTRONIX 4025, this can be indicated with  cmdch.   A
    +       If the terminal has a settable command character, such  as
    +       the  TEKTRONIX  4025, this can be indicated with cmdch.  A
            prototype command character is chosen which is used in all
    -       capabilities.  This character is given in the cmdch  capa-
    -       bility  to  identify it.  The following convention is sup-
    -       ported on some UNIX systems:  The  environment  is  to  be
    -       searched  for a CC variable, and if found, all occurrences
    +       capabilities.   This character is given in the cmdch capa-
    +       bility to identify it.  The following convention  is  sup-
    +       ported  on  some  UNIX  systems:  The environment is to be
    +       searched for a CC variable, and if found, all  occurrences
            of the prototype character are replaced with the character
            in the environment variable.
     
    -       Terminal  descriptions  that  do  not represent a specific
    +       Terminal descriptions that do  not  represent  a  specific
            kind of known terminal, such as switch, dialup, patch, and
    -       network,  should  include  the  gn (generic) capability so
    -       that programs can complain that they do not  know  how  to
    -       talk  to the terminal.  (This capability does not apply to
    -       virtual  terminal  descriptions  for  which   the   escape
    +       network, should include the  gn  (generic)  capability  so
    +       that  programs  can  complain that they do not know how to
    +       talk to the terminal.  (This capability does not apply  to
    +       virtual   terminal   descriptions  for  which  the  escape
            sequences are known.)
     
    -       If  the  terminal  has  a "meta key" which acts as a shift
    -       key, setting the 8th bit  of  any  character  transmitted,
    -       this  fact  can be indicated with km.  Otherwise, software
    +       If the terminal has a "meta key" which  acts  as  a  shift
    +       key,  setting  the  8th  bit of any character transmitted,
    +       this fact can be indicated with km.   Otherwise,  software
            will assume that the 8th bit is parity and it will usually
    -       be  cleared.  If strings exist to turn this "meta mode" on
    +       be cleared.  If strings exist to turn this "meta mode"  on
            and off, they can be given as smm and rmm.
     
    -       If the terminal has more lines of memory than will fit  on
    -       the  screen  at once, the number of lines of memory can be
    -       indicated with lm.  A value of  lm#0  indicates  that  the
    +       If  the terminal has more lines of memory than will fit on
    +       the screen at once, the number of lines of memory  can  be
    +       indicated  with  lm.   A  value of lm#0 indicates that the
            number of lines is not fixed, but that there is still more
            memory than fits on the screen.
     
            If the terminal is one of those supported by the UNIX vir-
    -       tual  terminal  protocol, the terminal number can be given
    +       tual terminal protocol, the terminal number can  be  given
            as vt.
     
            Media copy strings which control an auxiliary printer con-
            nected to the terminal can be given as mc0: print the con-
    -       tents of the screen, mc4: turn off the printer,  and  mc5:
    -       turn  on  the  printer.   When the printer is on, all text
    -       sent to the terminal will be sent to the printer.   It  is
    +       tents  of  the screen, mc4: turn off the printer, and mc5:
    +       turn on the printer.  When the printer  is  on,  all  text
    +       sent  to  the terminal will be sent to the printer.  It is
            undefined whether the text is also displayed on the termi-
            nal screen when the printer is on.  A variation mc5p takes
            one parameter, and leaves the printer on for as many char-
    -       acters as the value  of  the  parameter,  then  turns  the
    -       printer  off.   The  parameter should not exceed 255.  All
    +       acters  as  the  value  of  the  parameter, then turns the
    +       printer off.  The parameter should not  exceed  255.   All
            text,  including  mc4,  is  transparently  passed  to  the
            printer while an mc5p is in effect.
     
     
     

    Glitches and Braindamage

    -       Hazeltine  terminals, which do not allow "~" characters to
    +       Hazeltine terminals, which do not allow "~" characters  to
            be displayed should indicate hz.
     
            Terminals which ignore a line-feed immediately after an am
            wrap, such as the Concept and vt100, should indicate xenl.
     
    -       If  el  is  required  to  get  rid of standout (instead of
    -       merely writing normal text on top of it),  xhp  should  be
    +       If el is required to  get  rid  of  standout  (instead  of
    +       merely  writing  normal  text on top of it), xhp should be
            given.
     
    -       Teleray  terminals,  where  tabs turn all characters moved
    -       over to blanks, should  indicate  xt  (destructive  tabs).
    -       Note:    the    variable    indicating    this    is   now
    -       "dest_tabs_magic_smso"; in older  versions,  it  was  tel-
    +       Teleray terminals, where tabs turn  all  characters  moved
    +       over  to  blanks,  should  indicate xt (destructive tabs).
    +       Note:   the    variable    indicating    this    is    now
    +       "dest_tabs_magic_smso";  in  older  versions,  it was tel-
            eray_glitch.  This glitch is also taken to mean that it is
    -       not possible to position the cursor on  top  of  a  "magic
    -       cookie",  that to erase standout mode it is instead neces-
    +       not  possible  to  position  the cursor on top of a "magic
    +       cookie", that to erase standout mode it is instead  neces-
            sary to use delete and insert line.  The ncurses implemen-
            tation ignores this glitch.
     
    -       The  Beehive Superbee, which is unable to correctly trans-
    -       mit the escape or control C characters, has xsb,  indicat-
    -       ing  that the f1 key is used for escape and f2 for control
    -       C.  (Only certain Superbees have this  problem,  depending
    -       on  the  ROM.)  Note that in older terminfo versions, this
    -       capability  was  called  "beehive_glitch";   it   is   now
    +       The Beehive Superbee, which is unable to correctly  trans-
    +       mit  the escape or control C characters, has xsb, indicat-
    +       ing that the f1 key is used for escape and f2 for  control
    +       C.   (Only  certain Superbees have this problem, depending
    +       on the ROM.)  Note that in older terminfo  versions,  this
    +       capability   was   called   "beehive_glitch";  it  is  now
            "no_esc_ctl_c".
     
    -       Other  specific  terminal  problems  may  be  corrected by
    +       Other specific  terminal  problems  may  be  corrected  by
            adding more capabilities of the form xx.
     
     
     

    Similar Terminals

            If there are two very similar terminals, one (the variant)
    -       can  be  defined  as  being just like the other (the base)
    -       with certain exceptions.  In the definition of  the  vari-
    -       ant,  the string capability use can be given with the name
    -       of the base terminal.  The capabilities given  before  use
    -       override  those  in  the base type named by use.  If there
    -       are multiple use capabilities, they are merged in  reverse
    -       order.   That is, the rightmost use reference is processed
    -       first, then the one to its left, and so forth.   Capabili-
    -       ties  given explicitly in the entry override those brought
    +       can be defined as being just like  the  other  (the  base)
    +       with  certain  exceptions.  In the definition of the vari-
    +       ant, the string capability use can be given with the  name
    +       of  the  base terminal.  The capabilities given before use
    +       override those in the base type named by  use.   If  there
    +       are  multiple use capabilities, they are merged in reverse
    +       order.  That is, the rightmost use reference is  processed
    +       first,  then the one to its left, and so forth.  Capabili-
    +       ties given explicitly in the entry override those  brought
            in by use references.
     
            A capability can be canceled by placing xx@ to the left of
    -       the  use  reference that imports it, where xx is the capa-
    +       the use reference that imports it, where xx is  the  capa-
            bility.  For example, the entry
     
                   2621-nl, smkx@, rmkx@, use=2621,
     
    -       defines a 2621-nl that does not  have  the  smkx  or  rmkx
    -       capabilities,  and hence does not turn on the function key
    -       labels when in visual mode.  This is useful for  different
    +       defines  a  2621-nl  that  does  not have the smkx or rmkx
    +       capabilities, and hence does not turn on the function  key
    +       labels  when in visual mode.  This is useful for different
            modes for a terminal, or for different user preferences.
     
     
     

    Pitfalls of Long Entries

    -       Long  terminfo  entries  are  unlikely to be a problem; to
    -       date, no entry has even  approached  terminfo's  4096-byte
    +       Long terminfo entries are unlikely to  be  a  problem;  to
    +       date,  no  entry  has even approached terminfo's 4096-byte
            string-table maximum.  Unfortunately, the termcap transla-
            tions are much more strictly limited (to 1023 bytes), thus
    -       termcap  translations  of  long terminfo entries can cause
    +       termcap translations of long terminfo  entries  can  cause
            problems.
     
    -       The man pages for 4.3BSD and  older  versions  of  tgetent
    -       instruct  the  user to allocate a 1024-byte buffer for the
    -       termcap entry.  The  entry  gets  null-terminated  by  the
    +       The  man  pages  for  4.3BSD and older versions of tgetent
    +       instruct the user to allocate a 1024-byte buffer  for  the
    +       termcap  entry.   The  entry  gets  null-terminated by the
            termcap library, so that makes the maximum safe length for
    -       a termcap entry 1k-1 (1023) bytes.  Depending on what  the
    -       application  and  the termcap library being used does, and
    -       where in the termcap file the terminal type  that  tgetent
    +       a  termcap entry 1k-1 (1023) bytes.  Depending on what the
    +       application and the termcap library being used  does,  and
    +       where  in  the termcap file the terminal type that tgetent
            is searching for is, several bad things can happen.
     
    -       Some  termcap libraries print a warning message or exit if
    -       they find an entry that's longer than 1023  bytes;  others
    -       do  not;  others truncate the entries to 1023 bytes.  Some
    +       Some termcap libraries print a warning message or exit  if
    +       they  find  an entry that's longer than 1023 bytes; others
    +       do not; others truncate the entries to 1023  bytes.   Some
            application programs allocate more than the recommended 1K
            for the termcap entry; others do not.
     
            Each termcap entry has two important sizes associated with
            it: before "tc" expansion, and after "tc" expansion.  "tc"
    -       is  the  capability that tacks on another termcap entry to
    -       the end of the current one, to add  on  its  capabilities.
    -       If  a termcap entry does not use the "tc" capability, then
    +       is the capability that tacks on another termcap  entry  to
    +       the  end  of  the current one, to add on its capabilities.
    +       If a termcap entry does not use the "tc" capability,  then
            of course the two lengths are the same.
     
    -       The "before tc expansion" length  is  the  most  important
    -       one,  because it affects more than just users of that par-
    -       ticular terminal.  This is the length of the entry  as  it
    +       The  "before  tc  expansion"  length is the most important
    +       one, because it affects more than just users of that  par-
    +       ticular  terminal.   This is the length of the entry as it
            exists in /etc/termcap, minus the backslash-newline pairs,
    -       which tgetent strips out while reading it.   Some  termcap
    -       libraries  strip  off  the final newline, too (GNU termcap
    +       which  tgetent  strips out while reading it.  Some termcap
    +       libraries strip off the final newline,  too  (GNU  termcap
            does not).  Now suppose:
     
    -       o   a termcap entry before expansion  is  more  than  1023
    +       o   a  termcap  entry  before  expansion is more than 1023
                bytes long,
     
            o   and the application has only allocated a 1k buffer,
     
    -       o   and  the  termcap  library (like the one in BSD/OS 1.1
    -           and GNU) reads the whole entry  into  the  buffer,  no
    -           matter  what  its length, to see if it is the entry it
    +       o   and the termcap library (like the one  in  BSD/OS  1.1
    +           and  GNU)  reads  the  whole entry into the buffer, no
    +           matter what its length, to see if it is the  entry  it
                wants,
     
    -       o   and tgetent is searching  for  a  terminal  type  that
    -           either  is the long entry, appears in the termcap file
    -           after the long entry, or does not appear in  the  file
    -           at  all (so that tgetent has to search the whole term-
    +       o   and  tgetent  is  searching  for  a terminal type that
    +           either is the long entry, appears in the termcap  file
    +           after  the  long entry, or does not appear in the file
    +           at all (so that tgetent has to search the whole  term-
                cap file).
     
            Then tgetent will overwrite memory, perhaps its stack, and
    -       probably  core dump the program.  Programs like telnet are
    -       particularly vulnerable; modern telnets pass along  values
    -       like  the  terminal  type  automatically.  The results are
    -       almost as undesirable with a termcap library,  like  SunOS
    +       probably core dump the program.  Programs like telnet  are
    +       particularly  vulnerable; modern telnets pass along values
    +       like the terminal type  automatically.   The  results  are
    +       almost  as  undesirable with a termcap library, like SunOS
            4.1.3 and Ultrix 4.4, that prints warning messages when it
    -       reads an overly long termcap entry.  If a termcap  library
    -       truncates  long  entries,  like OSF/1 3.0, it is immune to
    -       dying here but will return incorrect data for  the  termi-
    +       reads  an overly long termcap entry.  If a termcap library
    +       truncates long entries, like OSF/1 3.0, it  is  immune  to
    +       dying  here  but will return incorrect data for the termi-
            nal.
     
            The "after tc expansion" length will have a similar effect
    @@ -2414,27 +2416,27 @@
            while searching.
     
            In summary, a termcap entry that is longer than 1023 bytes
    -       can cause, on various combinations  of  termcap  libraries
    -       and  applications,  a  core  dump,  warnings, or incorrect
    -       operation.  If it is too long even before "tc"  expansion,
    +       can  cause,  on  various combinations of termcap libraries
    +       and applications, a  core  dump,  warnings,  or  incorrect
    +       operation.   If it is too long even before "tc" expansion,
            it will have this effect even for users of some other ter-
    -       minal types and users whose TERM variable does not have  a
    +       minal  types and users whose TERM variable does not have a
            termcap entry.
     
            When in -C (translate to termcap) mode, the ncurses imple-
            mentation of tic(1m) issues warning messages when the pre-
    -       tc  length  of  a termcap translation is too long.  The -c
    -       (check) option also checks resolved (after  tc  expansion)
    +       tc length of a termcap translation is too  long.   The  -c
    +       (check)  option  also checks resolved (after tc expansion)
            lengths.
     
     
     

    Binary Compatibility

    -       It  is not wise to count on portability of binary terminfo
    -       entries between commercial UNIX versions.  The problem  is
    -       that  there  are  at least two versions of terminfo (under
    +       It is not wise to count on portability of binary  terminfo
    +       entries  between commercial UNIX versions.  The problem is
    +       that there are at least two versions  of  terminfo  (under
            HP-UX and AIX) which diverged from System V terminfo after
    -       SVr1,  and have added extension capabilities to the string
    -       table that (in the binary format) collide  with  System  V
    +       SVr1, and have added extension capabilities to the  string
    +       table  that  (in  the binary format) collide with System V
            and XSI Curses extensions.
     
     
    @@ -2442,66 +2444,66 @@
            Searching for terminal descriptions in $HOME/.terminfo and
            TERMINFO_DIRS is not supported by older implementations.
     
    -       Some SVr4 curses  implementations,  and  all  previous  to
    -       SVr4,  do not interpret the %A and %O operators in parame-
    +       Some  SVr4  curses  implementations,  and  all previous to
    +       SVr4, do not interpret the %A and %O operators in  parame-
            ter strings.
     
    -       SVr4/XPG4 do not specify whether  msgr  licenses  movement
    -       while  in an alternate-character-set mode (such modes may,
    -       among other things, map CR and NL to  characters  that  do
    -       not  trigger  local  motions).  The ncurses implementation
    -       ignores msgr in ALTCHARSET mode.  This raises  the  possi-
    -       bility  that  an  XPG4  implementation making the opposite
    -       interpretation may need terminfo entries made for  ncurses
    +       SVr4/XPG4  do  not  specify whether msgr licenses movement
    +       while in an alternate-character-set mode (such modes  may,
    +       among  other  things,  map CR and NL to characters that do
    +       not trigger local motions).   The  ncurses  implementation
    +       ignores  msgr  in ALTCHARSET mode.  This raises the possi-
    +       bility that an XPG4  implementation  making  the  opposite
    +       interpretation  may need terminfo entries made for ncurses
            to have msgr turned off.
     
    -       The  ncurses  library handles insert-character and insert-
    +       The ncurses library handles insert-character  and  insert-
            character modes in a slightly non-standard way to get bet-
    -       ter  update  efficiency.   See the Insert/Delete Character
    +       ter update efficiency.  See  the  Insert/Delete  Character
            subsection above.
     
    -       The  parameter  substitutions  for  set_clock   and   dis-
    -       play_clock  are  not  documented in SVr4 or the XSI Curses
    +       The   parameter   substitutions  for  set_clock  and  dis-
    +       play_clock are not documented in SVr4 or  the  XSI  Curses
            standard.  They are deduced from the documentation for the
            AT&T 505 terminal.
     
    -       Be  careful  assigning  the kmous capability.  The ncurses
    -       wants to interpret it as KEY_MOUSE, for use  by  terminals
    -       and  emulators  like  xterm that can return mouse-tracking
    +       Be careful assigning the kmous  capability.   The  ncurses
    +       wants  to  interpret it as KEY_MOUSE, for use by terminals
    +       and emulators like xterm that  can  return  mouse-tracking
            information in the keyboard-input stream.
     
            X/Open Curses does not mention italics.  Portable applica-
    -       tions  must  assume  that  numeric capabilities are signed
    -       16-bit values.  This  includes  the  no_color_video  (ncv)
    -       capability.   The  32768  mask value used for italics with
    -       ncv can be confused with an absent or cancelled  ncv.   If
    -       italics  should  work with colors, then the ncv value must
    +       tions must assume that  numeric  capabilities  are  signed
    +       16-bit  values.   This  includes  the no_color_video (ncv)
    +       capability.  The 32768 mask value used  for  italics  with
    +       ncv  can  be confused with an absent or cancelled ncv.  If
    +       italics should work with colors, then the ncv  value  must
            be specified, even if it is zero.
     
    -       Different commercial ports of terminfo and curses  support
    -       different  subsets of the XSI Curses standard and (in some
    +       Different  commercial ports of terminfo and curses support
    +       different subsets of the XSI Curses standard and (in  some
            cases) different extension sets.  Here is a summary, accu-
            rate as of October 1995:
     
            SVR4, Solaris, ncurses -- These support all SVr4 capabili-
            ties.
     
    -       SGI --  Supports  the  SVr4  set,  adds  one  undocumented
    +       SGI  --  Supports  the  SVr4  set,  adds  one undocumented
            extended string capability (set_pglen).
     
    -       SVr1,  Ultrix -- These support a restricted subset of ter-
    -       minfo capabilities.  The booleans end with  xon_xoff;  the
    -       numerics  with  width_status_line;  and  the  strings with
    +       SVr1, Ultrix -- These support a restricted subset of  ter-
    +       minfo  capabilities.   The booleans end with xon_xoff; the
    +       numerics with  width_status_line;  and  the  strings  with
            prtr_non.
     
    -       HP/UX -- Supports  the  SVr1  subset,  plus  the  SVr[234]
    +       HP/UX  --  Supports  the  SVr1  subset,  plus the SVr[234]
            numerics num_labels, label_height, label_width, plus func-
    -       tion keys 11 through 63,  plus  plab_norm,  label_on,  and
    +       tion  keys  11  through  63, plus plab_norm, label_on, and
            label_off, plus some incompatible extensions in the string
            table.
     
    -       AIX -- Supports the SVr1 subset,  plus  function  keys  11
    -       through  63,  plus  a  number of incompatible string table
    +       AIX  --  Supports  the  SVr1 subset, plus function keys 11
    +       through 63, plus a number  of  incompatible  string  table
            extensions.
     
            OSF -- Supports both the SVr4 set and the AIX extensions.
    @@ -2518,7 +2520,7 @@
     
     
     

    AUTHORS

    -       Zeyd M. Ben-Halim, Eric  S.  Raymond,  Thomas  E.  Dickey.
    +       Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
            Based on pcurses by Pavel Curtis.
     
     
    diff --git a/doc/html/man/tic.1m.html b/doc/html/man/tic.1m.html
    index dab60378..6eb747a3 100644
    --- a/doc/html/man/tic.1m.html
    +++ b/doc/html/man/tic.1m.html
    @@ -401,7 +401,7 @@
            infocmp(1m),   captoinfo(1m),   infotocap(1m),    toe(1m),
            curses(3x), term(5).  terminfo(5).
     
    -       This describes ncurses version 6.0 (patch 20161231).
    +       This describes ncurses version 6.0 (patch 20170107).
     
     
     

    AUTHOR

    diff --git a/doc/html/man/toe.1m.html b/doc/html/man/toe.1m.html
    index f027a794..9d522d74 100644
    --- a/doc/html/man/toe.1m.html
    +++ b/doc/html/man/toe.1m.html
    @@ -117,7 +117,7 @@
            tic(1m),   infocmp(1m),   captoinfo(1m),    infotocap(1m),
            curses(3x), terminfo(5).
     
    -       This describes ncurses version 6.0 (patch 20161231).
    +       This describes ncurses version 6.0 (patch 20170107).
     
     
     
    diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html
    index 858b9a59..dfb4c6a8 100644
    --- a/doc/html/man/tput.1.html
    +++ b/doc/html/man/tput.1.html
    @@ -1,7 +1,7 @@
     
     
     
    @@ -107,7 +107,7 @@
     
                   Again, tput uses a table and the presence of param-
                   eters  in  its  input  to  decide  whether  to  use
    -              tparm(3x), and how to interpret the parameters.
    +              tparm(3x), and how to interpret the parameters.
     
            -V     reports the version of ncurses which  was  used  in
                   this program, and exits.
    @@ -126,7 +126,7 @@
                   Most  parameters  are numbers.  Only a few terminfo
                   capabilities require string parameters; tput uses a
                   table to decide which to pass as strings.  Normally
    -              tput uses tparm(3x) to  perform  the  substitution.
    +              tput uses tparm(3x) to  perform  the  substitution.
                   If no parameters are given for the capability, tput
                   writes the string without performing the  substitu-
                   tion.
    @@ -135,30 +135,72 @@
                   for the user's terminal exists (see -Ttype, above),
                   the following will occur:
     
    -              (1)  if   present,  the  terminal's  initialization
    -                   strings will be output as detailed in the ter-
    -                   minfo(5) section on Tabs and Initialization,
    +              (1)  first,  tput  retrieves  the  current terminal
    +                   mode settings for your terminal.  It does this
    +                   by successively testing
    +
    +                   o   the standard error,
    +
    +                   o   standard output,
    +
    +                   o   standard input and
    +
    +                   o   ultimately "/dev/tty"
     
    -              (2)  any  delays  (e.g.,  newline) specified in the
    -                   entry will be set in the tty driver,
    +                   to obtain terminal settings.  Having retrieved
    +                   these  settings,  tput  remembers  which  file
    +                   descriptor to use when updating settings.
     
    -              (3)  tabs  expansion  will  be  turned  on  or  off
    -                   according  to  the specification in the entry,
    -                   and
    +              (2)  if the window size cannot be obtained from the
    +                   operating system, but the terminal description
    +                   (or environment, e.g., LINES and COLUMNS vari-
    +                   ables specify this), update the operating sys-
    +                   tem's notion of the window size.
    +
    +              (3)  the terminal modes will be updated:
    +
    +                   o   any  delays  (e.g.,  newline) specified in
    +                       the entry will be set in the tty driver,
    +
    +                   o   tabs expansion will be turned  on  or  off
    +                       according  to  the  specification  in  the
    +                       entry, and
    +
    +                   o   if tabs are not  expanded,  standard  tabs
    +                       will be set (every 8 spaces).
    +
    +              (4)  if   present,  the  terminal's  initialization
    +                   strings will be output as detailed in the ter-
    +                   minfo(5) section on Tabs and Initialization,
     
    -              (4)  if tabs are not expanded, standard  tabs  will
    -                   be set (every 8 spaces).
    +              (5)  output is flushed.
     
                   If an entry does not contain the information needed
                   for any of these  activities,  that  activity  will
                   silently be skipped.
     
    -       reset  Instead  of putting out initialization strings, the
    -              terminal's reset strings will be output if  present
    -              (rs1,  rs2, rs3, rf).  If the reset strings are not
    -              present, but initialization strings are,  the  ini-
    -              tialization  strings  will  be  output.  Otherwise,
    -              reset acts identically to init.
    +       reset  This is similar to init, with two differences:
    +
    +              (1)  before  any other initialization, the terminal
    +                   modes will be reset to a "sane" state:
    +
    +                   o   set cooked and echo modes,
    +
    +                   o   turn off cbreak and raw modes,
    +
    +                   o   turn on newline translation and
    +
    +                   o   reset  any  unset  special  characters  to
    +                       their default values
    +
    +              (2)  Instead of putting out initialization strings,
    +                   the terminal's reset strings will be output if
    +                   present  (rs1,  rs2,  rs3,  rf).  If the reset
    +                   strings are not  present,  but  initialization
    +                   strings  are,  the initialization strings will
    +                   be output.
    +
    +              Otherwise, reset acts identically to init.
     
            longname
                   If the terminfo database is present  and  an  entry
    @@ -194,22 +236,39 @@
                because of this  difference  with  resetting  terminal
                modes and special characters.
     
    +       With  the  changes made for ncurses 6.1, the reset feature
    +       of the two programs is (mostly) the same.  A  few  differ-
    +       ences remain:
    +
    +       o   The  tset  program waits one second when resetting, in
    +           case it happens to be a hardware terminal.
    +
    +       o   The two programs  write  the  terminal  initialization
    +           strings  to  different  streams  (i.e.,.  the standard
    +           error for tset and the standard output for tput).
    +
    +           Note:  although  these  programs  write  to  different
    +           streams,  redirecting their output to a file will cap-
    +           ture only part of their actions.  The changes  to  the
    +           terminal  modes  are  not  affected by redirecting the
    +           output.
    +
            If tput is invoked by a link named init, this has the same
    -       effect as tput init.  Again, you are less  likely  to  use
    -       that  link  because  another program named init has a more
    +       effect  as  tput  init.  Again, you are less likely to use
    +       that link because another program named init  has  a  more
            well-established use.
     
     
     

    EXAMPLES

            tput init
                 Initialize the terminal according to the type of ter-
    -            minal  in the environmental variable TERM.  This com-
    -            mand should be included in everyone's .profile  after
    +            minal in the environmental variable TERM.  This  com-
    +            mand  should be included in everyone's .profile after
                 the environmental variable TERM has been exported, as
                 illustrated on the profile(5) manual page.
     
            tput -T5620 reset
    -            Reset an AT&T 5620 terminal, overriding the  type  of
    +            Reset  an  AT&T 5620 terminal, overriding the type of
                 terminal in the environmental variable TERM.
     
            tput cup 0 0
    @@ -230,16 +289,16 @@
            bold=`tput smso` offbold=`tput rmso`
                 Set the shell variables bold, to begin stand-out mode
                 sequence, and offbold, to end standout mode sequence,
    -            for the current terminal.  This might be followed  by
    -            a  prompt:  echo  "${bold}Please  type  in your name:
    +            for  the current terminal.  This might be followed by
    +            a prompt: echo  "${bold}Please  type  in  your  name:
                 ${offbold}\c"
     
            tput hc
    -            Set exit code to indicate if the current terminal  is
    +            Set  exit code to indicate if the current terminal is
                 a hard copy terminal.
     
            tput cup 23 4
    -            Send  the sequence to move the cursor to row 23, col-
    +            Send the sequence to move the cursor to row 23,  col-
                 umn 4.
     
            tput cup
    @@ -247,8 +306,8 @@
                 parameters substituted.
     
            tput longname
    -            Print  the  long  name from the terminfo database for
    -            the type of terminal specified in  the  environmental
    +            Print the long name from the  terminfo  database  for
    +            the  type  of terminal specified in the environmental
                 variable TERM.
     
                 tput -S <<!
    @@ -257,10 +316,10 @@
                 > bold
                 > !
     
    -            This  example shows tput processing several capabili-
    -            ties 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
    +            This example shows tput processing several  capabili-
    +            ties  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 (!) on a line by itself.
     
     
    @@ -270,44 +329,44 @@
     
            /usr/share/tabset/*
                   tab settings for some terminals, in a format appro-
    -              priate  to  be  output  to  the  terminal   (escape
    -              sequences  that  set  margins  and  tabs); for more
    -              information, see the Tabs and Initialization,  sec-
    +              priate   to  be  output  to  the  terminal  (escape
    +              sequences that set  margins  and  tabs);  for  more
    +              information,  see the Tabs and Initialization, sec-
                   tion of terminfo(5)
     
     
     

    EXIT CODES

            If the -S option is used, tput checks for errors from each
    -       line, and if any errors are found, will set the exit  code
    -       to  4  plus the number of lines with errors.  If no errors
    -       are found, the exit code is 0.   No  indication  of  which
    +       line,  and if any errors are found, will set the exit code
    +       to 4 plus the number of lines with errors.  If  no  errors
    +       are  found,  the  exit  code is 0.  No indication of which
            line failed can be given so exit code 1 will never appear.
    -       Exit codes 2, 3, and 4 retain their usual  interpretation.
    +       Exit  codes 2, 3, and 4 retain their usual interpretation.
            If the -S option is not used, the exit code depends on the
            type of capname:
     
               boolean
                      a value of 0 is set for TRUE and 1 for FALSE.
     
    -          string a value of 0 is set if the  capname  is  defined
    -                 for  this terminal type (the value of capname is
    -                 returned on standard output); a value  of  1  is
    -                 set  if capname is not defined for this terminal
    +          string a  value  of  0 is set if the capname is defined
    +                 for this terminal type (the value of capname  is
    +                 returned  on  standard  output); a value of 1 is
    +                 set if capname is not defined for this  terminal
                      type (nothing is written to standard output).
     
               integer
    -                 a value of 0 is always set, whether or not  cap-
    -                 name  is  defined  for  this  terminal type.  To
    -                 determine if capname is defined for this  termi-
    -                 nal  type,  the user must test the value written
    -                 to standard output.  A value of  -1  means  that
    +                 a  value of 0 is always set, whether or not cap-
    +                 name is defined  for  this  terminal  type.   To
    +                 determine  if capname is defined for this termi-
    +                 nal type, the user must test the  value  written
    +                 to  standard  output.   A value of -1 means that
                      capname is not defined for this terminal type.
     
    -          other  reset  or init may fail to find their respective
    -                 files.  In that case, the exit code is set to  4
    +          other  reset or init may fail to find their  respective
    +                 files.   In that case, the exit code is set to 4
                      + errno.
     
    -       Any  other  exit code indicates an error; see the DIAGNOS-
    +       Any other exit code indicates an error; see  the  DIAGNOS-
            TICS section.
     
     
    @@ -317,8 +376,8 @@
     
            exit code   error message
            ---------------------------------------------------------------------
    -       0           (capname  is a numeric variable that is not specified in
    -                   the terminfo(5) database for this  terminal  type,  e.g.
    +       0           (capname is a numeric variable that is not specified  in
    +                   the  terminfo(5)  database  for this terminal type, e.g.
                        tput -T450 lines and tput -T2621 xmc)
            1           no error message is printed, see the EXIT CODES section.
            2           usage error
    @@ -329,119 +388,119 @@
     
     
     

    HISTORY

    -       The  tput command was begun by Bill Joy in 1980.  The ini-
    +       The tput command was begun by Bill Joy in 1980.  The  ini-
            tial version only cleared the screen.
     
    -       AT&T System V provided a  different  tput  command,  whose
    -       init  and  reset  subcommands (more than half the program)
    +       AT&T  System  V  provided  a different tput command, whose
    +       init and reset  subcommands (more than half  the  program)
            were incorporated from the reset feature of BSD tset writ-
    -       ten  by  Eric Allman.  Later the corresponding source code
    -       for reset was removed from the BSD  tset  (in  June  1993,
    +       ten by Eric Allman.  Later the corresponding  source  code
    +       for  reset  was  removed  from the BSD tset (in June 1993,
            released in 4.4BSD-Lite a year later).
     
    -       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 termcap  names  for  other
    -       capabilities.   Also, Bostic's BSD tput did not modify the
    +       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 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.
     
    -       At the same  time,  Bostic  added  a  shell  script  named
    +       At  the  same  time,  Bostic  added  a  shell script named
            "clear", which used tput 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 tput.
     
     
     

    PORTABILITY

    -       This implementation of tput differs from AT&T tput in  two
    +       This  implementation of tput differs from AT&T tput in two
            important areas:
     
            o   tput capname writes to the standard output.  That need
    -           not be a regular terminal.  However,  the  subcommands
    -           which  manipulate terminal modes may not use the stan-
    +           not  be  a regular terminal.  However, the subcommands
    +           which manipulate terminal modes may not use the  stan-
                dard output.
     
    -           The AT&T implementation's init and reset commands  use
    +           The  AT&T implementation's init and reset commands use
                the BSD (4.1c) tset source, which manipulates terminal
    -           modes.  It successively tries standard  output,  stan-
    -           dard  error,  standard  input  before  falling back to
    +           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
    +           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 tset).  If it is  not  able
    -           to  open  a terminal, e.g., when running in cron, tput
    +           scheme, using functions shared with  tset  (and  ulti-
    +           mately  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.
     
    -       o   AT&T tput guesses the type of its capname operands  by
    +       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
    +           operands  use  the tparm function to expand parameters
                in it.  That function expects a mixture of numeric and
    -           string parameters, requiring tput to know  which  type
    +           string  parameters,  requiring tput to know which type
                to use.
     
    -           This  implementation  uses  a  table  to determine the
    +           This implementation uses  a  table  to  determine  the
                parameter types for the standard capname operands, and
    -           an  internal  library  function to analyze nonstandard
    +           an internal library function  to  analyze  nonstandard
                capname operands.
     
    -       The longname and -S options, and  the  parameter-substitu-
    -       tion  features used in the cup example, were not supported
    -       in BSD curses before 4.3reno (1989) or in AT&T/USL  curses
    +       The  longname  and -S options, and the parameter-substitu-
    +       tion 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.  There are a few interesting observations
    +       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
    +       o   In  this  implementation, clear is part of the capname
                support.  The others (init and longname) do not corre-
                spond 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 provide support for capname  op-
    +       o   Other  implementations  of  tput on SVr4-based systems
    +           such as Solaris, IRIX64 and HPUX  as  well  as  others
    +           such  as AIX and Tru64 provide support for capname op-
                erands.
     
    -       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  FreeBSD)
    +       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 FreeBSD)
                recognized termcap names.
     
    -       Because  (apparently)  all  of  the certified Unix systems
    -       support the full set of capability  names,  the  reasoning
    +       Because (apparently) all of  the  certified  Unix  systems
    +       support  the  full  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 the other features used in this  implemen-
    +           capname  and the other features used in this implemen-
                tation.
     
    -       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
    +       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
    +           curses implementation provide  a  tput  utility  which
                does not provide the capname feature.
     
     
     

    SEE ALSO

    -       clear(1),   stty(1),   tabs(1),   tset(1),    terminfo(5),
    +       clear(1),    stty(1),   tabs(1),   tset(1),   terminfo(5),
            curs_termcap(3x).
     
    -       This describes ncurses version 6.0 (patch 20161231).
    +       This describes ncurses version 6.0 (patch 20170107).
     
     
     
    diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html
    index 44c0c83e..5aab841a 100644
    --- a/doc/html/man/tset.1.html
    +++ b/doc/html/man/tset.1.html
    @@ -1,6 +1,6 @@
     
     
     
    @@ -99,35 +99,66 @@
            ("?"), the user is prompted for confirmation of the termi-
            nal  type.   An  empty  response  confirms  the  type, or,
            another type can be entered to specify a new  type.   Once
    -       the  terminal type has been determined, the terminfo entry
    -       for the terminal is retrieved.  If no  terminfo  entry  is
    -       found  for the type, the user is prompted for another ter-
    -       minal type.
    +       the  terminal  type  has  been  determined,  the  terminal
    +       description for the terminal is retrieved.  If no terminal
    +       description  is  found  for the type, the user is prompted
    +       for another terminal type.
     
    -       Once the terminfo entry is  retrieved,  the  window  size,
    -       backspace,  interrupt and line kill characters (among many
    -       other things) are set and the terminal and tab initializa-
    -       tion  strings  are  sent  to  the  standard  error output.
    -       Finally, if the erase, interrupt and line kill  characters
    -       have  changed,  or  are  not  set to their default values,
    -       their values are displayed to the standard error output.
    +       Once the terminal description is retrieved,
    +
    +       o   if the "-w" option is enabled,  tset  may  update  the
    +           terminal's window size.
    +
    +           If the window size cannot be obtained from the operat-
    +           ing system, but the terminal description (or  environ-
    +           ment, e.g., LINES and COLUMNS variables specify this),
    +           use this to set the operating system's notion  of  the
    +           window size.
    +
    +       o   if  the  "-c" option is enabled, the backspace, inter-
    +           rupt  and  line  kill  characters  (among  many  other
    +           things) are set
    +
    +       o   unless  the  "-I"  option is enabled, the terminal and
    +           tab initialization strings are sent  to  the  standard
    +           error  output,  and  tset  waits one second (in case a
    +           hardware reset was issued).
    +
    +       o   Finally, if the erase, interrupt and line kill charac-
    +           ters  have  changed,  or  are not set to their default
    +           values, their values are  displayed  to  the  standard
    +           error output.
     
     
     

    reset - reinitialization

    -       When invoked as reset, tset sets cooked  and  echo  modes,
    -       turns  off cbreak and raw modes, turns on newline transla-
    -       tion and resets any  unset  special  characters  to  their
    -       default  values  before  doing the terminal initialization
    -       described above.  This is  useful  after  a  program  dies
    -       leaving  a  terminal  in an abnormal state.  Note, you may
    -       have to type
    +       When  invoked  as  reset,  tset sets the terminal modes to
    +       "sane" values:
    +
    +       o   sets cooked and echo modes,
    +
    +       o   turns off cbreak and raw modes,
    +
    +       o   turns on newline translation and
    +
    +       o   resets any unset special characters to  their  default
    +           values
    +
    +       before  doing the terminal initialization described above.
    +       Also,  rather  than  using  the  terminal   initialization
    +       strings, it uses the terminal reset strings.
    +
    +       The reset command is useful after a program dies leaving a
    +       terminal in an abnormal state:
    +
    +       o   you may have to type
    +
    +               <LF>reset<LF>
     
    -           <LF>reset<LF>
    +           (the line-feed character is normally control-J) to get
    +           the terminal to work, as carriage-return may no longer
    +           work in the abnormal state.
     
    -       (the line-feed character is normally control-J) to get the
    -       terminal to work, as carriage-return may no longer work in
    -       the abnormal state.  Also, the  terminal  will  often  not
    -       echo the command.
    +       o   Also, the terminal will often not echo the command.
     
     
     

    OPTIONS

    @@ -144,51 +175,51 @@
     
            -k   Set the line kill character to ch.
     
    -       -m   Specify a mapping from a port  type  to  a  terminal.
    +       -m   Specify  a  mapping  from  a port type to a terminal.
                 See the section TERMINAL TYPE MAPPING for more infor-
                 mation.
     
    -       -Q   Do not display any values for  the  erase,  interrupt
    +       -Q   Do  not  display  any values for the erase, interrupt
                 and line kill characters.  Normally tset displays the
    -            values for control characters which differ  from  the
    +            values  for  control characters which differ from the
                 system's default values.
     
    -       -q   The  terminal  type is displayed to the standard out-
    -            put, and the terminal is not initialized in any  way.
    +       -q   The terminal type is displayed to the  standard  out-
    +            put,  and the terminal is not initialized in any way.
                 The option "-" by itself is equivalent but archaic.
     
            -r   Print the terminal type to the standard error output.
     
    -       -s   Print  the  sequence  of shell commands to initialize
    +       -s   Print the sequence of shell  commands  to  initialize
                 the environment variable TERM to the standard output.
                 See the section SETTING THE ENVIRONMENT for details.
     
            -V   reports the version of ncurses which was used in this
                 program, and exits.
     
    -       -w   Resize the window  to  match  the  size  deduced  via
    -            setupterm.   Normally  this  has  no  effect,  unless
    +       -w   Resize  the  window  to  match  the  size deduced via
    +            setupterm(3x).  Normally this has no  effect,  unless
                 setupterm is not able to detect the window size.
     
            The arguments for the -e, -i, and -k options may either be
    -       entered  as  actual characters or by using the "hat" nota-
    +       entered as actual characters or by using the  "hat"  nota-
            tion, i.e., control-h may be specified as "^H" or "^h".
     
            If neither -c or -w is given, both options are assumed.
     
     
     

    SETTING THE ENVIRONMENT

    -       It is often desirable  to  enter  the  terminal  type  and
    -       information  about  the  terminal's  capabilities into the
    +       It  is  often  desirable  to  enter  the terminal type and
    +       information about the  terminal's  capabilities  into  the
            shell's environment.  This is done using the -s option.
     
            When the -s option is specified, the commands to enter the
    -       information  into  the  shell's environment are written to
    -       the standard output.  If the SHELL environmental  variable
    -       ends  in  "csh", the commands are for csh, otherwise, they
    -       are for sh.  Note, the csh  commands  set  and  unset  the
    -       shell  variable  noglob,  leaving it unset.  The following
    -       line in the .login or .profile files will  initialize  the
    +       information into the shell's environment  are  written  to
    +       the  standard output.  If the SHELL environmental variable
    +       ends in "csh", the commands are for csh,  otherwise,  they
    +       are  for  sh.   Note,  the  csh commands set and unset the
    +       shell variable noglob, leaving it  unset.   The  following
    +       line  in  the .login or .profile files will initialize the
            environment correctly:
     
                eval `tset -s options ... `
    @@ -197,74 +228,75 @@
     

    TERMINAL TYPE MAPPING

            When the terminal is not hardwired into the system (or the
            current system information is incorrect) the terminal type
    -       derived  from the /etc/ttys file or the TERM environmental
    -       variable is often something generic like network,  dialup,
    -       or  unknown.   When tset is used in a startup script it is
    -       often desirable to provide information about the  type  of
    +       derived from the /etc/ttys file or the TERM  environmental
    +       variable  is often something generic like network, dialup,
    +       or unknown.  When tset is used in a startup script  it  is
    +       often  desirable  to provide information about the type of
            terminal used on such ports.
     
    -       The  -m options maps from some set of conditions to a ter-
    -       minal type, that is, to tell tset "If I'm on this port  at
    -       a  particular speed, guess that I'm on that kind of termi-
    +       The -m options maps from some set of conditions to a  ter-
    +       minal  type, that is, to tell tset "If I'm on this port at
    +       a particular speed, guess that I'm on that kind of  termi-
            nal".
     
            The argument to the -m option consists of an optional port
            type, an optional operator, an optional baud rate specifi-
    -       cation, an optional colon (":") character and  a  terminal
    -       type.   The port type is a string (delimited by either the
    +       cation,  an  optional colon (":") character and a terminal
    +       type.  The port type is a string (delimited by either  the
            operator or the colon character).  The operator may be any
    -       combination  of  ">", "<", "@", and "!"; ">" means greater
    -       than, "<" means less than, "@"  means  equal  to  and  "!"
    +       combination of ">", "<", "@", and "!"; ">"  means  greater
    +       than,  "<"  means  less  than,  "@" means equal to and "!"
            inverts the sense of the test.  The baud rate is specified
            as a number and is compared with the speed of the standard
    -       error  output (which should be the control terminal).  The
    +       error output (which should be the control terminal).   The
            terminal type is a string.
     
            If the terminal type is not specified on the command line,
    -       the  -m mappings are applied to the terminal type.  If the
    -       port type and baud rate match the  mapping,  the  terminal
    -       type  specified  in the mapping replaces the current type.
    -       If more than one mapping is specified, the first  applica-
    +       the -m mappings are applied to the terminal type.  If  the
    +       port  type  and  baud rate match the mapping, the terminal
    +       type specified in the mapping replaces the  current  type.
    +       If  more than one mapping is specified, the first applica-
            ble mapping is used.
     
    -       For    example,    consider    the    following   mapping:
    +       For   example,    consider    the    following    mapping:
            dialup>9600:vt100.  The port type is dialup , the operator
    -       is  >, the baud rate specification is 9600, and the termi-
    +       is >, the baud rate specification is 9600, and the  termi-
            nal type is vt100.  The result of this mapping is to spec-
            ify that if the terminal type is dialup, and the baud rate
    -       is greater than 9600 baud, a terminal type of  vt100  will
    +       is  greater  than 9600 baud, a terminal type of vt100 will
            be used.
     
            If no baud rate is specified, the terminal type will match
            any baud rate.  If no port type is specified, the terminal
    -       type   will   match   any  port  type.   For  example,  -m
    +       type  will  match  any  port  type.    For   example,   -m
            dialup:vt100  -m  :?xterm  will  cause  any  dialup  port,
            regardless of baud rate, to match the terminal type vt100,
    -       and any non-dialup port type to match  the  terminal  type
    -       ?xterm.   Note,  because of the leading question mark, the
    -       user will be queried on a default port as to whether  they
    +       and  any  non-dialup  port type to match the terminal type
    +       ?xterm.  Note, because of the leading question  mark,  the
    +       user  will be queried on a default port as to whether they
            are actually using an xterm terminal.
     
    -       No  whitespace  characters  are permitted in the -m option
    -       argument.  Also, to avoid problems  with  meta-characters,
    -       it  is  suggested  that  the  entire -m option argument be
    -       placed within single quote characters, and that csh  users
    -       insert  a backslash character ("\") before any exclamation
    +       No whitespace characters are permitted in  the  -m  option
    +       argument.   Also,  to avoid problems with meta-characters,
    +       it is suggested that the  entire  -m  option  argument  be
    +       placed  within single quote characters, and that csh users
    +       insert a backslash character ("\") before any  exclamation
            marks ("!").
     
     
     

    HISTORY

    -       A reset command appeared in 2BSD (1979), written  by  Kurt
    +       A  reset  command appeared in 2BSD (1979), written by Kurt
            Shoens.
     
    -       A  separate tset command was provided in 2BSD by Eric All-
    -       man.  While the oldest published source (from  1979)  pro-
    -       vides  both programs, Allman's comments in the 2BSD source
    +       A separate tset command was provided in 2BSD by Eric  All-
    +       man.   While  the oldest published source (from 1979) pro-
    +       vides both programs, Allman's comments in the 2BSD  source
            code indicate that he began work in October 1977, continu-
            ing development over the next few years.
     
    -       In  1980,  Eric  Allman modified tset to provide a "reset"
    -       feature when the program was invoked as reset.
    +       In September 1980, Eric Allman modified tset to provide  a
    +       "reset"  feature  when  the  program was invoked as reset.
    +       This version appeared in 4.1cBSD, late in 1982.
     
            The ncurses implementation was lightly  adapted  from  the
            4.4BSD  sources for a terminfo environment by Eric S. Ray-
    @@ -387,7 +419,7 @@
            csh(1),   sh(1),   stty(1),   curs_terminfo(3x),   tty(4),
            terminfo(5), ttys(5), environ(7)
     
    -       This describes ncurses version 6.0 (patch 20161231).
    +       This describes ncurses version 6.0 (patch 20170107).
     
     
     
    diff --git a/man/curs_add_wch.3x b/man/curs_add_wch.3x
    index 5b744db1..adcf5e84 100644
    --- a/man/curs_add_wch.3x
    +++ b/man/curs_add_wch.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 2001-2012,2015 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 2001-2015,2017 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_add_wch.3x,v 1.16 2015/07/20 23:44:56 tom Exp $
    +.\" $Id: curs_add_wch.3x,v 1.17 2017/01/07 19:25:15 tom Exp $
     .TH curs_add_wch 3X ""
     .de bP
     .IP \(bu 4
    @@ -90,7 +90,7 @@ The \fBecho_wchar\fP
     function is functionally equivalent to a call to
     \fBadd_wch\fP
     followed by a call to
    -\fBrefresh\fP.
    +\fBrefresh\fP(3X).
     Similarly, the
     \fBwecho_wchar\fP
     is functionally equivalent to a call to
    diff --git a/man/curs_addch.3x b/man/curs_addch.3x
    index 3ca42c93..f0439992 100644
    --- a/man/curs_addch.3x
    +++ b/man/curs_addch.3x
    @@ -1,6 +1,6 @@
     '\" t
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2015,2017 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            *
    @@ -27,7 +27,7 @@
     .\" authorization.                                                           *
     .\"***************************************************************************
     .\"
    -.\" $Id: curs_addch.3x,v 1.37 2015/09/05 21:13:25 tom Exp $
    +.\" $Id: curs_addch.3x,v 1.38 2017/01/07 19:25:15 tom Exp $
     .TH curs_addch 3X ""
     .de bP
     .IP \(bu 4
    @@ -95,13 +95,13 @@ the ^-representation of the control character.
     Video attributes can be combined with a character argument passed to
     \fBaddch\fR or related functions by logical-ORing them into the character.
     (Thus, text, including attributes, can be copied from one place to another
    -using \fBinch\fR and \fBaddch\fR.)  See the \fBcurs_attr\fR(3X) page for
    +using \fBinch\fR(3X) and \fBaddch\fR.)  See the \fBcurs_attr\fR(3X) page for
     values of predefined video attribute constants that can be usefully OR'ed
     into characters.
     .SS Echoing characters
     .PP
     The \fBechochar\fR and \fBwechochar\fR routines are equivalent to a call to
    -\fBaddch\fR followed by a call to \fBrefresh\fR, or a call to \fBwaddch\fR
    +\fBaddch\fR followed by a call to \fBrefresh\fR(3X), or a call to \fBwaddch\fR
     followed by a call to \fBwrefresh\fR.  The knowledge that only a single
     character is being output is used and, for non-control characters, a
     considerable performance gain may be seen by using these routines instead of
    diff --git a/man/curs_attr.3x b/man/curs_attr.3x
    index 9307e917..f1983b7a 100644
    --- a/man/curs_attr.3x
    +++ b/man/curs_attr.3x
    @@ -1,6 +1,6 @@
     '\" t
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2016,2017 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            *
    @@ -27,7 +27,7 @@
     .\" authorization.                                                           *
     .\"***************************************************************************
     .\"
    -.\" $Id: curs_attr.3x,v 1.48 2016/10/15 17:09:05 tom Exp $
    +.\" $Id: curs_attr.3x,v 1.49 2017/01/07 19:25:15 tom Exp $
     .TH curs_attr 3X ""
     .de bP
     .IP \(bu 4
    @@ -186,7 +186,7 @@ the \fBmvwchgat\fR function does a cursor move before acting.
     .PP
     In these functions,
     the color \fIpair\fP argument is a color-pair index
    -(as in the first argument of \fIinit_pair\fR, see \fBcurs_color\fR(3X)).
    +(as in the first argument of \fBinit_pair\fR, see \fBcurs_color\fR(3X)).
     The \fBopts\fR argument is not
     presently used, but is reserved for the future (leave it \fBNULL\fR).
     .\" ---------------------------------------------------------------------------
    diff --git a/man/curs_color.3x b/man/curs_color.3x
    index 05288b5d..d81eb299 100644
    --- a/man/curs_color.3x
    +++ b/man/curs_color.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2016,2017 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_color.3x,v 1.45 2016/10/15 17:10:19 tom Exp $
    +.\" $Id: curs_color.3x,v 1.46 2017/01/07 19:57:48 tom Exp $
     .TH curs_color 3X ""
     .ie \n(.g .ds `` \(lq
     .el       .ds `` ``
    @@ -323,7 +323,7 @@ from the terminal description.
     returns an error if the color table cannot be allocated.
     .RE
     .SH NOTES
    -In the \fIncurses\fR implementation, there is a separate color activation flag,
    +In the \fBncurses\fR implementation, there is a separate color activation flag,
     color palette, color pairs table, and associated COLORS and COLOR_PAIRS counts
     for each screen; the \fBstart_color\fR function only affects the current
     screen.
    diff --git a/man/curs_get_wstr.3x b/man/curs_get_wstr.3x
    index 2a3fb3ce..22f0e068 100644
    --- a/man/curs_get_wstr.3x
    +++ b/man/curs_get_wstr.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 2002-2012,2017 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_get_wstr.3x,v 1.9 2012/11/03 23:03:59 tom Exp $
    +.\" $Id: curs_get_wstr.3x,v 1.10 2017/01/07 19:25:15 tom Exp $
     .TH curs_get_wstr 3X ""
     .na
     .hy 0
    @@ -66,7 +66,7 @@ The effect of
     \fBget_wstr\fR
     is as though a series of calls
     to
    -\fBget_wch\fR
    +\fBget_wch\fR(3X)
     were made, until a newline, other end-of-line, or end-of-file condition is processed.
     An end-of-file condition is represented by \fBWEOF\fR, as defined in \fB\fR.
     The newline and end-of-line conditions are represented by the \fB\\n\fR \fBwchar_t\fR value.
    diff --git a/man/curs_getstr.3x b/man/curs_getstr.3x
    index e548cf14..e8fbbc6d 100644
    --- a/man/curs_getstr.3x
    +++ b/man/curs_getstr.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2010,2017 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_getstr.3x,v 1.19 2010/12/04 18:36:44 tom Exp $
    +.\" $Id: curs_getstr.3x,v 1.20 2017/01/07 19:25:15 tom Exp $
     .TH curs_getstr 3X ""
     .na
     .hy 0
    @@ -105,7 +105,7 @@ These functions are described in the XSI Curses standard, Issue 4.
     They read single-byte characters only.
     The standard does not define any error conditions.
     This implementation returns ERR if the window pointer is null,
    -or if the lower-level \fBwgetch\fR call returns an ERR.
    +or if the lower-level \fBwgetch\fR(3X) call returns an ERR.
     .PP
     SVr3 and early SVr4 curses implementations did not reject function keys;
     the SVr4.0 documentation claimed that "special keys" (such as function
    diff --git a/man/curs_initscr.3x b/man/curs_initscr.3x
    index 962b7ad5..6c8a2d06 100644
    --- a/man/curs_initscr.3x
    +++ b/man/curs_initscr.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2016,2017 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_initscr.3x,v 1.25 2016/10/15 17:02:31 tom Exp $
    +.\" $Id: curs_initscr.3x,v 1.26 2017/01/07 19:25:15 tom Exp $
     .TH curs_initscr 3X ""
     .de bP
     .IP \(bu 4
    @@ -66,14 +66,14 @@
     \fBinitscr\fR is normally the first \fBcurses\fR routine to call when
     initializing a program.
     A few special routines sometimes need to be called before it;
    -these are \fBslk_init\fR, \fBfilter\fR, \fBripoffline\fR,
    +these are \fBslk_init\fR(3X), \fBfilter\fR, \fBripoffline\fR,
     \fBuse_env\fR.
     For multiple-terminal applications,
     \fBnewterm\fR may be called before \fBinitscr\fR.
     .PP
     The initscr code determines the terminal type and initializes all \fBcurses\fR
     data structures.
    -\fBinitscr\fR also causes the first call to \fBrefresh\fR to clear the screen.
    +\fBinitscr\fR also causes the first call to \fBrefresh\fR(3X) to clear the screen.
     If errors occur, \fBinitscr\fR writes an appropriate error
     message to standard error and exits;
     otherwise, a pointer is returned to \fBstdscr\fR.
    @@ -115,7 +115,7 @@ moves the cursor to the lower left-hand corner of the screen and
     resets the terminal into
     the proper non-visual mode.
     .PP
    -Calling \fBrefresh\fR or \fBdoupdate\fR after a
    +Calling \fBrefresh\fR(3X) or \fBdoupdate\fR after a
     temporary escape causes the program to resume visual mode.
     .SS isendwin
     .PP
    diff --git a/man/curs_inopts.3x b/man/curs_inopts.3x
    index 31cf1989..69ad2c21 100644
    --- a/man/curs_inopts.3x
    +++ b/man/curs_inopts.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2016,2017 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_inopts.3x,v 1.23 2016/10/22 19:54:35 tom Exp $
    +.\" $Id: curs_inopts.3x,v 1.24 2017/01/07 19:25:15 tom Exp $
     .TH curs_inopts 3X ""
     .ie \n(.g .ds `` \(lq
     .el       .ds `` ``
    @@ -123,7 +123,7 @@ discussion of how these routines interact with \fBecho\fR and \fBnoecho\fR.]
     .SS echo/noecho
     .PP
     The \fBecho\fR and \fBnoecho\fR routines control whether characters typed by
    -the user are echoed by \fBgetch\fR as they are typed.
    +the user are echoed by \fBgetch\fR(3X) as they are typed.
     Echoing by the tty
     driver is always disabled, but initially \fBgetch\fR is in echo mode, so
     characters typed are echoed.
    @@ -163,7 +163,7 @@ The window argument is ignored.
     The \fBkeypad\fR option enables the keypad of the user's terminal.
     If
     enabled (\fIbf\fR is \fBTRUE\fR), the user can press a function key
    -(such as an arrow key) and \fBwgetch\fR returns a single value
    +(such as an arrow key) and \fBwgetch\fR(3X) returns a single value
     representing the function key, as in \fBKEY_LEFT\fR.
     If disabled
     (\fIbf\fR is \fBFALSE\fR), \fBcurses\fR does not treat function keys
    @@ -171,7 +171,7 @@ specially and the program has to interpret the escape sequences
     itself.
     If the keypad in the terminal can be turned on (made to
     transmit) and off (made to work locally), turning on this option
    -causes the terminal keypad to be turned on when \fBwgetch\fR is
    +causes the terminal keypad to be turned on when \fBwgetch\fR(3X) is
     called.
     The default value for keypad is \fBFALSE\fP.
     .\"
    @@ -200,7 +200,7 @@ If no input is ready, \fBgetch\fR returns \fBERR\fR.
     If disabled
     (\fIbf\fR is \fBFALSE\fR), \fBgetch\fR waits until a key is pressed.
     .PP
    -While interpreting an input escape sequence, \fBwgetch\fR sets a timer
    +While interpreting an input escape sequence, \fBwgetch\fR(3X) sets a timer
     while waiting for the next character.
     If \fBnotimeout(\fR\fIwin\fR,
     \fBTRUE\fR) is called, then \fBwgetch\fR does not set a timer.
    @@ -255,7 +255,7 @@ The \fBcurses\fR library does \*(``line-breakout optimization\*(''
     by looking for typeahead periodically while updating the screen.
     If input is found, and it is coming from a tty,
     the current update is postponed until
    -\fBrefresh\fR or \fBdoupdate\fR is called again.
    +\fBrefresh\fR(3X) or \fBdoupdate\fR is called again.
     This allows faster response to commands typed in advance.
     Normally, the input FILE
     pointer passed to \fBnewterm\fR, or \fBstdin\fR in the case that
    diff --git a/man/curs_kernel.3x b/man/curs_kernel.3x
    index 727a2721..505ea1ee 100644
    --- a/man/curs_kernel.3x
    +++ b/man/curs_kernel.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.                        *
    +.\" Copyright (c) 1998-2016,2017 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_kernel.3x,v 1.21 2016/10/15 16:42:55 tom Exp $
    +.\" $Id: curs_kernel.3x,v 1.22 2017/01/07 19:25:15 tom Exp $
     .de bP
     .IP \(bu 4
     ..
    @@ -88,7 +88,7 @@ allocated by \fBnewterm\fR.
     .PP
     The \fBreset_prog_mode\fR and \fBreset_shell_mode\fR routines restore
     the terminal to "program" (in \fBcurses\fR) or "shell" (out of
    -\fBcurses\fR) state.  These are done automatically by \fBendwin\fR
    +\fBcurses\fR) state.  These are done automatically by \fBendwin\fR(3X)
     and, after an \fBendwin\fR, by \fBdoupdate\fR, so they normally are
     not called.
     .SS resetty, savetty
    diff --git a/man/curs_memleaks.3x b/man/curs_memleaks.3x
    index 5ebc0d06..c93dd281 100644
    --- a/man/curs_memleaks.3x
    +++ b/man/curs_memleaks.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 2008,2010 Free Software Foundation, Inc.                   *
    +.\" Copyright (c) 2008-2010,2017 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_memleaks.3x,v 1.3 2010/12/04 18:40:45 tom Exp $
    +.\" $Id: curs_memleaks.3x,v 1.4 2017/01/07 19:25:15 tom Exp $
     .TH curs_memleaks 3X ""
     .na
     .hy 0
    @@ -50,7 +50,7 @@ That compiles-in code that frees memory that normally would not be freed.
     .PP
     Any implementation of curses must not free the memory associated with
     a screen, since (even after calling \fBendwin\fP), it must be available
    -for use in the next call to \fBrefresh\fP.
    +for use in the next call to \fBrefresh\fP(3X).
     There are also chunks of memory held for performance reasons.
     That makes it hard to analyze curses applications for memory leaks.
     To work around this, one can build a debugging version of the ncurses
    diff --git a/man/curs_mouse.3x b/man/curs_mouse.3x
    index b7cf4c6c..08b83e28 100644
    --- a/man/curs_mouse.3x
    +++ b/man/curs_mouse.3x
    @@ -1,6 +1,6 @@
     '\" t
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2015,2017 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            *
    @@ -27,7 +27,7 @@
     .\" authorization.                                                           *
     .\"***************************************************************************
     .\"
    -.\" $Id: curs_mouse.3x,v 1.42 2015/07/21 09:27:39 tom Exp $
    +.\" $Id: curs_mouse.3x,v 1.43 2017/01/07 19:25:15 tom Exp $
     .de bP
     .IP \(bu 4
     ..
    @@ -77,7 +77,7 @@
     These functions provide an interface to mouse events from
     \fBncurses\fR(3X).
     Mouse events are represented by \fBKEY_MOUSE\fR
    -pseudo-key values in the \fBwgetch\fR input stream.
    +pseudo-key values in the \fBwgetch\fR(3X) input stream.
     .SS mousemask
     .PP
     To make mouse events visible, use the \fBmousemask\fR function.
    @@ -177,7 +177,7 @@ to coordinates relative to the given window or vice versa.
     The resulting stdscr-relative coordinates are not always identical
     to window-relative coordinates due to the mechanism to reserve lines on top
     or bottom of the screen for other purposes
    -(see the \fBripoffline\fP and \fBslk_init\fR calls, for example).
    +(see the \fBripoffline\fP and \fBslk_init\fR(3X) calls, for example).
     .bP
     If the parameter \fBto_screen\fR is \fBTRUE\fR, the pointers
     \fBpY, pX\fR must reference the coordinates of a location
    diff --git a/man/curs_move.3x b/man/curs_move.3x
    index 226595cc..50d722c5 100644
    --- a/man/curs_move.3x
    +++ b/man/curs_move.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2010,2017 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_move.3x,v 1.14 2010/12/04 18:40:45 tom Exp $
    +.\" $Id: curs_move.3x,v 1.15 2017/01/07 19:25:15 tom Exp $
     .TH curs_move 3X ""
     .na
     .hy 0
    @@ -45,7 +45,7 @@
     .SH DESCRIPTION
     These routines move the cursor associated with the window to line \fIy\fR and
     column \fIx\fR.  This routine does not move the physical cursor of the terminal
    -until \fBrefresh\fR is called.  The position specified is relative to the upper
    +until \fBrefresh\fR(3X) is called.  The position specified is relative to the upper
     left-hand corner of the window, which is (0,0).
     .SH RETURN VALUE
     These routines return \fBERR\fR upon failure and OK (SVr4
    diff --git a/man/curs_outopts.3x b/man/curs_outopts.3x
    index b9b3b8f6..218aee59 100644
    --- a/man/curs_outopts.3x
    +++ b/man/curs_outopts.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2016,2017 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_outopts.3x,v 1.27 2016/10/15 17:02:31 tom Exp $
    +.\" $Id: curs_outopts.3x,v 1.28 2017/01/07 19:25:15 tom Exp $
     .TH curs_outopts 3X ""
     .na
     .hy 0
    @@ -70,7 +70,7 @@
     These routines set options that change the style of output within
     \fBcurses\fR.
     All options are initially \fBFALSE\fR, unless otherwise stated.
    -It is not necessary to turn these options off before calling \fBendwin\fR.
    +It is not necessary to turn these options off before calling \fBendwin\fR(3X).
     .SS clearok
     .PP
     If \fBclearok\fR is called with \fBTRUE\fR as argument, the next
    diff --git a/man/curs_pad.3x b/man/curs_pad.3x
    index 52fe51cf..1b427e10 100644
    --- a/man/curs_pad.3x
    +++ b/man/curs_pad.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2010,2015 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2015,2017 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_pad.3x,v 1.18 2015/07/21 08:58:44 tom Exp $
    +.\" $Id: curs_pad.3x,v 1.19 2017/01/07 19:25:15 tom Exp $
     .TH curs_pad 3X ""
     .na
     .hy 0
    @@ -110,7 +110,7 @@ they were zero.
     .SS pechochar
     .PP
     The \fBpechochar\fR routine is functionally equivalent to a call to \fBaddch\fR
    -followed by a call to \fBrefresh\fR, a call to \fBwaddch\fR followed by a call
    +followed by a call to \fBrefresh\fR(3X), a call to \fBwaddch\fR followed by a call
     to \fBwrefresh\fR, or a call to \fBwaddch\fR followed by a call to
     \fBprefresh\fR.
     The knowledge that only a single character is being output is
    diff --git a/man/curs_print.3x b/man/curs_print.3x
    index 31a45356..039f5b73 100644
    --- a/man/curs_print.3x
    +++ b/man/curs_print.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2010,2017 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_print.3x,v 1.10 2010/12/04 18:40:45 tom Exp $
    +.\" $Id: curs_print.3x,v 1.11 2017/01/07 17:33:15 tom Exp $
     .TH curs_print 3X ""
     .SH NAME
     \fBmcprint\fR \- ship binary data to printer
    @@ -65,4 +65,4 @@ in SVr4 curses, 4.4BSD curses, or any other previous version of curses.
     Padding in the \fBmc5p\fR, \fBmc4\fR and \fBmc5\fR capabilities will not be
     interpreted.
     .SH SEE ALSO
    -\fBcurses\fR(3X)\fR
    +\fBcurses\fR(3X)
    diff --git a/man/curs_printw.3x b/man/curs_printw.3x
    index 9918f9df..07885ba9 100644
    --- a/man/curs_printw.3x
    +++ b/man/curs_printw.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2010,2017 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_printw.3x,v 1.20 2010/12/04 18:40:45 tom Exp $
    +.\" $Id: curs_printw.3x,v 1.21 2017/01/07 17:33:45 tom Exp $
     .TH curs_printw 3X ""
     .na
     .hy 0
    @@ -89,4 +89,4 @@ cannot be used in the same file as \fB\fR.
     This implementation uses \fB\fR for both, because that header
     is included in \fB.
     .SH SEE ALSO
    -\fBcurses\fR(3X), \fBprintf\fR(3), \fBvprintf(3)\fR
    +\fBcurses\fR(3X), \fBprintf\fR(3), \fBvprintf\fR(3).
    diff --git a/man/curs_scr_dump.3x b/man/curs_scr_dump.3x
    index df3e79c1..1ff4c42d 100644
    --- a/man/curs_scr_dump.3x
    +++ b/man/curs_scr_dump.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2010,2017 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_scr_dump.3x,v 1.9 2010/12/04 18:40:45 tom Exp $
    +.\" $Id: curs_scr_dump.3x,v 1.10 2017/01/07 19:25:15 tom Exp $
     .TH curs_scr_dump 3X ""
     .na
     .hy 0
    @@ -64,7 +64,7 @@ currently has on its screen.  If the data is determined to be valid,
     than clearing the screen and starting from scratch.  \fBscr_init\fR is used
     after \fBinitscr\fR or a \fBsystem\fR call to share
     the screen with another process which has done a \fBscr_dump\fR after its
    -\fBendwin\fR call.  The data is declared invalid if the terminfo capabilities
    +\fBendwin\fR(3X) call.  The data is declared invalid if the terminfo capabilities
     \fBrmcup\fR and \fBnrrmc\fR exist; also if the terminal has been written to
     since the preceding \fBscr_dump\fR call.
     .PP
    diff --git a/man/curs_termcap.3x b/man/curs_termcap.3x
    index 9b215056..d3c974bc 100644
    --- a/man/curs_termcap.3x
    +++ b/man/curs_termcap.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2016,2017 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_termcap.3x,v 1.32 2016/03/19 22:52:25 tom Exp $
    +.\" $Id: curs_termcap.3x,v 1.33 2017/01/07 19:25:15 tom Exp $
     .TH curs_termcap 3X ""
     .de bP
     .IP \(bu 4
    @@ -165,7 +165,7 @@ It does this also for calls requiring only a single parameter.
     In that case, the first parameter is merely a placeholder.
     .bP
     Normally the ncurses library is compiled with terminfo support.
    -In that case, \fBtgoto\fP uses \fBtparm\fP (a more capable formatter).
    +In that case, \fBtgoto\fP uses \fBtparm\fP(3X) (a more capable formatter).
     .PP
     The \fBtputs\fR routine is described on the \fBcurs_terminfo\fR(3X) manual
     page.  It can retrieve capabilities by either termcap or terminfo name.
    diff --git a/man/curs_trace.3x b/man/curs_trace.3x
    index 123577c4..0627d1ba 100644
    --- a/man/curs_trace.3x
    +++ b/man/curs_trace.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 2000-2015,2016 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 2000-2016,2017 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_trace.3x,v 1.16 2016/12/03 23:53:23 tom Exp $
    +.\" $Id: curs_trace.3x,v 1.17 2017/01/07 18:45:42 tom Exp $
     .de bP
     .IP \(bu 4
     ..
    @@ -119,7 +119,7 @@ to the \fBtrace\fP function.
     trace user and system times of updates.
     .TP 5
     .B TRACE_TPUTS
    -trace \fBtputs\fP calls.
    +trace \fBtputs\fP(3X) calls.
     .TP 5
     .B TRACE_UPDATE
     trace update actions, old & new screens.
    diff --git a/man/curs_util.3x b/man/curs_util.3x
    index 4d027dba..32be55d6 100644
    --- a/man/curs_util.3x
    +++ b/man/curs_util.3x
    @@ -1,6 +1,6 @@
     '\" t
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2013,2015 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2015,2017 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            *
    @@ -27,7 +27,7 @@
     .\" authorization.                                                           *
     .\"***************************************************************************
     .\"
    -.\" $Id: curs_util.3x,v 1.43 2015/06/06 23:36:27 tom Exp $
    +.\" $Id: curs_util.3x,v 1.46 2017/01/07 19:35:54 tom Exp $
     .TH curs_util 3X ""
     .ie \n(.g .ds `` \(lq
     .el       .ds `` ``
    @@ -103,7 +103,7 @@ DEL (character 127) is displayed as \fB^?\fP.
     .bP
     Values above 128 are either meta characters
     (if the screen has not been initialized,
    -or if \fBmeta\fP has been called with a \fBTRUE\fP parameter),
    +or if \fBmeta\fP(3X) has been called with a \fBTRUE\fP parameter),
     shown in the \fBM\-\fR\fIX\fR notation,
     or are displayed as themselves.
     In the latter case, the values may not be printable;
    @@ -144,7 +144,7 @@ should be called before \fBinitscr\fR or
     It modifies the way \fBncurses\fP treats environment variables
     when determining the screen size.
     .bP
    -Normally ncurses looks first at the terminal database for the screen size.
    +Normally \fBncurses\fP looks first at the terminal database for the screen size.
     .IP
     If \fBuse_env\fP was called with \fBFALSE\fP for parameter,
     it stops here unless
    @@ -155,11 +155,11 @@ If successful,
     it overrides the values from the terminal database.
     .bP
     Finally (unless \fBuse_env\fP was called with \fBFALSE\fP parameter),
    -ncurses examines the \fBLINES\fR or \fBCOLUMNS\fR environment variables,
    +\fBncurses\fP examines the \fBLINES\fR or \fBCOLUMNS\fR environment variables,
     using a value in those to override the results
     from the operating system or terminal database.
     .IP
    -Ncurses also updates the screen size in response to SIGWINCH,
    +\fBNcurses\fP also updates the screen size in response to SIGWINCH,
     unless overridden by the \fBLINES\fR or \fBCOLUMNS\fR environment variables,
     .SS use_tioctl
     .PP
    @@ -167,16 +167,16 @@ The \fBuse_tioctl\fR routine, if used,
     should be called before \fBinitscr\fR or \fBnewterm\fR are called
     (because those compute the screen size).
     After \fBuse_tioctl\fR is called with \fBTRUE\fR as an argument,
    -ncurses modifies the last step in its computation of screen size as follows:
    +\fBncurses\fP modifies the last step in its computation of screen size as follows:
     .bP
     checks if the \fBLINES\fR and \fBCOLUMNS\fR environment variables
     are set to a number greater than zero.
     .bP
    -for each, ncurses updates the corresponding environment variable
    +for each, \fBncurses\fP updates the corresponding environment variable
     with the value that it has obtained via operating system call
     or from the terminal database.
     .bP
    -ncurses re-fetches the value of the environment variables so that
    +\fBncurses\fP re-fetches the value of the environment variables so that
     it is still the environment variables which set the screen size.
     .PP
     The \fBuse_env\fP and \fBuse_tioctl\fP routines combine as
    @@ -189,17 +189,17 @@ lw7 lw7 lw40.
     \fIuse_env\fR/\fIuse_tioctl\fR/\fISummary\fR
     TRUE/FALSE/T{
     This is the default behavior.
    -ncurses uses operating system calls
    +\fBncurses\fP uses operating system calls
     unless overridden by $LINES or $COLUMNS environment variables.
     T}
     TRUE/TRUE/T{
    -ncurses updates $LINES and $COLUMNS based on operating system calls.
    +\fBncurses\fP updates $LINES and $COLUMNS based on operating system calls.
     T}
     FALSE/TRUE/T{
    -ncurses ignores $LINES and $COLUMNS, uses operating system calls to obtain size.
    +\fBncurses\fP ignores $LINES and $COLUMNS, uses operating system calls to obtain size.
     T}
     FALSE/FALSE/T{
    -ncurses relies on the terminal database to determine size.
    +\fBncurses\fP relies on the terminal database to determine size.
     T}
     .TE
     .SS putwin/getwin
    @@ -257,9 +257,6 @@ In this implementation
     \fBflushinp\fR
     returns an error if the terminal was not initialized.
     .TP 5
    -\fBmeta\fR
    -returns an error if the terminal was not initialized.
    -.TP 5
     \fBputwin\fP
     returns an error if the associated \fBfwrite\fP calls return an error.
     .RE
    @@ -284,9 +281,9 @@ The \fBuse_extended_names\fP function controls whether this data is
     loaded when the terminal description is read by the library.
     .SS nofilter/use_tioctl
     .PP
    -The \fBnofilter\fP and \fBuse_tioctl\fP routines are specific to ncurses.
    +The \fBnofilter\fP and \fBuse_tioctl\fP routines are specific to \fBncurses\fP.
     They were not supported on Version 7, BSD or System V implementations.
    -It is recommended that any code depending on ncurses extensions
    +It is recommended that any code depending on \fBncurses\fP extensions
     be conditioned using NCURSES_VERSION.
     .SS putwin/getwin
     .PP
    @@ -305,7 +302,7 @@ and were later (in 1988) incorporated into SVr4.
     Oddly, there are no such functions in the 4.3BSD curses sources.
     .bP
     Most implementations simply dump the binary \fBWINDOW\fP structure to the file.
    -These include SVr4 curses, NetBSD and PDCurses, as well as older ncurses versions.
    +These include SVr4 curses, NetBSD and PDCurses, as well as older \fBncurses\fP versions.
     This implementation (as well as the X/Open variant of Solaris curses, dated 1995)
     uses textual dumps.
     .IP
    @@ -355,7 +352,7 @@ locale.
     The \fBuse_legacy_coding\fP function allows the caller to
     change the output of \fBunctrl\fP.
     .PP
    -Likewise, the \fBmeta\fP function allows the caller to change the
    +Likewise, the \fBmeta\fP(3X) function allows the caller to change the
     output of \fBkeyname\fP, i.e.,
     it determines whether to use the `M\-' prefix
     for \*(``meta\*('' keys (codes in the range 128 to 255).
    @@ -365,11 +362,21 @@ X/Open Curses does not document the treatment of codes 128 to 159.
     When treating them as \*(``meta\*('' keys
     (or if \fBkeyname\fP is called before initializing curses),
     this implementation returns strings \*(``M\-^@\*('', \*(``M\-^A\*('', etc.
    +.SS use_env/use_tioctl
    +.PP
    +If \fBncurses\fP is configured to provide the sp-functions extension,
    +the state of \fBuse_env\fP and \fBuse_tioctl\fP may be updated before
    +creating each \fIscreen\fP rather than once only
    +(\fBcurs_sp_funcs\fR(3X)).
    +This feature of \fBuse_env\fP
    +is not provided by other implementation of curses.
     .SH SEE ALSO
     \fBlegacy_coding\fR(3X),
     \fBcurses\fR(3X),
     \fBcurs_initscr\fR(3X),
    +\fBcurs_inopts\fR(3X),
     \fBcurs_kernel\fR(3X),
     \fBcurs_scr_dump\fR(3X),
    +\fBcurs_sp_funcs\fR(3X),
     \fBcurs_variables\fR(3X),
     \fBlegacy_coding\fR(3X).
    diff --git a/man/form_post.3x b/man/form_post.3x
    index b51a9886..fcbb349b 100644
    --- a/man/form_post.3x
    +++ b/man/form_post.3x
    @@ -1,6 +1,6 @@
     '\" t
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2010,2017 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            *
    @@ -27,7 +27,7 @@
     .\" authorization.                                                           *
     .\"***************************************************************************
     .\"
    -.\" $Id: form_post.3x,v 1.10 2015/12/05 20:41:37 jmc Exp $
    +.\" $Id: form_post.3x,v 1.11 2017/01/07 19:25:15 tom Exp $
     .TH form_post 3X ""
     .SH NAME
     \fBpost_form\fR,
    @@ -41,7 +41,7 @@ int unpost_form(FORM *form);
     .br
     .SH DESCRIPTION
     The function \fBpost_form\fR displays a form to its associated subwindow.  To
    -trigger physical display of the subwindow, use \fBrefresh\fR or some equivalent
    +trigger physical display of the subwindow, use \fBrefresh\fR(3X) or some equivalent
     \fBcurses\fR routine (the implicit \fBdoupdate\fR triggered by an \fBcurses\fR
     input request will do).
     .PP
    diff --git a/man/manhtml.aliases b/man/manhtml.aliases
    index a4ae047a..d5b77be9 100644
    --- a/man/manhtml.aliases
    +++ b/man/manhtml.aliases
    @@ -1,16 +1,28 @@
    -# $Id: manhtml.aliases,v 1.1 2013/12/21 21:44:52 tom Exp $
    +# $Id: manhtml.aliases,v 1.5 2017/01/07 20:28:43 tom Exp $
     # Items in this list will be linked to the corresponding manpages by man2html
     addch(3X)		curs_addch(3X)
     delscreen(3X)		curs_initscr(3X)
    +endwin(3X)		curs_initscr(3X)
     filter(3X)		curs_util(3X)
     form_fieldtype(3X)	form_fieldtype(3X)
    +get_wch(3X)		curs_get_wch(3X)
     getch(3X)		curs_getch(3X)
    +inch(3X)		curs_inch(3X)
     infocmp(1)		infocmp(1M)
     initscr(3X)		curs_initscr(3X)
    +is_scrollok(3X)		curs_opaque(3X)
    +keypad(3X)		curs_inopts(3X)
    +meta(3X)		curs_inopts(3X)
     newterm(3X)		curs_initscr(3X)
    +refresh(3X)		curs_refresh(3X)
     set_fieldtype(3X)	form_fieldtype(3X)
     set_term(3X)		curs_initscr(3X)
     setupterm(3X)		curs_terminfo(3X)
    +slk_init(3X)		curs_slk(3X)
     tic(1)			tic(1M)
    +tigetstr(3X)		curs_terminfo(3X)
    +tparm(3X)		curs_terminfo(3X)
    +tputs(3X)		curs_terminfo(3X)
     use_env(3X)		curs_util(3X)
     vidputs(3X)		curs_terminfo(3X)
    +wgetch(3X)		curs_getch(3X)
    diff --git a/man/menu_driver.3x b/man/menu_driver.3x
    index 1fe5001f..835d6751 100644
    --- a/man/menu_driver.3x
    +++ b/man/menu_driver.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2008,2010 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2010,2017 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: menu_driver.3x,v 1.20 2010/12/04 18:38:55 tom Exp $
    +.\" $Id: menu_driver.3x,v 1.21 2017/01/07 19:25:15 tom Exp $
     .TH menu_driver 3X ""
     .de bP
     .IP \(bu 4
    @@ -44,7 +44,7 @@ through \fBmenu_driver\fR.  This routine has three major input cases:
     .bP
     The input is a form navigation request.
     Navigation request codes are constants defined in \fB\fP,
    -which are distinct from the key- and character codes returned by \fBwgetch\fP.
    +which are distinct from the key- and character codes returned by \fBwgetch\fP(3X).
     .bP
     The input is a printable character.
     Printable characters (which must be positive, less than 256) are
    diff --git a/man/menu_post.3x b/man/menu_post.3x
    index 99ee1a93..b3a47154 100644
    --- a/man/menu_post.3x
    +++ b/man/menu_post.3x
    @@ -1,6 +1,6 @@
     '\" t
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2016,2017 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            *
    @@ -27,7 +27,7 @@
     .\" authorization.                                                           *
     .\"***************************************************************************
     .\"
    -.\" $Id: menu_post.3x,v 1.13 2016/10/15 17:02:31 tom Exp $
    +.\" $Id: menu_post.3x,v 1.14 2017/01/07 19:25:15 tom Exp $
     .TH menu_post 3X ""
     .SH NAME
     \fBpost_menu\fR,
    @@ -41,7 +41,7 @@ int unpost_menu(MENU *menu);
     .br
     .SH DESCRIPTION
     The function \fBpost_menu\fR displays a menu to its associated subwindow.  To
    -trigger physical display of the subwindow, use \fBrefresh\fR or some equivalent
    +trigger physical display of the subwindow, use \fBrefresh\fR(3X) or some equivalent
     \fBcurses\fR routine (the implicit \fBdoupdate\fR triggered by an \fBcurses\fR
     input request will do). \fBpost_menu\fR resets the selection status of all items.
     .PP
    diff --git a/man/ncurses.3x b/man/ncurses.3x
    index 76d55c03..92d3eaa9 100644
    --- a/man/ncurses.3x
    +++ b/man/ncurses.3x
    @@ -1,6 +1,6 @@
     '\" t
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2015,2017 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            *
    @@ -27,7 +27,7 @@
     .\" authorization.                                                           *
     .\"***************************************************************************
     .\"
    -.\" $Id: ncurses.3x,v 1.124 2015/08/08 14:57:51 tom Exp $
    +.\" $Id: ncurses.3x,v 1.125 2017/01/07 19:25:15 tom Exp $
     .hy 0
     .TH ncurses 3X ""
     .ie \n(.g .ds `` \(lq
    @@ -99,7 +99,7 @@ The function \fBinitscr\fR or \fBnewterm\fR
     must be called to initialize the library
     before any of the other routines that deal with windows
     and screens are used.
    -The routine \fBendwin\fR must be called before exiting.
    +The routine \fBendwin\fR(3X) must be called before exiting.
     .PP
     To get character-at-a-time input without echoing (most
     interactive, screen oriented programs want this), the following
    @@ -146,7 +146,7 @@ allowing the user to specify a window.
     The routines not beginning
     with \fBw\fR affect \fBstdscr\fR.
     .PP
    -After using routines to manipulate a window, \fBrefresh\fR is called,
    +After using routines to manipulate a window, \fBrefresh\fR(3X) is called,
     telling \fBcurses\fR to make the user's CRT screen look like
     \fBstdscr\fR.
     The characters in a window are actually of type
    diff --git a/man/resizeterm.3x b/man/resizeterm.3x
    index b88f68f3..9ab3b011 100644
    --- a/man/resizeterm.3x
    +++ b/man/resizeterm.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2013,2015 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2015,2017 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            *
    @@ -28,7 +28,7 @@
     .\"
     .\" Author: Thomas E. Dickey 1996-on
     .\"
    -.\" $Id: resizeterm.3x,v 1.21 2015/09/26 19:55:32 tom Exp $
    +.\" $Id: resizeterm.3x,v 1.22 2017/01/07 19:25:15 tom Exp $
     .TH resizeterm 3X ""
     .de bP
     .IP \(bu 4
    @@ -87,7 +87,7 @@ If ncurses is configured to supply its own SIGWINCH handler,
     .bP
     on receipt of a SIGWINCH, the handler sets a flag
     .bP
    -which is tested in \fBwgetch\fP and \fBdoupdate\fP,
    +which is tested in \fBwgetch\fP(3X) and \fBdoupdate\fP,
     .bP
     in turn, calling the \fBresizeterm\fR function,
     .bP
    diff --git a/man/term.5 b/man/term.5
    index 311316f4..bab338cb 100644
    --- a/man/term.5
    +++ b/man/term.5
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2016,2017 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: term.5,v 1.24 2016/10/22 19:55:01 tom Exp $
    +.\" $Id: term.5,v 1.25 2017/01/07 18:45:42 tom Exp $
     .TH term 5
     .ds n 5
     .ds d @TERMINFO@
    @@ -74,7 +74,7 @@ An 8 or more bit byte is assumed, but no assumptions about byte ordering
     or sign extension are made.
     .PP
     The compiled file is created with the \fB@TIC@\fP program,
    -and read by the routine \fBsetupterm\fP.
    +and read by the routine \fBsetupterm\fP(3X).
     The file is divided into six parts:
     the header,
     terminal names,
    diff --git a/man/term_variables.3x b/man/term_variables.3x
    index 49a22938..14fa7e9a 100644
    --- a/man/term_variables.3x
    +++ b/man/term_variables.3x
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 2011-2013,2015 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 2011-2015,2017 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: term_variables.3x,v 1.7 2015/12/05 18:43:25 tom Exp $
    +.\" $Id: term_variables.3x,v 1.8 2017/01/07 19:25:15 tom Exp $
     .TH term_variables 3X ""
     .ds n 5
     .na
    @@ -110,7 +110,7 @@ and \fBdelscreen\fP(3X).
     It is possible to save a value of \fBcur_term\fP for subsequent
     use as a parameter to \fBset_term\fP, for switching between screens.
     Alternatively, one can save the return value from \fBnewterm\fP
    -or \fBsetupterm\fP to reuse in \fBset_term\fP.
    +or \fBsetupterm\fP(3X) to reuse in \fBset_term\fP.
     .SS Terminfo Names
     The \fB@TIC@\fP(1) and \fB@INFOCMP@\fP(1) programs use lookup tables for
     the long and short names of terminfo capabilities,
    @@ -136,7 +136,7 @@ These are the corresponding names used for termcap descriptions:
     .\"
     .SS Terminal Type
     On initialization of the curses or terminfo interfaces,
    -\fBsetupterm\fP copies the terminal name to the array \fBttytype\fP.
    +\fBsetupterm\fP(3X) copies the terminal name to the array \fBttytype\fP.
     .\"
     .SS Terminfo Names
     .PP
    diff --git a/man/terminfo.tail b/man/terminfo.tail
    index 80ce6432..6b6a1b27 100644
    --- a/man/terminfo.tail
    +++ b/man/terminfo.tail
    @@ -1,4 +1,4 @@
    -.\" $Id: terminfo.tail,v 1.75 2016/12/24 22:54:11 tom Exp $
    +.\" $Id: terminfo.tail,v 1.76 2017/01/07 18:32:49 tom Exp $
     .\" Beginning of terminfo.tail file
     .\" This file is part of ncurses.
     .\" See "terminfo.head" for copyright.
    @@ -157,7 +157,7 @@ Finally, characters may be given as three octal digits after a \fB\e\fR.
     .PP
     A delay in milliseconds may appear anywhere in a string capability, enclosed in
     $<..> brackets, as in \fBel\fP=\eEK$<5>,
    -and padding characters are supplied by \fBtputs\fP
    +and padding characters are supplied by \fBtputs\fP(3X)
     to provide this delay.
     .bP
     The delay must be a number with at most one decimal
    @@ -434,7 +434,7 @@ get static variable \fI[a\-z]\fP and push it
     .IP
     The terms "static" and "dynamic" are misleading.
     Historically, these are simply two different sets of variables,
    -whose values are not reset between calls to \fBtparm\fP.
    +whose values are not reset between calls to \fBtparm\fP(3X).
     However, that fact is not documented in other implementations.
     Relying on it will adversely impact portability to other implementations.
     .TP
    @@ -1374,7 +1374,7 @@ be coded as \fBsetaf\fR and \fBsetab\fR, respectively.
     If the terminal
     supports other escape sequences to set background and foreground, they should
     be coded as \fBsetf\fR and \fBsetb\fR, respectively.
    -The \fBvidputs\fR and the \fBrefresh\fP functions
    +The \fBvidputs\fR and the \fBrefresh\fP(3X) functions
     use the \fBsetaf\fR and \fBsetab\fR capabilities if they are defined.
     .PP
     The \fBsetaf\fR/\fBsetab\fR and \fBsetf\fR/\fBsetb\fR capabilities take a
    diff --git a/man/tput.1 b/man/tput.1
    index 6aafe816..2f42daab 100644
    --- a/man/tput.1
    +++ b/man/tput.1
    @@ -1,6 +1,6 @@
     '\" t
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2012,2016 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2016,2017 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            *
    @@ -27,7 +27,7 @@
     .\" authorization.                                                           *
     .\"***************************************************************************
     .\"
    -.\" $Id: tput.1,v 1.46 2016/10/22 19:57:25 tom Exp $
    +.\" $Id: tput.1,v 1.50 2017/01/07 23:03:28 tom Exp $
     .TH @TPUT@ 1 ""
     .ds d @TERMINFO@
     .ds n 1
    @@ -133,32 +133,83 @@ occur:
     .RS
     .TP 5
     (1)
    -if present, the terminal's initialization strings will be
    -output as detailed in the \fBterminfo\fR(5) section on
    -.IR "Tabs and Initialization" ,
    +first, \fB@TPUT@\fR retrieves the current terminal mode settings
    +for your terminal.
    +It does this by successively testing
    +.RS
    +.bP
    +the standard error,
    +.bP
    +standard output,
    +.bP
    +standard input and
    +.bP
    +ultimately \*(lq/dev/tty\*(rq
    +.RE
    +.IP
    +to obtain terminal settings.
    +Having retrieved these settings, \fB@TPUT@\fP remembers which
    +file descriptor to use when updating settings.
     .TP
     (2)
    -any delays (e.g., newline) specified in the entry will
    -be set in the tty driver,
    +if the window size cannot be obtained from the operating system,
    +but the terminal description (or environment, e.g., \fBLINES\fP
    +and \fBCOLUMNS\fP variables specify this),
    +update the operating system's notion of the window size.
     .TP
     (3)
    +the terminal modes will be updated:
    +.RS
    +.bP
    +any delays (e.g., newline) specified in the entry will
    +be set in the tty driver,
    +.bP
     tabs expansion will be turned on or off according to
     the specification in the entry, and
    -.TP
    -(4)
    +.bP
     if tabs are not expanded,
     standard tabs will be set (every 8 spaces).
     .RE
    +.TP
    +(4)
    +if present, the terminal's initialization strings will be
    +output as detailed in the \fBterminfo\fR(5) section on
    +.IR "Tabs and Initialization" ,
    +.TP
    +(5)
    +output is flushed.
    +.RE
     .IP
     If an entry does not
     contain the information needed for any of these activities,
     that activity will silently be skipped.
     .TP
     \fBreset\fR
    -Instead of putting out initialization strings, the terminal's
    -reset strings will be output if present (\fBrs1\fR, \fBrs2\fR, \fBrs3\fR, \fBrf\fR).
    -If the reset strings are not present, but initialization
    -strings are, the initialization strings will be output.
    +This is similar to \fBinit\fP, with two differences:
    +.RS
    +.TP 5
    +(1)
    +before any other initialization,
    +the terminal modes will be reset to a \*(``sane\*('' state:
    +.RS
    +.bP
    +set cooked and echo modes,
    +.bP
    +turn off cbreak and raw modes,
    +.bP
    +turn on newline translation and
    +.bP
    +reset any unset special characters to their default values
    +.RE
    +.TP 5
    +(2)
    +Instead of putting out \fIinitialization\fP strings, the terminal's
    +\fIreset\fP strings will be output if present
    +(\fBrs1\fR, \fBrs2\fR, \fBrs3\fR, \fBrf\fR).
    +If the \fIreset\fP strings are not present, but \fIinitialization\fP
    +strings are, the \fIinitialization\fP strings will be output.
    +.RE
    +.IP
     Otherwise, \fBreset\fR acts identically to \fBinit\fR.
     .TP
     \fBlongname\fR
    @@ -188,6 +239,20 @@ in contrast to the tab-stops and margins which are set by this utility.
     The \fBreset\fP program is usually an alias for \fB@TSET@\fP,
     because of this difference with resetting terminal modes and special characters.
     .PP
    +With the changes made for ncurses 6.1, the \fIreset\fP feature of the
    +two programs is (mostly) the same.  A few differences remain:
    +.bP
    +The \fB@TSET@\fP program waits one second when resetting,
    +in case it happens to be a hardware terminal.
    +.bP
    +The two programs write the terminal initialization strings
    +to different streams (i.e.,. the standard error for \fB@TSET@\fP and the
    +standard output for \fB@TPUT@\fP).
    +.IP
    +\fBNote:\fP although these programs write to different streams,
    +redirecting their output to a file will capture only part of their actions.
    +The changes to the terminal modes are not affected by redirecting the output.
    +.PP
     If \fB@TPUT@\fR is invoked by a link named \fBinit\fR, this has the
     same effect as \fB@TPUT@ init\fR.
     Again, you are less likely to use that link because another program
    diff --git a/man/tset.1 b/man/tset.1
    index d7e4b565..dec57cb4 100644
    --- a/man/tset.1
    +++ b/man/tset.1
    @@ -1,5 +1,5 @@
     .\"***************************************************************************
    -.\" Copyright (c) 1998-2013,2016 Free Software Foundation, Inc.              *
    +.\" Copyright (c) 1998-2016,2017 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: tset.1,v 1.43 2016/08/06 23:16:39 tom Exp $
    +.\" $Id: tset.1,v 1.47 2017/01/07 22:59:51 tom Exp $
     .TH @TSET@ 1 ""
     .ie \n(.g .ds `` \(lq
     .el       .ds `` ``
    @@ -83,29 +83,61 @@ for more information).
     Then, if the terminal type begins with a question mark (\*(``?\*(''), the
     user is prompted for confirmation of the terminal type.  An empty
     response confirms the type, or, another type can be entered to specify
    -a new type.  Once the terminal type has been determined, the terminfo
    -entry for the terminal is retrieved.  If no terminfo entry is found
    +a new type.
    +Once the terminal type has been determined,
    +the terminal description for the terminal is retrieved.
    +If no terminal description is found
     for the type, the user is prompted for another terminal type.
     .PP
    -Once the terminfo entry is retrieved, the window size, backspace, interrupt
    -and line kill characters (among many other things) are set and the terminal
    -and tab initialization strings are sent to the standard error output.
    +Once the terminal description is retrieved,
    +.bP
    +if the \*(``\fB\-w\fP\*('' option is enabled, \fB@TSET@\fP may update
    +the terminal's window size.
    +.IP
    +If the window size cannot be obtained from the operating system,
    +but the terminal description (or environment, e.g., \fBLINES\fP
    +and \fBCOLUMNS\fP variables specify this),
    +use this to set the operating system's notion of the window size.
    +.bP
    +if the \*(``\fB\-c\fP\*('' option is enabled,
    +the backspace, interrupt and line kill characters (among many other things) are set
    +.bP
    +unless the \*(``\fB\-I\fP\*('' option is enabled,
    +the terminal
    +and tab \fIinitialization\fP strings are sent to the standard error output,
    +and \fB@TSET@\fP waits one second (in case a hardware reset was issued).
    +.bP
     Finally, if the erase, interrupt and line kill characters have changed,
     or are not set to their default values, their values are displayed to the
     standard error output.
     .SS reset - reinitialization
     .PP
    -When invoked as \fB@RESET@\fR, \fB@TSET@\fR sets cooked and echo modes,
    -turns off cbreak and raw modes, turns on newline translation and
    -resets any unset special characters to their default values before
    -doing the terminal initialization described above.  This is useful
    -after a program dies leaving a terminal in an abnormal state.  Note,
    +When invoked as \fB@RESET@\fR, \fB@TSET@\fR sets the terminal
    +modes to \*(``sane\*('' values:
    +.bP
    +sets cooked and echo modes,
    +.bP
    +turns off cbreak and raw modes,
    +.bP
    +turns on newline translation and
    +.bP
    +resets any unset special characters to their default values
    +.PP
    +before
    +doing the terminal initialization described above.
    +Also, rather than using the terminal \fIinitialization\fP strings,
    +it uses the terminal \fIreset\fP strings.
    +.PP
    +The \fB@RESET@\fP command is useful
    +after a program dies leaving a terminal in an abnormal state:
    +.bP
     you may have to type
     .sp
         \fI\fP\fB@RESET@\fP\fI\fP
     .sp
     (the line-feed character is normally control-J) to get the terminal
     to work, as carriage-return may no longer work in the abnormal state.
    +.bP
     Also, the terminal will often not echo the command.
     .SH OPTIONS 
     .PP
    @@ -156,7 +188,7 @@ for details.
     reports the version of ncurses which was used in this program, and exits.
     .TP
     .B \-w
    -Resize the window to match the size deduced via \fBsetupterm\fP.
    +Resize the window to match the size deduced via \fBsetupterm\fP(3X).
     Normally this has no effect,
     unless \fBsetupterm\fP is not able to detect the window size.
     .PP
    @@ -250,8 +282,9 @@ Allman's comments in the 2BSD source code indicate
     that he began work in October 1977,
     continuing development over the next few years.
     .PP
    -In 1980, Eric Allman modified \fBtset\fP to provide a \*(lqreset\*(rq
    +In September 1980, Eric Allman modified \fBtset\fP to provide a \*(lqreset\*(rq
     feature when the program was invoked as \fBreset\fP.
    +This version appeared in 4.1cBSD, late in 1982.
     .PP
     The \fBncurses\fR implementation
     was lightly adapted from the 4.4BSD sources for a terminfo environment by Eric
    diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh
    index 3d5b39de..15527119 100755
    --- a/ncurses/base/MKlib_gen.sh
    +++ b/ncurses/base/MKlib_gen.sh
    @@ -2,10 +2,10 @@
     #
     # MKlib_gen.sh -- generate sources from curses.h macro definitions
     #
    -# ($Id: MKlib_gen.sh,v 1.55 2016/12/11 00:07:14 tom Exp $)
    +# ($Id: MKlib_gen.sh,v 1.56 2017/01/07 16:02:47 tom Exp $)
     #
     ##############################################################################
    -# Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.                #
    +# Copyright (c) 1998-2016,2017 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 "Software"), #
    @@ -399,9 +399,10 @@ EOF1
     
     cat >$AW2 <
    diff --git a/ncurses/tinfo/lib_data.c b/ncurses/tinfo/lib_data.c
    index bd973e54..0d253ffc 100644
    --- a/ncurses/tinfo/lib_data.c
    +++ b/ncurses/tinfo/lib_data.c
    @@ -1,5 +1,5 @@
     /****************************************************************************
    - * Copyright (c) 1998-2013,2016 Free Software Foundation, Inc.              *
    + * Copyright (c) 1998-2016,2017 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            *
    @@ -42,7 +42,7 @@
     
     #include 
     
    -MODULE_ID("$Id: lib_data.c,v 1.68 2016/11/21 23:29:14 tom Exp $")
    +MODULE_ID("$Id: lib_data.c,v 1.69 2017/01/07 19:51:37 tom Exp $")
     
     /*
      * OS/2's native linker complains if we don't initialize public data when
    @@ -204,6 +204,9 @@ NCURSES_EXPORT_VAR(NCURSES_GLOBALS) _nc_globals = {
     #if USE_PTHREADS_EINTR
         0,				/* read_thread */
     #endif
    +#if USE_WIDEC_SUPPORT
    +    CHARS_0s,			/* key_name */
    +#endif
     };
     
     #define STACK_FRAME_0	{ { 0 }, 0 }
    @@ -371,7 +374,7 @@ _nc_sigprocmask(int how, const sigset_t * newmask, sigset_t * oldmask)
         if ((pthread_sigmask))
     	return pthread_sigmask(how, newmask, oldmask);
         else
    -	return (sigprocmask)(how, newmask, oldmask);
    +	return (sigprocmask) (how, newmask, oldmask);
     }
     #endif
     #endif /* USE_PTHREADS */
    diff --git a/ncurses/tinfo/lib_setup.c b/ncurses/tinfo/lib_setup.c
    index 23239969..8446c803 100644
    --- a/ncurses/tinfo/lib_setup.c
    +++ b/ncurses/tinfo/lib_setup.c
    @@ -1,5 +1,5 @@
     /****************************************************************************
    - * Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
    + * Copyright (c) 1998-2016,2017 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            *
    @@ -48,7 +48,7 @@
     #include 
     #endif
     
    -MODULE_ID("$Id: lib_setup.c,v 1.167 2016/09/10 20:07:30 tom Exp $")
    +MODULE_ID("$Id: lib_setup.c,v 1.170 2017/01/07 16:50:16 tom Exp $")
     
     /****************************************************************************
      *
    @@ -220,9 +220,9 @@ _nc_handle_sigwinch(SCREEN *sp)
     NCURSES_EXPORT(void)
     NCURSES_SP_NAME(use_env) (NCURSES_SP_DCLx bool f)
     {
    +    START_TRACE();
         T((T_CALLED("use_env(%p,%d)"), (void *) SP_PARM, (int) f));
     #if NCURSES_SP_FUNCS
    -    START_TRACE();
         if (IsPreScreen(SP_PARM)) {
     	SP_PARM->_use_env = f;
         }
    @@ -235,11 +235,11 @@ NCURSES_SP_NAME(use_env) (NCURSES_SP_DCLx bool f)
     NCURSES_EXPORT(void)
     NCURSES_SP_NAME(use_tioctl) (NCURSES_SP_DCLx bool f)
     {
    +    START_TRACE();
         T((T_CALLED("use_tioctl(%p,%d)"), (void *) SP_PARM, (int) f));
     #if NCURSES_SP_FUNCS
    -    START_TRACE();
         if (IsPreScreen(SP_PARM)) {
    -	SP_PARM->_use_tioctl = f;
    +	SP_PARM->use_tioctl = f;
         }
     #else
         _nc_prescreen.use_tioctl = f;
    @@ -251,8 +251,8 @@ NCURSES_SP_NAME(use_tioctl) (NCURSES_SP_DCLx bool f)
     NCURSES_EXPORT(void)
     use_env(bool f)
     {
    -    T((T_CALLED("use_env(%d)"), (int) f));
         START_TRACE();
    +    T((T_CALLED("use_env(%d)"), (int) f));
         _nc_prescreen.use_env = f;
         returnVoid;
     }
    @@ -260,8 +260,8 @@ use_env(bool f)
     NCURSES_EXPORT(void)
     use_tioctl(bool f)
     {
    -    T((T_CALLED("use_tioctl(%d)"), (int) f));
         START_TRACE();
    +    T((T_CALLED("use_tioctl(%d)"), (int) f));
         _nc_prescreen.use_tioctl = f;
         returnVoid;
     }
    @@ -297,6 +297,8 @@ _nc_get_screensize(SCREEN *sp,
     #else /* !USE_TERM_DRIVER */
         TERMINAL *termp = cur_term;
         int my_tabsize;
    +    bool useEnv = _nc_prescreen.use_env;
    +    bool useTioctl = _nc_prescreen.use_tioctl;
     
         /* figure out the size of the screen */
         T(("screen size: terminfo lines = %d columns = %d", lines, columns));
    @@ -304,7 +306,14 @@ _nc_get_screensize(SCREEN *sp,
         *linep = (int) lines;
         *colp = (int) columns;
     
    -    if (_nc_prescreen.use_env || _nc_prescreen.use_tioctl) {
    +#if NCURSES_SP_FUNCS
    +    if (sp) {
    +	useEnv = sp->_use_env;
    +	useTioctl = sp->use_tioctl;
    +    }
    +#endif
    +
    +    if (useEnv || useTioctl) {
     #ifdef __EMX__
     	{
     	    int screendata[2];
    @@ -338,10 +347,10 @@ _nc_get_screensize(SCREEN *sp,
     	}
     #endif /* HAVE_SIZECHANGE */
     
    -	if (_nc_prescreen.use_env) {
    +	if (useEnv) {
     	    int value;
     
    -	    if (_nc_prescreen.use_tioctl) {
    +	    if (useTioctl) {
     		/*
     		 * If environment variables are used, update them.
     		 */
    diff --git a/ncurses/tinfo/tinfo_driver.c b/ncurses/tinfo/tinfo_driver.c
    index 4a6426fc..6d75648f 100644
    --- a/ncurses/tinfo/tinfo_driver.c
    +++ b/ncurses/tinfo/tinfo_driver.c
    @@ -1,5 +1,5 @@
     /****************************************************************************
    - * Copyright (c) 2008-2015,2016 Free Software Foundation, Inc.              *
    + * Copyright (c) 2008-2016,2017 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            *
    @@ -51,7 +51,7 @@
     # endif
     #endif
     
    -MODULE_ID("$Id: tinfo_driver.c,v 1.43 2016/12/24 23:20:08 tom Exp $")
    +MODULE_ID("$Id: tinfo_driver.c,v 1.44 2017/01/07 16:34:52 tom Exp $")
     
     /*
      * SCO defines TIOCGSIZE and the corresponding struct.  Other systems (SunOS,
    @@ -397,7 +397,7 @@ drv_size(TERMINAL_CONTROL_BLOCK * TCB, int *linep, int *colp)
     
         if (sp) {
     	useEnv = sp->_use_env;
    -	useTioctl = sp->_use_tioctl;
    +	useTioctl = sp->use_tioctl;
         } else {
     	useEnv = _nc_prescreen.use_env;
     	useTioctl = _nc_prescreen.use_tioctl;
    diff --git a/ncurses/widechar/lib_key_name.c b/ncurses/widechar/lib_key_name.c
    index da65f219..daf4ab02 100644
    --- a/ncurses/widechar/lib_key_name.c
    +++ b/ncurses/widechar/lib_key_name.c
    @@ -1,5 +1,5 @@
     /****************************************************************************
    - * Copyright (c) 2007 Free Software Foundation, Inc.                        *
    + * Copyright (c) 2007,2017 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            *
    @@ -35,7 +35,9 @@
     
     #include 
     
    -MODULE_ID("$Id: lib_key_name.c,v 1.3 2008/10/11 20:15:14 tom Exp $")
    +MODULE_ID("$Id: lib_key_name.c,v 1.4 2017/01/07 19:50:17 tom Exp $")
    +
    +#define MyData _nc_globals.key_name
     
     NCURSES_EXPORT(NCURSES_CONST char *)
     key_name(wchar_t c)
    @@ -44,19 +46,16 @@ key_name(wchar_t c)
         wchar_t *my_wchars;
         size_t len;
     
    -    /* FIXME: move to _nc_globals */
    -    static char result[MB_LEN_MAX + 1];
    -
         memset(&my_cchar, 0, sizeof(my_cchar));
         my_cchar.chars[0] = c;
         my_cchar.chars[1] = L'\0';
     
         my_wchars = wunctrl(&my_cchar);
    -    len = wcstombs(result, my_wchars, sizeof(result) - 1);
    +    len = wcstombs(MyData, my_wchars, sizeof(MyData) - 1);
         if (isEILSEQ(len) || (len == 0)) {
     	return 0;
         }
     
    -    result[len] = '\0';
    -    return result;
    +    MyData[len] = '\0';
    +    return MyData;
     }
    diff --git a/package/debian-mingw/changelog b/package/debian-mingw/changelog
    index 5d8430ef..09fb9969 100644
    --- a/package/debian-mingw/changelog
    +++ b/package/debian-mingw/changelog
    @@ -1,8 +1,8 @@
    -ncurses6 (6.0+20161231) unstable; urgency=low
    +ncurses6 (6.0+20170107) unstable; urgency=low
     
       * latest weekly patch
     
    - -- Thomas E. Dickey   Sat, 31 Dec 2016 07:01:56 -0500
    + -- Thomas E. Dickey   Sat, 07 Jan 2017 10:27:12 -0500
     
     ncurses6 (5.9-20131005) unstable; urgency=low
     
    diff --git a/package/debian-mingw/copyright b/package/debian-mingw/copyright
    index abd489d1..0adc7437 100644
    --- a/package/debian-mingw/copyright
    +++ b/package/debian-mingw/copyright
    @@ -5,11 +5,11 @@ Current ncurses maintainer: Thomas Dickey 
     
     -------------------------------------------------------------------------------
     Files: *
    -Copyright: 1998-2015,2016 Free Software Foundation, Inc.
    +Copyright: 1998-2016,2017 Free Software Foundation, Inc.
     Licence: X11
     
     Files: aclocal.m4 package
    -Copyright: 1996-2015,2016 by Thomas E. Dickey
    +Copyright: 1996-2016,2017 by Thomas E. Dickey
     Licence: X11
     
     Files: doc/html/NCURSES-Programming-HOWTO.html
    diff --git a/package/debian-mingw64/changelog b/package/debian-mingw64/changelog
    index 5d8430ef..09fb9969 100644
    --- a/package/debian-mingw64/changelog
    +++ b/package/debian-mingw64/changelog
    @@ -1,8 +1,8 @@
    -ncurses6 (6.0+20161231) unstable; urgency=low
    +ncurses6 (6.0+20170107) unstable; urgency=low
     
       * latest weekly patch
     
    - -- Thomas E. Dickey   Sat, 31 Dec 2016 07:01:56 -0500
    + -- Thomas E. Dickey   Sat, 07 Jan 2017 10:27:12 -0500
     
     ncurses6 (5.9-20131005) unstable; urgency=low
     
    diff --git a/package/debian-mingw64/copyright b/package/debian-mingw64/copyright
    index abd489d1..0adc7437 100644
    --- a/package/debian-mingw64/copyright
    +++ b/package/debian-mingw64/copyright
    @@ -5,11 +5,11 @@ Current ncurses maintainer: Thomas Dickey 
     
     -------------------------------------------------------------------------------
     Files: *
    -Copyright: 1998-2015,2016 Free Software Foundation, Inc.
    +Copyright: 1998-2016,2017 Free Software Foundation, Inc.
     Licence: X11
     
     Files: aclocal.m4 package
    -Copyright: 1996-2015,2016 by Thomas E. Dickey
    +Copyright: 1996-2016,2017 by Thomas E. Dickey
     Licence: X11
     
     Files: doc/html/NCURSES-Programming-HOWTO.html
    diff --git a/package/debian/changelog b/package/debian/changelog
    index 74a0edc6..a98a0ec2 100644
    --- a/package/debian/changelog
    +++ b/package/debian/changelog
    @@ -1,8 +1,8 @@
    -ncurses6 (6.0+20161231) unstable; urgency=low
    +ncurses6 (6.0+20170107) unstable; urgency=low
     
       * latest weekly patch
     
    - -- Thomas E. Dickey   Sat, 31 Dec 2016 07:01:56 -0500
    + -- Thomas E. Dickey   Sat, 07 Jan 2017 10:27:12 -0500
     
     ncurses6 (5.9-20120608) unstable; urgency=low
     
    diff --git a/package/debian/copyright b/package/debian/copyright
    index abd489d1..0adc7437 100644
    --- a/package/debian/copyright
    +++ b/package/debian/copyright
    @@ -5,11 +5,11 @@ Current ncurses maintainer: Thomas Dickey 
     
     -------------------------------------------------------------------------------
     Files: *
    -Copyright: 1998-2015,2016 Free Software Foundation, Inc.
    +Copyright: 1998-2016,2017 Free Software Foundation, Inc.
     Licence: X11
     
     Files: aclocal.m4 package
    -Copyright: 1996-2015,2016 by Thomas E. Dickey
    +Copyright: 1996-2016,2017 by Thomas E. Dickey
     Licence: X11
     
     Files: doc/html/NCURSES-Programming-HOWTO.html
    diff --git a/package/mingw-ncurses.nsi b/package/mingw-ncurses.nsi
    index d411ce8f..41aa7d0c 100644
    --- a/package/mingw-ncurses.nsi
    +++ b/package/mingw-ncurses.nsi
    @@ -1,4 +1,4 @@
    -; $Id: mingw-ncurses.nsi,v 1.191 2016/12/31 12:01:55 tom Exp $
    +; $Id: mingw-ncurses.nsi,v 1.192 2017/01/07 15:27:12 tom Exp $
     
     ; TODO add examples
     ; TODO bump ABI to 6
    @@ -9,8 +9,8 @@
     
     !define VERSION_MAJOR "6"
     !define VERSION_MINOR "0"
    -!define VERSION_YYYY  "2016"
    -!define VERSION_MMDD  "1231"
    +!define VERSION_YYYY  "2017"
    +!define VERSION_MMDD  "0107"
     !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
     
     !define MY_ABI   "5"
    diff --git a/package/mingw-ncurses.spec b/package/mingw-ncurses.spec
    index ae2cd216..306c1c7d 100644
    --- a/package/mingw-ncurses.spec
    +++ b/package/mingw-ncurses.spec
    @@ -3,7 +3,7 @@
     Summary: shared libraries for terminal handling
     Name: mingw32-ncurses6
     Version: 6.0
    -Release: 20161231
    +Release: 20170107
     License: X11
     Group: Development/Libraries
     Source: ncurses-%{version}-%{release}.tgz
    diff --git a/package/ncurses.spec b/package/ncurses.spec
    index 18ae601f..4bdf0ebd 100644
    --- a/package/ncurses.spec
    +++ b/package/ncurses.spec
    @@ -1,7 +1,7 @@
     Summary: shared libraries for terminal handling
     Name: ncurses6
     Version: 6.0
    -Release: 20161231
    +Release: 20170107
     License: X11
     Group: Development/Libraries
     Source: ncurses-%{version}-%{release}.tgz
    diff --git a/progs/tput.c b/progs/tput.c
    index 481ae635..aa05baf6 100644
    --- a/progs/tput.c
    +++ b/progs/tput.c
    @@ -1,5 +1,5 @@
     /****************************************************************************
    - * Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
    + * Copyright (c) 1998-2016,2017 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            *
    @@ -50,7 +50,7 @@
     #include 
     #include 
     
    -MODULE_ID("$Id: tput.c,v 1.65 2016/12/24 18:44:32 tom Exp $")
    +MODULE_ID("$Id: tput.c,v 1.68 2017/01/07 23:08:24 tom Exp $")
     
     #define PUTS(s)		fputs(s, stdout)
     
    @@ -135,8 +135,12 @@ tput_cmd(int fd, TTY * saved_settings, int argc, char *argv[])
     	int intrchar = -1;	/* new interrupt character */
     	int tkillchar = -1;	/* new kill character */
     
    -	reset_start(stdout, is_reset, is_init);
    -	reset_tty_settings(fd, saved_settings);
    +	if (is_reset) {
    +	    reset_start(stdout, TRUE, FALSE);
    +	    reset_tty_settings(fd, saved_settings);
    +	} else {
    +	    reset_start(stdout, FALSE, TRUE);
    +	}
     
     #if HAVE_SIZECHANGE
     	set_window_size(fd, &lines, &columns);
    diff --git a/progs/tset.c b/progs/tset.c
    index d3007e95..d660d84d 100644
    --- a/progs/tset.c
    +++ b/progs/tset.c
    @@ -1,5 +1,5 @@
     /****************************************************************************
    - * Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
    + * Copyright (c) 1998-2016,2017 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            *
    @@ -97,7 +97,7 @@
     char *ttyname(int fd);
     #endif
     
    -MODULE_ID("$Id: tset.c,v 1.115 2016/12/24 18:46:42 tom Exp $")
    +MODULE_ID("$Id: tset.c,v 1.116 2017/01/07 22:48:20 tom Exp $")
     
     #ifndef environ
     extern char **environ;
    @@ -837,7 +837,7 @@ main(int argc, char **argv)
     	reset_start(stderr, TRUE, FALSE);
     	reset_tty_settings(my_fd, &mode);
         } else {
    -	reset_start(stderr, FALSE, FALSE);
    +	reset_start(stderr, FALSE, TRUE);
         }
     
         ttype = get_termcap_entry(my_fd, *argv);
    diff --git a/test/package/debian-mingw/copyright b/test/package/debian-mingw/copyright
    index f4d29e3c..79f83167 100644
    --- a/test/package/debian-mingw/copyright
    +++ b/test/package/debian-mingw/copyright
    @@ -4,11 +4,11 @@ Current ncurses maintainer: Thomas Dickey 
     
     -------------------------------------------------------------------------------
     Files: *
    -Copyright: 1998-2015,2016 Free Software Foundation, Inc.
    +Copyright: 1998-2016,2017 Free Software Foundation, Inc.
     Licence: X11
     
     Files: aclocal.m4 package
    -Copyright: 2003-2015,2016 by Thomas E. Dickey
    +Copyright: 2003-2016,2017 by Thomas E. Dickey
     Licence: X11
     
         Permission is hereby granted, free of charge, to any person obtaining a
    diff --git a/test/package/debian-mingw64/copyright b/test/package/debian-mingw64/copyright
    index f4d29e3c..79f83167 100644
    --- a/test/package/debian-mingw64/copyright
    +++ b/test/package/debian-mingw64/copyright
    @@ -4,11 +4,11 @@ Current ncurses maintainer: Thomas Dickey 
     
     -------------------------------------------------------------------------------
     Files: *
    -Copyright: 1998-2015,2016 Free Software Foundation, Inc.
    +Copyright: 1998-2016,2017 Free Software Foundation, Inc.
     Licence: X11
     
     Files: aclocal.m4 package
    -Copyright: 2003-2015,2016 by Thomas E. Dickey
    +Copyright: 2003-2016,2017 by Thomas E. Dickey
     Licence: X11
     
         Permission is hereby granted, free of charge, to any person obtaining a
    diff --git a/test/package/debian/copyright b/test/package/debian/copyright
    index f4d29e3c..79f83167 100644
    --- a/test/package/debian/copyright
    +++ b/test/package/debian/copyright
    @@ -4,11 +4,11 @@ Current ncurses maintainer: Thomas Dickey 
     
     -------------------------------------------------------------------------------
     Files: *
    -Copyright: 1998-2015,2016 Free Software Foundation, Inc.
    +Copyright: 1998-2016,2017 Free Software Foundation, Inc.
     Licence: X11
     
     Files: aclocal.m4 package
    -Copyright: 2003-2015,2016 by Thomas E. Dickey
    +Copyright: 2003-2016,2017 by Thomas E. Dickey
     Licence: X11
     
         Permission is hereby granted, free of charge, to any person obtaining a
    -- 
    2.44.0