ncurses 6.0 - patch 20150808
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 9 Aug 2015 00:19:07 +0000 (00:19 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 9 Aug 2015 00:19:07 +0000 (00:19 +0000)
+ build-fix for Ada95 on older platforms without stdint.h
+ build-fix for Solaris, whose /bin/sh and /usr/bin/sed are non-POSIX.
+ update release announcement, summarizing more than 800 changes across
  more than 200 snapshots.
+ minor fixes to manpages, etc., to simplify linking from announcement
  page.

62 files changed:
ANNOUNCE
Ada95/Makefile.in
Ada95/aclocal.m4
Ada95/configure
Ada95/doc/Makefile.in
Ada95/gen/Makefile.in
Ada95/include/Makefile.in
Ada95/samples/Makefile.in
Ada95/src/Makefile.in
Ada95/src/c_threaded_variables.h
Ada95/src/c_varargs_to_ada.h
Ada95/src/ncurses_compat.c
Makefile.in
NEWS
VERSION
aclocal.m4
announce.html.in
c++/Makefile.in
configure
configure.in
dist.mk
doc/html/ada/table.html
doc/html/announce.html
doc/html/man/captoinfo.1m.html
doc/html/man/clear.1.html
doc/html/man/form.3x.html
doc/html/man/form_driver.3x.html
doc/html/man/infocmp.1m.html
doc/html/man/infotocap.1m.html
doc/html/man/menu.3x.html
doc/html/man/ncurses.3x.html
doc/html/man/panel.3x.html
doc/html/man/tabs.1.html
doc/html/man/terminfo.5.html
doc/html/man/tic.1m.html
doc/html/man/toe.1m.html
doc/html/man/tput.1.html
doc/html/man/tset.1.html
form/Makefile.in
include/Makefile.in
man/Makefile.in
man/form.3x
man/form_driver.3x
man/ncurses.3x
menu/Makefile.in
misc/Makefile.in
ncurses/Makefile.in
ncurses/base/MKlib_gen.sh
ncurses/base/lib_set_term.c
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
panel/Makefile.in
progs/Makefile.in
test/Makefile.in
test/aclocal.m4
test/configure
test/configure.in
test/demo_termcap.c

index 11933c5f6d55f4f21e79e0829da3c801365977ce..858c7f2fb3cbca9f3cf2023749859fe7560fa1b6 100644 (file)
--- a/ANNOUNCE
+++ b/ANNOUNCE
-                            Announcing ncurses 5.9
+                            Announcing ncurses 6.0
+
+Overview
 
    The  ncurses  (new  curses)  library  is  a free software emulation of
 
    The  ncurses  (new  curses)  library  is  a free software emulation of
-   curses  in  System  V  Release 4.0, and more. It uses terminfo format,
-   supports  pads  and color and multiple highlights and forms characters
-   and   function-key   mapping,   and  has  all  the  other  SYSV-curses
-   enhancements over BSD curses.
+   curses  in  System  V  Release  4.0 (SVr4), and more. It uses terminfo
+   format,  supports  pads  and  color  and multiple highlights and forms
+   characters and function-key mapping, and has all the other SVr4-curses
+   enhancements  over  BSD  curses.  SVr4 curses is better known today as
+   X/Open Curses.
 
    In  mid-June  1995,  the  maintainer of 4.4BSD curses declared that he
 
    In  mid-June  1995,  the  maintainer of 4.4BSD curses declared that he
-   considered  4.4BSD curses obsolete, and encouraged the keepers of Unix
+   considered  4.4BSD curses obsolete, and encouraged the keepers of unix
    releases such as BSD/OS, FreeBSD and NetBSD to switch over to ncurses.
 
    releases such as BSD/OS, FreeBSD and NetBSD to switch over to ncurses.
 
-   The ncurses code was developed under GNU/Linux. It has been in use for
-   some  time  with  OpenBSD as the system curses library, and on FreeBSD
-   and  NetBSD  as  an  external  package.  It  should port easily to any
-   ANSI/POSIX-conforming UNIX. It has even been ported to OS/2 Warp!
+   Since 1995, ncurses has been ported to many systems:
+     * It is used in almost every system based on the Linux kernel (aside
+       from some embedded applications).
+     * It  is  used  as the system curses library on OpenBSD, FreeBSD and
+       OSX.
+     * It  is used in environments such as Cygwin and MinGW. The first of
+       these was EMX on OS/2 Warp.
+     * It is used (though usually not as the system curses) on all of the
+       vendor  unix  systems,  e.g.,  AIX,  HP-UX,  IRIX64, SCO, Solaris,
+       Tru64.
+     * It should work readily on any ANSI/POSIX-conforming unix.
 
    The distribution includes the library and support utilities, including
 
    The distribution includes the library and support utilities, including
-   a   terminfo  compiler  tic(1),  a  decompiler  infocmp(1),  clear(1),
-   tput(1),  tset(1),  and  a  termcap conversion tool captoinfo(1). Full
-   manual pages are provided for the library and tools.
+     * [1]captoinfo, a termcap conversion tool
+     * [2]clear, utility for clearing the screen
+     * [3]infocmp, the terminfo decompiler
+     * [4]tabs, set tabs on a terminal
+     * [5]tic, the terminfo compiler
+     * [6]toe, list (table of) terminfo entries
+     * [7]tput,  utility  for  retrieving  terminal capabilities in shell
+       scripts
+     * [8]tset, to initialize the terminal
+
+   Full manual pages are provided for the library and tools.
 
    The  ncurses  distribution  is  available via anonymous FTP at the GNU
 
    The  ncurses  distribution  is  available via anonymous FTP at the GNU
-   distribution site [1]ftp://ftp.gnu.org/gnu/ncurses/ .
-   It is also available at [2]ftp://invisible-island.net/ncurses/ .
-
-                                 Release Notes
-
-   This  release  is  designed  to  be upward compatible from ncurses 5.0
-   through   5.8;  very  few  applications  will  require  recompilation,
-   depending   on  the  platform.  These  are  the  highlights  from  the
-   change-log since ncurses 5.8 release.
-
-   This  is  a  bug-fix  release,  correcting  a  small  number of urgent
-   problems in the ncurses library from the 5.8 release.
-
-   It also improves the Ada95 binding:
-     * fixes  a  longstanding  portability  problem  with  its use of the
-       [3]set_field_type    function.    Because   that   function   uses
-       variable-length  argument  lists, its interface with gnat does not
-       work with certain platforms.
-     * improves  configurability and portability, particularly when built
-       separately  from the main ncurses tree. The 5.8 release introduced
-       scripts  which  can be used to construct separate tarballs for the
-       Ada95 and ncurses examples.
-       Those  were a proof of concept. For the 5.9 release, those scripts
-       are  augmented  with  rpm-  and  dpkg-scripts  used in test builds
-       against  a  variety of gnat- and system ncurses versions as old as
-       gnat  3.15  and  ncurses  5.4  (see  snapshots  and systems tested
-       [4]here.
-     * additional  improvements  were made for portability of the ncurses
-       examples,  adding  rpm-  and  dpkg-scripts  for  test-builds.  See
-       [5]this page for snapshots and other information.
-
-                              Features of Ncurses
-
-   The ncurses package is fully compatible with SVr4 (System V Release 4)
-   curses:
-     * All  257  of  the  SVr4  calls  have  been  implemented  (and  are
-       documented).
-     * Full  support for SVr4 curses features including keyboard mapping,
-       color,   forms-drawing   with   ACS   characters,   and  automatic
-       recognition of keypad and function keys.
-     * An  emulation  of  the  SVr4 panels library, supporting a stack of
-       windows with backing store, is included.
-     * An  emulation  of the SVr4 menus library, supporting a uniform but
-       flexible interface for menu programming, is included.
-     * An  emulation of the SVr4 form library, supporting data collection
-       through on-screen forms, is included.
-     * Binary   terminfo   entries   generated   by  the  ncurses  tic(1)
-       implementation  are  bit-for-bit-compatible  with the entry format
-       SVr4 curses uses.
-     * The utilities have options to allow you to filter terminfo entries
-       for  use  with  less  capable curses/terminfo versions such as the
-       HP/UX and AIX ports.
+   distribution site
+
+     [9]ftp://ftp.gnu.org/gnu/ncurses/ .
+
+   It is also available at
+
+     [10]ftp://invisible-island.net/ncurses/ .
+
+Release Notes
+
+   These notes are for ncurses 6.0, released August 8, 2015.
+
+   This  release  is  designed  to  be source-compatible with ncurses 5.0
+   through  5.9;  providing  a  new  application  binary interface (ABI).
+   Although  the  source can still be configured to support the ncurses 5
+   ABI,  the  intent  of  the  release is to provide extensions which are
+   generally useful, but binary-incompatible with ncurses 5:
+     * Extend  the  cchar_t  structure to allow more than 16 colors to be
+       encoded.
+     * Modify  the  encoding  of mouse state to make room for a 5th mouse
+       button.  That  allows  one  to use ncurses with a wheel mouse with
+       xterm or similar X terminal emulators.
+
+   There are, of course, numerous other improvements, including
+     * fixes made based on the Clang and Coverity static analyzers.
+     * memory leak fixes using Valgrind
+
+   The  release  notes  mention  some  bug-fixes,  but are focused on new
+   features  and  improvements to existing features log since ncurses 5.9
+   release.
+
+   While  the intent of the release is to provide a new stable ABI, there
+   are other development activities which are summarized below.
+     * The  original  release  plan,  e.g., for "5.10" was to improve the
+       MinGW port. Ultimately that was completed (wide-character support,
+       mouse,  etc),  but  was  deferred  to focus on termcap support and
+       performance  issues.  Also, pinpointing the problems with Console2
+       took a while.
+     * A  review  of  termcap  compatibility in 2011 led to several minor
+       fixes  in  the  library  and improvements to utilities. To do this
+       properly,  a  review of the various extent termcap implementations
+       was needed.
+       The [11]termcap library checker (tctest) (not part of ncurses) was
+       one    result.    A   followup   review   of   performance   using
+       [12]ncurses-examples in 2014 led to additional improvements.
+     * Output buffering provided a further, but worthwhile distraction. A
+       bug  report  in  2012  regarding  the  use  of  signal handlers in
+       ncurses)  pointed  out  [13]a  problem  with  the  use  of  unsafe
+       functions  for  handling SIGTSTP. Other signals could be addressed
+       with workarounds; repairing SIGTSTP required a different approach.
+       The  solution  required changing internal behavior of the library:
+       how it handles output buffering.
+       Now  ncurses buffers its own output, independently of the standard
+       output.  A few applications relied upon the library's direct reuse
+       of  the  standard  output  buffering;  however that is unspecified
+       behavior  and  has  never been a recommended practice. Identifying
+       these  applications  as  well  as  refining  the  change to permit
+       low-level applications to work consistently took time.
+     * Since  the introduction of the experimental support for 256 colors
+       early  in  [14]2005  (released in [15]ncurses 5.5), there has been
+       increased  user  interest. Almost all packagers continue providing
+       the ncurses ABI 5 which cannot support 256 colors.
+     * Symbol  versioning,  or  the  lack  of  it in ncurses, is the main
+       reason why packagers would be reluctant to add a new ncurses ABI.
+       This  release  provides  the  new  ABI along with script-generated
+       lists  of versioned symbols which can be used for both ABI 5 and 6
+       (with  distinct names to keep the two separate). This took time to
+       development, as reported in [16]Symbol versioning in ncurses.
+
+  Library improvements
+
+  Output buffering
+
+   X/Open curses provides more than one initialization function:
+     * [17]initscr (the simplest) accepts no parameters.
+     * [18]newterm accepts parameters for the stream input and output
+     * [19]setupterm (the low-level function) accepts a parameter for the
+       file descriptor of the output.
+
+   They are documented in X/Open as if initscr calls newterm using stdout
+   for   output  stream,  and  in  turn  newterm  calls  setupterm  using
+   fileno(stdout)  for  the file descriptor. As long as an implementation
+   acts  as if it does this, it conforms. In practice, implementations do
+   what  is  implied.  This  creates  a  problem: the low-level setupterm
+   function's  file  descriptor  is  unbuffered,  while  newterm  implies
+   buffered  output.  X/Open  Curses says that all output is done through
+   the  file  descriptor,  and  does  not  say  how  the output stream is
+   actually used.
+
+   Initially,  ncurses used the file descriptor (obtained from the output
+   stream  passed to newterm) for changing the terminal modes, and relied
+   upon  the  output  parameter of newterm for buffered output. Later (to
+   avoid  using  unsafe  buffered  I/O  in  signal handlers), ncurses was
+   modified  to use the file descriptor (unbuffered output) when cleaning
+   up  on receipt of a signal. Otherwise (when not handling a signal), it
+   continued to use the buffered output.
+
+   That  approach  worked reasonably well and as a side effect, using the
+   same buffered output as an application might use for printf meant that
+   no   flushing   was   needed   when   switching  between  normal-  and
+   screen-modes.
+
+   There were a couple of problems:
+     * to get good performance, curses (not only ncurses, but SVr4 curses
+       in general) set an output buffer using setbuf or similar function.
+       There  is no standard (or portable) way to turn that output buffer
+       off,  and  revert  to  line-buffering.  The  [20]NCURSES_NO_SETBUF
+       environment variable did make it optional.
+     * to  handle SIGTSTP (the "stop" signal), ncurses relied upon unsafe
+       functions.  That  is,  due  to  the  complexity of the feature, it
+       relied  upon reusing existing functions which should not have been
+       called via the signal handler.
+
+   Conveniently, solving the second problem (by making ncurses do its own
+   output  buffering)  also  fixed  the first one. But there were special
+   cases to resolve: [21]low-level functions such as mvcur, putp, vidattr
+   explicitly  use  the  standard  output.  Those  functions  were reused
+   internally, and required modification to distinguish whether they were
+   used by the high-level or low-level interfaces.
+
+   Finally, there may still be a few programs which should be modified to
+   improve their portability, e.g., adding an
+
+fflush(stdout);
+
+   when  switching  from "[22]shell" mode to "[23]program" (curses) mode.
+   Those are fairly rare because most programmers have learned not to mix
+   printf and [24]printw.
+
+  Symbol versioning
+
+   This  release  introduces symbol-versioning to ncurses because without
+   it,  the  change of ABI would be less successful. A lengthy discussion
+   will  be  presented  in  [25]Symbol versioning in ncurses. These notes
+   summarize what has changed, and what can be done with the new release.
+
+   Symbol-versioning  allows  the  developers  of  a library to mark each
+   public  symbol  (both  data and functions) with an identifier denoting
+   the  library  name  and  the  version for which it was built. By doing
+   this, users of the library have a way to help ensure that applications
+   do not accidentally load an incompatible library. In addition, private
+   symbols can be hidden entirely.
+
+   This   release   provides   sample   files   for  the  four  principal
+   configurations  of  ncurses libraries: ncurses, ncursesw, ncursest and
+   ncursestw. Each sample is given in two forms:
+
+   ".map"
+          These list all public symbols, together with version names.
+
+   ".sym"
+          These list all public symbols, without version names.
+
+   The  sample  files  are generated by scripts which take into account a
+   few special cases such as [26]tack to omit many of the ncurses private
+   symbols  (beginning with "_nc_"). Here are counts of globals versus
+   locals:
+
+      Config   Symbols Globals Locals "_nc_"
+     ncurses       976     796    180    332
+     ncursesw     1089     905    184    343
+     ncursest      979     804    175    358
+     ncursestw    1098     914    184    372
+
+   Although only four sample configurations are presented, each is formed
+   by  merging  symbols  from  several  combinations  of configure-script
+   options, taking into account advice from downstream packagers. Because
+   they  are  formed by merging, the sample files may list a symbol which
+   is  not  in  a  given package. That is expected. The samples have been
+   tested  and  are  working  with  systems  (such as Fedora, FreeBSD and
+   Debian)  which  fully  support  this  feature. There are other systems
+   which  do  not  support the feature, and a few (such as Solaris) which
+   provide incomplete support.
+
+   The  version-naming convention used allows these sample files to build
+   distinct libraries for ABI 5 and 6. Version names consist of
+     * configuration   name,  e.g.,  "NCURSESW"  for  the  wide-character
+       libraries
+     * ABI version (if not 5)
+     * library  name  for two special cases which have the same interface
+       across configurations: "TINFO" and "TIC"
+     * release version
+     * patch date (for the release version)
+
+   For  example,  running  nm  -D  on  the libraries in the ncurses6 test
+   package shows these symbol-versions:
+
+0000000000000000 A NCURSES6_TIC_5.0.19991023
+0000000000000000 A NCURSES6_TIC_5.1.20000708
+0000000000000000 A NCURSES6_TIC_5.5.20051010
+0000000000000000 A NCURSES6_TIC_5.7.20081102
+0000000000000000 A NCURSES6_TIC_5.9.20150530
+0000000000000000 A NCURSES6_TINFO_5.0.19991023
+0000000000000000 A NCURSES6_TINFO_5.1.20000708
+0000000000000000 A NCURSES6_TINFO_5.2.20001021
+0000000000000000 A NCURSES6_TINFO_5.3.20021019
+0000000000000000 A NCURSES6_TINFO_5.4.20040208
+0000000000000000 A NCURSES6_TINFO_5.5.20051010
+0000000000000000 A NCURSES6_TINFO_5.6.20061217
+0000000000000000 A NCURSES6_TINFO_5.7.20081102
+0000000000000000 A NCURSES6_TINFO_5.8.20110226
+0000000000000000 A NCURSES6_TINFO_5.9.20150530
+0000000000000000 A NCURSESW6_5.1.20000708
+0000000000000000 A NCURSESW6_5.3.20021019
+0000000000000000 A NCURSESW6_5.4.20040208
+0000000000000000 A NCURSESW6_5.5.20051010
+0000000000000000 A NCURSESW6_5.6.20061217
+0000000000000000 A NCURSESW6_5.7.20081102
+0000000000000000 A NCURSESW6_5.8.20110226
+0000000000000000 A NCURSESW6_5.9.20150530
+
+   As  a special case, this release (which makes the final change for ABI
+   5) is marked with release version 5.9 and patch date 20150530.
+
+  Miscellaneous
+
+   The new release has several improvements for performance and building.
+   For instance:
+     * several  files  in ncurses- and progs-directories were modified to
+       allow  const  data used in internal tables to be put by the linker
+       into the readonly text segment.
+     * various improvements were made to building the Ada95 binding, both
+       in simplifying the generated files as well as improving the way it
+       uses gnatmake
+
+   There are also new features in the libraries:
+     * added [27]use_tioctl function
+     * added  [28]wgetdelay  to  retrieve  _delay  member of WINDOW if it
+       happens to be opaque, e.g., in the pthread configuration.
+     * added [29]A_ITALIC extension.
+     * added  form  library  extension [30]O_DYNAMIC_JUSTIFY option which
+       can  be  used to override the different treatment of justification
+       for static versus dynamic fields .
+     * rewrote  [31]putwin  and  [32]getwin,  making  an extended version
+       which  is  capable of reading screen-dumps between the wide/normal
+       ncurses  configurations.  These are text files, except for a magic
+       code at the beginning:
+
+0       string          \210\210        Screen-dump (ncurses)
+
+     * several changes to mouse support include:
+          + added decoder for xterm SGR 1006 mouse mode.
+          + added experimental support for "%u" format to terminfo.
+          + improved  behavior  of  wheel-mice for xterm protocol: noting
+            that  there  are only button-presses for buttons "4" and "5",
+            so   there  is  no  need  to  wait  to  combine  events  into
+            double-clicks .
+
+   There   are   a   few  new  configure  options  dealing  with  library
+   customization:
+     * add "--enable-ext-putwin" configure option to turn on the extended
+       putwin/getwin.  By default, this is enabled for ABI 6 and disabled
+       with ABI 5.
+     * add  "--enable-string-hacks" option to control whether strlcat and
+       strlcpy  may  be  used. Because ncurses already does the requisite
+       buffer-limit  checks,  this feature is mainly of interest to quiet
+       compiler-warnings on a few systems.
+     * add  configure  option  "--with-tparm-arg"  to  allow  [33]tparm's
+       parameters  to  be  something more likely to be the same size as a
+       pointer, e.g., intptr_t (again, the default is set for ABI 6).
+
+  Program improvements
+
+    Utilities
+
+   Most of the termcap-related changes based on development of [34]tctest
+   (termcap  library  checker)  are  implemented  in  the tic and infocmp
+   programs   rather   than  affecting  the  library.  As  noted  in  the
+   [35]discussion  of  tctest,  ncurses's  ability  to  translate between
+   terminfo and termcap formats has been improved at different times, but
+   subject  to  feedback from "real" termcap users. There are very few of
+   those.  Nowadays,  virtually  all  termcap users are using ncurses (or
+   NetBSD, with its own terminfo library) and their programs are actually
+   using terminfo rather than termcap data.
+
+   Still,  there  are a few. A comment about the translation of the ASCII
+   NUL character prompted a review:
+     * Both   terminfo   and   termcap   store   string  capabilities  as
+       NUL-terminated strings.
+     * In terminfo, a \0 in a terminal description is stored as \200.
+     * There are no (known) terminals which would behave differently when
+       sent \0 or \200.
+     * When  translating  to  terminfo  format (or displaying a printable
+       version of an entry using infocmp), ncurses shows \200 as \0.
+     * It has done this since 1998 (quoting from the NEWS file):
+
+[36]980103
+...
+        + modify _nc_tic_expand() to generate \0 rather than \200.
+...
+        + correct translation of terminfo "^@", to \200, like \0.
+
+     * However,  the  _nc_tic_expand  function (which optionally produces
+       terminfo  or termcap format) did not address this special case for
+       termcap.  Even  the  later  4.4BSD  [37]cgetstr  interprets  a  \0
+       literally,  ending  that  string  (rather  than using the terminfo
+       improvement).
+
+   As  a  result of the review, several improvements were made to ncurses
+   translation to/from termcap format -- and improving the checks made in
+   tic  for  consistency  of  entries.  Most  of these are not of general
+   interest, except for two new command-line options for tic and infocmp:
+     * the  "-0"  option  generates  termcap/terminfo  source on a single
+       line.
+     * the  "-K"  option  provides stricter BSD-compatibility for termcap
+       output.
+
+   Other user-visible improvements and new features include:
+     * added  "-D"  option  to  tic  and  infocmp,  to  show the database
+       locations that it could use.
+     * added "-s" option to toe, to sort its output.
+     * extended  "-c" and "-n" options of infocmp to allow comparing more
+       than two entries.
+     * modified  toe's report when "-a" and "-s" options are combined, to
+       add a column showing which entries belong to a given database.
+     * modified  the clear program to take into account the "E3" extended
+       capability to clear the terminal's scrollback buffer.
+
+    Examples
+
+   Along  with  the library and utilities, many improvements were made to
+   the  [38]ncurses-examples.  Some  were  made  to  allow  building (and
+   comparison-testing) against NetBSD curses and PDCurses. Both lack some
+   of  the  X/Open Curses features, necessitating customization. But this
+   activity  was  useful  because  it  showed  some remaining performance
+   issues (which have been resolved in this release).
+
+   These changes were made to verify compatibility or compare performance
+   of ncurses:
+     * made  workarounds  for compiling test-programs with NetBSD curses,
+       though it lacks some common functions such as [39]use_env.
+     * added dots_termcap test-program
+     * added  dots_curses test-program, for comparison with the low-level
+       examples.
+     * added   test_setupterm  test-proram  to  demonstrate  normal/error
+       returns from the setupterm and restartterm functions.
+     * added  "-d",  "-e"  and  "-q"  options  to  the  demo_terminfo and
+       demo_termcap test-programs.
+     * added   "-y"   option   to   demo_termcap  and  test/demo_terminfo
+       test-programs   to   demonstrate  behavior  with/without  extended
+       capabilities.
+     * modified  demo_termcap  and  demo_terminfo  test-programs  to make
+       their  options  more  directly  comparable, and add "-i" option to
+       specify  a  terminal  description  filename  to parse for names to
+       lookup.
+     * rewrote   the  tests  for  [40]mvderwin  and  test  for  recursive
+       [41]mvwin in the movewindow test-program.
+
+   These changes were made to help with the MinGW port:
+     * added   test-screens   to   the   ncurses   test-program  to  show
+       256-characters at a time, to help with MinGW port.
+     * modified the view test-program to load UTF-8 when built with MinGW
+       by  using  regular win32 API because the MinGW functions mblen and
+       mbtowc do not work.
+     * added "-s" option to the view test-program to allow it to start in
+       single-step mode, reducing size of trace files when it is used for
+       debugging MinGW changes.
+
+   These changes were made to verify new extensions in ncurses:
+     * added   [42]form_driver_w   entrypoint   to  wide-character  forms
+       library, as well as form_driver_w test-program.
+     * modified  ncurses  test-program's  b/B tests to display lines only
+       for  the  attributes which a given terminal supports, to make room
+       for an italics test.
+     * modified  ncurses  test-program,  adding  "-E" and "-T" options to
+       demonstrate use_env versus use_tioctl.
+     * modified ncurses test-program's c/C tests to cycle through subsets
+       of   the   total   number   of   colors,   to   better  illustrate
+       8/16/88/256-colors by providing directly comparable screens.
+     * modified the ncurses test-program to also show position reports in
+       'a' test.
+
+   These changes were made to make the examples more useful:
+     * added scripts for building dpkg and rpm test-packages
+     * modified  the  hanoi  test-program  to  show the minimum number of
+       moves possible for the given number of tiles.
+     * modified  the  knight  test-program  to show the number of choices
+       possible for each position in automove option, e.g., to allow user
+       to follow Warnsdorff's rule to solve the puzzle.
+
+  Terminal database
+
+   This  release  provides  improvements  to  tic's "-c" checking option,
+   which was used for example to
+     * make sgr in several entries agree with other caps.
+     * correct  padding  in  some  entries  where  earlier  versions  had
+       miscounted the number of octal digits.
+
+   There are several new terminal descriptions:
+     * [43]mlterm is now aliased to mlterm3
+     * [44]nsterm is now derived from nsterm-256color
+     * [45]putty-sco
+     * [46]teken is FreeBSD's "xterm" console.
+     * [47]terminator
+     * [48]terminology
+     * [49]tmux is derived from screen.
+     * several  screen.XXX  entries support the respective variations for
+       256 colors.
+     * [50]simpleterm is now 0.5
+     * [51]vte is aliased to vte-2012
+     * [52]vt520ansi
+
+   A few entries use extensions (user-defined terminal capabilities):
+     * E3,  used  in  linux,  putty  and  xterm-basic  is  tested  in the
+       [53]clear program to erase a terminal's scrollback.
+     * TS  is  used  in the [54]xterm+sl building block to help deprecate
+       the misuse of tsl for xterm's title-string.
+     * XT  is  used  in  some  terminfo entries to improve usefulness for
+       other  applications  than screen, which would like to pretend that
+       xterm's title is a status-line.
+     * xm  is  used  in  examples  [55]xterm-1005  and  [56]xterm-1006 to
+       illustrate a way to make mouse handling more general
+
+   A   few   terminals   support  italics  and/or  dim  capabilities.  In
+   particular,  screen  does  not.  Documented that, and accommodated the
+   terminals where this feature works with the A_ITALIC extension.
+     * konsole, mlterm3 (italics)
+     * nsterm (dim)
+     * screen (dim)
+     * vte (dim, italics)
+     * xterm (dim, italics)
+
+  Documentation
+
+   As usual, this release
+     * improves documentation by describing new features,
+     * attempts  to  improve the description of features which users have
+       found confusing
+     * fills  in overlooked descriptions of features which were described
+       in the [57]NEWS file but treated sketchily in manual pages.
+
+   In  addition,  the  mechanism  for  producing  HTML  versions  of  the
+   documentation has been improved:
+     * use an improved version of [58]man2html to generate html manpages.
+     * regenerated  [59]NCURSES-Programming-HOWTO.html to fix some of the
+       broken html emitted by docbook.
+
+  Interesting bug-fixes
+
+     * Ada95 binding:
+          + modify  makefile  rules  to ensure that the PIC option is not
+            used when building a static library
+          + make  Ada95  build-fix  for  big-endian architectures such as
+            sparc.  This undoes one of the fixes from [60]20110319, which
+            added an "Unused" member to representation clauses, replacing
+            that with pragmas to suppress warnings about unused bits.
+     * Color and attributes:
+          + parenthesize  parameter  of  COLOR_PAIR  and  PAIR_NUMBER  in
+            curses.h in case it happens to be a comma-expression.
+          + improve  [61]20021221  workaround  for broken acs, handling a
+            case  where  that ACS_xxx character is not in the acsc string
+            but there is a known wide-character which can be used.
+          + modify  [62]init_pair  to  accept  -1's for color value after
+            [63]assume_default_colors has been called.
+          + add  a  check  in [64]start_color to limit color-pairs to 256
+            when extended colors are not supported.
+     * Resizing the screen:
+          + propagate  error-returns  from  wresize,  i.e.,  the internal
+            increase_size    and    decrease_size    functions    through
+            [65]resize_term.
+          + add  check  for  zero/negative  dimensions for resizeterm and
+            resize_term.
+          + modify  resizeterm to always push a KEY_RESIZE onto the fifo,
+            even  if  screensize  is  unchanged. Modify library to push a
+            KEY_RESIZE  if there was a SIGWINCH, even if it does not call
+            resizeterm).   These  changes  eliminate  the  case  where  a
+            SIGWINCH  is  received,  but  ERR  is returned from wgetch or
+            wgetnstr because the screen dimensions did not change.
+     * Low-level interfaces
+          + fix  an old bug in the termcap emulation; "%i" was ignored in
+            tparm  because  the parameters to be incremented were already
+            on the internal stack.
+          + change  "%l" behavior in tparm to push the string length onto
+            the  stack  rather  than saving the formatted length into the
+            output buffer.
+          + modify  name-comparison  for  tgetstr,  etc.,  to accommodate
+            legacy  applications  as well as to improve compatbility with
+            BSD 4.2 termcap implementations (see note for [66]980725).
+     * High-level interfaces
+          + modify internal recursion in wgetch which handles cooked mode
+            to  check if the call to wgetnstr returned an error. This can
+            happen  when  both nocbreak and nodelay are set, for instance
+            (see note for [67]960418).
+          + add a check in internal function waddch_nosync to ensure that
+            tab characters are treated as control characters; some broken
+            locales claim they are printable.
+          + modify  menu  library  to  ensure  that  a  menu's top-row is
+            adjusted  as needed to ensure that the current item is on the
+            screen
+          + fix  special  case  where double-width character overwrites a
+            single- width character in the first column.
+
+  Configuration changes
+
+    Major changes
+
+   The ncurses 6.0 configure script makes changes to the default value of
+   several  configure options, depending on the --with-abi-version option
+   (i.e., whether its value is "5" or "6"):
+
+   --enable-const
+          Feature  introduced  in  [68]970405  supports  the use of const
+          where  X/Open  Curses  should  have, but did not. NetBSD curses
+          does something similar with const.
+
+   --enable-ext-colors
+          Extends  the  cchar_t structure to allow more than 16 colors to
+          be   encoded.   This   applies   only   to  the  wide-character
+          (--enable-widec) configuration.
+
+   --enable-ext-mouse
+          Modifies  the  encoding  of  mouse state to make room for a 5th
+          mouse button. That allows one to use ncurses with a wheel mouse
+          with xterm or similar X terminal emulators.
+
+   --enable-ext-putwin
+          Modifies  the  file-format  written  by putwin to use printable
+          text  rather  than binary files, allowing getwin to read screen
+          dumps  written by differently-configured ncurses libraries. The
+          extended  getwin  can  still  read binary screen dumps from the
+          same  configuration  of  ncurses.  This does not change the ABI
+          (the binary interface seen by calling applications).
+
+   --enable-interop
+          Modifies  the  FIELDTYPE structure used for the form library to
+          make it more generic.
+
+   --enable-lp64
+          Allows  an  application  to  define _LP64 to declare chtype and
+          mmask_t  as  simply "unsigned" rather than the configured types
+          using the --with-chtype and --with-mmask_t options.
+
+   --enable-sp-funcs
+          Compile-in support for extended functions which accept a SCREEN
+          pointer,  reducing  the  need  for juggling the global SP value
+          with [69]set_term and [70]delscreen.
+
+   --with-chtype=uint32_t
+          Makes chtype explicitly a 32-bit unsigned value.
+
+   --with-mmask_t=uint32_t
+          Makes mmask_t explicitly a 32-bit unsigned value.
+
+   --with-tparm-arg=intptr_t
+          X/Open  Curses  declares  [71]tparm  using long for each of the
+          parameters  aside  from  the  formatting string, presuming that
+          long  and  char*  are the same size. This configure option uses
+          intptr_t which provides a better guarantee of the sizes.
+
+   The  configure  script  no longer checks for antique compilers; c89 is
+   assumed  as  a  minimum. There are a few features from later revisions
+   which  are  used  when available. The configure script makes checks to
+   turn on useful warnings from clang, gcc and icc. You should be able to
+   build  ncurses  6.0  with  any  of  the  current (or not so current) C
+   compilers available in 2015.
+
+   The configure script, by the way, makes changes which do not work with
+   systems  whose  /bin/sh is non-POSIX. This mainly affects Solaris (the
+   other  vendor  unix systems have followed the POSIX guidelines for the
+   past  twenty  years).  If  you  must  build  on  Solaris, its [72]xpg4
+   binaries suffice, e.g.,
+
+     #!/bin/sh
+     WHAT=`hostname|sed -e 's/\..*//'`
+     OUT=configure.out
+     cat >>$OUT <<EOF/
+     ** `date`
+     ** node: $WHAT
+     ** user: `id`
+     ** conf: $*
+     EOF/
+
+     SHELL=/bin/sh
+     if test -f /usr/xpg4/bin/sh
+     then
+             CONFIG_SHELL=/usr/xpg4/bin/sh
+             export CONFIG_SHELL
+             SHELL=$CONFIG_SHELL
+     fi
+
+     rm -f config.status config.cache
+     TOP=$HOME/$WHAT
+     $SHELL ./configure --verbose \
+             --disable-echo \
+             --disable-overwrite \
+             --enable-warnings \
+             --with-warnings \
+             --prefix=$TOP $* 2>&1 | tee -a $OUT
+
+   Other major changes to the configure script include:
+     * ABI 6 is now the default, intending that the existing ABI 5 should
+       build as before using the "--with-abi-version=5" option.
+     * added   --with-extra-suffix   option   to   help  with  installing
+       nonconflicting  ncurses6  packages,  e.g.,  avoiding  header-  and
+       library-conflicts.
+       NOTE: as a side-effect, this renames
+
+     adacurses-config to adacurses5-config and
+     adacursesw-config to adacursesw5-config
+     * the  configure  script  looks  for gnatgcc if the Ada95 binding is
+       built,  in  preference  to  the  default  gcc/cc.  The script also
+       ensures  that  the  Ada95  binding  is  built  with  the  level of
+       optimization as the C libraries.
+     * the  configure script captures define's related to -D_XOPEN_SOURCE
+       from  the  configure check and adds those to the *-config and *.pc
+       files, to simplify use for the wide-character libraries.
+
+    Configuration options
+
+   There are several new (or extended) configure options:
+
+   --disable-db-install
+          Do  not  install  the  terminal  database. This is used to omit
+          features for packages, as done with --without-progs. The option
+          simplifies building cross-compile support packages.
+
+   --disable-gnat-projects
+          This option is used for regression testing
+
+   --disable-lib-suffixes
+          Suppress  the "w", "t" or "tw" suffixes which normally would be
+          added   to   the  library  names  for  the  --enable-widec  and
+          --with-pthread options.
+
+   --with-cxx-shared
+          When  --with-shared  is  set,  build  libncurses++  as a shared
+          library.  This  implicitly  relies  upon building with gcc/g++,
+          since  other  compiler  suites  may have differences in the way
+          shared  libraries  are  built.  libtool  by the way has similar
+          limitations.
+
+   --with-hashed-db
+          Extended  this  configure  option  to  simplify  building  with
+          different versions of Berkeley database using FreeBSD ports.
+
+   --with-pc-suffix
+          If  ".pc"  files  are installed, optionally add a suffix to the
+          files  and  corresponding  package  names  to  separate unusual
+          configurations.  If  no  option  value  is  given  (or if it is
+          "none"),  no  suffix  is added. This option is used in the test
+          package for ncurses6.
+
+   --with-xterm-kbs
+          Configure  xterm's terminfo entries to use either BS (^H, i.e.,
+          ASCII backspace) or DEL (^?, or 127).
+
+  Portability
+
+    MinGW
+
+   Most  of  the  portability-related work since [73]ncurses 5.9 extended
+   and improved the MinGW port introduced in [74]ncurses 5.8.
+
+   The MinGW port can be readily cross-compiled:
+     * modified  configure  script to allow creating dll's for MinGW when
+       cross-compiling.
+     * enforced Windows-style path-separator if cross-compiling,
+     * added  scripts  for  test-builds  of  cross-compiled  packages for
+       ncurses6 to MinGW.
+     * added pc-files to the MinGW cross-compiling test-packages.
+     * added script for building test-packages of binaries cross-compiled
+       to MinGW using NSIS.
+     * added  nc_mingw.h  to  installed  headers  for MinGW port; this is
+       needed for cross-compiling [75]ncurses-examples.
+     * added test-packages for cross-compiling ncurses-examples using the
+       MinGW test-packages.
+
+   The MinGW-specific Windows driver accounts for several changes:
+     * wide-character   display  is  made  usable  by  replacing  MinGW's
+       non-working wcrtomb and wctomb functions.
+     * implemented    some   display   features:   [76]beep,   [77]flash,
+       [78]curs_set.
+     * the driver handles repainting on endwin/refresh combination.
+     * modified  treatment  of  TERM  variable  for  MinGW  port to allow
+       explicit use of the Windows console driver by checking if $TERM is
+       set to "#win32console" or an abbreviation of that.
+     * the Windows driver also matches the special TERM value "unknown"
+     * the driver now returns characters for special keys, (like ansi.sys
+       does),  when  keypad mode is off, rather than returning nothing at
+       all.
+     * the  driver checks a new environment variable [79]NCURSES_CONSOLE2
+       to  optionally  work  around  a  deficiency  in  Console2 (and its
+       descendent  ConsoleZ)  which  hang  when  an application creates a
+       console buffer.
+
+   Finally, there are other improvements:
+     * MinGW  is  one  of  the  configurations  where ncurses installs by
+       default into /usr
+     * configuration   for   cross-compiling   uses   AC_CHECK_TOOLS   in
+       preference  to  AC_PATH_PROGS  when searching for ncurses*-config,
+       e.g., in Ada95/configure and test/configure.
+     * extend Windows support to work with MSYS2;
+          + this  works  with  a  scenario  where there is an ANSI-escape
+            handler such as ansicon running in the console window.
+          + wrap  isatty  calls with a macro, provide a corresponding set
+            of  support routines to address differences between MinGW and
+            MSYS2.
+     * ensure WINVER is defined in makefiles rather than using headers.
+     * add check for the gnatprep "-T" option.
+     * work  around  a  bug  introduced  by  [80]gcc 4.8.1 in MinGW which
+       breaks "trace" feature.
+     * add a driver-name method to each of the drivers.
+
+    Other ports
+
+   These changes affect certain platforms (ports):
+     * the  configure  script  knows  how  to build shared libraries with
+       DragonFlyBSD and Interix.
+     * support for AIX shared libraries is improved, tested with AIX 5.3,
+       6.1 and 7.1 with both gcc 4.2.4 and cc:
+          + the shared-library suffix for AIX 5 and 6 is now ".so"
+          + the  -brtl  option is used with AIX 5-7; it is needed to link
+            with the shared libraries.
+     * the  configure  --enable-pc-files  option  takes  into account the
+       [81]PKG_CONFIG_PATH variable.
+     * the  configure  option  --with-pkg-config-libdir  provides control
+       over the actual directory into which pc-files are installed.
+     * the  build  scripts  add  explicit -ltinfo, etc., to the generated
+       ".pc"  file  when ld option "--as-needed" is used, or when ncurses
+       and tinfo are installed without using rpath.
+     * the     configure    script    disallows    conflicting    options
+       "--with-termlib" and "--enable-term-driver".
+     * the  check  for  missing  c++  compiler  to  work when no error is
+       reported,   and  no  variables  set  is  improved  (see  note  for
+       [82]20021206).
+     * the  misc/gen_edit.sh  script  selects a "linux" entry which works
+       with  the  current  kernel  rather  than  assuming  it  is  always
+       "linux3.0"
+     * the  test/configure  script  makes it simpler to override names of
+       curses-related  libraries,  to  help with linking with pdcurses in
+       MinGW environment.
+     * the  configure-script/ifdef's  allow the BSD OLD_TTY feature to be
+       suppressed  if  the  type of ospeed is configured using the option
+       --with-ospeed  to  not  be  a short. By default, it is a short for
+       termcap-compatibility.
+     * the  MKlib_gen.sh  script  works  around  a recent change in gcc 5
+       (released  [83]mid-2015)  which  essentially  emits multiple #line
+       statements for the same position in a file.
+     * the   configure  script  works  with  Minix3.2  (see  [84]note  on
+       portability)
+     * OS/2 redux:
+          + the configure script supports OS/2 kLIBC.
+          + the  --with-lib-prefix  option allows configuring for old/new
+            flavors of OS/2 EMX.
+     * improved configure-script checks for _XOPEN_SOURCE:
+          + the definition works starting with Solaris 10.
+          + the  definition  is  suppressed  for IRIX64, since its header
+            files have a conflict versus _SGI_SOURCE.
+     _________________________________________________________________
+
+Features of ncurses
+
+   The  ncurses  package  is  fully upward-compatible with SVr4 (System V
+   Release 4) curses:
+     * All of the SVr4 calls have been implemented (and are documented).
+     * ncurses  supports  all  of  the for SVr4 curses features including
+       keyboard  mapping,  color,  forms-drawing with ACS characters, and
+       automatic recognition of keypad and function keys.
+     * ncurses  provides  these SVr4 add-on libraries (not part of X/Open
+       Curses):
+          + the  panels  library,  supporting  a  stack  of  windows with
+            backing store.
+          + the   menus   library,  supporting  a  uniform  but  flexible
+            interface for menu programming.
+          + the   form   library,   supporting  data  collection  through
+            on-screen forms.
+     * ncurses's  terminal database is fully compatible with that used by
+       SVr4 curses.
+          + ncurses  supports user-defined capabilities which it can see,
+            but  which are hidden from SVr4 curses applications using the
+            same terminal database.
+          + It  can  be optionally configured to match the format used in
+            related systems such as AIX and Tru64.
+          + Alternatively,  ncurses  can  be  configured  to  use  hashed
+            databases  rather  than  the  directory of files used by SVr4
+            curses.
+     * The ncurses utilities have options to allow you to filter terminfo
+       entries for use with less capable curses/terminfo versions such as
+       the HP/UX and AIX ports.
 
    The ncurses package also has many useful extensions over SVr4:
      * The  API  is 8-bit clean and base-level conformant with the X/OPEN
 
    The ncurses package also has many useful extensions over SVr4:
      * The  API  is 8-bit clean and base-level conformant with the X/OPEN
        use of function keys, e.g., disabling the ncurses KEY_MOUSE, or by
        defining  more  than  one  control  sequence to map to a given key
        code.
        use of function keys, e.g., disabling the ncurses KEY_MOUSE, or by
        defining  more  than  one  control  sequence to map to a given key
        code.
-     * Support  for  256-color  terminals,  such  as  modern  xterm, when
-       configured using the --enable-ext-colors option.
+     * Support for 256-color terminals, such as modern xterm.
      * Support for 16-color terminals, such as aixterm and modern xterm.
      * Better  cursor-movement  optimization.  The package now features a
        cursor-local-movement computation more efficient than either BSD's
      * Support for 16-color terminals, such as aixterm and modern xterm.
      * Better  cursor-movement  optimization.  The package now features a
        cursor-local-movement computation more efficient than either BSD's
        types  even  when  no  terminfo tree or termcap file is accessible
        (this  may  be useful for support of screen-oriented programs that
        must run in single-user mode).
        types  even  when  no  terminfo tree or termcap file is accessible
        (this  may  be useful for support of screen-oriented programs that
        must run in single-user mode).
-     * The tic(1)/captoinfo utility provided with ncurses has the ability
-       to  translate many termcaps from the XENIX, IBM and AT&T extension
-       sets.
-     * A BSD-like tset(1) utility is provided.
+     * The  [85]tic/[86]captoinfo  utility  provided with ncurses has the
+       ability  to  translate  many termcaps from the XENIX, IBM and AT&T
+       extension sets.
+     * A BSD-like [87]tset utility is provided.
      * The ncurses library and utilities will automatically read terminfo
        entries  from  $HOME/.terminfo  if  it exists, and compile to that
        directory  if  it  exists  and the user has no write access to the
      * The ncurses library and utilities will automatically read terminfo
        entries  from  $HOME/.terminfo  if  it exists, and compile to that
        directory  if  it  exists  and the user has no write access to the
        other entries in the same source file (as in System V) but also to
        compiled  entries  in  either the system terminfo directory or the
        user's $HOME/.terminfo directory.
        other entries in the same source file (as in System V) but also to
        compiled  entries  in  either the system terminfo directory or the
        user's $HOME/.terminfo directory.
-     * A  script  (capconvert)  is  provided to help BSD users transition
-       from  termcap to terminfo. It gathers the information in a TERMCAP
-       environment  variable  and/or  a ~/.termcap local entries file and
-       converts   it   to   an   equivalent  local  terminfo  tree  under
-       $HOME/.terminfo.
-     * Automatic  fallback  to  the  /etc/termcap file can be compiled in
-       when  it is not possible to build a terminfo tree. This feature is
-       neither  fast  nor cheap, you don't want to use it unless you have
-       to, but it's there.
-     * The  table-of-entries  utility  toe makes it easy for users to see
-       exactly what terminal types are available on the system.
+     * The  table-of-entries  utility  [88]toe makes it easy for users to
+       see exactly what terminal types are available on the system.
      * The library meets the XSI requirement that every macro entry point
        have  a  corresponding  function  which may be linked (and will be
        prototype-checked)  if  the  macro  definition  is  disabled  with
        #undef.
      * The library meets the XSI requirement that every macro entry point
        have  a  corresponding  function  which may be linked (and will be
        prototype-checked)  if  the  macro  definition  is  disabled  with
        #undef.
-     * An  HTML  "Introduction  to  Programming  with  NCURSES"  document
-       provides  a  narrative  introduction  to  the  curses  programming
-       interface.
+     * Extensive   documentation  is  provided  (see  the  [89]Additional
+       Reading section of the [90]ncurses FAQ for online documentation).
 
 
-                             State of the Package
+Applications using ncurses
 
 
-   Numerous bugs present in earlier versions have been fixed; the library
-   is  far  more  reliable  than  it  used to be. Bounds checking in many
-   `dangerous'  entry points has been improved. The code is now type-safe
-   according  to gcc -Wall. The library has been checked for malloc leaks
-   and arena corruption by the Purify memory-allocation tester.
+   The  ncurses  distribution  includes  a  selection  of  test  programs
+   (including   a   few   games).   These  are  available  separately  as
+   [91]ncurses-examples
 
 
-   The  ncurses  code has been tested with a wide variety of applications
-   including (versions starting with those noted):
+   The   ncurses   library  has  been  tested  with  a  wide  variety  of
+   applications including:
 
    cdk
           Curses Development Kit
 
    cdk
           Curses Development Kit
-          [6]http://invisible-island.net/cdk/
-          [7]http://www.vexus.ca/products/CDK/
+
+          [92]http://invisible-island.net/cdk/
 
    ded
           directory-editor
 
    ded
           directory-editor
-          [8]http://invisible-island.net/ded/
+
+          [93]http://invisible-island.net/ded/
 
    dialog
           the  underlying  application used in Slackware's setup, and the
 
    dialog
           the  underlying  application used in Slackware's setup, and the
-          basis for similar applications on GNU/Linux.
-          [9]http://invisible-island.net/dialog/
+          basis   for  similar  install/configure  applications  on  many
+          systems.
+
+          [94]http://invisible-island.net/dialog/
 
    lynx
 
    lynx
-          the character-screen WWW browser
-          [10]http://lynx.isc.org/release/
+          the text WWW browser
+
+          [95]http://lynx.isc.org/
 
    Midnight Commander
           file manager
 
    Midnight Commander
           file manager
-          [11]http://www.midnight-commander.org/
+
+          [96]http://www.midnight-commander.org/
 
    mutt
           mail utility
 
    mutt
           mail utility
-          [12]http://www.mutt.org/
+
+          [97]http://www.mutt.org/
 
    ncftp
           file-transfer utility
 
    ncftp
           file-transfer utility
-          [13]http://www.ncftp.com/
+
+          [98]http://www.ncftp.com/
 
    nvi
 
    nvi
-          New vi versions 1.50 are able to use ncurses versions 1.9.7 and
-          later.
-          [14]https://sites.google.com/a/bostic.com/keithbostic/nvi
+          New vi uses ncurses.
 
 
-   pinfo
-          Lynx-like info browser.
-          [15]https://alioth.debian.org/projects/pinfo/
+          [99]https://sites.google.com/a/bostic.com/keithbostic/nvi
 
    tin
 
    tin
-          newsreader, supporting color, MIME [16]http://www.tin.org/
+          newsreader, supporting color, MIME
+
+          [100]http://www.tin.org/
 
    as well as some that use ncurses for the terminfo support alone:
 
    minicom
 
    as well as some that use ncurses for the terminfo support alone:
 
    minicom
-          terminal emulator
-          [17]http://alioth.debian.org/projects/minicom/
+          terminal emulator for serial modem connections
+
+          [101]http://alioth.debian.org/projects/minicom/
+
+   mosh
+          a replacement for ssh.
+
+          [102]https://mosh.mit.edu/
+
+   tack
+          terminfo action checker
+
+          [103]http://invisible-island.net/ncurses/tack.html
+
+   tmux
+          terminal multiplexor
+
+          [104]http://tmux.github.io/
 
    vile
 
    vile
-          vi-like-emacs
-          [18]http://invisible-island.net/vile/
+          vi-like-emacs  may  be  built  to  use the terminfo, termcap or
+          curses interfaces.
 
 
-   The  ncurses  distribution  includes  a  selection  of  test  programs
-   (including a few games).
+          [105]http://invisible-island.net/vile/
+
+   and finally, those which use only the termcap interface:
+
+   emacs
+          text editor
+
+          [106]http://www.gnu.org/software/emacs/
+
+   screen
+          terminal multiplexor
+
+          [107]http://www.gnu.org/software/screen/
+
+   vim
+          text editor
+
+          [108]http://www.vim.org/
 
 
-Who's Who and What's What
+Development activities
 
 
-   Zeyd  Ben-Halim started it from a previous package pcurses, written by
-   Pavel  Curtis.  Eric S. Raymond continued development. Juergen Pfeifer
-   wrote  most of the form and menu libraries. Ongoing work is being done
-   by  [19]Thomas  Dickey.  Thomas  Dickey acts as the maintainer for the
-   Free  Software  Foundation,  which  holds  the  copyright  on ncurses.
-   Contact the current maintainers at [20]bug-ncurses@gnu.org.
+   Zeyd  Ben-Halim  started  ncurses  from  a  previous  package pcurses,
+   written  by  Pavel  Curtis.  Eric  S.  Raymond  continued development.
+   Juergen  Pfeifer  wrote  most  of the form and menu libraries. Ongoing
+   development  work  is  done  by [109]Thomas Dickey. Thomas Dickey also
+   acts  as  the maintainer for the Free Software Foundation, which holds
+   the [110]copyright on ncurses.
 
 
-   To   join   the   ncurses   mailing   list,   please  write  email  to
-   bug-ncurses-request@gnu.org containing the line:
-             subscribe <name>@<host.domain>
+   Contact the current maintainers at
+
+     [111]bug-ncurses@gnu.org
+
+   To join the ncurses mailing list, please write email to
+
+     [112]bug-ncurses-request@gnu.org
+
+   containing the line:
+
+     subscribe <name>@<host.domain>
 
    This list is open to anyone interested in helping with the development
    and testing of this package.
 
    Beta  versions  of ncurses and patches to the current release are made
 
    This list is open to anyone interested in helping with the development
    and testing of this package.
 
    Beta  versions  of ncurses and patches to the current release are made
-   available at [21]ftp://invisible-island.net/ncurses/ .
+   available at
+
+     [113]ftp://invisible-island.net/ncurses/ .
 
 
-Future Plans
+   There is an archive of the mailing list here:
 
 
-     * Extended-level   XPG4   conformance,   with   internationalization
-       support.
-     * Ports to more systems, including DOS and Windows.
+     [114]http://lists.gnu.org/archive/html/bug-ncurses            (also
+     [115]https)
 
 
-   We  need  people to help with these projects. If you are interested in
-   working on them, please join the ncurses list.
+Related resources
 
 
-Other Related Resources
+   The  release notes make scattered references to these pages, which may
+   be interesting by themselves:
+     * [116]man2html
+     * [117]ncurses licensing
+     * [118]Symbol versioning in ncurses
+     * [119]The MinGW port of ncurses
+     * [120]tack - terminfo action checker
+     * [121]tar versus portability
+     * [122]tctest - termcap library checker
+     * [123]Terminal Database
+
+Other resources
 
    The  distribution  provides  a  newer  version  of the terminfo-format
 
    The  distribution  provides  a  newer  version  of the terminfo-format
-   terminal description file once maintained by [22]Eric Raymond . Unlike
-   the  older  version, the termcap and terminfo data are provided in the
-   same  file,  and provides several user-definable extensions beyond the
-   X/Open specification.
+   terminal  description  file  once  maintained  by  [124]Eric Raymond .
+   Unlike  the  older version, the termcap and terminfo data are provided
+   in  the  same  file,  and  provides  several user-definable extensions
+   beyond the X/Open specification.
 
    You  can  find  lots  of  information  on  terminal-related topics not
 
    You  can  find  lots  of  information  on  terminal-related topics not
-   covered in the terminfo file at [23]Richard Shuford's archive .
+   covered in the terminfo file at [125]Richard Shuford's archive .
+
+     * [126]Overview
+     * [127]Release Notes
+          + [128]Library improvements
+               o [129]Output buffering
+               o [130]Symbol versioning
+               o [131]Miscellaneous
+          + [132]Program improvements
+               o [133]Utilities
+               o [134]Examples
+          + [135]Terminal database
+          + [136]Documentation
+          + [137]Interesting bug-fixes
+          + [138]Configuration changes
+               o [139]Major changes
+               o [140]Configuration options
+          + [141]Portability
+               o [142]MinGW
+               o [143]Other ports
+     * [144]Features of ncurses
+     * [145]Applications using ncurses
+     * [146]Development activities
+     * [147]Related resources
+     * [148]Other resources
 
 References
 
 
 References
 
-   1. ftp://ftp.gnu.org/gnu/ncurses/
-   2. ftp://invisible-island.net/ncurses/
-   3. http://invisible-island.net/ncurses/man/form_fieldtype.3x
-   4. http://invisible-island.net/ncurses/ncurses-Ada95.html
-   5. http://invisible-island.net/ncurses/ncurses-examples.html
-   6. http://invisible-island.net/cdk/
-   7. http://www.vexus.ca/products/CDK/
-   8. http://invisible-island.net/ded/
-   9. http://invisible-island.net/dialog/
-  10. http://lynx.isc.org/release/
-  11. http://www.midnight-commander.org/
-  12. http://www.mutt.org/
-  13. http://www.ncftp.com/
-  14. https://sites.google.com/a/bostic.com/keithbostic/nvi
-  15. https://alioth.debian.org/projects/pinfo/
-  16. http://www.tin.org/
-  17. http://alioth.debian.org/projects/minicom/
-  18. http://invisible-island.net/vile/
-  19. mailto:dickey@invisible-island.net
-  20. mailto:bug-ncurses@gnu.org
-  21. ftp://invisible-island.net/ncurses/
-  22. http://www.catb.org/~esr/terminfo/
-  23. http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal
+   1. http://invisible-island.net/ncurses/man/captoinfo.1m.html
+   2. http://invisible-island.net/ncurses/man/clear.1.html
+   3. http://invisible-island.net/ncurses/man/infocmp.1m.html
+   4. http://invisible-island.net/ncurses/man/tabs.1.html
+   5. http://invisible-island.net/ncurses/man/tic.1m.html
+   6. http://invisible-island.net/ncurses/man/toe.1m.html
+   7. http://invisible-island.net/ncurses/man/tput.1.html
+   8. http://invisible-island.net/ncurses/man/tset.1.html
+   9. ftp://ftp.gnu.org/gnu/ncurses/
+  10. ftp://invisible-island.net/ncurses/
+  11. http://invisible-island.net/ncurses/tctest.html
+  12. http://invisible-island.net/ncurses/ncurses-examples.html
+  13. http://lists.gnu.org/archive/html/bug-ncurses/2012-07/msg00029.html
+  14. http://invisible-island.net/ncurses/NEWS.html#t20050101
+  15. http://invisible-island.net/ncurses/announce-5.5.html
+  16. http://invisible-island.net/ncurses/ncurses-mapsyms.html
+  17. http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-initscr
+  18. http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-newterm
+  19. http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Initialization
+  20. http://invisible-island.net/ncurses/man/ncurses.3x.html#h3-NCURSES_NO_SETBUF
+  21. http://invisible-island.net/ncurses/man/curs_terminfo.3x.html
+  22. http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-reset_prog_mode_-reset_shell_mode
+  23. http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-reset_prog_mode_-reset_shell_mode
+  24. http://invisible-island.net/ncurses/man/curs_printw.3x.html
+  25. http://invisible-island.net/ncurses/ncurses-mapsyms.html
+  26. http://invisible-island.net/ncurses/tack.html
+  27. http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-use_tioctl
+  28. http://invisible-island.net/ncurses/man/curs_opaque.3x.html
+  29. http://invisible-island.net/ncurses/man/curs_attr.3x.html#h2-PORTABILITY
+  30. http://invisible-island.net/ncurses/man/form_field_opts.3x.html
+  31. http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-putwin_getwin
+  32. http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-putwin_getwin
+  33. http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Formatting-Output
+  34. http://invisible-island.net/ncurses/tctest.html
+  35. http://invisible-island.net/ncurses/tctest.html#my-better-translation
+  36. http://invisible-island.net/ncurses/NEWS.html#t980103
+  37. https://svnweb.freebsd.org/base/head/lib/libc/gen/getcap.c?revision=244092&view=markup#l784
+  38. http://invisible-island.net/ncurses/ncurses-examples.html
+  39. http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-use_env
+  40. http://invisible-island.net/ncurses/man/curs_window.3x.html#h3-derwin
+  41. http://invisible-island.net/ncurses/man/curs_window.3x.html#h3-mvwin
+  42. http://invisible-island.net/ncurses/man/form_driver.3x.html#h3-form_driver_w
+  43. http://invisible-island.net/ncurses/terminfo.src.html#toc-_M_L_T_E_R_M
+  44. http://invisible-island.net/ncurses/terminfo.src.html#tic-nsterm
+  45. http://invisible-island.net/ncurses/terminfo.src.html#tic-putty-sco
+  46. http://invisible-island.net/ncurses/terminfo.src.html#tic-teken
+  47. http://invisible-island.net/ncurses/terminfo.src.html#toc-_T_E_R_M_I_N_A_T_O_R
+  48. http://invisible-island.net/ncurses/terminfo.src.html#toc-_T_E_R_M_I_N_O_L_O_G_Y
+  49. http://invisible-island.net/ncurses/terminfo.src.html#tic-tmux
+  50. http://invisible-island.net/ncurses/terminfo.src.html#toc-_S_I_M_P_L_E_T_E_R_M
+  51. http://invisible-island.net/ncurses/terminfo.src.html#tic-vte
+  52. http://invisible-island.net/ncurses/terminfo.src.html#tic-vt520ansi
+  53. http://aerie.jexium-island.net/ncurses/man/clear.1.html
+  54. http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_sl
+  55. http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-1005
+  56. http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-1006
+  57. http://invisible-island.net/ncurses/NEWS.html
+  58. http://invisible-island.net/scripts/man2html.html
+  59. http://invisible-island.net/ncurses/NCURSES-Programming-HOWTO.html
+  60. http://invisible-island.net/ncurses/NEWS.html#t20110319
+  61. http://invisible-island.net/ncurses/NEWS.html#t20021221
+  62. http://invisible-island.net/ncurses/man/curs_color.3x.html#h3-Routine-Descriptions
+  63. http://invisible-island.net/ncurses/man/default_colors.3x.html
+  64. http://invisible-island.net/ncurses/man/curs_color.3x.html#h3-Routine-Descriptions
+  65. http://invisible-island.net/ncurses/man/resizeterm.3x.html
+  66. http://invisible-island.net/ncurses/NEWS.html#t980725
+  67. http://invisible-island.net/ncurses/NEWS.html#t960418
+  68. http://invisible-island.net/ncurses/NEWS.html#t970405
+  69. http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-set_term
+  70. http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-delscreen
+  71. http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Formatting-Output
+  72. http://docs.oracle.com/cd/E19253-01/html/817-0552/fhkpy.html
+  73. http://invisible-island.net/ncurses/announce-5.9.html
+  74. http://invisible-island.net/ncurses/announce-5.8.html
+  75. http://invisible-island.net/ncurses/ncurses-examples.html
+  76. http://invisible-island.net/ncurses/man/curs_beep.3x.html
+  77. http://invisible-island.net/ncurses/man/curs_beep.3x.html
+  78. http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-curs_set
+  79. http://invisible-island.net/ncurses/man/ncurses.3x.html#h3-NCURSES_CONSOLE2
+  80. http://stackoverflow.com/questions/20877689/gcc-4-8-1-minggw-d-option-does-not-work-as-usual
+  81. http://linux.die.net/man/1/pkg-config
+  82. http://invisible-island.net/ncurses/NEWS.html#t20021206
+  83. https://gcc.gnu.org/gcc-5/
+  84. http://invisible-island.net/autoconf/portability-test.html
+  85. http://invisible-island.net/ncurses/man/tic.1m.html
+  86. http://invisible-island.net/ncurses/man/captoinfo.1m.html
+  87. http://invisible-island.net/ncurses/man/tset.1.html
+  88. http://invisible-island.net/ncurses/man/toe.1m.html
+  89. http://invisible-island.net/ncurses/ncurses.faq.html#additional_reading
+  90. http://invisible-island.net/ncurses/ncurses.faq.html
+  91. http://invisible-island.net/ncurses/ncurses-examples.html
+  92. http://invisible-island.net/cdk/
+  93. http://invisible-island.net/ded/
+  94. http://invisible-island.net/dialog/
+  95. http://lynx.isc.org/
+  96. http://www.midnight-commander.org/
+  97. http://www.mutt.org/
+  98. http://www.ncftp.com/
+  99. https://sites.google.com/a/bostic.com/keithbostic/nvi
+ 100. http://www.tin.org/
+ 101. http://alioth.debian.org/projects/minicom/
+ 102. https://mosh.mit.edu/
+ 103. http://invisible-island.net/ncurses/tack.html
+ 104. http://tmux.github.io/
+ 105. http://invisible-island.net/vile/
+ 106. http://www.gnu.org/software/emacs/
+ 107. http://www.gnu.org/software/screen/
+ 108. http://www.vim.org/
+ 109. mailto:dickey@invisible-island.net
+ 110. http://invisible-island.net/ncurses/ncurses-license.html
+ 111. mailto:bug-ncurses@gnu.org
+ 112. mailto:bug-ncurses-request@gnu.org
+ 113. ftp://invisible-island.net/ncurses/
+ 114. http://lists.gnu.org/archive/html/bug-ncurses
+ 115. https://lists.gnu.org/archive/html/bug-ncurses
+ 116. http://invisible-island.net/scripts/man2html.html
+ 117. http://invisible-island.nethttp://invisible-island.net/ncurses/ncurses-license.html
+ 118. http://invisible-island.net/ncurses/ncurses-mapsyms.html
+ 119. http://invisible-island.net/ncurses/ncurses-mingw.html
+ 120. http://invisible-island.net/ncurses/tack.html
+ 121. http://invisible-island.net/autoconf/portability-tar.html
+ 122. http://invisible-island.net/ncurses/tctest.html
+ 123. http://invisible-island.net/ncurses/ncurses.html#download_database
+ 124. http://www.catb.org/~esr/terminfo/
+ 125. http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal
+ 126. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h2-overview
+ 127. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h2-release-notes
+ 128. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-library
+ 129. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-lib-setbuf
+ 130. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-lib-versioning
+ 131. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-lib-other
+ 132. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-programs
+ 133. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h4-utilities
+ 134. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h4-examples
+ 135. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-database
+ 136. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-documentation
+ 137. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-bug-fixes
+ 138. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-config-config
+ 139. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h4-config-major
+ 140. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h4-config-options
+ 141. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-portability
+ 142. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h4-port-mingw
+ 143. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h4-port-systems
+ 144. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h2-features
+ 145. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h2-who-uses
+ 146. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h2-development
+ 147. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h2-this-stuff
+ 148. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h2-other-stuff
index f820793302108ca3d3378a95c24ecbc356b8b03e..4d80fe386c1b264e6542960590b32695a52fcc28 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: Makefile.in,v 1.21 2010/11/27 21:45:27 tom Exp $
+# $Id: Makefile.in,v 1.22 2015/08/05 23:15:41 tom Exp $
 ##############################################################################
 ##############################################################################
-# Copyright (c) 1998-2003,2010 Free Software Foundation, Inc.                #
+# Copyright (c) 1998-2010,2015 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"), #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -30,9 +30,9 @@
 #  Author:  Juergen Pfeifer, 1996
 #
 #  Version Control
 #  Author:  Juergen Pfeifer, 1996
 #
 #  Version Control
-#  $Revision: 1.21 $
+#  $Revision: 1.22 $
 #
 #
-SHELL          = /bin/sh
+SHELL          = @SHELL@
 VPATH          = @srcdir@
 THIS           = Makefile
 
 VPATH          = @srcdir@
 THIS           = Makefile
 
index 4f5cd66c7dec7aadec66eb6fe896f505671f579e..c83f6acb92d336142c5fcb2929e9c632a0f66666 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
 dnl***************************************************************************
-dnl Copyright (c) 2010-2013,2014 Free Software Foundation, Inc.              *
+dnl Copyright (c) 2010-2014,2015 Free Software Foundation, Inc.              *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
@@ -28,7 +28,7 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey
 dnl
 dnl
 dnl Author: Thomas E. Dickey
 dnl
-dnl $Id: aclocal.m4,v 1.104 2015/06/06 18:03:45 tom Exp $
+dnl $Id: aclocal.m4,v 1.105 2015/08/08 14:25:40 tom Exp $
 dnl Macros used in NCURSES Ada95 auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
 dnl Macros used in NCURSES Ada95 auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
@@ -1915,7 +1915,7 @@ fi
 
 ])dnl
 dnl ---------------------------------------------------------------------------
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MAKEFLAGS version: 16 updated: 2015/04/15 19:08:48
+dnl CF_MAKEFLAGS version: 17 updated: 2015/08/05 20:44:28
 dnl ------------
 dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
 dnl options to lower-levels.  It's very useful for "make -n" -- if we have it.
 dnl ------------
 dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
 dnl options to lower-levels.  It's very useful for "make -n" -- if we have it.
@@ -1928,7 +1928,7 @@ AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
        for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
        do
                cat >cf_makeflags.tmp <<CF_EOF
        for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
        do
                cat >cf_makeflags.tmp <<CF_EOF
-SHELL = /bin/sh
+SHELL = $SHELL
 all :
        @ echo '.$cf_option'
 CF_EOF
 all :
        @ echo '.$cf_option'
 CF_EOF
@@ -2205,7 +2205,7 @@ printf("old\n");
        ,[$1=no])
 ])dnl
 dnl ---------------------------------------------------------------------------
        ,[$1=no])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_CONFIG version: 16 updated: 2015/06/06 14:00:48
+dnl CF_NCURSES_CONFIG version: 17 updated: 2015/07/07 04:22:07
 dnl -----------------
 dnl Tie together the configure-script macros for ncurses, preferring these in
 dnl order:
 dnl -----------------
 dnl Tie together the configure-script macros for ncurses, preferring these in
 dnl order:
@@ -2219,7 +2219,7 @@ AC_REQUIRE([CF_PKG_CONFIG])
 cf_ncuconfig_root=ifelse($1,,ncurses,$1)
 cf_have_ncuconfig=no
 
 cf_ncuconfig_root=ifelse($1,,ncurses,$1)
 cf_have_ncuconfig=no
 
-if test "x$PKG_CONFIG" != xnone; then
+if test "x${PKG_CONFIG:=none}" != xnone; then
        AC_MSG_CHECKING(pkg-config for $cf_ncuconfig_root)
        if "$PKG_CONFIG" --exists $cf_ncuconfig_root ; then
                AC_MSG_RESULT(yes)
        AC_MSG_CHECKING(pkg-config for $cf_ncuconfig_root)
        if "$PKG_CONFIG" --exists $cf_ncuconfig_root ; then
                AC_MSG_RESULT(yes)
@@ -2921,7 +2921,7 @@ define([CF_REMOVE_LIB],
 $1=`echo "$2" | sed -e 's/-l$3[[       ]]//g' -e 's/-l$3[$]//'`
 ])dnl
 dnl ---------------------------------------------------------------------------
 $1=`echo "$2" | sed -e 's/-l$3[[       ]]//g' -e 's/-l$3[$]//'`
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_SHARED_OPTS version: 87 updated: 2015/04/17 21:13:04
+dnl CF_SHARED_OPTS version: 88 updated: 2015/08/05 20:44:28
 dnl --------------
 dnl --------------
 dnl Attempt to determine the appropriate CC/LD options for creating a shared
 dnl --------------
 dnl --------------
 dnl Attempt to determine the appropriate CC/LD options for creating a shared
@@ -3020,14 +3020,14 @@ AC_DEFUN([CF_SHARED_OPTS],
                ;;
        (cygwin*)
                CC_SHARED_OPTS=
                ;;
        (cygwin*)
                CC_SHARED_OPTS=
-               MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
+               MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=cygdll
                cf_cv_shlib_version_infix=cygdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=cygdll
                cf_cv_shlib_version_infix=cygdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
-               #!/bin/sh
+               #!$SHELL
                SHARED_LIB=\[$]1
                IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
                shift
                SHARED_LIB=\[$]1
                IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
                shift
@@ -3042,14 +3042,14 @@ CF_EOF
                ;;
        (msys*)
                CC_SHARED_OPTS=
                ;;
        (msys*)
                CC_SHARED_OPTS=
-               MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
+               MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=msysdll
                cf_cv_shlib_version_infix=msysdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=msysdll
                cf_cv_shlib_version_infix=msysdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
-               #!/bin/sh
+               #!$SHELL
                SHARED_LIB=\[$]1
                IMPORT_LIB=\`echo "\[$]1" | sed -e 's/msys-/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
                shift
                SHARED_LIB=\[$]1
                IMPORT_LIB=\`echo "\[$]1" | sed -e 's/msys-/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
                shift
@@ -3143,10 +3143,10 @@ CF_EOF
                        EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS"
                fi
                CC_SHARED_OPTS=
                        EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS"
                fi
                CC_SHARED_OPTS=
-               MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
+               MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cat >mk_shared_lib.sh <<-CF_EOF
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cat >mk_shared_lib.sh <<-CF_EOF
-               #!/bin/sh
+               #!$SHELL
                SHARED_LIB=\[$]1
                IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
                shift
                SHARED_LIB=\[$]1
                IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
                shift
@@ -3701,14 +3701,14 @@ eval $3="$withval"
 AC_SUBST($3)dnl
 ])dnl
 dnl ---------------------------------------------------------------------------
 AC_SUBST($3)dnl
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_PKG_CONFIG_LIBDIR version: 8 updated: 2015/06/06 13:49:58
+dnl CF_WITH_PKG_CONFIG_LIBDIR version: 9 updated: 2015/06/06 19:26:44
 dnl -------------------------
 dnl Allow the choice of the pkg-config library directory to be overridden.
 AC_DEFUN([CF_WITH_PKG_CONFIG_LIBDIR],[
 dnl -------------------------
 dnl Allow the choice of the pkg-config library directory to be overridden.
 AC_DEFUN([CF_WITH_PKG_CONFIG_LIBDIR],[
-AC_MSG_CHECKING(for $PKG_CONFIG library directory)
 if test "x$PKG_CONFIG" = xnone ; then
        PKG_CONFIG_LIBDIR=no
 else
 if test "x$PKG_CONFIG" = xnone ; then
        PKG_CONFIG_LIBDIR=no
 else
+       AC_MSG_CHECKING(for $PKG_CONFIG library directory)
        AC_ARG_WITH(pkg-config-libdir,
                [  --with-pkg-config-libdir=XXX use given directory for installing pc-files],
                [PKG_CONFIG_LIBDIR=$withval],
        AC_ARG_WITH(pkg-config-libdir,
                [  --with-pkg-config-libdir=XXX use given directory for installing pc-files],
                [PKG_CONFIG_LIBDIR=$withval],
index 09f4c24fe8d2cd1ec8c8df273334be7df4159c54..501e71e114a5e065974dc9c6ac222fb9e39ba404 100644 (file)
@@ -2547,11 +2547,11 @@ elif test "x$cf_pkg_config" != xno ; then
 echo "$as_me: WARNING: pkg-config is not installed" >&2;}
 fi
 
 echo "$as_me: WARNING: pkg-config is not installed" >&2;}
 fi
 
-echo "$as_me:2550: checking for $PKG_CONFIG library directory" >&5
-echo $ECHO_N "checking for $PKG_CONFIG library directory... $ECHO_C" >&6
 if test "x$PKG_CONFIG" = xnone ; then
        PKG_CONFIG_LIBDIR=no
 else
 if test "x$PKG_CONFIG" = xnone ; then
        PKG_CONFIG_LIBDIR=no
 else
+       echo "$as_me:2553: checking for $PKG_CONFIG library directory" >&5
+echo $ECHO_N "checking for $PKG_CONFIG library directory... $ECHO_C" >&6
 
 # Check whether --with-pkg-config-libdir or --without-pkg-config-libdir was given.
 if test "${with_pkg_config_libdir+set}" = set; then
 
 # Check whether --with-pkg-config-libdir or --without-pkg-config-libdir was given.
 if test "${with_pkg_config_libdir+set}" = set; then
@@ -2896,7 +2896,7 @@ else
        for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
        do
                cat >cf_makeflags.tmp <<CF_EOF
        for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
        do
                cat >cf_makeflags.tmp <<CF_EOF
-SHELL = /bin/sh
+SHELL = $SHELL
 all :
        @ echo '.$cf_option'
 CF_EOF
 all :
        @ echo '.$cf_option'
 CF_EOF
@@ -3649,7 +3649,7 @@ fi
 cf_ncuconfig_root=ncurses
 cf_have_ncuconfig=no
 
 cf_ncuconfig_root=ncurses
 cf_have_ncuconfig=no
 
-if test "x$PKG_CONFIG" != xnone; then
+if test "x${PKG_CONFIG:=none}" != xnone; then
        echo "$as_me:3653: checking pkg-config for $cf_ncuconfig_root" >&5
 echo $ECHO_N "checking pkg-config for $cf_ncuconfig_root... $ECHO_C" >&6
        if "$PKG_CONFIG" --exists $cf_ncuconfig_root ; then
        echo "$as_me:3653: checking pkg-config for $cf_ncuconfig_root" >&5
 echo $ECHO_N "checking pkg-config for $cf_ncuconfig_root... $ECHO_C" >&6
        if "$PKG_CONFIG" --exists $cf_ncuconfig_root ; then
@@ -5747,7 +5747,7 @@ fi
 cf_ncuconfig_root=ncursesw
 cf_have_ncuconfig=no
 
 cf_ncuconfig_root=ncursesw
 cf_have_ncuconfig=no
 
-if test "x$PKG_CONFIG" != xnone; then
+if test "x${PKG_CONFIG:=none}" != xnone; then
        echo "$as_me:5751: checking pkg-config for $cf_ncuconfig_root" >&5
 echo $ECHO_N "checking pkg-config for $cf_ncuconfig_root... $ECHO_C" >&6
        if "$PKG_CONFIG" --exists $cf_ncuconfig_root ; then
        echo "$as_me:5751: checking pkg-config for $cf_ncuconfig_root" >&5
 echo $ECHO_N "checking pkg-config for $cf_ncuconfig_root... $ECHO_C" >&6
        if "$PKG_CONFIG" --exists $cf_ncuconfig_root ; then
@@ -7292,7 +7292,7 @@ else
 cf_ncuconfig_root=ncurses
 cf_have_ncuconfig=no
 
 cf_ncuconfig_root=ncurses
 cf_have_ncuconfig=no
 
-if test "x$PKG_CONFIG" != xnone; then
+if test "x${PKG_CONFIG:=none}" != xnone; then
        echo "$as_me:7296: checking pkg-config for $cf_ncuconfig_root" >&5
 echo $ECHO_N "checking pkg-config for $cf_ncuconfig_root... $ECHO_C" >&6
        if "$PKG_CONFIG" --exists $cf_ncuconfig_root ; then
        echo "$as_me:7296: checking pkg-config for $cf_ncuconfig_root" >&5
 echo $ECHO_N "checking pkg-config for $cf_ncuconfig_root... $ECHO_C" >&6
        if "$PKG_CONFIG" --exists $cf_ncuconfig_root ; then
@@ -9139,14 +9139,14 @@ echo "${ECHO_T}$CC_SHARED_OPTS" >&6
                ;;
        (cygwin*)
                CC_SHARED_OPTS=
                ;;
        (cygwin*)
                CC_SHARED_OPTS=
-               MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
+               MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=cygdll
                cf_cv_shlib_version_infix=cygdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=cygdll
                cf_cv_shlib_version_infix=cygdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
-               #!/bin/sh
+               #!$SHELL
                SHARED_LIB=\$1
                IMPORT_LIB=\`echo "\$1" | sed -e 's/cyg/lib/' -e 's/[0-9]*\.dll$/.dll.a/'\`
                shift
                SHARED_LIB=\$1
                IMPORT_LIB=\`echo "\$1" | sed -e 's/cyg/lib/' -e 's/[0-9]*\.dll$/.dll.a/'\`
                shift
@@ -9161,14 +9161,14 @@ CF_EOF
                ;;
        (msys*)
                CC_SHARED_OPTS=
                ;;
        (msys*)
                CC_SHARED_OPTS=
-               MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
+               MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=msysdll
                cf_cv_shlib_version_infix=msysdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=msysdll
                cf_cv_shlib_version_infix=msysdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
-               #!/bin/sh
+               #!$SHELL
                SHARED_LIB=\$1
                IMPORT_LIB=\`echo "\$1" | sed -e 's/msys-/lib/' -e 's/[0-9]*\.dll$/.dll.a/'\`
                shift
                SHARED_LIB=\$1
                IMPORT_LIB=\`echo "\$1" | sed -e 's/msys-/lib/' -e 's/[0-9]*\.dll$/.dll.a/'\`
                shift
@@ -9307,10 +9307,10 @@ echo "${ECHO_T}$cf_cv_ldflags_search_paths_first" >&6
                        EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS"
                fi
                CC_SHARED_OPTS=
                        EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS"
                fi
                CC_SHARED_OPTS=
-               MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
+               MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cat >mk_shared_lib.sh <<-CF_EOF
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cat >mk_shared_lib.sh <<-CF_EOF
-               #!/bin/sh
+               #!$SHELL
                SHARED_LIB=\$1
                IMPORT_LIB=\`echo "\$1" | sed -e 's/[0-9]*\.dll$/.dll.a/'\`
                shift
                SHARED_LIB=\$1
                IMPORT_LIB=\`echo "\$1" | sed -e 's/[0-9]*\.dll$/.dll.a/'\`
                shift
index 9a74489ad6d46b58e8dd5749e40ab7a569eecc12..097382742f3d778437cfb0cfd16df711bed0c1b8 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: Makefile.in,v 1.3 2012/08/11 21:31:56 tom Exp $
+# $Id: Makefile.in,v 1.4 2015/08/05 23:15:41 tom Exp $
 ##############################################################################
 ##############################################################################
-# Copyright (c) 2011 Free Software Foundation, Inc.                          #
+# Copyright (c) 2011-2012,2015 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"), #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -31,7 +31,7 @@
 #
 # Makefile for AdaCurses manual pages.
 
 #
 # Makefile for AdaCurses manual pages.
 
-SHELL          = /bin/sh
+SHELL          = @SHELL@
 VPATH          = @srcdir@
 
 DESTDIR                = @DESTDIR@
 VPATH          = @srcdir@
 
 DESTDIR                = @DESTDIR@
index 7d19d1773aaedb980cdb86b26cc204e36db2ab1e..48df318765670476c76f99dd3779b92b1eed4436 100644 (file)
 #
 #  Author:  Juergen Pfeifer, 1996
 #
 #
 #  Author:  Juergen Pfeifer, 1996
 #
-#  $Id: Makefile.in,v 1.84 2015/06/06 21:27:35 tom Exp $
+#  $Id: Makefile.in,v 1.85 2015/08/05 23:06:31 tom Exp $
 #
 .SUFFIXES:
 
 #
 .SUFFIXES:
 
-SHELL          = /bin/sh
+SHELL          = @SHELL@
 VPATH          = @srcdir@
 THIS           = Makefile
 
 VPATH          = @srcdir@
 THIS           = Makefile
 
index 23ab32d6e7b4178fcfb6defdf224a71734701214..0a89ed61c375531d2a93d5f733799f80c105d99d 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: Makefile.in,v 1.3 2011/03/19 23:39:59 tom Exp $
+# $Id: Makefile.in,v 1.4 2015/08/05 23:15:41 tom Exp $
 ##############################################################################
 ##############################################################################
-# Copyright (c) 2010,2011 Free Software Foundation, Inc.                     #
+# Copyright (c) 2010-2011,2015 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"), #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -39,7 +39,7 @@
 # turn off _all_ suffix rules; we'll generate our own
 .SUFFIXES:
 
 # turn off _all_ suffix rules; we'll generate our own
 .SUFFIXES:
 
-SHELL          = /bin/sh
+SHELL          = @SHELL@
 VPATH          = @srcdir@
 THIS           = Makefile
 
 VPATH          = @srcdir@
 THIS           = Makefile
 
@@ -68,7 +68,7 @@ install ::    $(AUTO_SRC)
 uninstall ::
 
 ncurses_def.h: $(srcdir)/ncurses_defs $(srcdir)/MKncurses_def.sh
 uninstall ::
 
 ncurses_def.h: $(srcdir)/ncurses_defs $(srcdir)/MKncurses_def.sh
-       AWK=$(AWK) sh $(srcdir)/MKncurses_def.sh $(srcdir)/ncurses_defs >$@
+       AWK=$(AWK) $(SHELL) $(srcdir)/MKncurses_def.sh $(srcdir)/ncurses_defs >$@
 
 tags:
        ctags *.[ch]
 
 tags:
        ctags *.[ch]
index 89498629cb8c29d1ed18c4ecf25592104fa1a481..5b4002733608850f2847858cc5b3f9bf0f19b0e0 100644 (file)
@@ -1,5 +1,5 @@
 ##############################################################################
 ##############################################################################
-# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc.                #
+# Copyright (c) 1998-2012,2015 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"), #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
 #
 #  Author:  Juergen Pfeifer, 1996
 #
 #
 #  Author:  Juergen Pfeifer, 1996
 #
-#  $Id: Makefile.in,v 1.48 2012/10/06 19:00:42 tom Exp $
+#  $Id: Makefile.in,v 1.49 2015/08/05 23:15:41 tom Exp $
 #
 .SUFFIXES:
 
 #
 .SUFFIXES:
 
-SHELL          = /bin/sh
+SHELL          = @SHELL@
 VPATH          = @srcdir@
 THIS           = Makefile
 
 VPATH          = @srcdir@
 THIS           = Makefile
 
index 9726d43e0c5d194be9db6a34ba7f183ca1eca79f..b0e80de52af13855a3c79b80cca9c05956a73dcb 100644 (file)
@@ -1,5 +1,5 @@
 ##############################################################################
 ##############################################################################
-# Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.                #
+# Copyright (c) 1998-2014,2015 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"), #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
 #
 #  Author:  Juergen Pfeifer, 1996
 #
 #
 #  Author:  Juergen Pfeifer, 1996
 #
-#  $Id: Makefile.in,v 1.70 2014/08/02 20:31:47 tom Exp $
+#  $Id: Makefile.in,v 1.71 2015/08/05 23:15:41 tom Exp $
 #
 .SUFFIXES:
 
 #
 .SUFFIXES:
 
-SHELL          = /bin/sh
+SHELL          = @SHELL@
 VPATH          = @srcdir@
 THIS           = Makefile
 
 VPATH          = @srcdir@
 THIS           = Makefile
 
index eac3e1b1e0bf2735a183d6a2e3b46c6b7f0f3c08..5f0f62f163338c3ddc62571f6b22646f8867b224 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 2011,2014 Free Software Foundation, Inc.                   *
+ * Copyright (c) 2011-2014,2015 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  * authorization.                                                           *
  ****************************************************************************/
 
  * authorization.                                                           *
  ****************************************************************************/
 
+/* $Id: c_threaded_variables.h,v 1.3 2015/08/06 23:09:47 tom Exp $ */
+
 #ifndef __C_THREADED_VARIABLES_H
 #define __C_THREADED_VARIABLES_H
 
 #ifndef __C_THREADED_VARIABLES_H
 #define __C_THREADED_VARIABLES_H
 
+#include <ncurses_cfg.h>
+
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if HAVE_STDINT_H
+#  include <stdint.h>
+# endif
+#endif
+
 #include <curses.h>
 
 extern WINDOW *stdscr_as_function(void);
 #include <curses.h>
 
 extern WINDOW *stdscr_as_function(void);
index ee6a7a7c1eb9e5381cf8645cb5e6f8e178b0b243..f2697058493efc5f81fe300601e28b4d702be5d7 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 2011 Free Software Foundation, Inc.                        *
+ * Copyright (c) 2011,2015 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  * authorization.                                                           *
  ****************************************************************************/
 
  * authorization.                                                           *
  ****************************************************************************/
 
-/* $Id: c_varargs_to_ada.h,v 1.3 2011/03/19 19:07:41 tom Exp $ */
+/* $Id: c_varargs_to_ada.h,v 1.4 2015/08/06 23:08:47 tom Exp $ */
 
 #ifndef __C_VARARGS_TO_ADA_H
 #define __C_VARARGS_TO_ADA_H
 
 
 #ifndef __C_VARARGS_TO_ADA_H
 #define __C_VARARGS_TO_ADA_H
 
+#ifdef HAVE_CONFIG_H
+#include <ncurses_cfg.h>
+#else
+#include <ncurses.h>
+#endif
+
+#include <stdlib.h>
+
 #include <form.h>
 
 extern int set_field_type_alnum(FIELD * /* field */ ,
 #include <form.h>
 
 extern int set_field_type_alnum(FIELD * /* field */ ,
index b3d0607a5ff29a7a0c459c3398f326bd74016342..e44f3d0fe39bfd9b5ba6f7616b87f8a1e8f80969 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 2011 Free Software Foundation, Inc.                        *
+ * Copyright (c) 2011,2015 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
 
 /*
     Version Control
 
 /*
     Version Control
-    $Id: ncurses_compat.c,v 1.2 2011/03/28 00:29:04 tom Exp $
+    $Id: ncurses_compat.c,v 1.3 2015/08/06 23:09:10 tom Exp $
   --------------------------------------------------------------------------*/
 
 /*
  * Provide compatibility with older versions of ncurses.
  */
   --------------------------------------------------------------------------*/
 
 /*
  * Provide compatibility with older versions of ncurses.
  */
+#include <ncurses_cfg.h>
+
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if HAVE_STDINT_H
+#  include <stdint.h>
+# endif
+#endif
+
 #include <curses.h>
 
 #if defined(NCURSES_VERSION_PATCH)
 #include <curses.h>
 
 #if defined(NCURSES_VERSION_PATCH)
@@ -49,7 +59,7 @@ extern int _nc_has_mouse(void);
 bool
 has_mouse(void)
 {
 bool
 has_mouse(void)
 {
-  return (bool) _nc_has_mouse();
+  return (bool)_nc_has_mouse();
 }
 #endif
 
 }
 #endif
 
index 8420b38c3a350314e70496b653b8ecf58f18390b..d5691685393b1ef2c86af7029689429de6bb7bc6 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: Makefile.in,v 1.39 2014/12/13 21:52:19 tom Exp $
+# $Id: Makefile.in,v 1.40 2015/08/05 23:15:41 tom Exp $
 ##############################################################################
 ##############################################################################
-# Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.                #
+# Copyright (c) 1998-2014,2015 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"), #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -31,7 +31,7 @@
 #
 # Master Makefile for ncurses library.
 
 #
 # Master Makefile for ncurses library.
 
-SHELL = /bin/sh
+SHELL          = @SHELL@
 VPATH          = @srcdir@
 
 DESTDIR=@DESTDIR@
 VPATH          = @srcdir@
 
 DESTDIR=@DESTDIR@
diff --git a/NEWS b/NEWS
index f54d83a4b23af54a378d67807a3d80b9602f4dca..f24d2c80538b56c8d8698d096292b4d9181c9501 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2470 2015/07/25 23:04:43 tom Exp $
+-- $Id: NEWS,v 1.2476 2015/08/08 23:29:51 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,16 @@ See the AUTHORS file for the corresponding full names.
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20150808 6.0 release for upload to ftp.gnu.org
+
+20150808
+       + build-fix for Ada95 on older platforms without stdint.h
+       + build-fix for Solaris, whose /bin/sh and /usr/bin/sed are non-POSIX.
+       + update release announcement, summarizing more than 800 changes across
+         more than 200 snapshots.
+       + minor fixes to manpages, etc., to simplify linking from announcement
+         page.
+
 20150725
        + updated llib-* files.
        + build-fixes for ncurses library "test_progs" rule.
 20150725
        + updated llib-* files.
        + build-fixes for ncurses library "test_progs" rule.
diff --git a/VERSION b/VERSION
index 145760e83935d74817942490850dfd8e2fbf8f57..519fa3d1d71e3249b2220eeec1115e467eed51ab 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:9  6.0     20150725
+5:0:9  6.0     20150808
index c7b9e24e1a2651fcb18e14e4afa4a7970c842e90..de1f704cde0641e1fdc90c93e00be5ddfe1a6f2e 100644 (file)
@@ -28,7 +28,7 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: aclocal.m4,v 1.759 2015/06/27 23:10:38 tom Exp $
+dnl $Id: aclocal.m4,v 1.761 2015/08/06 00:46:34 tom Exp $
 dnl Macros used in NCURSES auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
 dnl Macros used in NCURSES auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
@@ -3228,7 +3228,7 @@ ifelse($1,,,[$1=$LIB_PREFIX])
        AC_SUBST(LIB_PREFIX)
 ])dnl
 dnl ---------------------------------------------------------------------------
        AC_SUBST(LIB_PREFIX)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_LIB_RULES version: 82 updated: 2015/06/27 19:09:23
+dnl CF_LIB_RULES version: 83 updated: 2015/08/05 20:44:28
 dnl ------------
 dnl Append definitions and rules for the given models to the subdirectory
 dnl Makefiles, and the recursion rule for the top-level Makefile.  If the
 dnl ------------
 dnl Append definitions and rules for the given models to the subdirectory
 dnl Makefiles, and the recursion rule for the top-level Makefile.  If the
@@ -3700,7 +3700,7 @@ rm -f headers.sed headers.sh
 dnl ( generating this script makes the makefiles a little tidier :-)
 echo creating headers.sh
 cat >headers.sh <<CF_EOF
 dnl ( generating this script makes the makefiles a little tidier :-)
 echo creating headers.sh
 cat >headers.sh <<CF_EOF
-#! /bin/sh
+#! $SHELL
 # This shell script is generated by the 'configure' script.  It is invoked in a
 # subdirectory of the build tree.  It generates a sed-script in the parent
 # directory that is used to adjust includes for header files that reside in a
 # This shell script is generated by the 'configure' script.  It is invoked in a
 # subdirectory of the build tree.  It generates a sed-script in the parent
 # directory that is used to adjust includes for header files that reside in a
@@ -4045,7 +4045,7 @@ int main()
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MAKEFLAGS version: 16 updated: 2015/04/15 19:08:48
+dnl CF_MAKEFLAGS version: 17 updated: 2015/08/05 20:44:28
 dnl ------------
 dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
 dnl options to lower-levels.  It's very useful for "make -n" -- if we have it.
 dnl ------------
 dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
 dnl options to lower-levels.  It's very useful for "make -n" -- if we have it.
@@ -4058,7 +4058,7 @@ AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
        for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
        do
                cat >cf_makeflags.tmp <<CF_EOF
        for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
        do
                cat >cf_makeflags.tmp <<CF_EOF
-SHELL = /bin/sh
+SHELL = $SHELL
 all :
        @ echo '.$cf_option'
 CF_EOF
 all :
        @ echo '.$cf_option'
 CF_EOF
@@ -4231,7 +4231,7 @@ if test -n "$cf_unknown" ; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MANPAGE_RENAMES version: 9 updated: 2015/04/18 08:56:57
+dnl CF_MANPAGE_RENAMES version: 10 updated: 2015/08/05 20:44:28
 dnl ------------------
 dnl The Debian people have their own naming convention for manpages.  This
 dnl option lets us override the name of the file containing renaming, or
 dnl ------------------
 dnl The Debian people have their own naming convention for manpages.  This
 dnl option lets us override the name of the file containing renaming, or
@@ -4270,7 +4270,7 @@ if test "$MANPAGE_RENAMES" != no ; then
        # Construct a sed-script to perform renaming within man-pages
        if test -n "$MANPAGE_RENAMES" ; then
                test ! -d man && mkdir man
        # Construct a sed-script to perform renaming within man-pages
        if test -n "$MANPAGE_RENAMES" ; then
                test ! -d man && mkdir man
-               sh $srcdir/man/make_sed.sh $MANPAGE_RENAMES >./edit_man.sed
+               $SHELL $srcdir/man/make_sed.sh $MANPAGE_RENAMES >./edit_man.sed
        fi
 fi
 
        fi
 fi
 
@@ -4340,7 +4340,7 @@ AC_ARG_WITH(manpage-tbl,
 AC_MSG_RESULT($MANPAGE_TBL)
 ])dnl
 dnl ---------------------------------------------------------------------------
 AC_MSG_RESULT($MANPAGE_TBL)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MAN_PAGES version: 45 updated: 2015/04/18 08:56:57
+dnl CF_MAN_PAGES version: 46 updated: 2015/08/05 20:44:28
 dnl ------------
 dnl Try to determine if the man-pages on the system are compressed, and if
 dnl so, what format is used.  Use this information to construct a script that
 dnl ------------
 dnl Try to determine if the man-pages on the system are compressed, and if
 dnl so, what format is used.  Use this information to construct a script that
@@ -4393,7 +4393,7 @@ cf_edit_man=./edit_man.sh
 cf_man_alias=`pwd`/man_alias.sed
 
 cat >$cf_edit_man <<CF_EOF
 cf_man_alias=`pwd`/man_alias.sed
 
 cat >$cf_edit_man <<CF_EOF
-#! /bin/sh
+#! $SHELL
 # this script is generated by the configure-script CF_MAN_PAGES macro.
 
 prefix="$cf_prefix"
 # this script is generated by the configure-script CF_MAN_PAGES macro.
 
 prefix="$cf_prefix"
@@ -4431,7 +4431,7 @@ shift || exit 1
 if test "\$form" = normal ; then
        if test "$cf_format" = yes ; then
        if test "$cf_inboth" = no ; then
 if test "\$form" = normal ; then
        if test "$cf_format" = yes ; then
        if test "$cf_inboth" = no ; then
-               sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
+               $SHELL \[$]0 format \$verb \$mandir \$srcdir \[$]*
                exit $?
        fi
        fi
                exit $?
        fi
        fi
@@ -4672,7 +4672,7 @@ done
 
 if test $cf_inboth = yes ; then
 if test \$form != format ; then
 
 if test $cf_inboth = yes ; then
 if test \$form != format ; then
-       sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
+       $SHELL \[$]0 format \$verb \$mandir \$srcdir \[$]*
 fi
 fi
 
 fi
 fi
 
@@ -5511,7 +5511,7 @@ CF_VERBOSE(...checked $1 [$]$1)
 AC_SUBST(EXTRA_LDFLAGS)
 ])dnl
 dnl ---------------------------------------------------------------------------
 AC_SUBST(EXTRA_LDFLAGS)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_SHARED_OPTS version: 87 updated: 2015/04/17 21:13:04
+dnl CF_SHARED_OPTS version: 88 updated: 2015/08/05 20:44:28
 dnl --------------
 dnl --------------
 dnl Attempt to determine the appropriate CC/LD options for creating a shared
 dnl --------------
 dnl --------------
 dnl Attempt to determine the appropriate CC/LD options for creating a shared
@@ -5610,14 +5610,14 @@ AC_DEFUN([CF_SHARED_OPTS],
                ;;
        (cygwin*)
                CC_SHARED_OPTS=
                ;;
        (cygwin*)
                CC_SHARED_OPTS=
-               MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
+               MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=cygdll
                cf_cv_shlib_version_infix=cygdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=cygdll
                cf_cv_shlib_version_infix=cygdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
-               #!/bin/sh
+               #!$SHELL
                SHARED_LIB=\[$]1
                IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
                shift
                SHARED_LIB=\[$]1
                IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
                shift
@@ -5632,14 +5632,14 @@ CF_EOF
                ;;
        (msys*)
                CC_SHARED_OPTS=
                ;;
        (msys*)
                CC_SHARED_OPTS=
-               MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
+               MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=msysdll
                cf_cv_shlib_version_infix=msysdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=msysdll
                cf_cv_shlib_version_infix=msysdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
-               #!/bin/sh
+               #!$SHELL
                SHARED_LIB=\[$]1
                IMPORT_LIB=\`echo "\[$]1" | sed -e 's/msys-/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
                shift
                SHARED_LIB=\[$]1
                IMPORT_LIB=\`echo "\[$]1" | sed -e 's/msys-/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
                shift
@@ -5733,10 +5733,10 @@ CF_EOF
                        EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS"
                fi
                CC_SHARED_OPTS=
                        EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS"
                fi
                CC_SHARED_OPTS=
-               MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
+               MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cat >mk_shared_lib.sh <<-CF_EOF
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cat >mk_shared_lib.sh <<-CF_EOF
-               #!/bin/sh
+               #!$SHELL
                SHARED_LIB=\[$]1
                IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
                shift
                SHARED_LIB=\[$]1
                IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
                shift
index a07dc0573325af8767c15c096578add499bccacf..89fb3ebeb4622d3121cdf68190348d4c95538c1a 100644 (file)
@@ -1,7 +1,7 @@
 <!--
 <!--
-  $Id: announce.html.in,v 1.89 2013/05/18 10:12:25 tom Exp $
+  $Id: announce.html.in,v 1.91 2015/08/08 19:27:17 tom Exp $
   ****************************************************************************
   ****************************************************************************
-  * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2013,2015 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            *
   *                                                                          *
   * 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 @@
   * authorization.                                                           *
   ****************************************************************************
 -->
   * authorization.                                                           *
   ****************************************************************************
 -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
 <html>
 <head>
 
 <html>
 <head>
   <link rev="made" href="mailto:bug-ncurses@gnu.org">
   <meta http-equiv="Content-Type" content=
   "text/html; charset=us-ascii">
   <link rev="made" href="mailto:bug-ncurses@gnu.org">
   <meta http-equiv="Content-Type" content=
   "text/html; charset=us-ascii">
+  <style type="text/css">
+p,li { max-width:700px; }
+  dd { max-width:630px; }
+  </style>
 </head>
 
 <body>
 </head>
 
 <body>
-  <h1>Announcing ncurses @VERSION@</h1>
+  <h1 class="no-header">Announcing ncurses @VERSION@</h1>
 
 
-  <p>The ncurses (new curses) library is a free software emulation
-  of curses in System V Release 4.0, and more. It uses terminfo
-  format, supports pads and color and multiple highlights and forms
-  characters and function-key mapping, and has all the other
-  SYSV-curses enhancements over BSD curses.</p>
+  <h2><a name="h2-overview" id="h2-overview">Overview</a></h2>
+
+  <p>The <em class="small-caps">ncurses</em> (new curses) library
+  is a free software emulation of curses in System V Release 4.0
+  (SVr4), and more. It uses terminfo format, supports pads and
+  color and multiple highlights and forms characters and
+  function-key mapping, and has all the other SVr4-curses
+  enhancements over BSD curses. SVr4 curses is better known today
+  as X/Open Curses.</p>
 
   <p>In mid-June 1995, the maintainer of 4.4BSD curses declared
   that he considered 4.4BSD curses obsolete, and encouraged the
 
   <p>In mid-June 1995, the maintainer of 4.4BSD curses declared
   that he considered 4.4BSD curses obsolete, and encouraged the
-  keepers of Unix releases such as BSD/OS, FreeBSD and NetBSD to
-  switch over to ncurses.</p>
+  keepers of <em class="small-caps">unix</em> releases such as
+  BSD/OS, FreeBSD and NetBSD to switch over to <em class=
+  "small-caps">ncurses</em>.</p>
+
+  <p>Since 1995, <em class="small-caps">ncurses</em> has been
+  ported to many systems:</p>
+
+  <ul>
+    <li>It is used in almost every system based on the Linux kernel
+    (aside from some embedded applications).</li>
+
+    <li>It is used as the system curses library on OpenBSD, FreeBSD
+    and OSX.</li>
+
+    <li>It is used in environments such as Cygwin and MinGW. The
+    first of these was EMX on OS/2 Warp.</li>
+
+    <li>It is used (though usually not as the <em>system</em>
+    curses) on all of the vendor <em class="small-caps">unix</em>
+    systems, e.g., AIX, HP-UX, IRIX64, SCO, Solaris, Tru64.</li>
+
+    <li>It should work readily on any ANSI/POSIX-conforming
+    <em class="small-caps">unix</em>.</li>
+  </ul>
+
+  <p>The distribution includes the library and support utilities,
+  including</p>
+
+  <ul>
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/captoinfo.1m.html">captoinfo</a>,
+    a termcap conversion tool</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/clear.1.html">clear</a>,
+    utility for clearing the screen</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/infocmp.1m.html">infocmp</a>,
+    the terminfo decompiler</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/tabs.1.html">tabs</a>,
+    set tabs on a terminal</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/tic.1m.html">tic</a>,
+    the terminfo compiler</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/toe.1m.html">toe</a>,
+    list (table of) terminfo entries</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/tput.1.html">tput</a>,
+    utility for retrieving terminal capabilities in shell
+    scripts</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/tset.1.html">tset</a>,
+    to initialize the terminal</li>
+  </ul>
+
+  <p>Full manual pages are provided for the library and tools.</p>
+
+  <p>The <em class="small-caps">ncurses</em> distribution is
+  available via anonymous FTP at the GNU distribution site</p>
+
+  <blockquote>
+    <p><a href=
+    "ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</a>&nbsp;.</p>
+  </blockquote>It is also available at
+
+  <blockquote>
+    <p><a href=
+    "ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a>&nbsp;.</p>
+  </blockquote>
+
+  <h2><a name="h2-release-notes" id="h2-release-notes">Release
+  Notes</a></h2>
+
+  <p>These notes are for <em class="small-caps">ncurses</em>
+  @VERSION@, released <strong>August 8, 2015</strong>.</p>
+
+  <p>This release is designed to be source-compatible with
+  <em class="small-caps">ncurses</em> 5.0 through 5.9; providing a
+  new application binary interface (ABI). Although the source can
+  still be configured to support the <em class=
+  "small-caps">ncurses</em> 5 ABI, the intent of the release is to
+  provide extensions which are generally useful, but
+  binary-incompatible with <em class="small-caps">ncurses</em>
+  5:</p>
+
+  <ul>
+    <li>
+      <p>Extend the <code>cchar_t</code> structure to allow more
+      than 16 colors to be encoded.</p>
+    </li>
+
+    <li>
+      <p>Modify the encoding of mouse state to make room for a 5th
+      mouse button. That allows one to use <em class=
+      "small-caps">ncurses</em> with a wheel mouse with xterm or
+      similar X terminal emulators.</p>
+    </li>
+  </ul>
+
+  <p>There are, of course, numerous other improvements,
+  including</p>
+
+  <ul>
+    <li>
+      <p>fixes made based on the Clang and Coverity static
+      analyzers.</p>
+    </li>
+
+    <li>
+      <p>memory leak fixes using Valgrind</p>
+    </li>
+  </ul>
+
+  <p>The release notes mention some bug-fixes, but are focused on
+  new features and improvements to existing features log since
+  <em class="small-caps">ncurses</em> 5.9 release.</p>
+
+  <p>While the intent of the release is to provide a new stable
+  ABI, there are other development activities which are summarized
+  below.</p>
+
+  <ul>
+    <li>
+      <p>The original release plan, e.g., for "5.10" was to improve
+      the MinGW port. Ultimately that was completed (wide-character
+      support, mouse, etc), but was deferred to focus on termcap
+      support and performance issues. Also, pinpointing the
+      problems with <code>Console2</code> took a while.</p>
+    </li>
+
+    <li>
+      <p>A review of termcap compatibility in 2011 led to several
+      minor fixes in the library and improvements to utilities. To
+      do this properly, a review of the various extent termcap
+      implementations was needed.</p>
+
+      <p>The <a href=
+      "http://invisible-island.net/ncurses/tctest.html">termcap
+      library checker (tctest)</a> (not part of <em class=
+      "small-caps">ncurses</em>) was one result. A followup review
+      of performance using <a href=
+      "http://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a>
+      in 2014 led to additional improvements.</p>
+    </li>
+
+    <li>
+      <p>Output buffering provided a further, but worthwhile
+      distraction. A bug report in 2012 regarding the use of signal
+      handlers in <em class="small-caps">ncurses</em>) pointed out
+      <a href=
+      "http://lists.gnu.org/archive/html/bug-ncurses/2012-07/msg00029.html">
+      a problem</a> with the use of unsafe functions for handling
+      <code>SIGTSTP</code>. Other signals could be addressed with
+      workarounds; repairing <code>SIGTSTP</code> required a
+      different approach. The solution required changing internal
+      behavior of the library: how it handles output buffering.</p>
+
+      <p>Now <em class="small-caps">ncurses</em> buffers its own
+      output, independently of the standard output. A few
+      applications relied upon the library's direct reuse of the
+      standard output buffering; however that is
+      <em>unspecified</em> behavior and has never been a
+      recommended practice. Identifying these applications as well
+      as refining the change to permit low-level applications to
+      work consistently took time.</p>
+    </li>
+
+    <li>
+      <p>Since the introduction of the experimental support for 256
+      colors early in <a href=
+      "http://invisible-island.net/ncurses/NEWS.html#t20050101">2005</a>
+      (released in <a href=
+      "http://invisible-island.net/ncurses/announce-5.5.html">ncurses
+      5.5</a>), there has been increased user interest. Almost all
+      packagers continue providing the ncurses ABI 5 which cannot
+      support 256 colors.</p>
+    </li>
+
+    <li>
+      <p>Symbol versioning, or the lack of it in ncurses, is the
+      main reason why packagers would be reluctant to add a new
+      ncurses ABI.</p>
+
+      <p>This release provides the new ABI along with
+      script-generated lists of versioned symbols which can be used
+      for both ABI 5 and 6 (with distinct names to keep the two
+      separate). This took time to development, as reported in
+      <a href=
+      "http://invisible-island.net/ncurses/ncurses-mapsyms.html">Symbol
+      versioning in <em class="small-caps">ncurses</em></a>.</p>
+    </li>
+  </ul>
+
+  <h3><a name="h3-library" id="h3-library">Library
+  improvements</a></h3>
+
+  <h3><a name="h3-lib-setbuf" id="h3-lib-setbuf">Output
+  buffering</a></h3>
+
+  <p>X/Open curses provides more than one initialization
+  function:</p>
+
+  <ul>
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-initscr">
+    initscr</a> (the simplest) accepts no parameters.</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-newterm">
+    newterm</a> accepts parameters for the stream input and
+    output</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Initialization">
+    setupterm</a> (the low-level function) accepts a parameter for
+    the <em>file descriptor</em> of the output.</li>
+  </ul>
+
+  <p>They are documented in X/Open <em>as if</em>
+  <code>initscr</code> calls <code>newterm</code> using
+  <code>stdout</code> for output stream, and in turn
+  <code>newterm</code> calls <code>setupterm</code> using
+  <code>fileno(stdout)</code> for the file descriptor. As long as
+  an implementation acts <em>as if</em> it does this, it conforms.
+  In practice, implementations do what is implied. This creates a
+  problem: the low-level <code>setupterm</code> function's file
+  descriptor is unbuffered, while <code>newterm</code> implies
+  buffered output. X/Open Curses says that all output is done
+  through the file descriptor, and does not say how the output
+  stream is actually used.</p>
+
+  <p>Initially, <em class="small-caps">ncurses</em> used the file
+  descriptor (obtained from the output stream passed to
+  <code>newterm</code>) for changing the terminal modes, and relied
+  upon the output parameter of <code>newterm</code> for buffered
+  output. Later (to avoid using unsafe buffered I/O in signal
+  handlers), <em class="small-caps">ncurses</em> was modified to
+  use the file descriptor (unbuffered output) when cleaning up on
+  receipt of a signal. Otherwise (when not handling a signal), it
+  continued to use the buffered output.</p>
+
+  <p>That approach worked reasonably well and as a side effect,
+  using the same buffered output as an application might use for
+  <code>printf</code> meant that no flushing was needed when
+  switching between normal- and screen-modes.</p>
+
+  <p>There were a couple of problems:</p>
+
+  <ul>
+    <li>
+      <p>to get good performance, curses (not only <em class=
+      "small-caps">ncurses</em>, but SVr4 curses in general) set an
+      output buffer using <code>setbuf</code> or similar function.
+      There is no standard (or portable) way to turn that output
+      buffer off, and revert to line-buffering. The <code><a href=
+      "http://invisible-island.net/ncurses/man/ncurses.3x.html#h3-NCURSES_NO_SETBUF">
+      NCURSES_NO_SETBUF</a></code> environment variable did make it
+      optional.</p>
+    </li>
+
+    <li>
+      <p>to handle <code>SIGTSTP</code> (the &ldquo;stop&rdquo;
+      signal), <em class="small-caps">ncurses</em> relied upon
+      unsafe functions. That is, due to the complexity of the
+      feature, it relied upon reusing existing functions which
+      should not have been called via the signal handler.</p>
+    </li>
+  </ul>
+
+  <p>Conveniently, solving the second problem (by making <em class=
+  "small-caps">ncurses</em> do its <em>own</em> output buffering)
+  also fixed the first one. But there were special cases to
+  resolve: <a href=
+  "http://invisible-island.net/ncurses/man/curs_terminfo.3x.html"><em>
+  low-level</em></a> functions such as mvcur, putp, vidattr
+  explicitly use the standard output. Those functions were reused
+  internally, and required modification to distinguish whether they
+  were used by the high-level or low-level interfaces.</p>
+
+  <p>Finally, there may still be a few programs which should be
+  modified to improve their portability, e.g., adding an</p>
+
+  <blockquote>
+    <pre class="code-block">
+fflush(stdout);
+</pre>
+  </blockquote>
+
+  <p>when switching from &ldquo;<a href=
+  "http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-reset_prog_mode_-reset_shell_mode">shell</a>&rdquo;
+  mode to &ldquo;<a href=
+  "http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-reset_prog_mode_-reset_shell_mode">program</a>&rdquo;
+  (curses) mode. Those are fairly rare because most programmers
+  have learned not to mix <code>printf</code> and <code><a href=
+  "http://invisible-island.net/ncurses/man/curs_printw.3x.html">printw</a></code>.</p>
+
+  <h3><a name="h3-lib-versioning" id="h3-lib-versioning">Symbol
+  versioning</a></h3>
+
+  <p>This release introduces symbol-versioning to <em class=
+  "small-caps">ncurses</em> because without it, the change of ABI
+  would be less successful. A lengthy discussion will be presented
+  in <a href=
+  "http://invisible-island.net/ncurses/ncurses-mapsyms.html">Symbol
+  versioning in <em class="small-caps">ncurses</em></a>. These
+  notes summarize what has changed, and what can be done with the
+  new release.</p>
+
+  <p>Symbol-versioning allows the developers of a library to mark
+  each public symbol (both data and functions) with an identifier
+  denoting the library name and the version for which it was built.
+  By doing this, users of the library have a way to help ensure
+  that applications do not accidentally load an incompatible
+  library. In addition, private symbols can be hidden entirely.</p>
+
+  <p>This release provides sample files for the four principal
+  configurations of <em class="small-caps">ncurses</em> libraries:
+  <code>ncurses</code>, <code>ncursesw</code>,
+  <code>ncursest</code> and <code>ncursestw</code>. Each sample is
+  given in two forms:</p>
+
+  <blockquote>
+    <dl>
+      <dt>&ldquo;<code>.map</code>&rdquo;</dt>
+
+      <dd>These list all public symbols, together with version
+      names.</dd>
+
+      <dt>&ldquo;<code>.sym</code>&rdquo;</dt>
+
+      <dd>These list all public symbols, without version
+      names.</dd>
+    </dl>
+  </blockquote>
+
+  <p>The sample files are <em>generated</em> by scripts which take
+  into account a few special cases such as <a href=
+  "http://invisible-island.net/ncurses/tack.html">tack</a> to omit
+  many of the <em class="small-caps">ncurses</em> private symbols
+  (beginning with &ldquo;<code>_nc_</code>&rdquo;). Here are
+  counts of globals versus locals:</p>
+
+  <blockquote>
+    <table border="1" summary="Total global and local symbols">
+      <tr>
+        <th>Config</th>
+
+        <th>Symbols</th>
+
+        <th>Globals</th>
+
+        <th>Locals</th>
+
+        <th>"_nc_"</th>
+      </tr>
+
+      <tr>
+        <td>ncurses</td>
+
+        <td align="right">976</td>
+
+        <td align="right">796</td>
+
+        <td align="right">180</td>
+
+        <td align="right">332</td>
+      </tr>
+
+      <tr>
+        <td>ncursesw</td>
+
+        <td align="right">1089</td>
+
+        <td align="right">905</td>
+
+        <td align="right">184</td>
+
+        <td align="right">343</td>
+      </tr>
+
+      <tr>
+        <td>ncursest</td>
+
+        <td align="right">979</td>
+
+        <td align="right">804</td>
+
+        <td align="right">175</td>
+
+        <td align="right">358</td>
+      </tr>
+
+      <tr>
+        <td>ncursestw</td>
+
+        <td align="right">1098</td>
+
+        <td align="right">914</td>
+
+        <td align="right">184</td>
+
+        <td align="right">372</td>
+      </tr>
+    </table>
+  </blockquote>
+
+  <p>Although only four sample configurations are presented, each
+  is formed by merging symbols from several combinations of
+  configure-script options, taking into account advice from
+  downstream packagers. Because they are formed by merging, the
+  sample files may list a symbol which is not in a given package.
+  That is expected. The samples have been tested and are working
+  with systems (such as Fedora, FreeBSD and Debian) which fully
+  support this feature. There are other systems which do
+  <em>not</em> support the feature, and a few (such as Solaris)
+  which provide incomplete support.</p>
+
+  <p>The version-naming convention used allows these sample files
+  to build distinct libraries for ABI 5 and 6. Version names
+  consist of</p>
+
+  <ul>
+    <li>
+      <p>configuration name, e.g.,
+      &ldquo;<code>NCURSESW</code>&rdquo; for the wide-character
+      libraries</p>
+    </li>
+
+    <li>
+      <p>ABI version (if not 5)</p>
+    </li>
+
+    <li>
+      <p>library name for two special cases which have the same
+      interface across configurations:
+      &ldquo;<code>TINFO</code>&rdquo; and
+      &ldquo;<code>TIC</code>&rdquo;</p>
+    </li>
+
+    <li>
+      <p>release version</p>
+    </li>
+
+    <li>
+      <p>patch date (for the release version)</p>
+    </li>
+  </ul>
+
+  <p>For example, running <code>nm -D</code> on the libraries in
+  the ncurses6 test package shows these symbol-versions:</p>
+
+  <blockquote>
+    <pre class="code-block">
+0000000000000000 A NCURSES6_TIC_5.0.19991023
+0000000000000000 A NCURSES6_TIC_5.1.20000708
+0000000000000000 A NCURSES6_TIC_5.5.20051010
+0000000000000000 A NCURSES6_TIC_5.7.20081102
+0000000000000000 A NCURSES6_TIC_5.9.20150530
+0000000000000000 A NCURSES6_TINFO_5.0.19991023
+0000000000000000 A NCURSES6_TINFO_5.1.20000708
+0000000000000000 A NCURSES6_TINFO_5.2.20001021
+0000000000000000 A NCURSES6_TINFO_5.3.20021019
+0000000000000000 A NCURSES6_TINFO_5.4.20040208
+0000000000000000 A NCURSES6_TINFO_5.5.20051010
+0000000000000000 A NCURSES6_TINFO_5.6.20061217
+0000000000000000 A NCURSES6_TINFO_5.7.20081102
+0000000000000000 A NCURSES6_TINFO_5.8.20110226
+0000000000000000 A NCURSES6_TINFO_5.9.20150530
+0000000000000000 A NCURSESW6_5.1.20000708
+0000000000000000 A NCURSESW6_5.3.20021019
+0000000000000000 A NCURSESW6_5.4.20040208
+0000000000000000 A NCURSESW6_5.5.20051010
+0000000000000000 A NCURSESW6_5.6.20061217
+0000000000000000 A NCURSESW6_5.7.20081102
+0000000000000000 A NCURSESW6_5.8.20110226
+0000000000000000 A NCURSESW6_5.9.20150530
+</pre>
+  </blockquote>
+
+  <p>As a special case, this release (which makes the final change
+  for ABI 5) is marked with release version 5.9 and patch date
+  20150530.</p>
+
+  <h3><a name="h3-lib-other" id=
+  "h3-lib-other">Miscellaneous</a></h3>
+
+  <p>The new release has several improvements for performance and
+  building. For instance:</p>
+
+  <ul>
+    <li>
+      <p>several files in ncurses- and progs-directories were
+      modified to allow <code>const</code> data used in internal
+      tables to be put by the linker into the readonly text
+      segment.</p>
+    </li>
+
+    <li>
+      <p>various improvements were made to building the Ada95
+      binding, both in simplifying the generated files as well as
+      improving the way it uses <code>gnatmake</code></p>
+    </li>
+  </ul>
+
+  <p>There are also new features in the libraries:</p>
+
+  <ul>
+    <li>added <a href=
+    "http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-use_tioctl">
+    use_tioctl</a> function</li>
+
+    <li>
+      <p>added <a href=
+      "http://invisible-island.net/ncurses/man/curs_opaque.3x.html">
+      wgetdelay</a> to retrieve _delay member of WINDOW if it
+      happens to be opaque, e.g., in the pthread configuration.</p>
+    </li>
+
+    <li>
+      <p>added <a href=
+      "http://invisible-island.net/ncurses/man/curs_attr.3x.html#h2-PORTABILITY">
+      A_ITALIC</a> extension.</p>
+    </li>
+
+    <li>
+      <p>added form library extension <a href=
+      "http://invisible-island.net/ncurses/man/form_field_opts.3x.html">
+      O_DYNAMIC_JUSTIFY</a> option which can be used to override
+      the different treatment of justification for static versus
+      dynamic fields .</p>
+    </li>
+
+    <li>
+      <p>rewrote <a href=
+      "http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-putwin_getwin">
+      putwin</a> and <a href=
+      "http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-putwin_getwin">
+      getwin</a>, making an extended version which is capable of
+      reading screen-dumps between the wide/normal <em class=
+      "small-caps">ncurses</em> configurations. These are text
+      files, except for a <em>magic</em> code at the beginning:</p>
+
+      <blockquote>
+        <pre class="code-block">
+0       string          \210\210        Screen-dump (ncurses)
+</pre>
+      </blockquote>
+    </li>
+
+    <li>
+      <p>several changes to mouse support include:</p>
+
+      <ul>
+        <li>added decoder for xterm SGR 1006 mouse mode.</li>
+
+        <li>added experimental support for
+        &ldquo;<code>%u</code>&rdquo; format to terminfo.</li>
+
+        <li>improved behavior of wheel-mice for xterm protocol:
+        noting that there are only button-presses for buttons
+        &ldquo;4&rdquo; and &ldquo;5&rdquo;, so there is no need to
+        wait to combine events into double-clicks .</li>
+      </ul>
+    </li>
+  </ul>
+
+  <p>There are a few new configure options dealing with library
+  customization:</p>
+
+  <ul>
+    <li>
+      <p>add &ldquo;<code>--enable-ext-putwin</code>&rdquo;
+      configure option to turn on the extended putwin/getwin. By
+      default, this is enabled for ABI 6 and disabled with ABI
+      5.</p>
+    </li>
+
+    <li>
+      <p>add &ldquo;<code>--enable-string-hacks</code>&rdquo;
+      option to control whether strlcat and strlcpy may be used.
+      Because <em class="small-caps">ncurses</em> already does the
+      requisite buffer-limit checks, this feature is mainly of
+      interest to quiet compiler-warnings on a few systems.</p>
+    </li>
+
+    <li>
+      <p>add configure option
+      &ldquo;<code>--with-tparm-arg</code>&rdquo; to allow <a href=
+      "http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Formatting-Output">
+      tparm</a>'s parameters to be something more likely to be the
+      same size as a pointer, e.g., <code>intptr_t</code> (again,
+      the default is set for ABI 6).</p>
+    </li>
+  </ul>
+
+  <h3><a name="h3-programs" id="h3-programs">Program
+  improvements</a></h3>
+
+  <h4><a name="h4-utilities" id="h4-utilities">Utilities</a></h4>
+
+  <p>Most of the termcap-related changes based on development of
+  <a href="http://invisible-island.net/ncurses/tctest.html">tctest
+  (termcap library checker)</a> are implemented in the tic and
+  infocmp programs rather than affecting the library. As noted in
+  the <a href=
+  "http://invisible-island.net/ncurses/tctest.html#my-better-translation">
+  discussion</a> of <code>tctest</code>, <em class=
+  "small-caps">ncurses</em>'s ability to translate between terminfo
+  and termcap formats has been improved at different times, but
+  subject to feedback from "real" termcap users. There are very few
+  of those. Nowadays, virtually all <em>termcap</em> users are
+  using <em class="small-caps">ncurses</em> (or NetBSD, with its
+  own terminfo library) and their programs are actually using
+  terminfo rather than termcap data.</p>
+
+  <p>Still, there are a few. A comment about the translation of the
+  ASCII <code>NUL</code> character prompted a review:</p>
+
+  <ul>
+    <li>
+      <p>Both terminfo and termcap store string capabilities as
+      <code>NUL</code>-terminated strings.</p>
+    </li>
+
+    <li>
+      <p>In terminfo, a <code>\0</code> in a terminal description
+      is stored as <code>\200</code>.</p>
+    </li>
+
+    <li>
+      <p>There are no (known) terminals which would behave
+      differently when sent <code>\0</code> or
+      <code>\200</code>.</p>
+    </li>
+
+    <li>
+      <p>When translating to terminfo format (or displaying a
+      printable version of an entry using infocmp), <em class=
+      "small-caps">ncurses</em> shows <code>\200</code> as
+      <code>\0</code>.</p>
+    </li>
+
+    <li>
+      <p>It has done this since 1998 (quoting from the NEWS
+      file):</p>
+
+      <blockquote>
+        <pre class="code-block">
+<a href=
+"http://invisible-island.net/ncurses/NEWS.html#t980103">980103</a>
+...
+        + modify _nc_tic_expand() to generate \0 rather than \200.
+...
+        + correct translation of terminfo "^@", to \200, like \0.
+</pre>
+      </blockquote>
+    </li>
+
+    <li>
+      <p>However, the <code>_nc_tic_expand</code> function (which
+      optionally produces terminfo or termcap format) did not
+      address this special case for termcap. Even the later 4.4BSD
+      <a href=
+      "https://svnweb.freebsd.org/base/head/lib/libc/gen/getcap.c?revision=244092&amp;view=markup#l784">
+      cgetstr</a> interprets a <code>\0</code> literally, ending
+      <em>that</em> string (rather than using the terminfo
+      improvement).</p>
+    </li>
+  </ul>
+
+  <p>As a result of the review, several improvements were made to
+  <em class="small-caps">ncurses</em> translation to/from termcap
+  format &mdash; and improving the checks made in tic for
+  consistency of entries. Most of these are not of general
+  interest, except for two new command-line options for tic and
+  infocmp:</p>
+
+  <ul>
+    <li>
+      <p>the &ldquo;<code>-0</code>&rdquo; option generates
+      termcap/terminfo source on a single line.</p>
+    </li>
+
+    <li>
+      <p>the &ldquo;<code>-K</code>&rdquo; option provides stricter
+      BSD-compatibility for termcap output.</p>
+    </li>
+  </ul>
+
+  <p>Other user-visible improvements and new features include:</p>
+
+  <ul>
+    <li>
+      <p>added &ldquo;<code>-D</code>&rdquo; option to tic and
+      infocmp, to show the database locations that it could
+      use.</p>
+    </li>
+
+    <li>
+      <p>added &ldquo;<code>-s</code>&rdquo; option to toe, to sort
+      its output.</p>
+    </li>
+
+    <li>
+      <p>extended &ldquo;<code>-c</code>&rdquo; and
+      &ldquo;<code>-n</code>&rdquo; options of infocmp to allow
+      comparing more than two entries.</p>
+    </li>
+
+    <li>
+      <p>modified toe's report when &ldquo;<code>-a</code>&rdquo;
+      and &ldquo;<code>-s</code>&rdquo; options are combined, to
+      add a column showing which entries belong to a given
+      database.</p>
+    </li>
+
+    <li>
+      <p>modified the clear program to take into account the
+      &ldquo;<code>E3</code>&rdquo; extended capability to clear
+      the terminal's scrollback buffer.</p>
+    </li>
+  </ul>
+
+  <h4><a name="h4-examples" id="h4-examples">Examples</a></h4>
+
+  <p>Along with the library and utilities, many improvements were
+  made to the <a href=
+  "http://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a>.
+  Some were made to allow building (and comparison-testing) against
+  NetBSD curses and PDCurses. Both lack some of the X/Open Curses
+  features, necessitating customization. But this activity was
+  useful because it showed some remaining performance issues (which
+  have been resolved in this release).</p>
+
+  <p>These changes were made to verify compatibility or compare
+  performance of <em class="small-caps">ncurses</em>:</p>
+
+  <ul>
+    <li>
+      <p>made workarounds for compiling test-programs with NetBSD
+      curses, though it lacks some common functions such as
+      <a href="http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-use_env">
+      use_env</a>.</p>
+    </li>
+
+    <li>
+      <p>added dots_termcap test-program</p>
+    </li>
+
+    <li>
+      <p>added dots_curses test-program, for comparison with the
+      low-level examples.</p>
+    </li>
+
+    <li>
+      <p>added test_setupterm test-proram to demonstrate
+      normal/error returns from the setupterm and restartterm
+      functions.</p>
+    </li>
+
+    <li>
+      <p>added &ldquo;<code>-d</code>&rdquo;,
+      &ldquo;<code>-e</code>&rdquo; and
+      &ldquo;<code>-q</code>&rdquo; options to the demo_terminfo
+      and demo_termcap test-programs.</p>
+    </li>
+
+    <li>
+      <p>added &ldquo;<code>-y</code>&rdquo; option to demo_termcap
+      and test/demo_terminfo test-programs to demonstrate behavior
+      with/without extended capabilities.</p>
+    </li>
+
+    <li>
+      <p>modified demo_termcap and demo_terminfo test-programs to
+      make their options more directly comparable, and add
+      &ldquo;<code>-i</code>&rdquo; option to specify a terminal
+      description filename to parse for names to lookup.</p>
+    </li>
+
+    <li>
+      <p>rewrote the tests for <a href=
+      "http://invisible-island.net/ncurses/man/curs_window.3x.html#h3-derwin">
+      mvderwin</a> and test for recursive <a href=
+      "http://invisible-island.net/ncurses/man/curs_window.3x.html#h3-mvwin">
+      mvwin</a> in the movewindow test-program.</p>
+    </li>
+  </ul>
+
+  <p>These changes were made to help with the MinGW port:</p>
+
+  <ul>
+    <li>
+      <p>added test-screens to the ncurses test-program to show
+      256-characters at a time, to help with MinGW port.</p>
+    </li>
+
+    <li>
+      <p>modified the view test-program to load UTF-8 when built
+      with MinGW by using regular win32 API because the MinGW
+      functions mblen and mbtowc do not work.</p>
+    </li>
+
+    <li>
+      <p>added &ldquo;<code>-s</code>&rdquo; option to the view
+      test-program to allow it to start in single-step mode,
+      reducing size of trace files when it is used for debugging
+      MinGW changes.</p>
+    </li>
+  </ul>
+
+  <p>These changes were made to verify new extensions in <em class=
+  "small-caps">ncurses</em>:</p>
+
+  <ul>
+    <li>
+      <p>added <a href=
+      "http://invisible-island.net/ncurses/man/form_driver.3x.html#h3-form_driver_w">
+      form_driver_w</a> entrypoint to wide-character forms library,
+      as well as form_driver_w test-program.</p>
+    </li>
+
+    <li>
+      <p>modified ncurses test-program's b/B tests to display lines
+      only for the attributes which a given terminal supports, to
+      make room for an italics test.</p>
+    </li>
+
+    <li>
+      <p>modified ncurses test-program, adding
+      &ldquo;<code>-E</code>&rdquo; and
+      &ldquo;<code>-T</code>&rdquo; options to demonstrate use_env
+      versus use_tioctl.</p>
+    </li>
+
+    <li>
+      <p>modified ncurses test-program's c/C tests to cycle through
+      subsets of the total number of colors, to better illustrate
+      8/16/88/256-colors by providing directly comparable
+      screens.</p>
+    </li>
+
+    <li>
+      <p>modified the ncurses test-program to also show position
+      reports in 'a' test.</p>
+    </li>
+  </ul>
+
+  <p>These changes were made to make the examples more useful:</p>
+
+  <ul>
+    <li>
+      <p>added scripts for building dpkg and rpm test-packages</p>
+    </li>
+
+    <li>
+      <p>modified the hanoi test-program to show the minimum number
+      of moves possible for the given number of tiles.</p>
+    </li>
+
+    <li>
+      <p>modified the knight test-program to show the number of
+      choices possible for each position in automove option, e.g.,
+      to allow user to follow Warnsdorff's rule to solve the
+      puzzle.</p>
+    </li>
+  </ul>
+
+  <h3><a name="h3-database" id="h3-database">Terminal
+  database</a></h3>
+
+  <p>This release provides improvements to tic's
+  &ldquo;<code>-c</code>&rdquo; checking option, which was used for
+  example to</p>
+
+  <ul>
+    <li>
+      <p>make <code>sgr</code> in several entries agree with other
+      caps.</p>
+    </li>
+
+    <li>
+      <p>correct padding in some entries where earlier versions had
+      miscounted the number of octal digits.</p>
+    </li>
+  </ul>
+
+  <p>There are several new terminal descriptions:</p>
+
+  <ul>
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#toc-_M_L_T_E_R_M">
+    mlterm</a> is now aliased to mlterm3</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#tic-nsterm">
+    nsterm</a> is now derived from nsterm-256color</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#tic-putty-sco">
+    putty-sco</a></li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#tic-teken">
+    teken</a> is FreeBSD's "xterm" console.</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#toc-_T_E_R_M_I_N_A_T_O_R">
+    terminator</a></li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#toc-_T_E_R_M_I_N_O_L_O_G_Y">
+    terminology</a></li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#tic-tmux">
+    tmux</a> is derived from screen.</li>
+
+    <li>several screen.XXX entries support the respective
+    variations for 256 colors.</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#toc-_S_I_M_P_L_E_T_E_R_M">
+    simpleterm</a> is now 0.5</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#tic-vte">
+    vte</a> is aliased to vte-2012</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#tic-vt520ansi">
+    vt520ansi</a></li>
+  </ul>
+
+  <p>A few entries use extensions (user-defined terminal
+  capabilities):</p>
+
+  <ul>
+    <li>
+      <p><code>E3</code>, used in linux, putty and xterm-basic is
+      tested in the <a href=
+      "http://aerie.jexium-island.net/ncurses/man/clear.1.html">clear</a>
+      program to erase a terminal's scrollback.</p>
+    </li>
+
+    <li>
+      <p><code>TS</code> is used in the <a href=
+      "http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_sl">
+      xterm+sl</a> building block to help deprecate the misuse of
+      <code>tsl</code> for xterm's title-string.</p>
+    </li>
+
+    <li>
+      <p><code>XT</code> is used in some terminfo entries to
+      improve usefulness for other applications than screen, which
+      would like to pretend that xterm's title is a
+      status-line.</p>
+    </li>
+
+    <li>
+      <p><code>xm</code> is used in examples <a href=
+      "http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-1005">
+      xterm-1005</a> and <a href=
+      "http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-1006">
+      xterm-1006</a> to illustrate a way to make mouse handling
+      more general</p>
+    </li>
+  </ul>
+
+  <p>A few terminals support italics and/or dim capabilities. In
+  particular, screen does not. Documented that, and accommodated
+  the terminals where this feature works with the
+  <code>A_ITALIC</code> extension.</p>
+
+  <ul>
+    <li>konsole, mlterm3 (italics)</li>
+
+    <li>nsterm (dim)</li>
+
+    <li>screen (dim)</li>
+
+    <li>vte (dim, italics)</li>
+
+    <li>xterm (dim, italics)</li>
+  </ul>
+
+  <h3><a name="h3-documentation" id=
+  "h3-documentation">Documentation</a></h3>
+
+  <p>As usual, this release</p>
+
+  <ul>
+    <li>
+      <p>improves documentation by describing new features,</p>
+    </li>
+
+    <li>
+      <p>attempts to improve the description of features which
+      users have found confusing</p>
+    </li>
+
+    <li>
+      <p>fills in overlooked descriptions of features which were
+      described in the <a href=
+      "http://invisible-island.net/ncurses/NEWS.html">NEWS</a> file
+      but treated sketchily in manual pages.</p>
+    </li>
+  </ul>
+
+  <p>In addition, the mechanism for producing HTML versions of the
+  documentation has been improved:</p>
+
+  <ul>
+    <li>
+      <p>use an improved version of <a href=
+      "http://invisible-island.net/scripts/man2html.html">man2html</a>
+      to generate html manpages.</p>
+    </li>
+
+    <li>
+      <p>regenerated <a href=
+      "http://invisible-island.net/ncurses/NCURSES-Programming-HOWTO.html">
+      NCURSES-Programming-HOWTO.html</a> to fix some of the broken
+      html emitted by docbook.</p>
+    </li>
+  </ul>
+
+  <h3><a name="h3-bug-fixes" id="h3-bug-fixes">Interesting
+  bug-fixes</a></h3>
+
+  <ul>
+    <li>
+      <p>Ada95 binding:</p>
+
+      <ul>
+        <li>
+          <p>modify makefile rules to ensure that the PIC option is
+          not used when building a static library</p>
+        </li>
+
+        <li>
+          <p>make Ada95 build-fix for big-endian architectures such
+          as sparc. This undoes one of the fixes from <a href=
+          "http://invisible-island.net/ncurses/NEWS.html#t20110319">
+          20110319</a>, which added an
+          &ldquo;<code>Unused</code>&rdquo; member to
+          representation clauses, replacing that with pragmas to
+          suppress warnings about unused bits.</p>
+        </li>
+      </ul>
+    </li>
+
+    <li>
+      <p>Color and attributes:</p>
+
+      <ul>
+        <li>
+          <p>parenthesize parameter of <code>COLOR_PAIR</code> and
+          <code>PAIR_NUMBER</code> in curses.h in case it happens
+          to be a comma-expression.</p>
+        </li>
+
+        <li>
+          <p>improve <a href=
+          "http://invisible-island.net/ncurses/NEWS.html#t20021221">
+          20021221</a> workaround for broken acs, handling a case
+          where that ACS_<em>xxx</em> character is not in the
+          <code>acsc</code> string but there is a known
+          wide-character which can be used.</p>
+        </li>
+
+        <li>
+          <p>modify <a href=
+          "http://invisible-island.net/ncurses/man/curs_color.3x.html#h3-Routine-Descriptions">
+          init_pair</a> to accept -1's for color value after
+          <a href=
+          "http://invisible-island.net/ncurses/man/default_colors.3x.html">
+          assume_default_colors</a> has been called.</p>
+        </li>
+
+        <li>
+          <p>add a check in <a href=
+          "http://invisible-island.net/ncurses/man/curs_color.3x.html#h3-Routine-Descriptions">
+          start_color</a> to limit color-pairs to 256 when extended
+          colors are not supported.</p>
+        </li>
+      </ul>
+    </li>
+
+    <li>
+      <p>Resizing the screen:</p>
+
+      <ul>
+        <li>
+          <p>propagate error-returns from wresize, i.e., the
+          internal increase_size and decrease_size functions
+          through <a href=
+          "http://invisible-island.net/ncurses/man/resizeterm.3x.html">
+          resize_term</a>.</p>
+        </li>
+
+        <li>
+          <p>add check for zero/negative dimensions for
+          <code>resizeterm</code> and <code>resize_term</code>.</p>
+        </li>
+
+        <li>
+          <p>modify <code>resizeterm</code> to always push a
+          <code>KEY_RESIZE</code> onto the fifo, even if screensize
+          is unchanged. Modify library to push a
+          <code>KEY_RESIZE</code> if there was a SIGWINCH, even if
+          it does not call <code>resizeterm</code>). These changes
+          eliminate the case where a SIGWINCH is received, but ERR
+          is returned from <code>wgetch</code> or
+          <code>wgetnstr</code> because the screen dimensions did
+          not change.</p>
+        </li>
+      </ul>
+    </li>
+
+    <li>
+      <p>Low-level interfaces</p>
+
+      <ul>
+        <li>
+          <p>fix an old bug in the termcap emulation;
+          &ldquo;<code>%i</code>&rdquo; was ignored in
+          <code>tparm</code> because the parameters to be
+          incremented were already on the internal stack.</p>
+        </li>
+
+        <li>
+          <p>change &ldquo;<code>%l</code>&rdquo; behavior in tparm
+          to push the string length onto the stack rather than
+          saving the formatted length into the output buffer.</p>
+        </li>
+
+        <li>
+          <p>modify name-comparison for tgetstr, etc., to
+          accommodate legacy applications as well as to improve
+          compatbility with BSD 4.2 termcap implementations (see
+          note for <a href=
+          "http://invisible-island.net/ncurses/NEWS.html#t980725">980725</a>).</p>
+        </li>
+      </ul>
+    </li>
+
+    <li>High-level interfaces
+
+      <ul>
+        <li>
+          <p>modify internal recursion in <code>wgetch</code> which
+          handles cooked mode to check if the call to
+          <code>wgetnstr</code> returned an error. This can happen
+          when both <code>nocbreak</code> and <code>nodelay</code>
+          are set, for instance (see note for <a href=
+          "http://invisible-island.net/ncurses/NEWS.html#t960418">960418</a>).</p>
+        </li>
+
+        <li>
+          <p>add a check in internal function
+          <code>waddch_nosync</code> to ensure that tab characters
+          are treated as control characters; some broken locales
+          claim they are printable.</p>
+        </li>
+
+        <li>
+          <p>modify menu library to ensure that a menu's top-row is
+          adjusted as needed to ensure that the current item is on
+          the screen</p>
+        </li>
+
+        <li>
+          <p>fix special case where double-width character
+          overwrites a single- width character in the first
+          column.</p>
+        </li>
+      </ul>
+    </li>
+  </ul>
+
+  <h3><a name="h3-config-config" id=
+  "h3-config-config">Configuration changes</a></h3>
+
+  <h4><a name="h4-config-major" id="h4-config-major">Major
+  changes</a></h4>
 
 
-  <p>The ncurses code was developed under GNU/Linux. It has been in
-  use for some time with OpenBSD as the system curses library, and
-  on FreeBSD and NetBSD as an external package. It should port
-  easily to any ANSI/POSIX-conforming UNIX. It has even been ported
-  to OS/2 Warp!</p>
+  <p>The <em class="small-caps">ncurses</em> 6.0 configure script
+  makes changes to the <em>default</em> value of several configure
+  options, depending on the <code>--with-abi-version</code> option
+  (i.e., whether its value is &ldquo;5&rdquo; or
+  &ldquo;6&rdquo;):</p>
 
 
-  <p>The distribution includes the library and support utilities,
-  including a terminfo compiler tic(1), a decompiler infocmp(1),
-  clear(1), tput(1), tset(1), and a termcap conversion tool
-  captoinfo(1). Full manual pages are provided for the library and
-  tools.</p>
+  <dl>
+    <dt><code>--enable-const</code></dt>
+
+    <dd>
+      <p>Feature introduced in <a href=
+      "http://invisible-island.net/ncurses/NEWS.html#t970405">970405</a>
+      supports the use of <code>const</code> where X/Open Curses
+      should have, but did not. NetBSD curses does something
+      similar with <code>const</code>.</p>
+    </dd>
+
+    <dt><code>--enable-ext-colors</code></dt>
+
+    <dd>
+      <p>Extends the <code>cchar_t</code> structure to allow more
+      than 16 colors to be encoded. This applies only to the
+      wide-character (<code>--enable-widec</code>)
+      configuration.</p>
+    </dd>
+
+    <dt><code>--enable-ext-mouse</code></dt>
+
+    <dd>
+      <p>Modifies the encoding of mouse state to make room for a
+      5th mouse button. That allows one to use ncurses with a wheel
+      mouse with xterm or similar X terminal emulators.</p>
+    </dd>
+
+    <dt><code>--enable-ext-putwin</code></dt>
+
+    <dd>
+      <p>Modifies the file-format written by <code>putwin</code> to
+      use printable text rather than binary files, allowing
+      <code>getwin</code> to read screen dumps written by
+      differently-configured ncurses libraries. The extended
+      <code>getwin</code> can still read binary screen dumps from
+      the <em>same</em> configuration of ncurses. This does not
+      change the ABI (the binary interface seen by calling
+      applications).</p>
+    </dd>
+
+    <dt><code>--enable-interop</code></dt>
+
+    <dd>
+      <p>Modifies the <code>FIELDTYPE</code> structure used for the
+      form library to make it more generic.</p>
+    </dd>
+
+    <dt><code>--enable-lp64</code></dt>
+
+    <dd>
+      <p>Allows an application to define <code>_LP64</code> to
+      declare <code>chtype</code> and <code>mmask_t</code> as
+      simply &ldquo;<code>unsigned</code>&rdquo; rather than the
+      configured types using the <code>--with-chtype</code> and
+      <code>--with-mmask_t</code> options.</p>
+    </dd>
+
+    <dt><code>--enable-sp-funcs</code></dt>
+
+    <dd>
+      <p>Compile-in support for extended functions which accept a
+      SCREEN pointer, reducing the need for juggling the global SP
+      value with <a href=
+      "http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-set_term">
+      set_term</a> and <a href=
+      "http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-delscreen">
+      delscreen</a>.</p>
+    </dd>
 
 
-  <p>The ncurses distribution is available via anonymous FTP at the
-  GNU distribution site <a href=
-  "ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</a>&nbsp;.<br>
+    <dt><code>--with-chtype=uint32_t</code></dt>
 
 
-  It is also available at <a href=
-  "ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a>&nbsp;.</p>
+    <dd>
+      <p>Makes <code>chtype</code> explicitly a 32-bit unsigned
+      value.</p>
+    </dd>
+
+    <dt><code>--with-mmask_t=uint32_t</code></dt>
 
 
-  <h1>Release Notes</h1>
+    <dd>
+      <p>Makes <code>mmask_t</code> explicitly a 32-bit unsigned
+      value.</p>
+    </dd>
 
 
-  <p>This release is designed to be upward compatible from ncurses
-  5.0 through 5.8; very few applications will require
-  recompilation, depending on the platform. These are the
-  highlights from the change-log since ncurses 5.8 release.</p>
+    <dt><code>--with-tparm-arg=intptr_t</code></dt>
 
 
-  <p>This is a bug-fix release, correcting a small number of urgent
-  problems in the ncurses library from the 5.8 release.</p>
+    <dd>
+      <p>X/Open Curses declares <a href=
+      "http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Formatting-Output">
+      tparm</a> using <code>long</code> for each of the parameters
+      aside from the formatting string, presuming that
+      <code>long</code> and <code>char*</code> are the same size.
+      This configure option uses <code>intptr_t</code> which
+      provides a better guarantee of the sizes.</p>
+    </dd>
+  </dl>
 
 
-  <p>It also improves the Ada95 binding:</p>
+  <p>The configure script no longer checks for antique compilers;
+  <code>c89</code> is assumed as a minimum. There are a few
+  features from later revisions which are used when available. The
+  configure script makes checks to turn on useful warnings from
+  clang, gcc and icc. You should be able to build <em class=
+  "small-caps">ncurses</em> 6.0 with any of the current (or not so
+  current) C compilers available in 2015.</p>
+
+  <p>The configure script, by the way, makes changes which do not
+  work with systems whose <code>/bin/sh</code> is non-POSIX. This
+  mainly affects Solaris (the other vendor <em class=
+  "small-caps">unix</em> systems have followed the POSIX guidelines
+  for the past twenty years). If you must build on Solaris, its
+  <a href=
+  "http://docs.oracle.com/cd/E19253-01/html/817-0552/fhkpy.html">xpg4</a>
+  binaries suffice, e.g.,</p>
+
+  <blockquote class="code-block">
+    <!--{{atr2html-->
+
+    <p style="font-family: monospace; font-size: 10pt;">
+    <font color="#800000">#!/bin/sh</font><br>
+    <font color="#008080">WHAT</font>=<strong><em><font color=
+    "#800000">`</font></em></strong>hostname|sed&nbsp;-e&nbsp;<font color="#800080">'s/\..*//'</font><strong><em><font color="#800000">`</font></em></strong><br>
+
+    <font color="#008080">OUT</font>=configure.out<br>
+    <strong><font color=
+    "#000080">cat</font></strong>&nbsp;&gt;&gt;<font color=
+    "#008080">$OUT</font>&nbsp;<font color=
+    "#800080">&lt;&lt;EOF/</font><font color="#800080"><br>
+    **&nbsp;</font><strong><em><font color=
+    "#800000">`</font></em></strong>date<strong><em><font color=
+    "#800000">`</font></em></strong><font color="#800080"><br>
+    **&nbsp;node:&nbsp;</font><font color=
+    "#008080">$WHAT</font><font color="#800080"><br>
+    **&nbsp;user:&nbsp;</font><strong><em><font color=
+    "#800000">`</font></em></strong>id<strong><em><font color=
+    "#800000">`</font></em></strong><font color="#800080"><br>
+    **&nbsp;conf:&nbsp;$*<br>
+    EOF/</font><br>
+    &nbsp;<br>
+    <font color="#008080">SHELL</font>=/bin/sh<br>
+    <strong><font color=
+    "#000080">if</font></strong>&nbsp;<strong><font color=
+    "#000080">test</font></strong>&nbsp;-f&nbsp;/usr/xpg4/bin/sh<br>
+
+    <strong><font color="#000080">then</font></strong><br>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=
+    "#008080">CONFIG_SHELL</font>=/usr/xpg4/bin/sh<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><font color="#000080">export</font></strong>&nbsp;CONFIG_SHELL<br>
+
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=
+    "#008080">SHELL</font>=<font color=
+    "#008080">$CONFIG_SHELL</font><br>
+    <strong><font color="#000080">fi</font></strong><br>
+    &nbsp;<br>
+    rm&nbsp;-f&nbsp;config.status&nbsp;config.cache<br>
+    <font color="#008080">TOP</font>=<font color=
+    "#008080">$HOME</font>/<font color="#008080">$WHAT</font><br>
+    <font color=
+    "#008080">$SHELL</font>&nbsp;./configure&nbsp;--verbose&nbsp;\<br>
+
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--disable-echo&nbsp;\<br>
+
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--disable-overwrite&nbsp;\<br>
+
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--enable-warnings&nbsp;\<br>
+
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--with-warnings&nbsp;\<br>
+
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--prefix=<font color="#008080">$TOP</font>&nbsp;<font color="#008080">$*</font>&nbsp;<strong><font color="#008080">2</font></strong>&gt;&amp;<strong><font color="#008080">1</font></strong>&nbsp;|&nbsp;tee&nbsp;-a&nbsp;<font color="#008080">$OUT</font><br>
+
+    <!--atr2html}}--></p>
+  </blockquote>
+
+  <p>Other major changes to the configure script include:</p>
 
   <ul>
 
   <ul>
-    <li>fixes a longstanding portability problem with its use of
-    the <a href=
-    "http://invisible-island.net/ncurses/man/form_fieldtype.3x">set_field_type</a>
-    function. Because that function uses variable-length argument
-    lists, its interface with gnat does not work with certain
-    platforms.</li>
+    <li>
+      <p>ABI 6 is now the default, intending that the existing ABI
+      5 should build as before using the
+      &ldquo;<code>--with-abi-version=5</code>&rdquo; option.</p>
+    </li>
+
+    <li>
+      <p>added <code>--with-extra-suffix</code> option to help with
+      installing nonconflicting ncurses6 packages, e.g., avoiding
+      header- and library-conflicts.</p>
+
+      <p><strong>NOTE:</strong> as a side-effect, this renames</p>
 
 
-    <li>improves configurability and portability, particularly when
-    built separately from the main ncurses tree. The 5.8 release
-    introduced scripts which can be used to construct separate
-    tarballs for the Ada95 and ncurses examples.
+      <blockquote>
+        <p><code>adacurses-config</code> to
+        <code>adacurses5-config</code> and<br>
+        <code>adacursesw-config</code> to
+        <code>adacursesw5-config</code></p>
+      </blockquote>
+    </li>
 
 
-      <p>Those were a proof of concept. For the 5.9 release, those
-      scripts are augmented with rpm- and dpkg-scripts used in test
-      builds against a variety of gnat- and system ncurses versions
-      as old as gnat 3.15 and ncurses 5.4 (see snapshots and
-      systems tested <a href=
-      "http://invisible-island.net/ncurses/ncurses-Ada95.html">here</a>.</p>
+    <li>
+      <p>the configure script looks for gnatgcc if the Ada95
+      binding is built, in preference to the default gcc/cc. The
+      script also ensures that the Ada95 binding is built with the
+      level of optimization as the C libraries.</p>
     </li>
 
     </li>
 
-    <li>additional improvements were made for portability of the
-    ncurses examples, adding rpm- and dpkg-scripts for test-builds.
-    See <a href=
-    "http://invisible-island.net/ncurses/ncurses-examples.html">this
-    page</a> for snapshots and other information.</li>
+    <li>
+      <p>the configure script captures define's related to
+      -D_XOPEN_SOURCE from the configure check and adds those to
+      the *-config and *.pc files, to simplify use for the
+      wide-character libraries.</p>
+    </li>
   </ul>
 
   </ul>
 
-  <h1>Features of Ncurses</h1>
+  <h4><a name="h4-config-options" id=
+  "h4-config-options">Configuration options</a></h4>
+
+  <p>There are several new (or extended) configure options:</p>
+
+  <dl>
+    <dt><code>--disable-db-install</code></dt>
+
+    <dd>
+      <p>Do not install the terminal database. This is used to omit
+      features for packages, as done with
+      <code>--without-progs</code>. The option simplifies building
+      cross-compile support packages.</p>
+    </dd>
+
+    <dt><code>--disable-gnat-projects</code></dt>
+
+    <dd>
+      <p>This option is used for regression testing</p>
+    </dd>
+
+    <dt><code>--disable-lib-suffixes</code></dt>
+
+    <dd>
+      <p>Suppress the &ldquo;w&rdquo;, &ldquo;t&rdquo; or
+      &ldquo;tw&rdquo; suffixes which normally would be added to
+      the library names for the <code>--enable-widec</code> and
+      <code>--with-pthread</code> options.</p>
+    </dd>
+
+    <dt><code>--with-cxx-shared</code></dt>
+
+    <dd>
+      <p>When <code>--with-shared</code> is set, build libncurses++
+      as a shared library. This implicitly relies upon building
+      with gcc/g++, since other compiler suites may have
+      differences in the way shared libraries are built. libtool by
+      the way has similar limitations.</p>
+    </dd>
+
+    <dt><code>--with-hashed-db</code></dt>
+
+    <dd>
+      <p>Extended this configure option to simplify building with
+      different versions of Berkeley database using FreeBSD
+      ports.</p>
+    </dd>
+
+    <dt><code>--with-pc-suffix</code></dt>
 
 
-  <p>The ncurses package is fully compatible with SVr4 (System V
-  Release 4) curses:</p>
+    <dd>
+      <p>If ".pc" files are installed, optionally add a suffix to
+      the files and corresponding package names to separate unusual
+      configurations. If no option value is given (or if it is
+      "none"), no suffix is added. This option is used in the test
+      package for ncurses6.</p>
+    </dd>
+
+    <dt><code>--with-xterm-kbs</code></dt>
+
+    <dd>
+      <p>Configure xterm's terminfo entries to use either BS
+      (<code>^H</code>, i.e., ASCII backspace) or DEL
+      (<code>^?</code>, or 127).</p>
+    </dd>
+  </dl>
+
+  <h3><a name="h3-portability" id=
+  "h3-portability">Portability</a></h3>
+
+  <h4><a name="h4-port-mingw" id="h4-port-mingw">MinGW</a></h4>
+
+  <p>Most of the portability-related work since <a href=
+  "http://invisible-island.net/ncurses/announce-5.9.html"><em class="small-caps">
+  ncurses</em> 5.9</a> extended and improved the MinGW port
+  introduced in <a href=
+  "http://invisible-island.net/ncurses/announce-5.8.html"><em class="small-caps">
+  ncurses</em> 5.8</a>.</p>
+
+  <p>The MinGW port can be readily cross-compiled:</p>
 
   <ul>
 
   <ul>
-    <li>All 257 of the SVr4 calls have been implemented (and are
-    documented).</li>
+    <li>
+      <p>modified configure script to allow creating dll's for
+      MinGW when cross-compiling.</p>
+    </li>
 
 
-    <li>Full support for SVr4 curses features including keyboard
-    mapping, color, forms-drawing with ACS characters, and
-    automatic recognition of keypad and function keys.</li>
+    <li>
+      <p>enforced Windows-style path-separator if
+      cross-compiling,</p>
+    </li>
 
 
-    <li>An emulation of the SVr4 panels library, supporting a stack
-    of windows with backing store, is included.</li>
+    <li>
+      <p>added scripts for test-builds of cross-compiled packages
+      for ncurses6 to MinGW.</p>
+    </li>
 
 
-    <li>An emulation of the SVr4 menus library, supporting a
-    uniform but flexible interface for menu programming, is
-    included.</li>
+    <li>
+      <p>added pc-files to the MinGW cross-compiling
+      test-packages.</p>
+    </li>
 
 
-    <li>An emulation of the SVr4 form library, supporting data
-    collection through on-screen forms, is included.</li>
+    <li>
+      <p>added script for building test-packages of binaries
+      cross-compiled to MinGW using NSIS.</p>
+    </li>
 
 
-    <li>Binary terminfo entries generated by the ncurses tic(1)
-    implementation are bit-for-bit-compatible with the entry format
-    SVr4 curses uses.</li>
+    <li>
+      <p>added <code>nc_mingw.h</code> to installed headers for
+      MinGW port; this is needed for cross-compiling <a href=
+      "http://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a>.</p>
+    </li>
 
 
-    <li>The utilities have options to allow you to filter terminfo
-    entries for use with less capable
-    <strong>curses</strong>/<strong>terminfo</strong> versions such
-    as the HP/UX and AIX ports.</li>
+    <li>
+      <p>added test-packages for cross-compiling ncurses-examples
+      using the MinGW test-packages.</p>
+    </li>
   </ul>
 
   </ul>
 
-  <p>The ncurses package also has many useful extensions over
-  SVr4:</p>
+  <p>The MinGW-specific Windows driver accounts for several
+  changes:</p>
 
   <ul>
 
   <ul>
-    <li>The API is 8-bit clean and base-level conformant with the
-    X/OPEN curses specification, XSI curses (that is, it implements
-    all BASE level features, and most EXTENDED features). It
-    includes many function calls not supported under SVr4 curses
-    (but portability of all calls is documented so you can use the
-    SVr4 subset only).</li>
+    <li>
+      <p>wide-character display is made usable by replacing MinGW's
+      non-working <code>wcrtomb</code> and <code>wctomb</code>
+      functions.</p>
+    </li>
+
+    <li>
+      <p>implemented some display features: <a href=
+      "http://invisible-island.net/ncurses/man/curs_beep.3x.html">beep</a>,
+      <a href=
+      "http://invisible-island.net/ncurses/man/curs_beep.3x.html">flash</a>,
+      <a href=
+      "http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-curs_set">
+      curs_set</a>.</p>
+    </li>
 
 
-    <li>Unlike SVr3 curses, ncurses can write to the
-    rightmost-bottommost corner of the screen if your terminal has
-    an insert-character capability.</li>
+    <li>
+      <p>the driver handles repainting on endwin/refresh
+      combination.</p>
+    </li>
 
 
-    <li>Ada95 and C++ bindings.</li>
+    <li>
+      <p>modified treatment of <code>TERM</code> variable for MinGW
+      port to allow explicit use of the Windows console driver by
+      checking if <code>$TERM</code> is set to
+      &ldquo;<code>#win32console</code>&rdquo; or an abbreviation
+      of that.</p>
+    </li>
 
 
-    <li>Support for mouse event reporting with X Window xterm and
-    FreeBSD and OS/2 console windows.</li>
+    <li>
+      <p>the Windows driver also matches the special
+      <code>TERM</code> value &ldquo;unknown&rdquo;</p>
+    </li>
 
 
-    <li>Extended mouse support via Alessandro Rubini's gpm
-    package.</li>
+    <li>
+      <p>the driver now returns characters for special keys, (like
+      <code>ansi.sys</code> does), when keypad mode is off, rather
+      than returning nothing at all.</p>
+    </li>
 
 
-    <li>The function <code>wresize</code> allows you to resize
-    windows, preserving their data.</li>
+    <li>
+      <p>the driver checks a new environment variable <a href=
+      "http://invisible-island.net/ncurses/man/ncurses.3x.html#h3-NCURSES_CONSOLE2">
+      NCURSES_CONSOLE2</a> to optionally work around a deficiency
+      in <code>Console2</code> (and its descendent
+      <code>ConsoleZ</code>) which hang when an application creates
+      a console buffer.</p>
+    </li>
+  </ul>
 
 
-    <li>The function <code>use_default_colors</code> allows you to
-    use the terminal's default colors for the default color pair,
-    achieving the effect of transparent colors.</li>
+  <p>Finally, there are other improvements:</p>
 
 
-    <li>The functions <code>keyok</code> and
-    <code>define_key</code> allow you to better control the use of
-    function keys, e.g., disabling the ncurses KEY_MOUSE, or by
-    defining more than one control sequence to map to a given key
-    code.</li>
+  <ul>
+    <li>
+      <p>MinGW is one of the configurations where <em class=
+      "small-caps">ncurses</em> installs by default into /usr</p>
+    </li>
 
 
-    <li>Support for 256-color terminals, such as modern xterm, when
-    configured using the <code>--enable-ext-colors</code>
-    option.</li>
+    <li>configuration for cross-compiling uses AC_CHECK_TOOLS in
+    preference to AC_PATH_PROGS when searching for ncurses*-config,
+    e.g., in Ada95/configure and test/configure.</li>
 
 
-    <li>Support for 16-color terminals, such as <em>aixterm</em>
-    and <em>modern xterm</em>.</li>
+    <li>
+      <p>extend Windows support to work with MSYS2;</p>
 
 
-    <li>Better cursor-movement optimization. The package now
-    features a cursor-local-movement computation more efficient
-    than either BSD's or System V's.</li>
+      <ul>
+        <li>
+          <p>this works with a scenario where there is an
+          ANSI-escape handler such as <code>ansicon</code> running
+          in the console window.</p>
+        </li>
 
 
-    <li>Super hardware scrolling support. The screen-update code
-    incorporates a novel, simple, and cheap algorithm that enables
-    it to make optimal use of hardware scrolling, line-insertion,
-    and line-deletion for screen-line movements. This algorithm is
-    more powerful than the 4.4BSD curses <code>quickch</code>
-    routine.</li>
+        <li>wrap <code>isatty</code> calls with a macro, provide a
+        corresponding set of support routines to address
+        differences between MinGW and MSYS2.</li>
+      </ul>
+    </li>
 
 
-    <li>Real support for terminals with the magic-cookie glitch.
-    The screen-update code will refrain from drawing a highlight if
-    the magic- cookie unattributed spaces required just before the
-    beginning and after the end would step on a non-space
-    character. It will automatically shift highlight boundaries
-    when doing so would make it possible to draw the highlight
-    without changing the visual appearance of the screen.</li>
+    <li>
+      <p>ensure <code>WINVER</code> is defined in makefiles rather
+      than using headers.</p>
+    </li>
 
 
-    <li>It is possible to generate the library with a list of
-    pre-loaded fallback entries linked to it so that it can serve
-    those terminal types even when no terminfo tree or termcap file
-    is accessible (this may be useful for support of
-    screen-oriented programs that must run in single-user
-    mode).</li>
+    <li>
+      <p>add check for the <code>gnatprep</code>
+      &ldquo;<code>-T</code>&rdquo; option.</p>
+    </li>
 
 
-    <li>The tic(1)/captoinfo utility provided with ncurses has the
-    ability to translate many termcaps from the XENIX, IBM and
-    AT&amp;T extension sets.</li>
+    <li>
+      <p>work around a bug introduced by <a href=
+      "http://stackoverflow.com/questions/20877689/gcc-4-8-1-minggw-d-option-does-not-work-as-usual">
+      gcc 4.8.1</a> in MinGW which breaks "trace" feature.</p>
+    </li>
 
 
-    <li>A BSD-like tset(1) utility is provided.</li>
+    <li>
+      <p>add a driver-name method to each of the drivers.</p>
+    </li>
+  </ul>
 
 
-    <li>The ncurses library and utilities will automatically read
-    terminfo entries from $HOME/.terminfo if it exists, and compile
-    to that directory if it exists and the user has no write access
-    to the system directory. This feature makes it easier for users
-    to have personal terminfo entries without giving up access to
-    the system terminfo directory.</li>
-
-    <li>You may specify a path of directories to search for
-    compiled descriptions with the environment variable
-    TERMINFO_DIRS (this generalizes the feature provided by
-    TERMINFO under stock System V.)</li>
+  <h4><a name="h4-port-systems" id="h4-port-systems">Other
+  ports</a></h4>
 
 
-    <li>In terminfo source files, use capabilities may refer not
-    just to other entries in the same source file (as in System V)
-    but also to compiled entries in either the system terminfo
-    directory or the user's $HOME/.terminfo directory.</li>
-
-    <li>A script (<strong>capconvert</strong>) is provided to help
-    BSD users transition from termcap to terminfo. It gathers the
-    information in a TERMCAP environment variable and/or a
-    ~/.termcap local entries file and converts it to an equivalent
-    local terminfo tree under $HOME/.terminfo.</li>
-
-    <li>Automatic fallback to the /etc/termcap file can be compiled
-    in when it is not possible to build a terminfo tree. This
-    feature is neither fast nor cheap, you don't want to use it
-    unless you have to, but it's there.</li>
-
-    <li>The table-of-entries utility <strong>toe</strong> makes it
-    easy for users to see exactly what terminal types are available
-    on the system.</li>
-
-    <li>The library meets the XSI requirement that every macro
-    entry point have a corresponding function which may be linked
-    (and will be prototype-checked) if the macro definition is
-    disabled with <code>#undef</code>.</li>
-
-    <li>An HTML "Introduction to Programming with NCURSES" document
-    provides a narrative introduction to the curses programming
-    interface.</li>
-  </ul>
-
-  <h1>State of the Package</h1>
-
-  <p>Numerous bugs present in earlier versions have been fixed; the
-  library is far more reliable than it used to be. Bounds checking
-  in many `dangerous' entry points has been improved. The code is
-  now type-safe according to gcc -Wall. The library has been
-  checked for malloc leaks and arena corruption by the Purify
-  memory-allocation tester.</p>
-
-  <p>The ncurses code has been tested with a wide variety of
-  applications including (versions starting with those noted):</p>
+  <p>These changes affect certain platforms (ports):</p>
 
 
-  <dl>
-    <dt>cdk</dt>
+  <ul>
+    <li>
+      <p>the configure script knows how to build shared libraries
+      with DragonFlyBSD and Interix.</p>
+    </li>
 
 
-    <dd>Curses Development Kit<br>
-    <a href=
-    "http://invisible-island.net/cdk/">http://invisible-island.net/cdk/</a><br>
+    <li>
+      <p>support for AIX shared libraries is improved, tested with
+      AIX 5.3, 6.1 and 7.1 with both gcc 4.2.4 and cc:</p>
+
+      <ul>
+        <li>
+          <p>the shared-library suffix for AIX 5 and 6 is now
+          ".so"</p>
+        </li>
+
+        <li>
+          <p>the <code>-brtl</code> option is used with AIX 5-7; it
+          is needed to link with the shared libraries.</p>
+        </li>
+      </ul>
+    </li>
 
 
-    <a href=
-    "http://www.vexus.ca/products/CDK/">http://www.vexus.ca/products/CDK/</a></dd>
+    <li>
+      <p>the configure <code>--enable-pc-files</code> option takes
+      into account the <a href=
+      "http://linux.die.net/man/1/pkg-config"><code>PKG_CONFIG_PATH</code></a>
+      variable.</p>
+    </li>
 
 
-    <dt>ded</dt>
+    <li>
+      <p>the configure option <code>--with-pkg-config-libdir</code>
+      provides control over the actual directory into which
+      pc-files are installed.</p>
+    </li>
 
 
-    <dd>directory-editor<br>
-    <a href=
-    "http://invisible-island.net/ded/">http://invisible-island.net/ded/</a></dd>
+    <li>
+      <p>the build scripts add explicit -ltinfo, etc., to the
+      generated ".pc" file when <code>ld</code> option
+      &ldquo;<code>--as-needed</code>&rdquo; is used, or when
+      ncurses and tinfo are installed without using rpath.</p>
+    </li>
 
 
-    <dt>dialog</dt>
+    <li>
+      <p>the configure script disallows conflicting options
+      &ldquo;<code>--with-termlib</code>&rdquo; and
+      &ldquo;<code>--enable-term-driver</code>&rdquo;.</p>
+    </li>
 
 
-    <dd>the underlying application used in Slackware's setup, and
-    the basis for similar applications on GNU/Linux.<br>
-    <a href=
-    "http://invisible-island.net/dialog/">http://invisible-island.net/dialog/</a></dd>
+    <li>
+      <p>the check for missing c++ compiler to work when no error
+      is reported, and no variables set is improved (see note for
+      <a href=
+      "http://invisible-island.net/ncurses/NEWS.html#t20021206">20021206</a>).</p>
+    </li>
 
 
-    <dt>lynx</dt>
+    <li>
+      <p>the misc/gen_edit.sh script selects a "linux" entry which
+      works with the current kernel rather than assuming it is
+      always "linux3.0"</p>
+    </li>
 
 
-    <dd>the character-screen WWW browser<br>
-    <a href=
-    "http://lynx.isc.org/release/">http://lynx.isc.org/release/</a></dd>
+    <li>
+      <p>the test/configure script makes it simpler to override
+      names of curses-related libraries, to help with linking with
+      pdcurses in MinGW environment.</p>
+    </li>
 
 
-    <dt>Midnight Commander</dt>
+    <li>
+      <p>the configure-script/ifdef's allow the BSD OLD_TTY feature
+      to be suppressed if the type of <code>ospeed</code> is
+      configured using the option <code>--with-ospeed</code> to not
+      be a <code>short</code>. By default, it is a
+      <code>short</code> for termcap-compatibility.</p>
+    </li>
 
 
-    <dd>file manager<br>
-    <a href=
-    "http://www.midnight-commander.org/">http://www.midnight-commander.org/</a></dd>
+    <li>
+      <p>the MKlib_gen.sh script works around a recent change in
+      gcc 5 (released <a href=
+      "https://gcc.gnu.org/gcc-5/">mid-2015</a>) which essentially
+      emits multiple <code>#line</code> statements for the same
+      position in a file.</p>
+    </li>
 
 
-    <dt>mutt</dt>
+    <li>
+      <p>the configure script works with Minix3.2 (see <a href=
+      "http://invisible-island.net/autoconf/portability-test.html">note</a>
+      on portability)</p>
+    </li>
+
+    <li>
+      <p>OS/2 redux:</p>
 
 
-    <dd>mail utility<br>
-    <a href="http://www.mutt.org/">http://www.mutt.org/</a></dd>
+      <ul>
+        <li>
+          <p>the configure script supports OS/2 kLIBC.</p>
+        </li>
 
 
-    <dt>ncftp</dt>
+        <li>
+          <p>the <code>--with-lib-prefix</code> option allows
+          configuring for old/new flavors of OS/2 EMX.</p>
+        </li>
+      </ul>
+    </li>
 
 
-    <dd>file-transfer utility<br>
-    <a href="http://www.ncftp.com/">http://www.ncftp.com/</a></dd>
+    <li>
+      <p>improved configure-script checks for
+      <code>_XOPEN_SOURCE</code>:</p>
+
+      <ul>
+        <li>
+          <p>the definition works starting with Solaris 10.</p>
+        </li>
+
+        <li>
+          <p>the definition is suppressed for IRIX64, since its
+          header files have a conflict versus
+          <code>_SGI_SOURCE</code>.</p>
+        </li>
+      </ul>
+    </li>
+  </ul>
+  <hr>
 
 
-    <dt>nvi</dt>
+  <h2><a name="h2-features" id="h2-features">Features of <em class=
+  "small-caps">ncurses</em></a></h2>
 
 
-    <dd>New vi versions 1.50 are able to use ncurses versions 1.9.7
-    and later.<br>
-    <a href=
-    "https://sites.google.com/a/bostic.com/keithbostic/nvi">https://sites.google.com/a/bostic.com/keithbostic/nvi</a><br>
-    </dd>
+  <p>The <em class="small-caps">ncurses</em> package is fully
+  upward-compatible with SVr4 (System V Release 4) curses:</p>
 
 
-    <dt>pinfo</dt>
+  <ul>
+    <li>
+      <p>All of the SVr4 calls have been implemented (and are
+      documented).</p>
+    </li>
 
 
-    <dd>Lynx-like info browser. <a href=
-    "https://alioth.debian.org/projects/pinfo/">https://alioth.debian.org/projects/pinfo/</a></dd>
+    <li>
+      <p><em class="small-caps">ncurses</em> supports all of the
+      for SVr4 curses features including keyboard mapping, color,
+      forms-drawing with ACS characters, and automatic recognition
+      of keypad and function keys.</p>
+    </li>
 
 
-    <dt>tin</dt>
+    <li>
+      <p><em class="small-caps">ncurses</em> provides these SVr4
+      add-on libraries (not part of X/Open Curses):</p>
+
+      <ul>
+        <li>
+          <p>the panels library, supporting a stack of windows with
+          backing store.</p>
+        </li>
+
+        <li>
+          <p>the menus library, supporting a uniform but flexible
+          interface for menu programming.</p>
+        </li>
+
+        <li>
+          <p>the form library, supporting data collection through
+          on-screen forms.</p>
+        </li>
+      </ul>
+    </li>
 
 
-    <dd>newsreader, supporting color, MIME <a href=
-    "http://www.tin.org/">http://www.tin.org/</a></dd>
-  </dl>
+    <li>
+      <p><em class="small-caps">ncurses</em>'s terminal database is
+      fully compatible with that used by SVr4 curses.</p>
+
+      <ul>
+        <li><em class="small-caps">ncurses</em> supports
+        user-defined capabilities which it can see, but which are
+        hidden from SVr4 curses applications using the
+        <em>same</em> terminal database.</li>
+
+        <li>
+          <p>It can be optionally configured to match the format
+          used in related systems such as AIX and Tru64.</p>
+        </li>
+
+        <li>
+          <p>Alternatively, <em class="small-caps">ncurses</em> can
+          be configured to use hashed databases rather than the
+          directory of files used by SVr4 curses.</p>
+        </li>
+      </ul>
+    </li>
 
 
-  <p>as well as some that use ncurses for the terminfo support
-  alone:</p>
+    <li>
+      <p>The <em class="small-caps">ncurses</em> utilities have
+      options to allow you to filter terminfo entries for use with
+      less capable <em>curses</em>/<em>terminfo</em> versions such
+      as the HP/UX and AIX ports.</p>
+    </li>
+  </ul>
 
 
-  <dl>
-    <dt>minicom</dt>
+  <p>The <em class="small-caps">ncurses</em> package also has many
+  useful extensions over SVr4:</p>
 
 
-    <dd>terminal emulator<br>
-    <a href=
-    "http://alioth.debian.org/projects/minicom/">http://alioth.debian.org/projects/minicom/</a></dd>
+  <ul>
+    <li>
+      <p>The API is 8-bit clean and base-level conformant with the
+      X/OPEN curses specification, XSI curses (that is, it
+      implements all BASE level features, and most EXTENDED
+      features). It includes many function calls not supported
+      under SVr4 curses (but portability of all calls is documented
+      so you can use the SVr4 subset only).</p>
+    </li>
+
+    <li>
+      <p>Unlike SVr3 curses, <em class="small-caps">ncurses</em>
+      can write to the rightmost-bottommost corner of the screen if
+      your terminal has an insert-character capability.</p>
+    </li>
+
+    <li>
+      <p>Ada95 and C++ bindings.</p>
+    </li>
+
+    <li>
+      <p>Support for mouse event reporting with X Window xterm and
+      FreeBSD and OS/2 console windows.</p>
+    </li>
+
+    <li>
+      <p>Extended mouse support via Alessandro Rubini's gpm
+      package.</p>
+    </li>
+
+    <li>
+      <p>The function <code>wresize</code> allows you to resize
+      windows, preserving their data.</p>
+    </li>
+
+    <li>
+      <p>The function <code>use_default_colors</code> allows you to
+      use the terminal's default colors for the default color pair,
+      achieving the effect of transparent colors.</p>
+    </li>
+
+    <li>
+      <p>The functions <code>keyok</code> and
+      <code>define_key</code> allow you to better control the use
+      of function keys, e.g., disabling the <em class=
+      "small-caps">ncurses</em> KEY_MOUSE, or by defining more than
+      one control sequence to map to a given key code.</p>
+    </li>
+
+    <li>
+      <p>Support for 256-color terminals, such as modern xterm.</p>
+    </li>
+
+    <li>
+      <p>Support for 16-color terminals, such as <em>aixterm</em>
+      and <em>modern xterm</em>.</p>
+    </li>
+
+    <li>
+      <p>Better cursor-movement optimization. The package now
+      features a cursor-local-movement computation more efficient
+      than either BSD's or System V's.</p>
+    </li>
+
+    <li>
+      <p>Super hardware scrolling support. The screen-update code
+      incorporates a novel, simple, and cheap algorithm that
+      enables it to make optimal use of hardware scrolling,
+      line-insertion, and line-deletion for screen-line movements.
+      This algorithm is more powerful than the 4.4BSD curses
+      <code>quickch</code> routine.</p>
+    </li>
+
+    <li>
+      <p>Real support for terminals with the magic-cookie glitch.
+      The screen-update code will refrain from drawing a highlight
+      if the magic- cookie unattributed spaces required just before
+      the beginning and after the end would step on a non-space
+      character. It will automatically shift highlight boundaries
+      when doing so would make it possible to draw the highlight
+      without changing the visual appearance of the screen.</p>
+    </li>
+
+    <li>
+      <p>It is possible to generate the library with a list of
+      pre-loaded fallback entries linked to it so that it can serve
+      those terminal types even when no terminfo tree or termcap
+      file is accessible (this may be useful for support of
+      screen-oriented programs that must run in single-user
+      mode).</p>
+    </li>
+
+    <li>
+      <p>The <a href=
+      "http://invisible-island.net/ncurses/man/tic.1m.html">tic</a>/<a href="http://invisible-island.net/ncurses/man/captoinfo.1m.html">captoinfo</a>
+      utility provided with <em class="small-caps">ncurses</em> has
+      the ability to translate many termcaps from the XENIX, IBM
+      and AT&amp;T extension sets.</p>
+    </li>
+
+    <li>
+      <p>A BSD-like <a href=
+      "http://invisible-island.net/ncurses/man/tset.1.html">tset</a>
+      utility is provided.</p>
+    </li>
+
+    <li>
+      <p>The <em class="small-caps">ncurses</em> library and
+      utilities will automatically read terminfo entries from
+      $HOME/.terminfo if it exists, and compile to that directory
+      if it exists and the user has no write access to the system
+      directory. This feature makes it easier for users to have
+      personal terminfo entries without giving up access to the
+      system terminfo directory.</p>
+    </li>
+
+    <li>
+      <p>You may specify a path of directories to search for
+      compiled descriptions with the environment variable
+      TERMINFO_DIRS (this generalizes the feature provided by
+      TERMINFO under stock System V.)</p>
+    </li>
+
+    <li>
+      <p>In terminfo source files, use capabilities may refer not
+      just to other entries in the same source file (as in System
+      V) but also to compiled entries in either the system terminfo
+      directory or the user's $HOME/.terminfo directory.</p>
+    </li>
+
+    <li>
+      <p>The table-of-entries utility <a href=
+      "http://invisible-island.net/ncurses/man/toe.1m.html">toe</a>
+      makes it easy for users to see exactly what terminal types
+      are available on the system.</p>
+    </li>
+
+    <li>
+      <p>The library meets the XSI requirement that every macro
+      entry point have a corresponding function which may be linked
+      (and will be prototype-checked) if the macro definition is
+      disabled with <code>#undef</code>.</p>
+    </li>
+
+    <li>
+      <p>Extensive documentation is provided (see the <em><a href=
+      "http://invisible-island.net/ncurses/ncurses.faq.html#additional_reading">
+      Additional Reading</a></em> section of the <em><a href=
+      "http://invisible-island.net/ncurses/ncurses.faq.html"><em class="small-caps">
+      ncurses</em> FAQ</a></em> for online documentation).</p>
+    </li>
+  </ul>
+
+  <h2><a name="h2-who-uses" id="h2-who-uses">Applications using
+  <em class="small-caps">ncurses</em></a></h2>
+
+  <p>The <em class="small-caps">ncurses</em> distribution includes
+  a selection of test programs (including a few games). These are
+  available separately as <a href=
+  "http://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a></p>
+
+  <p>The ncurses library has been tested with a wide variety of
+  applications including:</p>
+
+  <blockquote>
+    <dl>
+      <dt>cdk</dt>
+
+      <dd>
+        <p>Curses Development Kit</p>
+
+        <p><a href=
+        "http://invisible-island.net/cdk/">http://invisible-island.net/cdk/</a><br>
+        </p>
+      </dd>
+
+      <dt>ded</dt>
+
+      <dd>
+        <p>directory-editor</p>
+
+        <p><a href=
+        "http://invisible-island.net/ded/">http://invisible-island.net/ded/</a></p>
+      </dd>
+
+      <dt>dialog</dt>
+
+      <dd>
+        <p>the underlying application used in Slackware's setup,
+        and the basis for similar install/configure applications on
+        many systems.</p>
+
+        <p><a href=
+        "http://invisible-island.net/dialog/">http://invisible-island.net/dialog/</a></p>
+      </dd>
+
+      <dt>lynx</dt>
+
+      <dd>
+        <p>the text WWW browser</p>
+
+        <p><a href=
+        "http://lynx.isc.org/">http://lynx.isc.org/</a></p>
+      </dd>
+
+      <dt>Midnight Commander</dt>
+
+      <dd>
+        <p>file manager</p>
+
+        <p><a href=
+        "http://www.midnight-commander.org/">http://www.midnight-commander.org/</a></p>
+      </dd>
+
+      <dt>mutt</dt>
+
+      <dd>
+        <p>mail utility</p>
+
+        <p><a href=
+        "http://www.mutt.org/">http://www.mutt.org/</a></p>
+      </dd>
+
+      <dt>ncftp</dt>
+
+      <dd>
+        <p>file-transfer utility</p>
+
+        <p><a href=
+        "http://www.ncftp.com/">http://www.ncftp.com/</a></p>
+      </dd>
+
+      <dt>nvi</dt>
+
+      <dd>
+        <p>New vi uses ncurses.</p>
+
+        <p><a href=
+        "https://sites.google.com/a/bostic.com/keithbostic/nvi">https://sites.google.com/a/bostic.com/keithbostic/nvi</a><br>
+        </p>
+      </dd>
+
+      <dt>tin</dt>
+
+      <dd>
+        <p>newsreader, supporting color, MIME</p>
+
+        <p><a href=
+        "http://www.tin.org/">http://www.tin.org/</a></p>
+      </dd>
+    </dl>
+  </blockquote>
 
 
-    <dt>vile</dt>
+  <p>as well as some that use <em class="small-caps">ncurses</em>
+  for the terminfo support alone:</p>
 
 
-    <dd>vi-like-emacs<br>
+  <blockquote>
+    <dl>
+      <dt>minicom</dt>
+
+      <dd>
+        <p>terminal emulator for serial modem connections</p>
+
+        <p><a href=
+        "http://alioth.debian.org/projects/minicom/">http://alioth.debian.org/projects/minicom/</a></p>
+      </dd>
+
+      <dt>mosh</dt>
+
+      <dd>
+        <p>a replacement for <code>ssh</code>.</p>
+
+        <p><a href=
+        "https://mosh.mit.edu/">https://mosh.mit.edu/</a></p>
+      </dd>
+
+      <dt>tack</dt>
+
+      <dd>
+        <p>terminfo action checker</p>
+
+        <p><a href=
+        "http://invisible-island.net/ncurses/tack.html">http://invisible-island.net/ncurses/tack.html</a></p>
+      </dd>
+
+      <dt>tmux</dt>
+
+      <dd>
+        <p>terminal multiplexor</p>
+
+        <p><a href=
+        "http://tmux.github.io/">http://tmux.github.io/</a></p>
+      </dd>
+
+      <dt>vile</dt>
+
+      <dd>
+        <p>vi-like-emacs may be built to use the terminfo, termcap
+        or curses interfaces.</p>
+
+        <p><a href=
+        "http://invisible-island.net/vile/">http://invisible-island.net/vile/</a></p>
+      </dd>
+    </dl>
+  </blockquote>
+
+  <p>and finally, those which use only the termcap interface:</p>
+
+  <blockquote>
+    <dl>
+      <dt>emacs</dt>
+
+      <dd>
+        <p>text editor</p>
+
+        <p><a href=
+        "http://www.gnu.org/software/emacs/">http://www.gnu.org/software/emacs/</a></p>
+      </dd>
+
+      <dt>screen</dt>
+
+      <dd>
+        <p>terminal multiplexor</p>
+
+        <p><a href=
+        "http://www.gnu.org/software/screen/">http://www.gnu.org/software/screen/</a></p>
+      </dd>
+
+      <dt>vim</dt>
+
+      <dd>
+        <p>text editor</p>
+
+        <p><a href=
+        "http://www.vim.org/">http://www.vim.org/</a></p>
+      </dd>
+    </dl>
+  </blockquote>
+
+  <h2><a name="h2-development" id="h2-development">Development
+  activities</a></h2>
+
+  <p>Zeyd Ben-Halim started <em class="small-caps">ncurses</em>
+  from a previous package pcurses, written by Pavel Curtis. Eric S.
+  Raymond continued development. J&uuml;rgen Pfeifer wrote most of
+  the form and menu libraries. Ongoing development work is done by
+  <a href="mailto:dickey@invisible-island.net">Thomas Dickey</a>.
+  Thomas Dickey also acts as the maintainer for the Free Software
+  Foundation, which holds the <a href=
+  "http://invisible-island.net/ncurses/ncurses-license.html">copyright
+  on ncurses</a>.</p>
+
+  <p>Contact the current maintainers at</p>
+
+  <blockquote>
+    <a href="mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</a>
+  </blockquote>
+
+  <p>To join the ncurses mailing list, please write email to</p>
+
+  <blockquote>
     <a href=
     <a href=
-    "http://invisible-island.net/vile/">http://invisible-island.net/vile/</a></dd>
-  </dl>
+    "mailto:bug-ncurses-request@gnu.org">bug-ncurses-request@gnu.org</a>
+  </blockquote>containing the line:
 
 
-  <p>The ncurses distribution includes a selection of test programs
-  (including a few games).</p>
-
-  <h2>Who's Who and What's What</h2>
-
-  <p>Zeyd Ben-Halim started it from a previous package pcurses,
-  written by Pavel Curtis. Eric S. Raymond continued development.
-  J&uuml;rgen Pfeifer wrote most of the form and menu libraries.
-  Ongoing work is being done by <a href=
-  "mailto:dickey@invisible-island.net">Thomas Dickey</a>. Thomas
-  Dickey acts as the maintainer for the Free Software Foundation,
-  which holds the copyright on ncurses. Contact the current
-  maintainers at <a href=
-  "mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</a>.</p>
-
-  <p>To join the ncurses mailing list, please write email to
-  <code>bug-ncurses-request@gnu.org</code> containing the line:</p>
-  <pre>
-             subscribe &lt;name&gt;@&lt;host.domain&gt;
-</pre>
+  <blockquote>
+    <p><code>subscribe</code>
+    <em>&lt;name&gt;@&lt;host.domain&gt;</em></p>
+  </blockquote>
 
   <p>This list is open to anyone interested in helping with the
   development and testing of this package.</p>
 
 
   <p>This list is open to anyone interested in helping with the
   development and testing of this package.</p>
 
-  <p>Beta versions of ncurses and patches to the current release
-  are made available at <a href=
-  "ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a>&nbsp;.</p>
+  <p>Beta versions of <em class="small-caps">ncurses</em> and
+  patches to the current release are made available at</p>
+
+  <blockquote>
+    <p><a href=
+    "ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a>&nbsp;.</p>
+  </blockquote>
 
   <p>There is an archive of the mailing list here:</p>
 
 
   <p>There is an archive of the mailing list here:</p>
 
-  <p><a href=
-  "http://lists.gnu.org/archive/html/bug-ncurses">http://lists.gnu.org/archive/html/bug-ncurses</a>
-  (also <a href=
-  "https://lists.gnu.org/archive/html/bug-ncurses">https</a>)</p>
+  <blockquote>
+    <p><a href=
+    "http://lists.gnu.org/archive/html/bug-ncurses">http://lists.gnu.org/archive/html/bug-ncurses</a>
+    (also <a href=
+    "https://lists.gnu.org/archive/html/bug-ncurses">https</a>)</p>
+  </blockquote>
+
+  <h2><a name="h2-this-stuff" id="h2-this-stuff">Related
+  resources</a></h2>
 
 
-  <h2>Future Plans</h2>
+  <p>The release notes make scattered references to these pages,
+  which may be interesting by themselves:</p>
 
   <ul>
 
   <ul>
-    <li>Extended-level XPG4 conformance, with internationalization
-    support.</li>
+    <li><a href=
+    "http://invisible-island.net/scripts/man2html.html">man2html</a></li>
 
 
-    <li>Ports to more systems, including DOS and Windows.</li>
-  </ul>
+    <li><a href=
+    "http://invisible-island.nethttp://invisible-island.net/ncurses/ncurses-license.html">
+    <em class="small-caps">ncurses</em> licensing</a></li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/ncurses-mapsyms.html">Symbol
+    versioning in <em class="small-caps">ncurses</em></a></li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/ncurses-mingw.html">The
+    MinGW port of <em class="small-caps">ncurses</em></a></li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/tack.html">tack &ndash;
+    terminfo action checker</a></li>
+
+    <li><a href=
+    "http://invisible-island.net/autoconf/portability-tar.html">tar
+    versus portability</a></li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/tctest.html">tctest
+    &ndash; termcap library checker</a></li>
 
 
-  <p>We need people to help with these projects. If you are
-  interested in working on them, please join the ncurses list.</p>
+    <li><a href=
+    "http://invisible-island.net/ncurses/ncurses.html#download_database">
+    Terminal Database</a></li>
+  </ul>
 
 
-  <h2>Other Related Resources</h2>
+  <h2><a name="h2-other-stuff" id="h2-other-stuff">Other
+  resources</a></h2>
 
   <p>The distribution provides a newer version of the
   terminfo-format terminal description file once maintained by
 
   <p>The distribution provides a newer version of the
   terminfo-format terminal description file once maintained by
   not covered in the terminfo file at <a href=
   "http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal">
   Richard Shuford's archive</a>&nbsp;.</p>
   not covered in the terminfo file at <a href=
   "http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal">
   Richard Shuford's archive</a>&nbsp;.</p>
+
+  <div class="nav">
+    <ul>
+      <li><a href="#h2-overview">Overview</a></li>
+
+      <li>
+        <a href="#h2-release-notes">Release Notes</a>
+
+        <ul>
+          <li>
+            <a href="#h3-library">Library improvements</a>
+
+            <ul>
+              <li><a href="#h3-lib-setbuf">Output
+              buffering</a></li>
+
+              <li><a href="#h3-lib-versioning">Symbol
+              versioning</a></li>
+
+              <li><a href="#h3-lib-other">Miscellaneous</a></li>
+            </ul>
+          </li>
+
+          <li>
+            <a href="#h3-programs">Program improvements</a>
+
+            <ul>
+              <li><a href="#h4-utilities">Utilities</a></li>
+
+              <li><a href="#h4-examples">Examples</a></li>
+            </ul>
+          </li>
+
+          <li><a href="#h3-database">Terminal database</a></li>
+
+          <li><a href="#h3-documentation">Documentation</a></li>
+
+          <li><a href="#h3-bug-fixes">Interesting
+          bug-fixes</a></li>
+
+          <li>
+            <a href="#h3-config-config">Configuration changes</a>
+
+            <ul>
+              <li><a href="#h4-config-major">Major changes</a></li>
+
+              <li><a href="#h4-config-options">Configuration
+              options</a></li>
+            </ul>
+          </li>
+
+          <li>
+            <a href="#h3-portability">Portability</a>
+
+            <ul>
+              <li><a href="#h4-port-mingw">MinGW</a></li>
+
+              <li><a href="#h4-port-systems">Other ports</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+
+      <li><a href="#h2-features">Features of <em class=
+      "small-caps">ncurses</em></a></li>
+
+      <li><a href="#h2-who-uses">Applications using <em class=
+      "small-caps">ncurses</em></a></li>
+
+      <li><a href="#h2-development">Development activities</a></li>
+
+      <li><a href="#h2-this-stuff">Related resources</a></li>
+
+      <li><a href="#h2-other-stuff">Other resources</a></li>
+    </ul>
+  </div>
 </body>
 </html>
 </body>
 </html>
index eb44da753619616d420d4b071fe5191d3086b1c7..4f5b960457db616dfd8a95bb293bd54df0f5b2b5 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: Makefile.in,v 1.110 2015/05/01 00:47:26 tom Exp $
+# $Id: Makefile.in,v 1.111 2015/08/05 23:15:41 tom Exp $
 ##############################################################################
 ##############################################################################
-# Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.                #
+# Copyright (c) 1998-2014,2015 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"), #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -34,7 +34,7 @@
 # turn off _all_ suffix rules; we'll generate our own
 .SUFFIXES:
 
 # turn off _all_ suffix rules; we'll generate our own
 .SUFFIXES:
 
-SHELL          = /bin/sh
+SHELL          = @SHELL@
 VPATH          = @srcdir@
 
 CF_MFLAGS      = @cf_cv_makeflags@
 VPATH          = @srcdir@
 
 CF_MFLAGS      = @cf_cv_makeflags@
@@ -172,7 +172,7 @@ mostlyclean ::
        -rm -f core tags TAGS *~ *.bak *.i *.ii *.ln *.atac trace
 
 clean :: mostlyclean
        -rm -f core tags TAGS *~ *.bak *.i *.ii *.ln *.atac trace
 
 clean :: mostlyclean
-       -sh -c "if test -n '$x' ; then $(MAKE) clean x=''; fi"
+       -$(SHELL) -c "if test -n '$x' ; then $(MAKE) clean x=''; fi"
        -rm -rf $(MODEL)/SunWS_cache
        -$(LIBTOOL_CLEAN) rm -f demo$x $(AUTO_SRC) $(LIBRARIES) $(OBJS_DEMO)
        -rm -rf .libs *.dSYM
        -rm -rf $(MODEL)/SunWS_cache
        -$(LIBTOOL_CLEAN) rm -f demo$x $(AUTO_SRC) $(LIBRARIES) $(OBJS_DEMO)
        -rm -rf .libs *.dSYM
@@ -242,7 +242,7 @@ demo$x:     $(OBJS_DEMO) \
 
 etip.h:        $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh
        cp $(srcdir)/etip.h.in $@
 
 etip.h:        $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh
        cp $(srcdir)/etip.h.in $@
-       sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
+       $(SHELL) $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
 
 ###############################################################################
 # The remainder of this file is automatically generated during configuration
 
 ###############################################################################
 # The remainder of this file is automatically generated during configuration
index ecf0f449068e6475e838ac3a30a4d05931b43a6f..25e351be57a35ab1455f31b8e15f5c49b283f478 100755 (executable)
--- a/configure
+++ b/configure
@@ -3998,7 +3998,7 @@ else
        for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
        do
                cat >cf_makeflags.tmp <<CF_EOF
        for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
        do
                cat >cf_makeflags.tmp <<CF_EOF
-SHELL = /bin/sh
+SHELL = $SHELL
 all :
        @ echo '.$cf_option'
 CF_EOF
 all :
        @ echo '.$cf_option'
 CF_EOF
@@ -6049,14 +6049,14 @@ echo "${ECHO_T}$CC_SHARED_OPTS" >&6
                ;;
        (cygwin*)
                CC_SHARED_OPTS=
                ;;
        (cygwin*)
                CC_SHARED_OPTS=
-               MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
+               MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=cygdll
                cf_cv_shlib_version_infix=cygdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=cygdll
                cf_cv_shlib_version_infix=cygdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
-               #!/bin/sh
+               #!$SHELL
                SHARED_LIB=\$1
                IMPORT_LIB=\`echo "\$1" | sed -e 's/cyg/lib/' -e 's/[0-9]*\.dll$/.dll.a/'\`
                shift
                SHARED_LIB=\$1
                IMPORT_LIB=\`echo "\$1" | sed -e 's/cyg/lib/' -e 's/[0-9]*\.dll$/.dll.a/'\`
                shift
@@ -6071,14 +6071,14 @@ CF_EOF
                ;;
        (msys*)
                CC_SHARED_OPTS=
                ;;
        (msys*)
                CC_SHARED_OPTS=
-               MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
+               MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=msysdll
                cf_cv_shlib_version_infix=msysdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=msysdll
                cf_cv_shlib_version_infix=msysdll
                shlibdir=$bindir
                MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
-               #!/bin/sh
+               #!$SHELL
                SHARED_LIB=\$1
                IMPORT_LIB=\`echo "\$1" | sed -e 's/msys-/lib/' -e 's/[0-9]*\.dll$/.dll.a/'\`
                shift
                SHARED_LIB=\$1
                IMPORT_LIB=\`echo "\$1" | sed -e 's/msys-/lib/' -e 's/[0-9]*\.dll$/.dll.a/'\`
                shift
@@ -6217,10 +6217,10 @@ echo "${ECHO_T}$cf_cv_ldflags_search_paths_first" >&6
                        EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS"
                fi
                CC_SHARED_OPTS=
                        EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS"
                fi
                CC_SHARED_OPTS=
-               MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
+               MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cat >mk_shared_lib.sh <<-CF_EOF
                RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cat >mk_shared_lib.sh <<-CF_EOF
-               #!/bin/sh
+               #!$SHELL
                SHARED_LIB=\$1
                IMPORT_LIB=\`echo "\$1" | sed -e 's/[0-9]*\.dll$/.dll.a/'\`
                shift
                SHARED_LIB=\$1
                IMPORT_LIB=\`echo "\$1" | sed -e 's/[0-9]*\.dll$/.dll.a/'\`
                shift
@@ -11113,7 +11113,7 @@ echo "$as_me: error: not a filename: $MANPAGE_RENAMES" >&2;}
        # Construct a sed-script to perform renaming within man-pages
        if test -n "$MANPAGE_RENAMES" ; then
                test ! -d man && mkdir man
        # Construct a sed-script to perform renaming within man-pages
        if test -n "$MANPAGE_RENAMES" ; then
                test ! -d man && mkdir man
-               sh $srcdir/man/make_sed.sh $MANPAGE_RENAMES >./edit_man.sed
+               $SHELL $srcdir/man/make_sed.sh $MANPAGE_RENAMES >./edit_man.sed
        fi
 fi
 
        fi
 fi
 
@@ -11222,7 +11222,7 @@ cf_edit_man=./edit_man.sh
 cf_man_alias=`pwd`/man_alias.sed
 
 cat >$cf_edit_man <<CF_EOF
 cf_man_alias=`pwd`/man_alias.sed
 
 cat >$cf_edit_man <<CF_EOF
-#! /bin/sh
+#! $SHELL
 # this script is generated by the configure-script CF_MAN_PAGES macro.
 
 prefix="$cf_prefix"
 # this script is generated by the configure-script CF_MAN_PAGES macro.
 
 prefix="$cf_prefix"
@@ -11260,7 +11260,7 @@ shift || exit 1
 if test "\$form" = normal ; then
        if test "$cf_format" = yes ; then
        if test "$cf_inboth" = no ; then
 if test "\$form" = normal ; then
        if test "$cf_format" = yes ; then
        if test "$cf_inboth" = no ; then
-               sh \$0 format \$verb \$mandir \$srcdir \$*
+               $SHELL \$0 format \$verb \$mandir \$srcdir \$*
                exit $?
        fi
        fi
                exit $?
        fi
        fi
@@ -11501,7 +11501,7 @@ done
 
 if test $cf_inboth = yes ; then
 if test \$form != format ; then
 
 if test $cf_inboth = yes ; then
 if test \$form != format ; then
-       sh \$0 format \$verb \$mandir \$srcdir \$*
+       $SHELL \$0 format \$verb \$mandir \$srcdir \$*
 fi
 fi
 
 fi
 fi
 
@@ -21993,7 +21993,7 @@ do
 done
 
 # symbols that differ when compiling Ada95 by itself.
 done
 
 # symbols that differ when compiling Ada95 by itself.
-NCURSES_SHLIB2='sh $(top_srcdir)/misc/shlib'
+NCURSES_SHLIB2=$SHELL' $(top_srcdir)/misc/shlib'
 
 # values to use as strings
 
 
 # values to use as strings
 
@@ -24020,7 +24020,7 @@ rm -f headers.sed headers.sh
 
 echo creating headers.sh
 cat >headers.sh <<CF_EOF
 
 echo creating headers.sh
 cat >headers.sh <<CF_EOF
-#! /bin/sh
+#! $SHELL
 # This shell script is generated by the 'configure' script.  It is invoked in a
 # subdirectory of the build tree.  It generates a sed-script in the parent
 # directory that is used to adjust includes for header files that reside in a
 # This shell script is generated by the 'configure' script.  It is invoked in a
 # subdirectory of the build tree.  It generates a sed-script in the parent
 # directory that is used to adjust includes for header files that reside in a
index 24181b9460e98126fec58f70d74235eb6044a5d5..b0970642e8c22f57b5f797c502d1643178b7ceff 100644 (file)
@@ -28,14 +28,14 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: configure.in,v 1.618 2015/06/27 22:59:56 tom Exp $
+dnl $Id: configure.in,v 1.619 2015/08/05 23:32:27 tom Exp $
 dnl Process this file with autoconf to produce a configure script.
 dnl
 dnl See http://invisible-island.net/autoconf/ for additional information.
 dnl
 dnl ---------------------------------------------------------------------------
 AC_PREREQ(2.52.20030208)
 dnl Process this file with autoconf to produce a configure script.
 dnl
 dnl See http://invisible-island.net/autoconf/ for additional information.
 dnl
 dnl ---------------------------------------------------------------------------
 AC_PREREQ(2.52.20030208)
-AC_REVISION($Revision: 1.618 $)
+AC_REVISION($Revision: 1.619 $)
 AC_INIT(ncurses/base/lib_initscr.c)
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
 AC_INIT(ncurses/base/lib_initscr.c)
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
@@ -2011,7 +2011,7 @@ fi
 CF_DIRS_TO_MAKE
 
 # symbols that differ when compiling Ada95 by itself.
 CF_DIRS_TO_MAKE
 
 # symbols that differ when compiling Ada95 by itself.
-NCURSES_SHLIB2='sh $(top_srcdir)/misc/shlib'
+NCURSES_SHLIB2=$SHELL' $(top_srcdir)/misc/shlib'
 AC_SUBST(NCURSES_SHLIB2)
 
 # values to use as strings
 AC_SUBST(NCURSES_SHLIB2)
 
 # values to use as strings
diff --git a/dist.mk b/dist.mk
index f65e85cf26d779b1ee729cddb326b4b8e4c0e4d0..3c61e0afff598abda2437288d24e49b865dc06df 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.1062 2015/07/20 22:28:06 tom Exp $
+# $Id: dist.mk,v 1.1064 2015/08/06 23:13:39 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
 # 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
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 6
 NCURSES_MINOR = 0
-NCURSES_PATCH = 20150725
+NCURSES_PATCH = 20150808
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index ff6d0bd404b17af7bd2dac7b09b659d20003764a..ce8d91f4eb614482401f9833ac3d32cd68a3d110 100644 (file)
@@ -10,6 +10,8 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TABLE ALIGN=CENTER BORDER>
 <TR ALIGN=LEFT>
 <TH>C name</TH><TH>Ada name</TH><TH>man page</TH></TR>
 <TABLE ALIGN=CENTER BORDER>
 <TR ALIGN=LEFT>
 <TH>C name</TH><TH>Ada name</TH><TH>man page</TH></TR>
+<TR><TD>_nc_freeall()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_159">Curses_Free_All</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
+<TR><TD>_tracef()</TD><TD><A HREF="terminal_interface-curses-trace__ads.htm#AFU_2">Trace_Put</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
 <TR><TD>assume_default_colors()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_156">Assume_Default_Colors</A></TD><TD><A HREF="../man/default_colors.3x.html">default_colors.3x</A></TD></TR>
 <TR><TD>baudrate()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_131">Baudrate</A></TD><TD><A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></TD></TR>
 <TR><TD>beep()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_40">Beep</A></TD><TD><A HREF="../man/curs_beep.3x.html">curs_beep.3x</A></TD></TR>
 <TR><TD>assume_default_colors()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_156">Assume_Default_Colors</A></TD><TD><A HREF="../man/default_colors.3x.html">default_colors.3x</A></TD></TR>
 <TR><TD>baudrate()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_131">Baudrate</A></TD><TD><A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></TD></TR>
 <TR><TD>beep()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_40">Beep</A></TD><TD><A HREF="../man/curs_beep.3x.html">curs_beep.3x</A></TD></TR>
@@ -22,15 +24,15 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>copywin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_79">Copy</A></TD><TD><A HREF="../man/curs_overlay.3x.html">curs_overlay.3x</A></TD></TR>
 <TR><TD>current_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_58">Current</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
 <TR><TD>current_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_14">Current</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>copywin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_79">Copy</A></TD><TD><A HREF="../man/curs_overlay.3x.html">curs_overlay.3x</A></TD></TR>
 <TR><TD>current_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_58">Current</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
 <TR><TD>current_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_14">Current</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
+<TR><TD>curs_set()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_153">Set_Cursor_Visibility</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
 <TR><TD>curscr</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_2">Current_Window</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>curses_version()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_157">Curses_Version</A></TD><TD><A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></TD></TR>
 <TR><TD>curscr</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_2">Current_Window</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>curses_version()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_157">Curses_Version</A></TD><TD><A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></TD></TR>
-<TR><TD>curs_set()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_153">Set_Cursor_Visibility</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
 <TR><TD>data_ahead()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_54">Data_Ahead</A></TD><TD><A HREF="../man/form_data.3x.html">form_data.3x</A></TD></TR>
 <TR><TD>data_behind()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_55">Data_Behind</A></TD><TD><A HREF="../man/form_data.3x.html">form_data.3x</A></TD></TR>
 <TR><TD>data_ahead()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_54">Data_Ahead</A></TD><TD><A HREF="../man/form_data.3x.html">form_data.3x</A></TD></TR>
 <TR><TD>data_behind()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_55">Data_Behind</A></TD><TD><A HREF="../man/form_data.3x.html">form_data.3x</A></TD></TR>
-<TR><TD>define_key()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_124">Define_Key</A></TD><TD><A HREF="../man/define_key.3x.html">define_key.3x</A></TD></TR>
 <TR><TD>def_prog_mode()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_148">Save_Curses_Mode</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
 <TR><TD>def_prog_mode()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_148">Save_Curses_Mode</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
-<TR><TD>delay_output()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_129">Delay_Output</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
+<TR><TD>define_key()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_124">Define_Key</A></TD><TD><A HREF="../man/define_key.3x.html">define_key.3x</A></TD></TR>
 <TR><TD>del_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_15">Delete</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>del_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_15">Delete</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<TR><TD>delay_output()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_129">Delay_Output</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
 <TR><TD>delwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_12">Delete</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>derwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_14">Derived_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>doupdate()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_61">Update_Screen</A></TD><TD><A HREF="../man/curs_refresh.3x.html">curs_refresh.3x</A></TD></TR>
 <TR><TD>delwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_12">Delete</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>derwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_14">Derived_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>doupdate()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_61">Update_Screen</A></TD><TD><A HREF="../man/curs_refresh.3x.html">curs_refresh.3x</A></TD></TR>
@@ -50,9 +52,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>field_info()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_25">Info</A></TD><TD><A HREF="../man/form_field_info.3x.html">form_field_info.3x</A></TD></TR>
 <TR><TD>field_init()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_36">Get_Field_Init_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
 <TR><TD>field_just()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_7">Get_Justification</A></TD><TD><A HREF="../man/form_field_just.3x.html">form_field_just.3x</A></TD></TR>
 <TR><TD>field_info()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_25">Info</A></TD><TD><A HREF="../man/form_field_info.3x.html">form_field_info.3x</A></TD></TR>
 <TR><TD>field_init()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_36">Get_Field_Init_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
 <TR><TD>field_just()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_7">Get_Justification</A></TD><TD><A HREF="../man/form_field_just.3x.html">form_field_just.3x</A></TD></TR>
-<TR><TD>field_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_14">Switch_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
 <TR><TD>field_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_15">Get_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
 <TR><TD>field_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_16">Get_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
 <TR><TD>field_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_15">Get_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
 <TR><TD>field_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_16">Get_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
+<TR><TD>field_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_14">Switch_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
 <TR><TD>field_pad()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_24">Pad_Character</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
 <TR><TD>field_status()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_11">Changed</A></TD><TD><A HREF="../man/form_field_buffer.3x.html">form_field_buffer.3x</A></TD></TR>
 <TR><TD>field_term()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_37">Get_Field_Term_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
 <TR><TD>field_pad()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_24">Pad_Character</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
 <TR><TD>field_status()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_11">Changed</A></TD><TD><A HREF="../man/form_field_buffer.3x.html">form_field_buffer.3x</A></TD></TR>
 <TR><TD>field_term()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_37">Get_Field_Term_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
@@ -64,9 +66,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>form_driver()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_56">Driver</A></TD><TD><A HREF="../man/form_driver.3x.html">form_driver.3x</A></TD></TR>
 <TR><TD>form_fields()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_42">Fields</A></TD><TD><A HREF="../man/form_field.3x.html">form_field.3x</A></TD></TR>
 <TR><TD>form_init()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_38">Get_Form_Init_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
 <TR><TD>form_driver()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_56">Driver</A></TD><TD><A HREF="../man/form_driver.3x.html">form_driver.3x</A></TD></TR>
 <TR><TD>form_fields()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_42">Fields</A></TD><TD><A HREF="../man/form_field.3x.html">form_field.3x</A></TD></TR>
 <TR><TD>form_init()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_38">Get_Form_Init_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
-<TR><TD>form_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_49">Switch_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
 <TR><TD>form_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_50">Get_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
 <TR><TD>form_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_51">Get_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
 <TR><TD>form_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_50">Get_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
 <TR><TD>form_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_51">Get_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
+<TR><TD>form_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_49">Switch_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
 <TR><TD>form_page()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_60">Page</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
 <TR><TD>form_sub()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_30">Get_Sub_Window</A></TD><TD><A HREF="../man/form_win.3x.html">form_win.3x</A></TD></TR>
 <TR><TD>form_term()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_39">Get_Form_Term_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
 <TR><TD>form_page()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_60">Page</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
 <TR><TD>form_sub()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_30">Get_Sub_Window</A></TD><TD><A HREF="../man/form_win.3x.html">form_win.3x</A></TD></TR>
 <TR><TD>form_term()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_39">Get_Form_Term_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
@@ -96,17 +98,17 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>initscr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_3">Init_Screen</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>initscr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_4">Init_Windows</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>intrflush()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_48">Set_Flush_On_Interrupt_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
 <TR><TD>initscr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_3">Init_Screen</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>initscr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_4">Init_Windows</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>intrflush()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_48">Set_Flush_On_Interrupt_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
-<TR><TD>isendwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_6">Is_End_Window</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>is_linetouched()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_77">Is_Touched</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
 <TR><TD>is_wintouched()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_78">Is_Touched</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
 <TR><TD>is_linetouched()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_77">Is_Touched</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
 <TR><TD>is_wintouched()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_78">Is_Touched</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
+<TR><TD>isendwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_6">Is_End_Window</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>item_count()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_58">Item_Count</A></TD><TD><A HREF="../man/menu_items.3x.html">menu_items.3x</A></TD></TR>
 <TR><TD>item_description();</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_12">Description</A></TD><TD><A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></TD></TR>
 <TR><TD>item_index()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_17">Get_Index</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>item_init()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_52">Get_Item_Init_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
 <TR><TD>item_name()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_11">Name</A></TD><TD><A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></TD></TR>
 <TR><TD>item_count()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_58">Item_Count</A></TD><TD><A HREF="../man/menu_items.3x.html">menu_items.3x</A></TD></TR>
 <TR><TD>item_description();</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_12">Description</A></TD><TD><A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></TD></TR>
 <TR><TD>item_index()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_17">Get_Index</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>item_init()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_52">Get_Item_Init_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
 <TR><TD>item_name()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_11">Name</A></TD><TD><A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></TD></TR>
-<TR><TD>item_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_8">Switch_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
 <TR><TD>item_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_10">Get_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
 <TR><TD>item_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_9">Get_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
 <TR><TD>item_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_10">Get_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
 <TR><TD>item_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_9">Get_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
+<TR><TD>item_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_8">Switch_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
 <TR><TD>item_term()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_53">Get_Item_Term_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
 <TR><TD>item_userptr</TD><TD><A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#AFU_2">Get_User_Data</A></TD><TD><A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></TD></TR>
 <TR><TD>item_userptr</TD><TD><A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#AFU_3">Get_User_Data</A></TD><TD><A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></TD></TR>
 <TR><TD>item_term()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_53">Get_Item_Term_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
 <TR><TD>item_userptr</TD><TD><A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#AFU_2">Get_User_Data</A></TD><TD><A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></TD></TR>
 <TR><TD>item_userptr</TD><TD><A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#AFU_3">Get_User_Data</A></TD><TD><A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></TD></TR>
@@ -132,9 +134,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>menu_init()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_54">Get_Menu_Init_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
 <TR><TD>menu_items()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_57">Items</A></TD><TD><A HREF="../man/menu_items.3x.html">menu_items.3x</A></TD></TR>
 <TR><TD>menu_mark()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_30">Mark</A></TD><TD><A HREF="../man/menu_mark.3x.html">menu_mark.3x</A></TD></TR>
 <TR><TD>menu_init()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_54">Get_Menu_Init_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
 <TR><TD>menu_items()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_57">Items</A></TD><TD><A HREF="../man/menu_items.3x.html">menu_items.3x</A></TD></TR>
 <TR><TD>menu_mark()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_30">Mark</A></TD><TD><A HREF="../man/menu_mark.3x.html">menu_mark.3x</A></TD></TR>
-<TR><TD>menu_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_20">Switch_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
 <TR><TD>menu_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_21">Get_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
 <TR><TD>menu_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_22">Get_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
 <TR><TD>menu_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_21">Get_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
 <TR><TD>menu_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_22">Get_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
+<TR><TD>menu_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_20">Switch_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
 <TR><TD>menu_pad()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_41">Pad_Character</A></TD><TD><A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></TD></TR>
 <TR><TD>menu_pattern()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_45">Pattern</A></TD><TD><A HREF="../man/menu_pattern.3x.html">menu_pattern.3x</A></TD></TR>
 <TR><TD>menu_requestname.3x</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_62"></A></TD><TD><A HREF="../man/menu_driver.3x.html">menu_driver.3x</A></TD></TR>
 <TR><TD>menu_pad()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_41">Pad_Character</A></TD><TD><A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></TD></TR>
 <TR><TD>menu_pattern()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_45">Pattern</A></TD><TD><A HREF="../man/menu_pattern.3x.html">menu_pattern.3x</A></TD></TR>
 <TR><TD>menu_requestname.3x</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_62"></A></TD><TD><A HREF="../man/menu_driver.3x.html">menu_driver.3x</A></TD></TR>
@@ -150,20 +152,19 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>move_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_44">Move</A></TD><TD><A HREF="../man/form_field.3x.html">form_field.3x</A></TD></TR>
 <TR><TD>move_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_11">Move</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>mvderwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_17">Move_Derived_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>move_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_44">Move</A></TD><TD><A HREF="../man/form_field.3x.html">form_field.3x</A></TD></TR>
 <TR><TD>move_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_11">Move</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>mvderwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_17">Move_Derived_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
-<TR><TD>mvwaddchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_24">Add</A></TD><TD><A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></TD></TR>
 <TR><TD>mvwaddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_9">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
 <TR><TD>mvwaddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_9">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
+<TR><TD>mvwaddchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_24">Add</A></TD><TD><A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></TD></TR>
 <TR><TD>mvwaddnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_22">Add</A></TD><TD><A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></TD></TR>
 <TR><TD>mvwchgat()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_39">Change_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>mvwdelch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_96">Delete_Character</A></TD><TD><A HREF="../man/curs_delch.3x.html">curs_delch.3x</A></TD></TR>
 <TR><TD>mvwgetnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_108">Get</A></TD><TD><A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></TD></TR>
 <TR><TD>mvwaddnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_22">Add</A></TD><TD><A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></TD></TR>
 <TR><TD>mvwchgat()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_39">Change_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>mvwdelch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_96">Delete_Character</A></TD><TD><A HREF="../man/curs_delch.3x.html">curs_delch.3x</A></TD></TR>
 <TR><TD>mvwgetnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_108">Get</A></TD><TD><A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></TD></TR>
-<TR><TD>mvwinchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_106">Peek</A></TD><TD><A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></TD></TR>
+<TR><TD>mvwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_16">Move_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>mvwinch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_98">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
 <TR><TD>mvwinch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_98">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
+<TR><TD>mvwinchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_106">Peek</A></TD><TD><A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></TD></TR>
 <TR><TD>mvwinnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_104">Peek</A></TD><TD><A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></TD></TR>
 <TR><TD>mvwinsch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_100">Insert</A></TD><TD><A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></TD></TR>
 <TR><TD>mvwinsnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_102">Insert</A></TD><TD><A HREF="../man/curs_insstr.3x.html">curs_insstr.3x</A></TD></TR>
 <TR><TD>mvwinnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_104">Peek</A></TD><TD><A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></TD></TR>
 <TR><TD>mvwinsch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_100">Insert</A></TD><TD><A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></TD></TR>
 <TR><TD>mvwinsnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_102">Insert</A></TD><TD><A HREF="../man/curs_insstr.3x.html">curs_insstr.3x</A></TD></TR>
-<TR><TD>mvwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_16">Move_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>napms()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_154">Nap_Milli_Seconds</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
 <TR><TD>napms()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_154">Nap_Milli_Seconds</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
-<TR><TD>_nc_freeall()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_159">Curses_Free_All</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
 <TR><TD>new_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_1">Create</A></TD><TD><A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></TD></TR>
 <TR><TD>new_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_2">New_Field</A></TD><TD><A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></TD></TR>
 <TR><TD>new_form()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_45">Create</A></TD><TD><A HREF="../man/form_new.3x.html">form_new.3x</A></TD></TR>
 <TR><TD>new_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_1">Create</A></TD><TD><A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></TD></TR>
 <TR><TD>new_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_2">New_Field</A></TD><TD><A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></TD></TR>
 <TR><TD>new_form()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_45">Create</A></TD><TD><A HREF="../man/form_new.3x.html">form_new.3x</A></TD></TR>
@@ -171,10 +172,10 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>new_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_1">Create</A></TD><TD><A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></TD></TR>
 <TR><TD>new_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_2">New_Item</A></TD><TD><A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></TD></TR>
 <TR><TD>new_menu()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_59">Create</A></TD><TD><A HREF="../man/menu_new.3x.html">menu_new.3x</A></TD></TR>
 <TR><TD>new_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_1">Create</A></TD><TD><A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></TD></TR>
 <TR><TD>new_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_2">New_Item</A></TD><TD><A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></TD></TR>
 <TR><TD>new_menu()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_59">Create</A></TD><TD><A HREF="../man/menu_new.3x.html">menu_new.3x</A></TD></TR>
-<TR><TD>newpad()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_89">New_Pad</A></TD><TD><A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></TD></TR>
 <TR><TD>new_page()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_63">Is_New_Page</A></TD><TD><A HREF="../man/form_new_page.3x.html">form_new_page.3x</A></TD></TR>
 <TR><TD>new_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_1">Create</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>new_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_2">New_Panel</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>new_page()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_63">Is_New_Page</A></TD><TD><A HREF="../man/form_new_page.3x.html">form_new_page.3x</A></TD></TR>
 <TR><TD>new_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_1">Create</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>new_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_2">New_Panel</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<TR><TD>newpad()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_89">New_Pad</A></TD><TD><A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></TD></TR>
 <TR><TD>newwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_11">Create</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>nl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_53">Set_NL_Mode</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
 <TR><TD>nodelay()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_50">Set_NoDelay_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
 <TR><TD>newwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_11">Create</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>nl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_53">Set_NL_Mode</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
 <TR><TD>nodelay()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_50">Set_NoDelay_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
@@ -208,9 +209,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>scale_menu()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_27">Scale</A></TD><TD><A HREF="../man/menu_win.3x.html">menu_win.3x</A></TD></TR>
 <TR><TD>scr_dump()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_160">Screen_Dump_To_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
 <TR><TD>scr_init()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_162">Screen_Init_From_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
 <TR><TD>scale_menu()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_27">Scale</A></TD><TD><A HREF="../man/menu_win.3x.html">menu_win.3x</A></TD></TR>
 <TR><TD>scr_dump()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_160">Screen_Dump_To_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
 <TR><TD>scr_init()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_162">Screen_Init_From_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
-<TR><TD>scrollok()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_59">Allow_Scrolling</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
 <TR><TD>scr_restore()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_161">Screen_Restore_From_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
 <TR><TD>scr_set()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_163">Screen_Set_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
 <TR><TD>scr_restore()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_161">Screen_Restore_From_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
 <TR><TD>scr_set()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_163">Screen_Set_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
+<TR><TD>scrollok()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_59">Allow_Scrolling</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
 <TR><TD>set_current_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_57">Set_Current</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
 <TR><TD>set_current_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_13">Set_Current</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>set_field_back()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_20">Set_Background</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
 <TR><TD>set_current_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_57">Set_Current</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
 <TR><TD>set_current_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_13">Set_Current</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>set_field_back()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_20">Set_Background</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
@@ -258,10 +259,10 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>set_panel_userptr</TD><TD><A HREF="terminal_interface-curses-panels-user_data__ads.htm#AFU_1">Set_User_Data</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>set_top_row()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_15">Set_Top_Row</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>show_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_5">Show</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>set_panel_userptr</TD><TD><A HREF="terminal_interface-curses-panels-user_data__ads.htm#AFU_1">Set_User_Data</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>set_top_row()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_15">Set_Top_Row</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>show_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_5">Show</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
-<TR><TD>slk_attron()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_118">Switch_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
-<TR><TD>slk_attrset()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_119">Set_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_120">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_121">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_120">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_121">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
+<TR><TD>slk_attron()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_118">Switch_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
+<TR><TD>slk_attrset()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_119">Set_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_clear()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_115">Clear_Soft_Label_Keys</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_color()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_122">Set_Soft_Label_Key_Color</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_init()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_109">Init_Soft_Label_Keys</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_clear()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_115">Clear_Soft_Label_Keys</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_color()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_122">Set_Soft_Label_Key_Color</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_init()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_109">Init_Soft_Label_Keys</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
@@ -285,7 +286,6 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>top_row()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_16">Top_Row</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>touchline()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_75">Touch</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
 <TR><TD>touchwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_74">Touch</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
 <TR><TD>top_row()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_16">Top_Row</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>touchline()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_75">Touch</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
 <TR><TD>touchwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_74">Touch</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
-<TR><TD>_tracef()</TD><TD><A HREF="terminal_interface-curses-trace__ads.htm#AFU_2">Trace_Put</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
 <TR><TD>trace()</TD><TD><A HREF="terminal_interface-curses-trace__ads.htm#AFU_1">Trace_on</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
 <TR><TD>unctrl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_127">Un_Control</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
 <TR><TD>unctrl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_128">Un_Control</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
 <TR><TD>trace()</TD><TD><A HREF="terminal_interface-curses-trace__ads.htm#AFU_1">Trace_on</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
 <TR><TD>unctrl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_127">Un_Control</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
 <TR><TD>unctrl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_128">Un_Control</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
@@ -295,16 +295,16 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>update_panels()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_6">Update_Panels</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>use_default_colors()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_155">Use_Default_Colors</A></TD><TD><A HREF="../man/default_colors.3x.html">default_colors.3x</A></TD></TR>
 <TR><TD>use_extended_names()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_158">Use_Extended_Names</A></TD><TD><A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></TD></TR>
 <TR><TD>update_panels()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_6">Update_Panels</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>use_default_colors()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_155">Use_Default_Colors</A></TD><TD><A HREF="../man/default_colors.3x.html">default_colors.3x</A></TD></TR>
 <TR><TD>use_extended_names()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_158">Use_Extended_Names</A></TD><TD><A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></TD></TR>
-<TR><TD>waddchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_23">Add</A></TD><TD><A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></TD></TR>
 <TR><TD>waddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_8">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
 <TR><TD>waddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_8">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
+<TR><TD>waddchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_23">Add</A></TD><TD><A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></TD></TR>
 <TR><TD>waddnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_21">Add</A></TD><TD><A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></TD></TR>
 <TR><TD>wattr_get()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_35">Get_Character_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wattr_get()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_36">Get_Character_Attribute</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wattron()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_33">Switch_Character_Attribute</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wattrset()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_34">Set_Character_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>waddnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_21">Add</A></TD><TD><A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></TD></TR>
 <TR><TD>wattr_get()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_35">Get_Character_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wattr_get()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_36">Get_Character_Attribute</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wattron()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_33">Switch_Character_Attribute</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wattrset()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_34">Set_Character_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
+<TR><TD>wbkgd()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_71">Change_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
 <TR><TD>wbkgdget()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_72">Get_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
 <TR><TD>wbkgdset()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_70">Set_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
 <TR><TD>wbkgdget()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_72">Get_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
 <TR><TD>wbkgdset()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_70">Set_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
-<TR><TD>wbkgd()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_71">Change_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
 <TR><TD>wborder()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_25">Border</A></TD><TD><A HREF="../man/curs_border.3x.html">curs_border.3x</A></TD></TR>
 <TR><TD>wchgat()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_38">Change_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wclear()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_67">Clear</A></TD><TD><A HREF="../man/curs_clear.3x.html">curs_clear.3x</A></TD></TR>
 <TR><TD>wborder()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_25">Border</A></TD><TD><A HREF="../man/curs_border.3x.html">curs_border.3x</A></TD></TR>
 <TR><TD>wchgat()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_38">Change_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wclear()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_67">Clear</A></TD><TD><A HREF="../man/curs_clear.3x.html">curs_clear.3x</A></TD></TR>
@@ -319,8 +319,8 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>wgetch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_29">Get_Keystroke</A></TD><TD><A HREF="../man/curs_getch.3x.html">curs_getch.3x</A></TD></TR>
 <TR><TD>wgetnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_107">Get</A></TD><TD><A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></TD></TR>
 <TR><TD>whline()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_27">Horizontal_Line</A></TD><TD><A HREF="../man/curs_border.3x.html">curs_border.3x</A></TD></TR>
 <TR><TD>wgetch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_29">Get_Keystroke</A></TD><TD><A HREF="../man/curs_getch.3x.html">curs_getch.3x</A></TD></TR>
 <TR><TD>wgetnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_107">Get</A></TD><TD><A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></TD></TR>
 <TR><TD>whline()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_27">Horizontal_Line</A></TD><TD><A HREF="../man/curs_border.3x.html">curs_border.3x</A></TD></TR>
-<TR><TD>winchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_105">Peek</A></TD><TD><A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></TD></TR>
 <TR><TD>winch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_97">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
 <TR><TD>winch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_97">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
+<TR><TD>winchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_105">Peek</A></TD><TD><A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></TD></TR>
 <TR><TD>winnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_103">Peek</A></TD><TD><A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></TD></TR>
 <TR><TD>winsch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_99">Insert</A></TD><TD><A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></TD></TR>
 <TR><TD>winsdelln()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_82">Insert_Delete_Lines</A></TD><TD><A HREF="../man/curs_deleteln.3x.html">curs_deleteln.3x</A></TD></TR>
 <TR><TD>winnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_103">Peek</A></TD><TD><A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></TD></TR>
 <TR><TD>winsch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_99">Insert</A></TD><TD><A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></TD></TR>
 <TR><TD>winsdelln()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_82">Insert_Delete_Lines</A></TD><TD><A HREF="../man/curs_deleteln.3x.html">curs_deleteln.3x</A></TD></TR>
index ffc115de1e66134510b3935c4b4f0d9b6e4a9ed1..694848a1e939642f9eda9a2143b928f7e5102bbc 100644 (file)
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <!--
 <!--
-  $Id: announce.html,v 1.56 2013/05/17 23:34:26 tom Exp $
+  @Id: announce.html.in,v 1.90 2015/08/08 18:39:58 tom Exp @
   ****************************************************************************
   ****************************************************************************
-  * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2013,2015 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            *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
   * authorization.                                                           *
   ****************************************************************************
 -->
   * authorization.                                                           *
   ****************************************************************************
 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
 <html>
 <head>
   <meta name="generator" content=
 
 <html>
 <head>
   <meta name="generator" content=
-  "HTML Tidy for Linux/x86 (vers 6 November 2007), see www.w3.org">
+  "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
 
 
-  <title>Announcing ncurses 5.9</title>
+  <title>Announcing ncurses 6.0</title>
   <link rev="made" href="mailto:bug-ncurses@gnu.org">
   <meta http-equiv="Content-Type" content=
   "text/html; charset=us-ascii">
   <link rev="made" href="mailto:bug-ncurses@gnu.org">
   <meta http-equiv="Content-Type" content=
   "text/html; charset=us-ascii">
+  <style type="text/css">
+p,li { max-width:700px; }
+  dd { max-width:630px; }
+  </style>
 </head>
 
 <body>
 </head>
 
 <body>
-  <h1>Announcing ncurses 5.9</h1>The ncurses (new curses)
-  library is a free software emulation of curses in System V
-  Release 4.0, and more. It uses terminfo format, supports pads and
+  <h1 class="no-header">Announcing ncurses 6.0</h1>
+
+  <h2><a name="h2-overview" id="h2-overview">Overview</a></h2>
+
+  <p>The <em class="small-caps">ncurses</em> (new curses) library
+  is a free software emulation of curses in System V Release 4.0
+  (SVr4), and more. It uses terminfo format, supports pads and
   color and multiple highlights and forms characters and
   color and multiple highlights and forms characters and
-  function-key mapping, and has all the other SYSV-curses
-  enhancements over BSD curses.
+  function-key mapping, and has all the other SVr4-curses
+  enhancements over BSD curses. SVr4 curses is better known today
+  as X/Open Curses.</p>
 
   <p>In mid-June 1995, the maintainer of 4.4BSD curses declared
   that he considered 4.4BSD curses obsolete, and encouraged the
 
   <p>In mid-June 1995, the maintainer of 4.4BSD curses declared
   that he considered 4.4BSD curses obsolete, and encouraged the
-  keepers of Unix releases such as BSD/OS, FreeBSD and NetBSD to
-  switch over to ncurses.</p>
+  keepers of <em class="small-caps">unix</em> releases such as
+  BSD/OS, FreeBSD and NetBSD to switch over to <em class=
+  "small-caps">ncurses</em>.</p>
+
+  <p>Since 1995, <em class="small-caps">ncurses</em> has been
+  ported to many systems:</p>
+
+  <ul>
+    <li>It is used in almost every system based on the Linux kernel
+    (aside from some embedded applications).</li>
+
+    <li>It is used as the system curses library on OpenBSD, FreeBSD
+    and OSX.</li>
 
 
-  <p>The ncurses code was developed under GNU/Linux. It has been in
-  use for some time with OpenBSD as the system curses library, and
-  on FreeBSD and NetBSD as an external package. It should port
-  easily to any ANSI/POSIX-conforming UNIX. It has even been ported
-  to OS/2 Warp!</p>
+    <li>It is used in environments such as Cygwin and MinGW. The
+    first of these was EMX on OS/2 Warp.</li>
+
+    <li>It is used (though usually not as the <em>system</em>
+    curses) on all of the vendor <em class="small-caps">unix</em>
+    systems, e.g., AIX, HP-UX, IRIX64, SCO, Solaris, Tru64.</li>
+
+    <li>It should work readily on any ANSI/POSIX-conforming
+    <em class="small-caps">unix</em>.</li>
+  </ul>
 
   <p>The distribution includes the library and support utilities,
 
   <p>The distribution includes the library and support utilities,
-  including a terminfo compiler tic(1), a decompiler infocmp(1),
-  clear(1), tput(1), tset(1), and a termcap conversion tool
-  captoinfo(1). Full manual pages are provided for the library and
-  tools.</p>
-
-  <p>The ncurses distribution is available via anonymous FTP at the
-  GNU distribution site <a href=
-  "ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</a>&nbsp;.<br>
-
-  It is also available at <a href=
-  "ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a>&nbsp;.</p>
-
-  <h1>Release Notes</h1>This release is designed to be upward
-  compatible from ncurses 5.0 through 5.8; very few applications
-  will require recompilation, depending on the platform. These are
-  the highlights from the change-log since ncurses 5.8 release.
-  <p>
-  This is a bug-fix release, correcting a small number of urgent problems
-  in the ncurses library from the 5.8 release.
-  <p>
-  It also improves the Ada95 binding:
-  <ul>
-  <li>fixes a longstanding portability problem with its use of the
-      <a href="http://invisible-island.net/ncurses/man/form_fieldtype.3x">set_field_type</a>
-      function.  Because that function uses variable-length argument lists,
-      its interface with gnat does not work with certain platforms.
-  <li>improves configurability and portability, particularly when built
-      separately from the main ncurses tree.  The 5.8 release introduced
-      scripts which can be used to construct separate tarballs for the
-      Ada95 and ncurses examples.
-      <p>Those were a proof of concept.  For the 5.9 release, those
-      scripts are augmented with rpm- and dpkg-scripts used in test builds
-      against a variety of gnat- and system ncurses versions as old as
-      gnat 3.15 and ncurses 5.4 (see snapshots and systems tested
-      <a href="http://invisible-island.net/ncurses/ncurses-Ada95.html">here</a>.
-  <li>additional improvements were made for portability of the
-      ncurses examples, adding rpm- and dpkg-scripts for test-builds.
-      See 
-      <a href="http://invisible-island.net/ncurses/ncurses-examples.html">this page</a>
-      for snapshots and other information.
-  </ul>
-
-  <h1>Features of Ncurses</h1>The ncurses package is fully
-  compatible with SVr4 (System V Release 4) curses:
-
-  <ul>
-    <li>All 257 of the SVr4 calls have been implemented (and are
-    documented).</li>
-
-    <li>Full support for SVr4 curses features including keyboard
-    mapping, color, forms-drawing with ACS characters, and
-    automatic recognition of keypad and function keys.</li>
-
-    <li>An emulation of the SVr4 panels library, supporting a stack
-    of windows with backing store, is included.</li>
-
-    <li>An emulation of the SVr4 menus library, supporting a
-    uniform but flexible interface for menu programming, is
-    included.</li>
-
-    <li>An emulation of the SVr4 form library, supporting data
-    collection through on-screen forms, is included.</li>
-
-    <li>Binary terminfo entries generated by the ncurses tic(1)
-    implementation are bit-for-bit-compatible with the entry format
-    SVr4 curses uses.</li>
-
-    <li>The utilities have options to allow you to filter terminfo
-    entries for use with less capable
-    <strong>curses</strong>/<strong>terminfo</strong> versions such
-    as the HP/UX and AIX ports.</li>
-  </ul>The ncurses package also has many useful extensions over
-  SVr4:
-
-  <ul>
-    <li>The API is 8-bit clean and base-level conformant with the
-    X/OPEN curses specification, XSI curses (that is, it implements
-    all BASE level features, and most EXTENDED features). It
-    includes many function calls not supported under SVr4 curses
-    (but portability of all calls is documented so you can use the
-    SVr4 subset only).</li>
-
-    <li>Unlike SVr3 curses, ncurses can write to the
-    rightmost-bottommost corner of the screen if your terminal has
-    an insert-character capability.</li>
-
-    <li>Ada95 and C++ bindings.</li>
-
-    <li>Support for mouse event reporting with X Window xterm and
-    FreeBSD and OS/2 console windows.</li>
-
-    <li>Extended mouse support via Alessandro Rubini's gpm
-    package.</li>
-
-    <li>The function <code>wresize</code> allows you to resize
-    windows, preserving their data.</li>
-
-    <li>The function <code>use_default_colors</code> allows you to
-    use the terminal's default colors for the default color pair,
-    achieving the effect of transparent colors.</li>
-
-    <li>The functions <code>keyok</code> and
-    <code>define_key</code> allow you to better control the use of
-    function keys, e.g., disabling the ncurses KEY_MOUSE, or by
-    defining more than one control sequence to map to a given key
-    code.</li>
-
-    <li>Support for 256-color terminals, such as modern xterm, when
-    configured using the <code>--enable-ext-colors</code>
-    option.</li>
-
-    <li>Support for 16-color terminals, such as <em>aixterm</em>
-    and <em>modern xterm</em>.</li>
-
-    <li>Better cursor-movement optimization. The package now
-    features a cursor-local-movement computation more efficient
-    than either BSD's or System V's.</li>
-
-    <li>Super hardware scrolling support. The screen-update code
-    incorporates a novel, simple, and cheap algorithm that enables
-    it to make optimal use of hardware scrolling, line-insertion,
-    and line-deletion for screen-line movements. This algorithm is
-    more powerful than the 4.4BSD curses <code>quickch</code>
-    routine.</li>
-
-    <li>Real support for terminals with the magic-cookie glitch.
-    The screen-update code will refrain from drawing a highlight if
-    the magic- cookie unattributed spaces required just before the
-    beginning and after the end would step on a non-space
-    character. It will automatically shift highlight boundaries
-    when doing so would make it possible to draw the highlight
-    without changing the visual appearance of the screen.</li>
-
-    <li>It is possible to generate the library with a list of
-    pre-loaded fallback entries linked to it so that it can serve
-    those terminal types even when no terminfo tree or termcap file
-    is accessible (this may be useful for support of
-    screen-oriented programs that must run in single-user
-    mode).</li>
+  including</p>
+
+  <ul>
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/captoinfo.1m.html">captoinfo</a>,
+    a termcap conversion tool</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/clear.1.html">clear</a>,
+    utility for clearing the screen</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/infocmp.1m.html">infocmp</a>,
+    the terminfo decompiler</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/tabs.1.html">tabs</a>,
+    set tabs on a terminal</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/tic.1m.html">tic</a>,
+    the terminfo compiler</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/toe.1m.html">toe</a>,
+    list (table of) terminfo entries</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/tput.1.html">tput</a>,
+    utility for retrieving terminal capabilities in shell
+    scripts</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/tset.1.html">tset</a>,
+    to initialize the terminal</li>
+  </ul>
+
+  <p>Full manual pages are provided for the library and tools.</p>
+
+  <p>The <em class="small-caps">ncurses</em> distribution is
+  available via anonymous FTP at the GNU distribution site</p>
+
+  <blockquote>
+    <p><a href=
+    "ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</a>&nbsp;.</p>
+  </blockquote>It is also available at
+
+  <blockquote>
+    <p><a href=
+    "ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a>&nbsp;.</p>
+  </blockquote>
+
+  <h2><a name="h2-release-notes" id="h2-release-notes">Release
+  Notes</a></h2>
+
+  <p>These notes are for <em class="small-caps">ncurses</em>
+  6.0, released <strong>August 8, 2015</strong>.</p>
+
+  <p>This release is designed to be source-compatible with
+  <em class="small-caps">ncurses</em> 5.0 through 5.9; providing a
+  new application binary interface (ABI). Although the source can
+  still be configured to support the <em class=
+  "small-caps">ncurses</em> 5 ABI, the intent of the release is to
+  provide extensions which are generally useful, but
+  binary-incompatible with <em class="small-caps">ncurses</em>
+  5:</p>
+
+  <ul>
+    <li>
+      <p>Extend the <code>cchar_t</code> structure to allow more
+      than 16 colors to be encoded.</p>
+    </li>
+
+    <li>
+      <p>Modify the encoding of mouse state to make room for a 5th
+      mouse button. That allows one to use <em class=
+      "small-caps">ncurses</em> with a wheel mouse with xterm or
+      similar X terminal emulators.</p>
+    </li>
+  </ul>
+
+  <p>There are, of course, numerous other improvements,
+  including</p>
+
+  <ul>
+    <li>
+      <p>fixes made based on the Clang and Coverity static
+      analyzers.</p>
+    </li>
+
+    <li>
+      <p>memory leak fixes using Valgrind</p>
+    </li>
+  </ul>
+
+  <p>The release notes mention some bug-fixes, but are focused on
+  new features and improvements to existing features log since
+  <em class="small-caps">ncurses</em> 5.9 release.</p>
+
+  <p>While the intent of the release is to provide a new stable
+  ABI, there are other development activities which are summarized
+  below.</p>
+
+  <ul>
+    <li>
+      <p>The original release plan, e.g., for "5.10" was to improve
+      the MinGW port. Ultimately that was completed (wide-character
+      support, mouse, etc), but was deferred to focus on termcap
+      support and performance issues. Also, pinpointing the
+      problems with <code>Console2</code> took a while.</p>
+    </li>
+
+    <li>
+      <p>A review of termcap compatibility in 2011 led to several
+      minor fixes in the library and improvements to utilities. To
+      do this properly, a review of the various extent termcap
+      implementations was needed.</p>
+
+      <p>The <a href=
+      "http://invisible-island.net/ncurses/tctest.html">termcap
+      library checker (tctest)</a> (not part of <em class=
+      "small-caps">ncurses</em>) was one result. A followup review
+      of performance using <a href=
+      "http://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a>
+      in 2014 led to additional improvements.</p>
+    </li>
+
+    <li>
+      <p>Output buffering provided a further, but worthwhile
+      distraction. A bug report in 2012 regarding the use of signal
+      handlers in <em class="small-caps">ncurses</em>) pointed out
+      <a href=
+      "http://lists.gnu.org/archive/html/bug-ncurses/2012-07/msg00029.html">
+      a problem</a> with the use of unsafe functions for handling
+      <code>SIGTSTP</code>. Other signals could be addressed with
+      workarounds; repairing <code>SIGTSTP</code> required a
+      different approach. The solution required changing internal
+      behavior of the library: how it handles output buffering.</p>
+
+      <p>Now <em class="small-caps">ncurses</em> buffers its own
+      output, independently of the standard output. A few
+      applications relied upon the library's direct reuse of the
+      standard output buffering; however that is
+      <em>unspecified</em> behavior and has never been a
+      recommended practice. Identifying these applications as well
+      as refining the change to permit low-level applications to
+      work consistently took time.</p>
+    </li>
+
+    <li>
+      <p>Since the introduction of the experimental support for 256
+      colors early in <a href=
+      "http://invisible-island.net/ncurses/NEWS.html#t20050101">2005</a>
+      (released in <a href=
+      "http://invisible-island.net/ncurses/announce-5.5.html">ncurses
+      5.5</a>), there has been increased user interest. Almost all
+      packagers continue providing the ncurses ABI 5 which cannot
+      support 256 colors.</p>
+    </li>
+
+    <li>
+      <p>Symbol versioning, or the lack of it in ncurses, is the
+      main reason why packagers would be reluctant to add a new
+      ncurses ABI.</p>
+
+      <p>This release provides the new ABI along with
+      script-generated lists of versioned symbols which can be used
+      for both ABI 5 and 6 (with distinct names to keep the two
+      separate). This took time to development, as reported in
+      <a href=
+      "http://invisible-island.net/ncurses/ncurses-mapsyms.html">Symbol
+      versioning in <em class="small-caps">ncurses</em></a>.</p>
+    </li>
+  </ul>
+
+  <h3><a name="h3-library" id="h3-library">Library
+  improvements</a></h3>
+
+  <h3><a name="h3-lib-setbuf" id="h3-lib-setbuf">Output
+  buffering</a></h3>
+
+  <p>X/Open curses provides more than one initialization
+  function:</p>
+
+  <ul>
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-initscr">
+    initscr</a> (the simplest) accepts no parameters.</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-newterm">
+    newterm</a> accepts parameters for the stream input and
+    output</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Initialization">
+    setupterm</a> (the low-level function) accepts a parameter for
+    the <em>file descriptor</em> of the output.</li>
+  </ul>
+
+  <p>They are documented in X/Open <em>as if</em>
+  <code>initscr</code> calls <code>newterm</code> using
+  <code>stdout</code> for output stream, and in turn
+  <code>newterm</code> calls <code>setupterm</code> using
+  <code>fileno(stdout)</code> for the file descriptor. As long as
+  an implementation acts <em>as if</em> it does this, it conforms.
+  In practice, implementations do what is implied. This creates a
+  problem: the low-level <code>setupterm</code> function's file
+  descriptor is unbuffered, while <code>newterm</code> implies
+  buffered output. X/Open Curses says that all output is done
+  through the file descriptor, and does not say how the output
+  stream is actually used.</p>
+
+  <p>Initially, <em class="small-caps">ncurses</em> used the file
+  descriptor (obtained from the output stream passed to
+  <code>newterm</code>) for changing the terminal modes, and relied
+  upon the output parameter of <code>newterm</code> for buffered
+  output. Later (to avoid using unsafe buffered I/O in signal
+  handlers), <em class="small-caps">ncurses</em> was modified to
+  use the file descriptor (unbuffered output) when cleaning up on
+  receipt of a signal. Otherwise (when not handling a signal), it
+  continued to use the buffered output.</p>
+
+  <p>That approach worked reasonably well and as a side effect,
+  using the same buffered output as an application might use for
+  <code>printf</code> meant that no flushing was needed when
+  switching between normal- and screen-modes.</p>
+
+  <p>There were a couple of problems:</p>
+
+  <ul>
+    <li>
+      <p>to get good performance, curses (not only <em class=
+      "small-caps">ncurses</em>, but SVr4 curses in general) set an
+      output buffer using <code>setbuf</code> or similar function.
+      There is no standard (or portable) way to turn that output
+      buffer off, and revert to line-buffering. The <code><a href=
+      "http://invisible-island.net/ncurses/man/ncurses.3x.html#h3-NCURSES_NO_SETBUF">
+      NCURSES_NO_SETBUF</a></code> environment variable did make it
+      optional.</p>
+    </li>
+
+    <li>
+      <p>to handle <code>SIGTSTP</code> (the &ldquo;stop&rdquo;
+      signal), <em class="small-caps">ncurses</em> relied upon
+      unsafe functions. That is, due to the complexity of the
+      feature, it relied upon reusing existing functions which
+      should not have been called via the signal handler.</p>
+    </li>
+  </ul>
+
+  <p>Conveniently, solving the second problem (by making <em class=
+  "small-caps">ncurses</em> do its <em>own</em> output buffering)
+  also fixed the first one. But there were special cases to
+  resolve: <a href=
+  "http://invisible-island.net/ncurses/man/curs_terminfo.3x.html"><em>
+  low-level</em></a> functions such as mvcur, putp, vidattr
+  explicitly use the standard output. Those functions were reused
+  internally, and required modification to distinguish whether they
+  were used by the high-level or low-level interfaces.</p>
+
+  <p>Finally, there may still be a few programs which should be
+  modified to improve their portability, e.g., adding an</p>
+
+  <blockquote>
+    <pre class="code-block">
+fflush(stdout);
+</pre>
+  </blockquote>
+
+  <p>when switching from &ldquo;<a href=
+  "http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-reset_prog_mode_-reset_shell_mode">shell</a>&rdquo;
+  mode to &ldquo;<a href=
+  "http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-reset_prog_mode_-reset_shell_mode">program</a>&rdquo;
+  (curses) mode. Those are fairly rare because most programmers
+  have learned not to mix <code>printf</code> and <code><a href=
+  "http://invisible-island.net/ncurses/man/curs_printw.3x.html">printw</a></code>.</p>
+
+  <h3><a name="h3-lib-versioning" id="h3-lib-versioning">Symbol
+  versioning</a></h3>
+
+  <p>This release introduces symbol-versioning to <em class=
+  "small-caps">ncurses</em> because without it, the change of ABI
+  would be less successful. A lengthy discussion will be presented
+  in <a href=
+  "http://invisible-island.net/ncurses/ncurses-mapsyms.html">Symbol
+  versioning in <em class="small-caps">ncurses</em></a>. These
+  notes summarize what has changed, and what can be done with the
+  new release.</p>
+
+  <p>Symbol-versioning allows the developers of a library to mark
+  each public symbol (both data and functions) with an identifier
+  denoting the library name and the version for which it was built.
+  By doing this, users of the library have a way to help ensure
+  that applications do not accidentally load an incompatible
+  library. In addition, private symbols can be hidden entirely.</p>
+
+  <p>This release provides sample files for the four principal
+  configurations of <em class="small-caps">ncurses</em> libraries:
+  <code>ncurses</code>, <code>ncursesw</code>,
+  <code>ncursest</code> and <code>ncursestw</code>. Each sample is
+  given in two forms:</p>
+
+  <blockquote>
+    <dl>
+      <dt>&ldquo;<code>.map</code>&rdquo;</dt>
+
+      <dd>These list all public symbols, together with version
+      names.</dd>
+
+      <dt>&ldquo;<code>.sym</code>&rdquo;</dt>
+
+      <dd>These list all public symbols, without version
+      names.</dd>
+    </dl>
+  </blockquote>
+
+  <p>The sample files are <em>generated</em> by scripts which take
+  into account a few special cases such as <a href=
+  "http://invisible-island.net/ncurses/tack.html">tack</a> to omit
+  many of the <em class="small-caps">ncurses</em> private symbols
+  (beginning with &ldquo;<code>_nc_</code>&rdquo;). Here are
+  counts of globals versus locals:</p>
+
+  <blockquote>
+    <table border="1" summary="Total global and local symbols">
+      <tr>
+        <th>Config</th>
+
+        <th>Symbols</th>
+
+        <th>Globals</th>
+
+        <th>Locals</th>
+
+        <th>"_nc_"</th>
+      </tr>
+
+      <tr>
+        <td>ncurses</td>
+
+        <td align="right">976</td>
+
+        <td align="right">796</td>
+
+        <td align="right">180</td>
+
+        <td align="right">332</td>
+      </tr>
+
+      <tr>
+        <td>ncursesw</td>
+
+        <td align="right">1089</td>
+
+        <td align="right">905</td>
+
+        <td align="right">184</td>
+
+        <td align="right">343</td>
+      </tr>
+
+      <tr>
+        <td>ncursest</td>
+
+        <td align="right">979</td>
+
+        <td align="right">804</td>
+
+        <td align="right">175</td>
+
+        <td align="right">358</td>
+      </tr>
+
+      <tr>
+        <td>ncursestw</td>
+
+        <td align="right">1098</td>
+
+        <td align="right">914</td>
+
+        <td align="right">184</td>
+
+        <td align="right">372</td>
+      </tr>
+    </table>
+  </blockquote>
+
+  <p>Although only four sample configurations are presented, each
+  is formed by merging symbols from several combinations of
+  configure-script options, taking into account advice from
+  downstream packagers. Because they are formed by merging, the
+  sample files may list a symbol which is not in a given package.
+  That is expected. The samples have been tested and are working
+  with systems (such as Fedora, FreeBSD and Debian) which fully
+  support this feature. There are other systems which do
+  <em>not</em> support the feature, and a few (such as Solaris)
+  which provide incomplete support.</p>
+
+  <p>The version-naming convention used allows these sample files
+  to build distinct libraries for ABI 5 and 6. Version names
+  consist of</p>
+
+  <ul>
+    <li>
+      <p>configuration name, e.g.,
+      &ldquo;<code>NCURSESW</code>&rdquo; for the wide-character
+      libraries</p>
+    </li>
+
+    <li>
+      <p>ABI version (if not 5)</p>
+    </li>
+
+    <li>
+      <p>library name for two special cases which have the same
+      interface across configurations:
+      &ldquo;<code>TINFO</code>&rdquo; and
+      &ldquo;<code>TIC</code>&rdquo;</p>
+    </li>
+
+    <li>
+      <p>release version</p>
+    </li>
+
+    <li>
+      <p>patch date (for the release version)</p>
+    </li>
+  </ul>
+
+  <p>For example, running <code>nm -D</code> on the libraries in
+  the ncurses6 test package shows these symbol-versions:</p>
+
+  <blockquote>
+    <pre class="code-block">
+0000000000000000 A NCURSES6_TIC_5.0.19991023
+0000000000000000 A NCURSES6_TIC_5.1.20000708
+0000000000000000 A NCURSES6_TIC_5.5.20051010
+0000000000000000 A NCURSES6_TIC_5.7.20081102
+0000000000000000 A NCURSES6_TIC_5.9.20150530
+0000000000000000 A NCURSES6_TINFO_5.0.19991023
+0000000000000000 A NCURSES6_TINFO_5.1.20000708
+0000000000000000 A NCURSES6_TINFO_5.2.20001021
+0000000000000000 A NCURSES6_TINFO_5.3.20021019
+0000000000000000 A NCURSES6_TINFO_5.4.20040208
+0000000000000000 A NCURSES6_TINFO_5.5.20051010
+0000000000000000 A NCURSES6_TINFO_5.6.20061217
+0000000000000000 A NCURSES6_TINFO_5.7.20081102
+0000000000000000 A NCURSES6_TINFO_5.8.20110226
+0000000000000000 A NCURSES6_TINFO_5.9.20150530
+0000000000000000 A NCURSESW6_5.1.20000708
+0000000000000000 A NCURSESW6_5.3.20021019
+0000000000000000 A NCURSESW6_5.4.20040208
+0000000000000000 A NCURSESW6_5.5.20051010
+0000000000000000 A NCURSESW6_5.6.20061217
+0000000000000000 A NCURSESW6_5.7.20081102
+0000000000000000 A NCURSESW6_5.8.20110226
+0000000000000000 A NCURSESW6_5.9.20150530
+</pre>
+  </blockquote>
+
+  <p>As a special case, this release (which makes the final change
+  for ABI 5) is marked with release version 5.9 and patch date
+  20150530.</p>
+
+  <h3><a name="h3-lib-other" id=
+  "h3-lib-other">Miscellaneous</a></h3>
 
 
-    <li>The tic(1)/captoinfo utility provided with ncurses has the
-    ability to translate many termcaps from the XENIX, IBM and
-    AT&amp;T extension sets.</li>
-
-    <li>A BSD-like tset(1) utility is provided.</li>
-
-    <li>The ncurses library and utilities will automatically read
-    terminfo entries from $HOME/.terminfo if it exists, and compile
-    to that directory if it exists and the user has no write access
-    to the system directory. This feature makes it easier for users
-    to have personal terminfo entries without giving up access to
-    the system terminfo directory.</li>
-
-    <li>You may specify a path of directories to search for
-    compiled descriptions with the environment variable
-    TERMINFO_DIRS (this generalizes the feature provided by
-    TERMINFO under stock System V.)</li>
-
-    <li>In terminfo source files, use capabilities may refer not
-    just to other entries in the same source file (as in System V)
-    but also to compiled entries in either the system terminfo
-    directory or the user's $HOME/.terminfo directory.</li>
-
-    <li>A script (<strong>capconvert</strong>) is provided to help
-    BSD users transition from termcap to terminfo. It gathers the
-    information in a TERMCAP environment variable and/or a
-    ~/.termcap local entries file and converts it to an equivalent
-    local terminfo tree under $HOME/.terminfo.</li>
-
-    <li>Automatic fallback to the /etc/termcap file can be compiled
-    in when it is not possible to build a terminfo tree. This
-    feature is neither fast nor cheap, you don't want to use it
-    unless you have to, but it's there.</li>
-
-    <li>The table-of-entries utility <strong>toe</strong> makes it
-    easy for users to see exactly what terminal types are available
-    on the system.</li>
-
-    <li>The library meets the XSI requirement that every macro
-    entry point have a corresponding function which may be linked
-    (and will be prototype-checked) if the macro definition is
-    disabled with <code>#undef</code>.</li>
-
-    <li>An HTML "Introduction to Programming with NCURSES" document
-    provides a narrative introduction to the curses programming
-    interface.</li>
-  </ul>
-
-  <h1>State of the Package</h1>Numerous bugs present in earlier
-  versions have been fixed; the library is far more reliable than
-  it used to be. Bounds checking in many `dangerous' entry points
-  has been improved. The code is now type-safe according to gcc
-  -Wall. The library has been checked for malloc leaks and arena
-  corruption by the Purify memory-allocation tester.
-
-  <p>The ncurses code has been tested with a wide variety of
-  applications including (versions starting with those noted):</p>
+  <p>The new release has several improvements for performance and
+  building. For instance:</p>
+
+  <ul>
+    <li>
+      <p>several files in ncurses- and progs-directories were
+      modified to allow <code>const</code> data used in internal
+      tables to be put by the linker into the readonly text
+      segment.</p>
+    </li>
+
+    <li>
+      <p>various improvements were made to building the Ada95
+      binding, both in simplifying the generated files as well as
+      improving the way it uses <code>gnatmake</code></p>
+    </li>
+  </ul>
+
+  <p>There are also new features in the libraries:</p>
+
+  <ul>
+    <li>added <a href=
+    "http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-use_tioctl">
+    use_tioctl</a> function</li>
+
+    <li>
+      <p>added <a href=
+      "http://invisible-island.net/ncurses/man/curs_opaque.3x.html">
+      wgetdelay</a> to retrieve _delay member of WINDOW if it
+      happens to be opaque, e.g., in the pthread configuration.</p>
+    </li>
+
+    <li>
+      <p>added <a href=
+      "http://invisible-island.net/ncurses/man/curs_attr.3x.html#h2-PORTABILITY">
+      A_ITALIC</a> extension.</p>
+    </li>
+
+    <li>
+      <p>added form library extension <a href=
+      "http://invisible-island.net/ncurses/man/form_field_opts.3x.html">
+      O_DYNAMIC_JUSTIFY</a> option which can be used to override
+      the different treatment of justification for static versus
+      dynamic fields .</p>
+    </li>
+
+    <li>
+      <p>rewrote <a href=
+      "http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-putwin_getwin">
+      putwin</a> and <a href=
+      "http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-putwin_getwin">
+      getwin</a>, making an extended version which is capable of
+      reading screen-dumps between the wide/normal <em class=
+      "small-caps">ncurses</em> configurations. These are text
+      files, except for a <em>magic</em> code at the beginning:</p>
+
+      <blockquote>
+        <pre class="code-block">
+0       string          \210\210        Screen-dump (ncurses)
+</pre>
+      </blockquote>
+    </li>
+
+    <li>
+      <p>several changes to mouse support include:</p>
+
+      <ul>
+        <li>added decoder for xterm SGR 1006 mouse mode.</li>
+
+        <li>added experimental support for
+        &ldquo;<code>%u</code>&rdquo; format to terminfo.</li>
+
+        <li>improved behavior of wheel-mice for xterm protocol:
+        noting that there are only button-presses for buttons
+        &ldquo;4&rdquo; and &ldquo;5&rdquo;, so there is no need to
+        wait to combine events into double-clicks .</li>
+      </ul>
+    </li>
+  </ul>
+
+  <p>There are a few new configure options dealing with library
+  customization:</p>
+
+  <ul>
+    <li>
+      <p>add &ldquo;<code>--enable-ext-putwin</code>&rdquo;
+      configure option to turn on the extended putwin/getwin. By
+      default, this is enabled for ABI 6 and disabled with ABI
+      5.</p>
+    </li>
+
+    <li>
+      <p>add &ldquo;<code>--enable-string-hacks</code>&rdquo;
+      option to control whether strlcat and strlcpy may be used.
+      Because <em class="small-caps">ncurses</em> already does the
+      requisite buffer-limit checks, this feature is mainly of
+      interest to quiet compiler-warnings on a few systems.</p>
+    </li>
+
+    <li>
+      <p>add configure option
+      &ldquo;<code>--with-tparm-arg</code>&rdquo; to allow <a href=
+      "http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Formatting-Output">
+      tparm</a>'s parameters to be something more likely to be the
+      same size as a pointer, e.g., <code>intptr_t</code> (again,
+      the default is set for ABI 6).</p>
+    </li>
+  </ul>
+
+  <h3><a name="h3-programs" id="h3-programs">Program
+  improvements</a></h3>
+
+  <h4><a name="h4-utilities" id="h4-utilities">Utilities</a></h4>
+
+  <p>Most of the termcap-related changes based on development of
+  <a href="http://invisible-island.net/ncurses/tctest.html">tctest
+  (termcap library checker)</a> are implemented in the tic and
+  infocmp programs rather than affecting the library. As noted in
+  the <a href=
+  "http://invisible-island.net/ncurses/tctest.html#my-better-translation">
+  discussion</a> of <code>tctest</code>, <em class=
+  "small-caps">ncurses</em>'s ability to translate between terminfo
+  and termcap formats has been improved at different times, but
+  subject to feedback from "real" termcap users. There are very few
+  of those. Nowadays, virtually all <em>termcap</em> users are
+  using <em class="small-caps">ncurses</em> (or NetBSD, with its
+  own terminfo library) and their programs are actually using
+  terminfo rather than termcap data.</p>
+
+  <p>Still, there are a few. A comment about the translation of the
+  ASCII <code>NUL</code> character prompted a review:</p>
+
+  <ul>
+    <li>
+      <p>Both terminfo and termcap store string capabilities as
+      <code>NUL</code>-terminated strings.</p>
+    </li>
+
+    <li>
+      <p>In terminfo, a <code>\0</code> in a terminal description
+      is stored as <code>\200</code>.</p>
+    </li>
+
+    <li>
+      <p>There are no (known) terminals which would behave
+      differently when sent <code>\0</code> or
+      <code>\200</code>.</p>
+    </li>
+
+    <li>
+      <p>When translating to terminfo format (or displaying a
+      printable version of an entry using infocmp), <em class=
+      "small-caps">ncurses</em> shows <code>\200</code> as
+      <code>\0</code>.</p>
+    </li>
+
+    <li>
+      <p>It has done this since 1998 (quoting from the NEWS
+      file):</p>
+
+      <blockquote>
+        <pre class="code-block">
+<a href=
+"http://invisible-island.net/ncurses/NEWS.html#t980103">980103</a>
+...
+        + modify _nc_tic_expand() to generate \0 rather than \200.
+...
+        + correct translation of terminfo "^@", to \200, like \0.
+</pre>
+      </blockquote>
+    </li>
+
+    <li>
+      <p>However, the <code>_nc_tic_expand</code> function (which
+      optionally produces terminfo or termcap format) did not
+      address this special case for termcap. Even the later 4.4BSD
+      <a href=
+      "https://svnweb.freebsd.org/base/head/lib/libc/gen/getcap.c?revision=244092&amp;view=markup#l784">
+      cgetstr</a> interprets a <code>\0</code> literally, ending
+      <em>that</em> string (rather than using the terminfo
+      improvement).</p>
+    </li>
+  </ul>
+
+  <p>As a result of the review, several improvements were made to
+  <em class="small-caps">ncurses</em> translation to/from termcap
+  format &mdash; and improving the checks made in tic for
+  consistency of entries. Most of these are not of general
+  interest, except for two new command-line options for tic and
+  infocmp:</p>
+
+  <ul>
+    <li>
+      <p>the &ldquo;<code>-0</code>&rdquo; option generates
+      termcap/terminfo source on a single line.</p>
+    </li>
+
+    <li>
+      <p>the &ldquo;<code>-K</code>&rdquo; option provides stricter
+      BSD-compatibility for termcap output.</p>
+    </li>
+  </ul>
+
+  <p>Other user-visible improvements and new features include:</p>
+
+  <ul>
+    <li>
+      <p>added &ldquo;<code>-D</code>&rdquo; option to tic and
+      infocmp, to show the database locations that it could
+      use.</p>
+    </li>
+
+    <li>
+      <p>added &ldquo;<code>-s</code>&rdquo; option to toe, to sort
+      its output.</p>
+    </li>
+
+    <li>
+      <p>extended &ldquo;<code>-c</code>&rdquo; and
+      &ldquo;<code>-n</code>&rdquo; options of infocmp to allow
+      comparing more than two entries.</p>
+    </li>
+
+    <li>
+      <p>modified toe's report when &ldquo;<code>-a</code>&rdquo;
+      and &ldquo;<code>-s</code>&rdquo; options are combined, to
+      add a column showing which entries belong to a given
+      database.</p>
+    </li>
+
+    <li>
+      <p>modified the clear program to take into account the
+      &ldquo;<code>E3</code>&rdquo; extended capability to clear
+      the terminal's scrollback buffer.</p>
+    </li>
+  </ul>
+
+  <h4><a name="h4-examples" id="h4-examples">Examples</a></h4>
+
+  <p>Along with the library and utilities, many improvements were
+  made to the <a href=
+  "http://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a>.
+  Some were made to allow building (and comparison-testing) against
+  NetBSD curses and PDCurses. Both lack some of the X/Open Curses
+  features, necessitating customization. But this activity was
+  useful because it showed some remaining performance issues (which
+  have been resolved in this release).</p>
+
+  <p>These changes were made to verify compatibility or compare
+  performance of <em class="small-caps">ncurses</em>:</p>
+
+  <ul>
+    <li>
+      <p>made workarounds for compiling test-programs with NetBSD
+      curses, though it lacks some common functions such as
+      <a href="http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-use_env">
+      use_env</a>.</p>
+    </li>
+
+    <li>
+      <p>added dots_termcap test-program</p>
+    </li>
+
+    <li>
+      <p>added dots_curses test-program, for comparison with the
+      low-level examples.</p>
+    </li>
+
+    <li>
+      <p>added test_setupterm test-proram to demonstrate
+      normal/error returns from the setupterm and restartterm
+      functions.</p>
+    </li>
+
+    <li>
+      <p>added &ldquo;<code>-d</code>&rdquo;,
+      &ldquo;<code>-e</code>&rdquo; and
+      &ldquo;<code>-q</code>&rdquo; options to the demo_terminfo
+      and demo_termcap test-programs.</p>
+    </li>
+
+    <li>
+      <p>added &ldquo;<code>-y</code>&rdquo; option to demo_termcap
+      and test/demo_terminfo test-programs to demonstrate behavior
+      with/without extended capabilities.</p>
+    </li>
+
+    <li>
+      <p>modified demo_termcap and demo_terminfo test-programs to
+      make their options more directly comparable, and add
+      &ldquo;<code>-i</code>&rdquo; option to specify a terminal
+      description filename to parse for names to lookup.</p>
+    </li>
+
+    <li>
+      <p>rewrote the tests for <a href=
+      "http://invisible-island.net/ncurses/man/curs_window.3x.html#h3-derwin">
+      mvderwin</a> and test for recursive <a href=
+      "http://invisible-island.net/ncurses/man/curs_window.3x.html#h3-mvwin">
+      mvwin</a> in the movewindow test-program.</p>
+    </li>
+  </ul>
+
+  <p>These changes were made to help with the MinGW port:</p>
+
+  <ul>
+    <li>
+      <p>added test-screens to the ncurses test-program to show
+      256-characters at a time, to help with MinGW port.</p>
+    </li>
+
+    <li>
+      <p>modified the view test-program to load UTF-8 when built
+      with MinGW by using regular win32 API because the MinGW
+      functions mblen and mbtowc do not work.</p>
+    </li>
+
+    <li>
+      <p>added &ldquo;<code>-s</code>&rdquo; option to the view
+      test-program to allow it to start in single-step mode,
+      reducing size of trace files when it is used for debugging
+      MinGW changes.</p>
+    </li>
+  </ul>
+
+  <p>These changes were made to verify new extensions in <em class=
+  "small-caps">ncurses</em>:</p>
+
+  <ul>
+    <li>
+      <p>added <a href=
+      "http://invisible-island.net/ncurses/man/form_driver.3x.html#h3-form_driver_w">
+      form_driver_w</a> entrypoint to wide-character forms library,
+      as well as form_driver_w test-program.</p>
+    </li>
+
+    <li>
+      <p>modified ncurses test-program's b/B tests to display lines
+      only for the attributes which a given terminal supports, to
+      make room for an italics test.</p>
+    </li>
+
+    <li>
+      <p>modified ncurses test-program, adding
+      &ldquo;<code>-E</code>&rdquo; and
+      &ldquo;<code>-T</code>&rdquo; options to demonstrate use_env
+      versus use_tioctl.</p>
+    </li>
+
+    <li>
+      <p>modified ncurses test-program's c/C tests to cycle through
+      subsets of the total number of colors, to better illustrate
+      8/16/88/256-colors by providing directly comparable
+      screens.</p>
+    </li>
+
+    <li>
+      <p>modified the ncurses test-program to also show position
+      reports in 'a' test.</p>
+    </li>
+  </ul>
+
+  <p>These changes were made to make the examples more useful:</p>
+
+  <ul>
+    <li>
+      <p>added scripts for building dpkg and rpm test-packages</p>
+    </li>
+
+    <li>
+      <p>modified the hanoi test-program to show the minimum number
+      of moves possible for the given number of tiles.</p>
+    </li>
+
+    <li>
+      <p>modified the knight test-program to show the number of
+      choices possible for each position in automove option, e.g.,
+      to allow user to follow Warnsdorff's rule to solve the
+      puzzle.</p>
+    </li>
+  </ul>
+
+  <h3><a name="h3-database" id="h3-database">Terminal
+  database</a></h3>
+
+  <p>This release provides improvements to tic's
+  &ldquo;<code>-c</code>&rdquo; checking option, which was used for
+  example to</p>
+
+  <ul>
+    <li>
+      <p>make <code>sgr</code> in several entries agree with other
+      caps.</p>
+    </li>
+
+    <li>
+      <p>correct padding in some entries where earlier versions had
+      miscounted the number of octal digits.</p>
+    </li>
+  </ul>
+
+  <p>There are several new terminal descriptions:</p>
+
+  <ul>
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#toc-_M_L_T_E_R_M">
+    mlterm</a> is now aliased to mlterm3</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#tic-nsterm">
+    nsterm</a> is now derived from nsterm-256color</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#tic-putty-sco">
+    putty-sco</a></li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#tic-teken">
+    teken</a> is FreeBSD's "xterm" console.</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#toc-_T_E_R_M_I_N_A_T_O_R">
+    terminator</a></li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#toc-_T_E_R_M_I_N_O_L_O_G_Y">
+    terminology</a></li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#tic-tmux">
+    tmux</a> is derived from screen.</li>
+
+    <li>several screen.XXX entries support the respective
+    variations for 256 colors.</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#toc-_S_I_M_P_L_E_T_E_R_M">
+    simpleterm</a> is now 0.5</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#tic-vte">
+    vte</a> is aliased to vte-2012</li>
+
+    <li><a href=
+    "http://invisible-island.net/ncurses/terminfo.src.html#tic-vt520ansi">
+    vt520ansi</a></li>
+  </ul>
+
+  <p>A few entries use extensions (user-defined terminal
+  capabilities):</p>
+
+  <ul>
+    <li>
+      <p><code>E3</code>, used in linux, putty and xterm-basic is
+      tested in the <a href=
+      "http://aerie.jexium-island.net/ncurses/man/clear.1.html">clear</a>
+      program to erase a terminal's scrollback.</p>
+    </li>
+
+    <li>
+      <p><code>TS</code> is used in the <a href=
+      "http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_sl">
+      xterm+sl</a> building block to help deprecate the misuse of
+      <code>tsl</code> for xterm's title-string.</p>
+    </li>
+
+    <li>
+      <p><code>XT</code> is used in some terminfo entries to
+      improve usefulness for other applications than screen, which
+      would like to pretend that xterm's title is a
+      status-line.</p>
+    </li>
+
+    <li>
+      <p><code>xm</code> is used in examples <a href=
+      "http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-1005">
+      xterm-1005</a> and <a href=
+      "http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-1006">
+      xterm-1006</a> to illustrate a way to make mouse handling
+      more general</p>
+    </li>
+  </ul>
+
+  <p>A few terminals support italics and/or dim capabilities. In
+  particular, screen does not. Documented that, and accommodated
+  the terminals where this feature works with the
+  <code>A_ITALIC</code> extension.</p>
+
+  <ul>
+    <li>konsole, mlterm3 (italics)</li>
+
+    <li>nsterm (dim)</li>
+
+    <li>screen (dim)</li>
+
+    <li>vte (dim, italics)</li>
+
+    <li>xterm (dim, italics)</li>
+  </ul>
+
+  <h3><a name="h3-documentation" id=
+  "h3-documentation">Documentation</a></h3>
+
+  <p>As usual, this release</p>
+
+  <ul>
+    <li>
+      <p>improves documentation by describing new features,</p>
+    </li>
+
+    <li>
+      <p>attempts to improve the description of features which
+      users have found confusing</p>
+    </li>
+
+    <li>
+      <p>fills in overlooked descriptions of features which were
+      described in the <a href=
+      "http://invisible-island.net/ncurses/NEWS.html">NEWS</a> file
+      but treated sketchily in manual pages.</p>
+    </li>
+  </ul>
+
+  <p>In addition, the mechanism for producing HTML versions of the
+  documentation has been improved:</p>
+
+  <ul>
+    <li>
+      <p>use an improved version of <a href=
+      "http://invisible-island.net/scripts/man2html.html">man2html</a>
+      to generate html manpages.</p>
+    </li>
+
+    <li>
+      <p>regenerated <a href=
+      "http://invisible-island.net/ncurses/NCURSES-Programming-HOWTO.html">
+      NCURSES-Programming-HOWTO.html</a> to fix some of the broken
+      html emitted by docbook.</p>
+    </li>
+  </ul>
+
+  <h3><a name="h3-bug-fixes" id="h3-bug-fixes">Interesting
+  bug-fixes</a></h3>
+
+  <ul>
+    <li>
+      <p>Ada95 binding:</p>
+
+      <ul>
+        <li>
+          <p>modify makefile rules to ensure that the PIC option is
+          not used when building a static library</p>
+        </li>
+
+        <li>
+          <p>make Ada95 build-fix for big-endian architectures such
+          as sparc. This undoes one of the fixes from <a href=
+          "http://invisible-island.net/ncurses/NEWS.html#t20110319">
+          20110319</a>, which added an
+          &ldquo;<code>Unused</code>&rdquo; member to
+          representation clauses, replacing that with pragmas to
+          suppress warnings about unused bits.</p>
+        </li>
+      </ul>
+    </li>
+
+    <li>
+      <p>Color and attributes:</p>
+
+      <ul>
+        <li>
+          <p>parenthesize parameter of <code>COLOR_PAIR</code> and
+          <code>PAIR_NUMBER</code> in curses.h in case it happens
+          to be a comma-expression.</p>
+        </li>
+
+        <li>
+          <p>improve <a href=
+          "http://invisible-island.net/ncurses/NEWS.html#t20021221">
+          20021221</a> workaround for broken acs, handling a case
+          where that ACS_<em>xxx</em> character is not in the
+          <code>acsc</code> string but there is a known
+          wide-character which can be used.</p>
+        </li>
+
+        <li>
+          <p>modify <a href=
+          "http://invisible-island.net/ncurses/man/curs_color.3x.html#h3-Routine-Descriptions">
+          init_pair</a> to accept -1's for color value after
+          <a href=
+          "http://invisible-island.net/ncurses/man/default_colors.3x.html">
+          assume_default_colors</a> has been called.</p>
+        </li>
+
+        <li>
+          <p>add a check in <a href=
+          "http://invisible-island.net/ncurses/man/curs_color.3x.html#h3-Routine-Descriptions">
+          start_color</a> to limit color-pairs to 256 when extended
+          colors are not supported.</p>
+        </li>
+      </ul>
+    </li>
+
+    <li>
+      <p>Resizing the screen:</p>
+
+      <ul>
+        <li>
+          <p>propagate error-returns from wresize, i.e., the
+          internal increase_size and decrease_size functions
+          through <a href=
+          "http://invisible-island.net/ncurses/man/resizeterm.3x.html">
+          resize_term</a>.</p>
+        </li>
+
+        <li>
+          <p>add check for zero/negative dimensions for
+          <code>resizeterm</code> and <code>resize_term</code>.</p>
+        </li>
+
+        <li>
+          <p>modify <code>resizeterm</code> to always push a
+          <code>KEY_RESIZE</code> onto the fifo, even if screensize
+          is unchanged. Modify library to push a
+          <code>KEY_RESIZE</code> if there was a SIGWINCH, even if
+          it does not call <code>resizeterm</code>). These changes
+          eliminate the case where a SIGWINCH is received, but ERR
+          is returned from <code>wgetch</code> or
+          <code>wgetnstr</code> because the screen dimensions did
+          not change.</p>
+        </li>
+      </ul>
+    </li>
+
+    <li>
+      <p>Low-level interfaces</p>
+
+      <ul>
+        <li>
+          <p>fix an old bug in the termcap emulation;
+          &ldquo;<code>%i</code>&rdquo; was ignored in
+          <code>tparm</code> because the parameters to be
+          incremented were already on the internal stack.</p>
+        </li>
+
+        <li>
+          <p>change &ldquo;<code>%l</code>&rdquo; behavior in tparm
+          to push the string length onto the stack rather than
+          saving the formatted length into the output buffer.</p>
+        </li>
+
+        <li>
+          <p>modify name-comparison for tgetstr, etc., to
+          accommodate legacy applications as well as to improve
+          compatbility with BSD 4.2 termcap implementations (see
+          note for <a href=
+          "http://invisible-island.net/ncurses/NEWS.html#t980725">980725</a>).</p>
+        </li>
+      </ul>
+    </li>
+
+    <li>High-level interfaces
+
+      <ul>
+        <li>
+          <p>modify internal recursion in <code>wgetch</code> which
+          handles cooked mode to check if the call to
+          <code>wgetnstr</code> returned an error. This can happen
+          when both <code>nocbreak</code> and <code>nodelay</code>
+          are set, for instance (see note for <a href=
+          "http://invisible-island.net/ncurses/NEWS.html#t960418">960418</a>).</p>
+        </li>
+
+        <li>
+          <p>add a check in internal function
+          <code>waddch_nosync</code> to ensure that tab characters
+          are treated as control characters; some broken locales
+          claim they are printable.</p>
+        </li>
+
+        <li>
+          <p>modify menu library to ensure that a menu's top-row is
+          adjusted as needed to ensure that the current item is on
+          the screen</p>
+        </li>
+
+        <li>
+          <p>fix special case where double-width character
+          overwrites a single- width character in the first
+          column.</p>
+        </li>
+      </ul>
+    </li>
+  </ul>
+
+  <h3><a name="h3-config-config" id=
+  "h3-config-config">Configuration changes</a></h3>
+
+  <h4><a name="h4-config-major" id="h4-config-major">Major
+  changes</a></h4>
+
+  <p>The <em class="small-caps">ncurses</em> 6.0 configure script
+  makes changes to the <em>default</em> value of several configure
+  options, depending on the <code>--with-abi-version</code> option
+  (i.e., whether its value is &ldquo;5&rdquo; or
+  &ldquo;6&rdquo;):</p>
 
   <dl>
 
   <dl>
-    <dt>cdk</dt>
+    <dt><code>--enable-const</code></dt>
+
+    <dd>
+      <p>Feature introduced in <a href=
+      "http://invisible-island.net/ncurses/NEWS.html#t970405">970405</a>
+      supports the use of <code>const</code> where X/Open Curses
+      should have, but did not. NetBSD curses does something
+      similar with <code>const</code>.</p>
+    </dd>
 
 
-    <dd>Curses Development Kit<br>
-    <a href=
-    "http://invisible-island.net/cdk/">http://invisible-island.net/cdk/</a><br>
+    <dt><code>--enable-ext-colors</code></dt>
 
 
-    <a href=
-    "http://www.vexus.ca/products/CDK/">http://www.vexus.ca/products/CDK/</a></dd>
+    <dd>
+      <p>Extends the <code>cchar_t</code> structure to allow more
+      than 16 colors to be encoded. This applies only to the
+      wide-character (<code>--enable-widec</code>)
+      configuration.</p>
+    </dd>
 
 
-    <dt>ded</dt>
+    <dt><code>--enable-ext-mouse</code></dt>
 
 
-    <dd>directory-editor<br>
-    <a href=
-    "http://invisible-island.net/ded/">http://invisible-island.net/ded/</a></dd>
+    <dd>
+      <p>Modifies the encoding of mouse state to make room for a
+      5th mouse button. That allows one to use ncurses with a wheel
+      mouse with xterm or similar X terminal emulators.</p>
+    </dd>
 
 
-    <dt>dialog</dt>
+    <dt><code>--enable-ext-putwin</code></dt>
+
+    <dd>
+      <p>Modifies the file-format written by <code>putwin</code> to
+      use printable text rather than binary files, allowing
+      <code>getwin</code> to read screen dumps written by
+      differently-configured ncurses libraries. The extended
+      <code>getwin</code> can still read binary screen dumps from
+      the <em>same</em> configuration of ncurses. This does not
+      change the ABI (the binary interface seen by calling
+      applications).</p>
+    </dd>
 
 
-    <dd>the underlying application used in Slackware's setup, and
-    the basis for similar applications on GNU/Linux.<br>
-    <a href=
-    "http://invisible-island.net/dialog/">http://invisible-island.net/dialog/</a></dd>
+    <dt><code>--enable-interop</code></dt>
 
 
-    <dt>lynx</dt>
+    <dd>