]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ANNOUNCE
ncurses 6.3 - patch 20220703
[ncurses.git] / ANNOUNCE
index 8bda60e2f074cc2ab7ca9afa82649525f969f0c5..0684b3dc41d7e5df96990f73f9201f4b40b7d747 100644 (file)
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,4 +1,4 @@
-                            Announcing ncurses 6.1
+                            Announcing ncurses 6.3
 
 Overview
 
@@ -17,7 +17,7 @@ Overview
      * 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.
+       MacOS.
      * 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
@@ -26,611 +26,274 @@ Overview
      * It should work readily on any ANSI/POSIX-conforming unix.
 
    The distribution includes the library and support utilities, including
-     * [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
+     * captoinfo, a termcap conversion tool
+     * clear, utility for clearing the screen
+     * infocmp, the terminfo decompiler
+     * tabs, set tabs on a terminal
+     * tic, the terminfo compiler
+     * toe, list (table of) terminfo entries
+     * tput,  utility  for  retrieving  terminal  capabilities  in  shell
        scripts
-     * [8]tset, to initialize the terminal
+     * tset, to initialize the terminal
 
    Full manual pages are provided for the library and tools.
 
-   The ncurses distribution is available at ncurses' [9]homepage:
+   The ncurses distribution is available at ncurses' homepage:
 
-     [10]ftp://ftp.invisible-island.net/ncurses/ or
-     [11]https://invisible-mirror.net/archives/ncurses/ .
+     ftp://ftp.invisible-island.net/ncurses/ or
+     https://invisible-mirror.net/archives/ncurses/ .
 
    It is also available via anonymous FTP at the GNU distribution site
 
-     [12]ftp://ftp.gnu.org/gnu/ncurses/ .
+     ftp://ftp.gnu.org/gnu/ncurses/ .
 
 Release Notes
 
-   These notes are for ncurses 6.1, released January 27, 2018.
+   These notes are for ncurses 6.3, released October 21, 2021.
 
    This  release  is  designed  to  be source-compatible with ncurses 5.0
-   through  6.0; providing extensions to the application binary interface
+   through  6.2; providing extensions to the 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 to
-   the ncurses 6 ABI:
-     * improve integration of tput and tset
-     * provide support for extended numeric capabilities.
+   ncurses  5  ABI, the reason for the release is to reflect improvements
+   to the ncurses 6 ABI and the supporting utility programs.
 
    There  are,  of  course,  numerous  other improvements, listed in this
    announcement.
 
-   The  release notes also mention some bug-fixes, but are focused on new
-   features  and  improvements  to  existing  features  since ncurses 6.0
-   release.
+   The  most  important  bug-fixes/improvements  dealt  with  portability
+   issues.  The  release notes also mention some other bug-fixes, but are
+   focused  on  new  features and improvements to existing features since
+   ncurses 6.2 release.
 
   Library improvements
 
     New features
 
-   The  improved  integration of tput and tset made only small changes to
-   the  libraries.  However,  supporting  extended  numeric  capabilities
-   required a few changes:
-     * The  TERMINAL  structure  in  <term.h>  is  now opaque. Doing that
-       allowed  making the structure larger, to hold the extended numeric
-       data.
-       A   few   applications  required  changes  during  development  of
-       ncurses 6.1 because those applications misused the members of that
-       structure,   e.g.,   directly   modifying  it  rather  than  using
-       [13]def_prog_mode.
-     * Having  made  TERMINAL  opaque  (and  because  none of the library
-       functions  use  anything  except  a  pointer  to TERMINAL), it was
-       possible to increase the size of the structure, adding to the end.
-       Existing   applications  which  were  linked  to  the  ncurses 6.0
-       high-level   (ncurses,  ncursesw)  and  low-level  (tinfo,  tinfo)
-       libraries should not require re-linking since the binary interface
-       did  not  change,  nor  did  the  structure  offsets with TERMINAL
-       change.
-       A  few  applications use the inner TERMTYPE structure's offsets to
-       refer to terminfo capabilities within that structure. Again, those
-       do  not require modification because their offsets within TERMINAL
-       did not change.
-     * When configured for wide-characters, i.e., "ncursesw" the TERMINAL
-       structure is extended.
-       The  new  data in TERMINAL holds the same information as TERMTYPE,
-       but  with  larger  numbers  ("int"  versus  "short").  It is named
-       TERMTYPE2.
-       The  library  uses  this  structure  internally  in  preference to
-       TERMTYPE,   referring  to  TERMTYPE  only  to  initialize  it  for
-       applications that use the capabilities defined in <term.h>
-     * When  configured  for  8-bit  (narrow)  characters,  the TERMTYPE2
-       structure is not used.
-     * The updated application binary interface is 6.1.20171230 (used for
-       new  [14]versioned  symbols),  although the interface changes were
-       developed several months previously.
-
-   The  motivation  for  making  this  extension  came from noticing that
-   [15]termcap  applications  could  (though  not  [16]realistically) use
-   larger numbers than would fit in 16-bits, and the fact that the number
-   of  color  pairs  for  a  256-color  xterm  could  not be expressed in
-   terminfo  (i.e.,  32767  versus  65536). Also, a few terminals support
-   direct-colors, which could use the extension.
-
-   Generally  speaking,  applications  that  use  internal  details  of a
-   library  are unsupported. There was exactly one exception for ncurses:
-   the  tack  program  used  the internal details of TERMINAL, because it
-   provides  an  ncurses-specific  feature  for interactively modifying a
-   terminfo   description  and  writing  the  updated  description  to  a
-   text-file.  It  was  possible  to  not  only  separate tack from these
-   [17]internal  details  of  ncurses,  but  to generalize it so that the
-   program   works   with  Unix  curses  (omitting  the  ncurses-specific
-   feature). That was released as [18]tack 1.08 in July 2017.
-
-   While  making changes to tack to eliminate its dependency upon ncurses
-   internals,  the  publicly-visible  details  of  those  internals  were
-   reviewed,  and  some symbols were moved to private header files, while
-   others were marked explicitly as ncurses internals. Future releases of
-   ncurses  may  eliminate  some  of those symbols (such as those used by
-   tack 1.07) because they are neither part of the API or the ABI.
-
-   Using  the  TERMTYPE2 extended numeric capabilities, it is possible to
-   support  both  color  pair  values and color values past 32767. Taking
-   compatibility into account, developers readily understand that neither
-   function  signatures  nor  structure  offsets  change.  Also, existing
-   functions have to operate with the extended numbers. Most of that work
-   is  internal  to  the  library.  For the external interfaces, a hybrid
-   approach was used:
-     * X/Open  Curses  defined function prototypes such as wattr_set with
-       an  unused parameter, for "future" use. After 25 years, the future
-       is  here:  ncurses uses the parameter to augment color pair values
-       as described in the [19]manual page.
-     * Other  functions such as those defining color pairs did not have a
-       corresponding  reserved  parameter.  For  those,  ncurses  defines
-       extended  versions  such as init_extended_pair (versus init_pair),
-       init_extended_color (versus init_color).
+   There are a few new features:
+     * A   new   (experimental)   driver,   for   the   Windows  Terminal
+       configuration is provided.
+     * A  script is provided which enables OpenBSD users to upgrade their
+       system  to use ncurses 6.3 (OpenBSD developers are also invited to
+       do this).
 
    Additionally,  to  improve  performance other changes (and extensions)
    are provided in this release:
-     * Several  new  functions simplify management of large sets of color
-       pairs: reset_color_pairs, alloc_pair, find_pair and free_pair.
-     * New "RGB" extension capability for direct-color support is used to
-       improve performance of color_content.
-     * The  internal colorpair_t is now a struct, eliminating an internal
-       8-bit limit on colors
-     * Allocation  for  SCREEN's  color-pair table starts small, grows on
-       demand up to the limit given in the terminal description.
-     * setcchar and getcchar now treat a negative color-pair as an error.
+     * modify  lib_mouse.c  to  check  for  out-of-range  button numbers,
+       convert those to position reports.
+     * add sp-funcs for erasewchar, killwchar.
 
     Other improvements
 
-   These are new or revised features:
-     * modify  c++/etip.h.in  to  accommodate  deprecation  of  throw and
-       throws in c++17
-     * add new function unfocus_current_field
-     * add option to preserve leading whitespace in form fields
-     * add  a  macro  for is_linetouched and adjust the function's return
-       value  to  make  it possible for most applications to check for an
-       error-return.
-     * add  build-time  utility  report_offsets  to  help  show  when the
-       various configurations of tinfo library are compatible or not.
+   These are revised features:
+     * modify  wgetnstr,  wgetn_wstr  to  improve compatibility with SVr4
+       curses in its treatment of interrupt and quit characters
 
    These were done to limit or ultimately deprecate features:
-     * drop  two  symbols  obsoleted  in  2004:  _nc_check_termtype,  and
-       _nc_resolve_uses
-     * move  _nc_tracebits,  _tracedump and _tracemouse to curses.priv.h,
-       since they are not part of the suggested ABI6.
-     * mark  some  structs  in  form/menu/panel  libraries as potentially
-       opaque without modifying API/ABI.
-     * ifdef'd     header-file    definition    of    mouse_trafo    with
-       NCURSES_NOMACROS
-     * remove  initialization-check  for calling napms in the term-driver
-       configuration; none is needed.
-     * modify trace to avoid overwriting existing file
+     * mark wgetch-events feature as deprecated.
+          + prevent  KEY_EVENT  from  appearing  in  curses.h  unless the
+            configure option --enable-wgetch-events is used.
+          + modify   MKkey_defs.sh   to   hide   ncurses'  definition  of
+            KEY_EVENTS to reduce Visual Studio C++ redefinition warnings.
+     * reduce   build-warnings   by   excluding   ncurses-internals  from
+       deprecation warnings.
 
    These are improvements to existing features:
-     * modify   make_hash   to  allow  building  with  address-sanitizer,
-       assuming that --disable-leaks is configured.
-     * move  SCREEN field for use_tioctl data before the ncursesw fields,
-       and  limit  that  to the sp-funcs configuration to improve termlib
-       compatibility
-     * modify db-iterator:
-          + ignore zero-length files in db-iterator; these are useful for
-            instance to suppress $HOME/.terminfo when not wanted.
-          + modify  update_getenv  to  ensure  that environment variables
-            which  are  not  initially  set  will  be checked later if an
-            application happens to set them
-     * modify  _nc_outc_wrapper  to use the standard output if the screen
-       was not initialized, rather than returning an error.
-     * improve  checks for low-level terminfo functions when the terminal
-       has not been initialized.
-     * modify set_curterm to update ttytype[] data used by longname/p>
-     * modify  _nc_get_screensize  to  allow  for  use_env and use_tioctl
-       state  to  be  per-screen  when  sp-funcs  are  configured, better
-       matching the behavior when using the term-driver configuration.
-     * remove an early-return from _nc_do_color, which can interfere with
-       data  needed  by  bkgd  when  ncurses  is configured with extended
-       colors
-     * incorporate A_COLOR mask into COLOR_PAIR, in case user application
-       provides an out-of-range pair number
-     * modify  logic for endwin-state to be able to detect the case where
-       the screen was never initialized, using that to trigger a flush of
-       ncurses'  buffer for mvcur, e.g., in the sample program dots_mvcur
-       for the term-driver configuration.
+     * drop symbols GCC_PRINTF and GCC_SCANF from <curses.h>, to simplify
+       use.
+     * apply  gcc  format  attribute  to  prototypes  which use a va_list
+       parameter rather than a "..." variable-length parameter list.
+     * modify  <term.h> so that it is not necessary to include <curses.h>
+       before <term.h>.
+     * provide for wide-characters as background character in wbkgrnd
+     * improve parameter-checking for tparm, adding function _nc_tiparm()
+       to   handle   the  most-used  case,  which  accepts  only  numeric
+       parameters.
+     * use  return-value  from vsnprintf to reallocate as needed to allow
+       for buffers larger than the screen size.
+     * add  another  fflush(stdout) in _nc_flush to handle time-delays in
+       the  middle  of  strings  such  as flash when the application uses
+       low-level calls rather than curses.
 
    These are corrections to existing features:
-     * fixes for writing extended color pairs in putwin.
-     * modify no-leaks code for lib_cur_term.c to account for the tgetent
-       cache.
-     * amend handling of the repeat_char capability in EmitRange to avoid
-       scope  creep:  translate  the character to the alternate character
-       set  when  the  alternate character set is enabled, and do not use
-       repeat_char for characters past 255.
-     * improve    wide-character    implementation    of   myADDNSTR   in
-       frm_driver.c,    which    was   inconsistent   with   the   normal
-       implementation.
-     * modify winnstr and winchnstr to return error if the output pointer
-       is  null,  as  well  as  adding a null pointer check of the window
-       pointer for better compatibility with other implementations.
-     * modify  setupterm  to  save  original  tty-modes so that erasechar
-       works  as expected. Also modify _nc_setupscreen to avoid redundant
-       calls to get original tty-modes.
-     * modify  wattr_set  and wattr_get to return ERR if win-parameter is
-       null, as documented.
-     * correct   order  of  initialization  for  traces  in  use_env  and
-       use_tioctl versus first _tracef calls.
-     * correct parameters for copywin call in _nc_Synchronize_Attributes
-     * flush  the  standard  output in _nc_flush for the case where SP is
-       zero,  e.g.,  when  called  via  putp. This fixes a scenario where
-       "tput flash" did not work after changes in 20130112.
-     * amend  internal  use  of  tputs  to consistently use the number of
-       lines  affected,  e.g.,  for  insert/delete  character operations.
-       While  merging terminfo source early in 1995, several descriptions
-       used  the "*" proportional delay for these operations, prompting a
-       change in doupdate.
-     * correct return-value of extended putwin.
-     * double-width  multibyte  characters  were  not counted properly in
-       winsnstr and wins_nwstr.
-     * amend  fix  for  _nc_ripoffline from 20091031 to make test/ditto.c
-       work in threaded configuration.
-     * modify _nc_viscbuf2 and _tracecchar_t2 to trace wide-characters as
-       a whole rather than their multibyte equivalents.
-     * minor  fix  in  wadd_wchnstr  to ensure that each cell has nonzero
-       width.
-     * move PUTC_INIT calls next to wcrtomb calls, to avoid carry-over of
-       error status when processing Unicode values which are not mapped.
-     * add missing assignment in lib_getch.c to make notimeout work
+     * add  a  check  to  guard against repeat_char emitting digits which
+       could  be interpreted as BSD-style padding when --enable-bsdpad is
+       configured.
+     * check  for screen size-change in scr_init and scr_restore, in case
+       a screen dump does not match the current screen dimensions
 
   Program improvements
 
-   While reviewing user feedback, it became apparent that the differences
-   between [20]reset (an alias for tset) and "tput reset" were confusing:
-     * one  ([21]tset)  updated the terminal modes, but used only part of
-       the terminfo capabilities for initialization, while
-     * the  other  ([22]tput) used all of the terminal capabilities while
-       neglecting the terminal modes.
-
-   On  further  investigation,  it  turned  out that the differences were
-   largely an accident due to the way those programs had evolved.
-
-   This  release  eliminates  the unnecessary differences, using the same
-   approach  for tput's init (initialization), reset and clear operations
-   as  the separate [23]reset and [24]clear programs. Doing this does not
-   change the command-line options; existing scripts are unaffected.
-
-   These  are the user-visible changes for the three programs (tput, tset
-   and clear):
-     * add  the  terminal-mode  parts  of "reset" (aka tset) to the "tput
-       reset"  command,  making  the  two  almost  the  same  except  for
-       window-size.
-     * improve  tput's  check  for  being  called as "init" or "reset" to
-       allow for transformed names.
-     * add "clear" as a possible link/alias to tput.
-     * amend changes for tput to reset tty modes to "sane" if the program
-       is  run  as  "reset",  like tset. Likewise, ensure that tset sends
-       either reset- or init-strings.
-     * add -x option to clear/tput to make the E3 extension optional
-     * add functionality of "tset -w" to tput, like the "-c" feature this
-       is not optional in tput.
-     * add  options  -T  and  -V  to clear command for compatibility with
-       tput.
-     * drop long-obsolete "-n" option from tset.
-     * modify tset's assignment to TERM in its output to reflect the name
-       by  which  the  terminal  description  is  found,  rather than the
-       primary  name.  That  was  an  unnecessary  part  from the initial
-       conversion  of  tset from termcap to terminfo. The termcap library
-       in 4.3BSD did this to avoid using the short 2-character name
-     * remove  a  restriction  in  tput's support for termcap names which
-       omitted capabilities normally not shown in termcap translations
-     * add usage message to clear command
-     * improve usage messages for tset and tput.
-
-   Other user-visible improvements and new features include:
-     * modify  tic/infocmp  display  of numeric values to use hexadecimal
-       when  they  are  "close" to a power of two, making the result more
-       readable.
-     * add "-W" option to tic/infocmp to force long strings to wrap.
-          + This  is in addition to the "-w" option which attempts to fit
-            capabilities into a given line-length.
-          + If  "-f"  option  splits  line,  do not further split it with
-            "-W".
-          + Begin a new line when adding "use=" after a wrapped line.
-     * add  "-q"  option  to infocmp to suppress the "Reconstructed from"
-       comment  from  the  header,  and  a corresponding option to tic to
-       suppress all comments from the "tic -I" output.
-     * Sorted options in usage message for infocmp, to make it simpler to
-       see unused letters.
-     * Updated usage message for tic, adding "-0" option.
-     * add infocmp/tic "-Q" option, which allows one to dump the compiled
-       form of the terminal entry, in hexadecimal or base64:
-          + A  "b64:"  prefix in the TERMINFO variable tells the terminfo
-            reader  to  use  base64  according  to  RFC-3548  as  well as
-            RFC-4648 url/filename-safe format.
-          + A   "hex:"   prefix  tells  the  terminfo  reader  to  accept
-            hexadecimal data as generated by "infocmp -0qQ1".
-
-   Other less-visible improvements and new features include:
-     * modify  utility headers such as tic.h to make it clearer which are
-       externals that are used by tack.
-     * add  "reset"  to  list  of  programs  whose  names might change in
-       manpages due to program-transformation configure options.
-     * modify  "-T" option of clear and tput to call use_tioctl to obtain
-       the operating system's notion of the screensize if possible.
-     * add  check  in  tput for init/reset operands to ensure those use a
-       terminal.
-     * modify  programs clear, tabs, tput and tset to pass the actual tty
-       file  descriptor  to  setupterm rather than the standard output or
-       error, making padding work.
-     * change  tset's initialization to allow it to get settings from the
-       standard  input  as  well  as  /dev/tty, to be more effective when
-       output or error are redirected.
-     * amend  check  in  tput,  tabs  and clear to allow those to use the
-       database-only  features  in cron if a "-T" option gives a suitable
-       terminal name.
-     * improve  error message from tset/reset when both stderr/stdout are
-       redirected to a file or pipe.
-
-   Several  of  the  less  apparent  features  deal  with  translation of
-   terminfo  to  termcap  (and the reverse), with corresponding checks by
-   tic:
-     * modify check in fmt_entry to handle a cancelled reset string. Make
-       similar fixes in other parts of dump_entry.c and tput.c
-     * correct  read of terminfo entry in which all strings are absent or
-       explicitly  cancelled.  Before  this  fix, the result was that all
-       were treated as only absent.
-     * modify   infocmp   to   suppress   mixture   of   absent/cancelled
-       capabilities that would only show as "NULL, NULL", unless the "-q"
-       option is used, e.g., to show "-, @" or "@, -".
-     * correct  a warning from tic about keys which are the same, to skip
-       over missing/cancelled values.
-     * add  check  in  tic for use of bold, etc., video attributes in the
-       color  capabilities,  accounting  whether the feature is listed in
-       ncv.
-     * add  check  in  tic for unnecessary use of "2" to denote a shifted
-       special key.
-     * improve  check  in tic for delays by also warning about beep/flash
-       when  a  delay  is not embedded, or if those use the VT100 reverse
-       video escape without using a delay.
-     * improve  checks  in trim_sgr0, comp_parse.c and parse_entry.c, for
-       cancelled string capabilities.
-     * add  check in tic for some syntax errors of delays, as well as use
-       of proportional delays for non-line capabilities.
-     * add  check  in  tic  for  conflict between ritm, rmso, rmul versus
-       sgr0.
-     * add  check  in _nc_parse_entry for invalid entry name, setting the
-       name to "invalid" to avoid problems storing entries.
-     * improve _nc_tparm_analyze, using that to extend the checks made by
-       tic  for  reporting inconsistencies between the expected number of
-       parameters for a capability and the actual.
-     * remove  tic  warning  about "^?" in string capabilities, which was
-       marked  as  an extension; however all Unix implementations support
-       this  and  X/Open  Curses  does not address it. On the other hand,
-       [25]BSD   termcap   did   not  support  this  feature  (until  the
-       [26]mid-1990s).
-       in  _nc_infotocap,  added  a check to ensure that terminfo "^?" is
-       not written to termcap.
-     * modify  sscanf calls in _nc_infotocap for patterns "%{number}%+%c"
-       and "%'char'%+%c" to check that the final character is really "c",
-       avoiding a case in icl6404 which cannot be converted to termcap.
-     * in  _nc_tic_expand and _nc_infotocap, improved string-length check
-       when  deciding  whether  to  use "^X" or "\xxx" format for control
-       characters, to make the output of tic/infocmp more predictable.
-     * limited  termcap  "%d" width to 2 digits on input, and use "%2" in
-       preference to "%02" on output.
-     * correct  terminfo/termcap  conversion of "%02" and "%03" into "%2"
-       and "%3"; the result repeated the last character.
+   Several improvements were made to the utility programs:
+
+   tabs
+
+          + implement "+m" option
+
+   tic
+
+          + add check for duplicate "use=" clauses.
+          + add  check  to  report  instances where tparm would detect an
+            error in an expression.
+          + add  user-defined  capabilities  from mintty to Caps-ncurses,
+            for checking consistency.
+          + improve warning when oc/op do not mention SGR 39/49 for xterm
+            compatible XT flag.
+          + improve  checks  for  number  of  parameters of smglp, smgrp,
+            smgtp, and smgbp.
+          + improve  "-c"  option  to  validate  the  number  and type of
+            parameters  and  compare  against expected number/type before
+            deciding which set of parameter-lists to use in tparm calls.
+          + improve check for errors detected in tparm.
+          + improve format of output, to ensure that the messages contain
+            only printable text.
+          + modify to eliminate unnecessary "\" to escape ":" in terminfo
+            format.
+          + remove check that assumes that none or both parameterized and
+            non-parameterized margin-setting capabilities are present.
+
+   toe
+
+          + modify  output  of  "toe -as" to show first description found
+            rather than the last.
+          + add  a  check  to ensure that a "termcap file" is text rather
+            than binary.
+
+   tput
+
+          + modify to allow multiple commands per line.
+          + improve  parameter-checking  by analyzing all extended string
+            capabilities,  e.g., as used in the Cs and Ms capabilities of
+            the tmux description.
+          + make  warning  messages  consistently  using alias names when
+            those are used, rather than the underlying program's name.
+          + improve   usage   message  for  aliases  such  as  clear,  by
+            eliminating tput-specific portions.
+          + modify  initialization  to  avoid  opening /dev/tty for cases
+            other than reset/init, e.g., for clear.
 
     Examples
 
-   Along  with  the library and utilities, many improvements were made to
-   the [27]ncurses-examples.
-
-   These changes were made to demonstrate new extensions in ncurses:
-     * add   demo_new_pair   program,   to   demonstrate  [28]alloc_pair,
-       [29]find_pair and [30]free_pair functions.
-       This  program  iterates  over  the  possible  color  combinations,
-       allocating  or  initializing color pairs. For best results, choose
-       screen-width dividing evenly into the number of colors. e.g.,
-
-     32x64,32x128   256 colors
-     24x44,24x88    88 colors
-     32x64,24x128   16 colors
-
-     * add  extended_color program, like the older color_set program, but
-       using   the   extended  color  functions,  with  and  without  the
-       SP-functions interface.
-     * add  picsmap  program  to  fill  in some testing issues not met by
-       dots,  using  this  as  the  third  example in a comparison of the
-       [31]ncurses versus slang libraries.
-       The   program  can  directly  read  X  bitmap  and  pixmap  files,
-       displaying  a  picture.  It  can  read  other  image  files  using
-       ImageMagick's convert program to translate the image into text.
-       For 16-, 88- and 256-color terminal descriptions, picsmap can load
-       a  palette file which tells it which color palette entries to use.
-       For direct-colors, the terminal descriptions use the RGB extension
-       capability.
-
-   There are other new example programs and a few scripts:
-     * add  dots_xcurses  program to illustrate a different approach used
-       for extended colors which can be contrasted with dots_curses.
-     * add  list_keys program show function keys for one or more terminal
-       descriptions.  It  uses  ncurses's  convention  of  modifiers  for
-       special keys, based on xterm.
-     * add  padview  program,  to compare pads with direct updates in the
-       view program.
-     * add sp_tinfo program to exercise the SP-functions extension of the
-       low-level terminfo library.
-     * add test-programs for termattrs and term_attrs functions.
-     * add  test_sgr  program  to  exercise  all  combinations of the sgr
-       capability.
-     * add   tput-colorcube   demo  script,  imitating  xterm's  88-  and
-       256-color scripts using tput.
-     * add  tput-initc  script  to  demonstrate  how  tput may be used to
-       initialize a color palette from a data file.
-
-   A  variety  of  improvements  were made to existing programs, both new
-   features  as  well  as  options added to make the set of programs more
-   consistent.
-
-   The  ncurses program is the largest; a proportionately large number of
-   changes were made to it:
-     * modify  a/A  screens to make exiting on an escape character depend
-       on  the start of keypad and timeout modes, to allow better testing
-       of function-keys.
-       add "t" toggle for notimeout function.
-     * modify layout of b/B screens to allow for additional annotation on
-       the  right  margin;  some  terminals  with partial support did not
-       display well.
-     * modify c/C screens to allow for extended color pairs.
-       add z/Z zoom feature to make extended color pairs easier to test.
-       modify  test-screens  to  take advantage of wide screens, reducing
-       the number of lines used for 88- and 256-colors.
-     * modify  "d"  edit-color  screen  to  optionally  read  xterm color
-       palette directly from terminal, as well as handling KEY_RESIZE and
-       screen-repainting with control/L and control/R.
-     * add examples to "F" screen for WACS_D_PLUS and WACS_T_PLUS.
-     * improve  "g"  screen,  correcting  ifdef which made the legend not
-       reflect  changes  to  keypad-  and  scroll-modes.  Added check for
-       return-value of putwin.
-     * make "s" test easier to understand which subtests are available
-       add a corresponding "S" wide-character overlap test-screen.
-     * add "v" screen to show baudrate and other values.
-
-   These changes were made to the other examples:
-     * modify  blue  program  to  use Unicode values for card-glyphs when
-       available, as well as improving the check for CP437 and CP850.
-     * improve   demo_menus   program,   allowing   mouse-click   on  the
-       menu-headers  to  switch  the  active  menu.  This  requires a new
-       extension option O_MOUSE_MENU to tell the menu driver to put mouse
-       events  which  do not apply to the active menu back into the queue
-       so that the application can handle the event.
-     * correct logic in demo_terminfo program for "-f" option
-     * modify  ditto program to allow $XTERM_PROG environment variable to
-       override "xterm" as the name of the program to run in the threaded
-       configuration.
-     * add several options to the "dots" test-programs.
-     * modify filter program:
-          + illustrate  an  alternative  to getnstr, that polls for input
-            while  updating  a  clock  on  the  right  margin  as well as
-            responding to window size-changes.
-          + adapt  logic  used in [32]dialog [33]"--keep-tite" option for
-            filter  program as the "-a" option. When set, filter attempts
-            to suppress the alternate screen.
-     * modify  knight  program  to  provide the "slow" solution for small
-       screens  using  "R", noting that Warnsdorf's method is easily done
-       with "a".
-     * modify  the  savescreen program to add test patterns that exercise
-       88-, 256-, etc., colors.
-     * add  options  to  test_arrays,  for selecting termcap vs terminfo,
-       etc.
-     * modify the view program:
-          + expand  tabs  using  the  ncurses  library rather than in the
-            test-program.
-          + eliminate the "-n" option by simply reading the whole file.
-          + implement page up/down commands.
-          + remove the very old SIGWINCH example; just use KEY_RESIZE.
-     * improve  animation  in  xmas  program  by  adding  a time-delay in
-       blinkit.
-     * modify  several  test-programs  which  call  use_default_colors to
-       consistently do this only if the "-d" option is given.
-     * modify the install-rule for ncurses-examples to put the data files
-       in the data directory, e.g., /usr/share/ncurses-examples.
-     * modify  several  test  programs  to  use  new popup_msgs function,
-       adapted from the help-screen used in the edit_field program.
-     * modify   test   data   for   xterm   palettes  to  use  the  newer
-       color4/color12 values.
-     * improve the tracemunch script:
-          + show screenXX pointers and thread identifiers as names.
-          + chang   address-parameters   of  add_wch,  color_content  and
-            pair_content to dummy parameters.
+   Along  with  the  library and utilities, improvements were made to the
+   ncurses-examples.  Most  of  this  activity  aimed  at  improving  the
+   test-packages.  A few changes are more generally useful, e.g., for the
+   main   ncurses  test-program,  and  for  analyzing  traces  using  the
+   tracemunch script:
+     * add  "-r" option to the dots test-programs, to help with scripting
+       a performance comparison.
+     * build-fix  for  test_opaque,  for  configurations  without  opaque
+       curses structs, e.g., ncurses 5.7.
+     * improve tracemunch logic for "RUN" compaction.
+     * improve tracemunch's coverage of form/menu/panel libraries.
+     * improve  tracemunch's  checking/reporting  the  type for the first
+       parameter, e.g., "WINDOW*" rather than "#1".
+     * modify  tracemunch  and  the panel library to show readable traces
+       for panel- and user-pointers.
+
+   There are other new demo/test programs and reusable examples:
+
+   back_ground
+          to exercise the wide-character background functions.
+
+   move_field
+          to  demonstrate move_field, and a stub for a corresponding demo
+          of dup_field.
+
+   test_tparm
+          for checking tparm changes.
 
   Terminal database
 
    There are several new terminal descriptions:
 
-     dumb-emacs-ansi,  dvtm,  dvtm-256color,  fbterm,  iterm2,  linux-m1
-     minitel    entries,    putty-noapp,    viewdata,   and   vt100+4bsd
-     building-block.
-
-     xterm+noalt,   xterm+titlestack,   xterm+alt1049,   xterm+alt+title
-     building  blocks  and  xterm+direct,  xterm+indirect, xterm-direct.
-     from [34]xterm patch #331.
-
-     several  other "-direct" descriptions to address the differences of
-     other terminal emulators versus xterm-direct.
+     absolute,    att610+cvis,    foot,    foot-direct,   hp98550-color,
+     hpterm-color2,   hterm,   hterm-256color,   linux-s,  putty+keypad,
+     putty+screen,    putty-screen,    screen.linux-s,   scrt/securecrt,
+     tmux-direct,  vt220+cvis,  vt220+cvis8, vt220+pcedit, vt220+vtedit,
+     vt220-base,     vt52+keypad,    xterm+256color2,    xterm+88color2,
+     xterm-direct16,       xterm-direct256,      xterm+nofkeys,      and
+     xterm+nopcfkeys.
 
    There  are  many  changes to existing terminal descriptions. Some were
    updates to several descriptions:
-     * use  xterm+sm+1006  in  several  terminal  descriptions which were
-       validated  as  supporting  the  extended  mouse  feature for their
-       respective terminal emulators.
-     * corrected  sgr/sgr0 strings in a few cases reported by tic, making
-       those  correspond  to  the non-sgr settings where they differ, but
-       otherwise use ECMA-48 consistently.
-     * add  0.1sec  mandatory delay to flash capabilities using the VT100
-       reverse-video control
+     * correct use-ordering in some xterm-direct flavors
+     * fix   some   sgr   inconsistencies  in  d230c,  ibm6153,  ibm6154,
+       ncrvt100an
+     * improve vt50h and vt52 based on DECScope manual
+     * use hp+arrows in a few places
+     * use hp+pfk-cr in a few places
+     * use  vt220+cvis  in  st,  terminology,  termite  since they ignore
+       blinking-cursor detail in att610+cvis
 
    while  others  affected specific descriptions. These were retested, to
-   take into account new/undocumented changes by their developers:
+   take into account changes by their developers:
 
-     iterm, minitel, st, viewdata, nsterm
+     kitty+common, mlterm3, ms-terminal
 
-   while these are specific fixes based on user reports, or warnings from
-   tic:
+   while  these are specific fixes based on reviewing documentation, user
+   reports, or warnings from tic:
 
-   [35]ansi building blocks
+   aaa+dec, aaa+rv
+          correct rmacs/smacs
 
-          + restored  rmir/smir  in  ansi+idc  to  better  match original
-            ansiterm+idc, add alias ansiterm
+   aaa+rv
+          correct sgr
 
-   [36]icl6402
+   icl6404
+          correct csr
 
-          + corrected missing comma-separator between string capabilities
-            in icl6402 and m2-nam
+   kitty
+          use att610+cvis, xterm+tmux and ansi+enq
 
-   [37]interix
+   konsole-base
+          re-enable "bel"
 
-          + updated using tack and SFU with Windows 7 Ultimate.
-          + used ^? for kdch1
+   linux2.6
+          fix pound-sign mapping in acsc
 
-   [38]linux
+   linux3.0
+          modify to reflect default mapping of shift-tab by kbd 1.14
 
-          + made linux3.0 entry the default linux entry
-          + modify  linux2.6  entry  to  improve line-drawing so that the
-            linux3.0 entry can be used in non-UTF-8 mode
-          + omitted  selection  of  ISO-8859-1 for G0 in enacs capability
-            from  linux2.6 entry, to avoid conflict with the user-defined
-            mapping. The reset feature uses ISO-8859-1 in any case.
-          + modify flash capability for linux and wyse entries to put the
-            delay between the reverse/normal escapes rather than after
-          + modify  linux-16color  to  not  mask dim, standout or reverse
-            with the ncv capability
+   pccons
+          fill in some missing pieces, to make it comparable to the vt220
+          entry
 
-   [39]pccon entries
+   putty
+          use vt100+fnkeys, add rep
 
-          + fixed some inconsistencies in the pccon* entries
-          + add bold to pccon+sgr+acs and pccon-base
-          + add keys f12-f124 to pccon+keys
+   screen
+          use vt100+enq
 
-   [40]tmux
+   terminator
+          corrected tsl capability
 
-          + corrected  sgr  string,  which  used screen's "standout" code
-            rather than the standard code.
-          + add  settings  corresponding  to xterm-keys option to reflect
-            upcoming change to make that option "on" by default
-          + uncanceled Ms
+   ti916
+          correct cup
 
-   [41]vt100
+   tmux
+          change kbs to ^?
 
-          + modify  vt100  rs2  string  to  reset vt52 mode and scrolling
-            regions
-          + corrected rs2 string for vt100-nam
-          + made  minor  fixes  for  vt100+4bsd,  e.g.,  delay in sgr for
-            consistency
+   vt220
+          use vt220+cvis
 
-   [42]vte
+   vt420+lrmm
+          add smglp and smgrp
 
-          + moved SGR 24 and 27 from vte-2014 to vte-2012
-          + add a few capabilities fixed in recent VTE development
+   vt420
+          use vt420+lrmm
 
-   [43]xterm
+   xterm-new
+          add nel
 
-          + add rep to xterm-new, available since [44]late 1996.
-          + modify  xterm+256color  and  xterm+256setaf  to  use  correct
-            number of color pairs.
-          + modify    rs1    for    xterm-16color,    xterm-88color   and
-            xterm-256color  to  reset palette using oc string as in linux
-            entry.
-          + add rs1 capability to xterm-256color
-          + add  oc  capability to xterm+256color, allowing palette reset
-            for xterm
-          + add op to xterm+256setaf
-          + modify xterm-r5, xterm-r6 and xterm-xf86-v32 to use xterm+kbs
-            to match [45]xterm #272, reflecting packager's changes
-          + used  ANSI  reply for u8 in xterm-new, to reflect vt220-style
-            responses that could be returned.
-          + made xterm-pcolor sgr consistent with other capabilities
+   xterm-vt52
+          use vt52+keypad
 
    A few entries use extensions (user-defined terminal capabilities):
-     * add rmxx/smxx ECMA-48 strikeout extension to tmux and xterm-basic
-     * used RGB capability in new *-direct entries to denote direct-color
-       feature.
+     * add   shifted   Linux  console  keys  in  linux+sfkeys  entry  for
+       screen.linux
+     * add Smulx to alacritty
+     * add kbeg to xterm+keypad to accommodate termcap applications
+     * add  extensions  in  xterm+tmux and ecma+strikeout to ms-terminal,
+       but cancel the non-working Cr and Ms capabilities
 
   Documentation
 
@@ -639,273 +302,170 @@ Release Notes
      * attempts  to  improve the description of features which users have
        found confusing
      * fills  in overlooked descriptions of features which were described
-       in the [46]NEWS file but treated sketchily in manual pages.
-
-   In particular,
-     * Since   the   underlying  features  for  [47]tset,  [48]tput,  and
-       [49]clear  have  been  better  integrated,  the  documentation now
-       includes information on how those tools evolved.
-       In  addition  to explaining the improved integration of the tools,
-       the  manual  pages made it easier to see how the tools are similar
-       and how they are different.
-     * The    addch   manual   page   has   additional   information   on
-       [50]portability and differences from other implementations.
-     * The  discussion  of  color-pairs  in the attributes manual page is
-       improved in its [51]history section.
-     * The  documentation  of the chtype, cchar_t types and the attribute
-       values  which  can  be  stored  in  those types, in particular the
-       [52]history  and [53]portability sections of the attributes manual
-       page, has been improved.
-     * improve discussion of [54]portability in the mouse manual.
-     * The   pad  manual  page  has  a  section  on  the  [55]origin  and
-       portability of pads.
-     * Differences between SVr4 and X/Open Curses soft-keys are discussed
-       in a new section on [56]portability.
-     * There   are   updated/improved   notes   on   portability  in  the
-       [57]resizeterm and [58]wresize manual pages.
+       in the NEWS file but treated sketchily in manual pages.
 
    In  addition  to  providing  background  information  to explain these
    features   and   show   how   they  evolved,  there  are  corrections,
    clarifications, etc.:
-     * add  note  in  the  [59]addch  manual  about  line-drawing when it
-       depends upon UTF-8.
-     * improve  discussion  of line-drawing characters in the [60]add_wch
-       manual.
-     * explain  in [61]clear's manual page that it writes to the standard
-       output.
-     * improve description of [62]endwin.
-     * improve  discussion  of  field  validation  in the [63]form driver
-       manual page.
-     * clarify the use of wint_t vs wchar_t in [64]get_wstr manual page.
-     * clarify  in  the  [65]getch manual that the keypad mode affects an
-       application's ability to read KEY_MOUSE codes, but does not affect
-       KEY_RESIZE.
-       trim  some  obsolete/incorrect  wording about EINTR from the getch
-       manual page
-       improve  manual  pages  for [66]getch and [67]get_wch to point out
-       that   they   might  return  user-defined  values  which  have  no
-       predefined names in <curses.h>
-     * improve  description  of  the  -R option in the [68]infocmp manual
-       page
-     * clarify in the [69]resizeterm manual page how KEY_RESIZE is pushed
-       onto the input stream.
-     * document return value of [70]use_extended_names
-     * document  differences  in [71]ESCDELAY versus AIX's implementation
-       in the variables manual page.
-     * The   _nc_free_tinfo   function   is   now   documented   in   the
-       [72]memory-leaks manual page, because it could be used in tack for
-       memory-leak checking.
-     * add a note to the [73]tic manual page about -W versus -f options.
-     * improve terminfo manual description of [74]terminfo syntax.
-       improve  terminfo  manual  page  discussion  of  [75]control-  and
-       graphics- characters.
-       improve [76]color-handling section in terminfo manual page
-     * clarify  description in [77]tput manual page regarding support for
-       termcap names
-       update  [78]tput  manual  page  to  reflect  changes to manipulate
-       terminal modes by sharing functions with tset.
-     * clarify  in manual pages that the optional verbose option level of
-       [79]tic   and  [80]infocmp  is  available  only  when  ncurses  is
-       configured for tracing.
-     * improve   manual   page   description   of  [81]tset/reset  versus
-       window-size.
-     * improve description of [82]tgoto parameters
-
-   There are new manual pages:
-     * [83]user_caps documents the terminfo extensions used by ncurses.
-     * [84]scr_dump documents the screen-dump format.
+     * Corrections:
+          + make  opts  extension  for  getcchar  work  as documented for
+            ncurses 6.1, adding "-g" flag to demo_new_pair to illustrate.
+          + modify  tset  "-q"  option to refrain from modifying terminal
+            modes, to match the documentation.
+     * New/improved history and portability sections:
+          + improve documentation for tparm and static/dynamic variables.
+          + add   history   note  to  curs_scanw.3x  for  <stdarg.h>  and
+            <varargs.h>
+          + add   history  note  to  curs_printw.3x  for  <stdarg.h>  and
+            <varargs.h>
+          + add portability note to ncurses.3x regarding <stdarg.h>
+          + add   historical   notes   to   tput,   curses-terminfo   and
+            curses-color manpages based on source-code for SVr2, SVr3 and
+            SVr4.
+          + improve  history  section  for tset manpage based on the 1BSD
+            tarball,  which  preceded  BSD's  SCCS  checkins by more than
+            three years.
+     * Other improvements:
+          + explain  in ncurses.3x that functions in the tinfo library do
+            not rely upon wide-characters.
+          + improve   manual   page  for  panel  library,  extending  the
+            portability section as well as documenting error-returns.
+          + add  section  on  margins  to terminfo.5, adapted from X/Open
+            Curses.
+          + improve man/term.5 section on legacy storage format.
+          + add a note in terminfo.5 explaining that no-parameter strings
+            such as sgr0 or cnorm should not be used with tparm.
+          + improve description of BSD-style padding in curs_termcap.3x
+          + improve  discussion  of  padding  versus  tparm  and tputs in
+            man/curs_terminfo.3x
+          + add a note in manual page to explain ungetch vs unget_wch.
+          + improve  description  of error-returns in waddch and waddnstr
+            manual pages.
+
+   There  are  no new manual pages (all of the manual page updates are to
+   existing pages).
 
    Some  of  the  improvements  are  more subtle, relating to the way the
-   information is presented:
-     * Made minor fixes to manpage NAME/SYNOPSIS sections to consistently
-       use  rule  that  either  all  functions  which  are  prototyped in
-       SYNOPSIS  are  listed in the NAME section, or the manual-page name
-       is the sole item listed in the NAME section. The latter is used to
-       reduce  clutter,  e.g.,  for the top-level library manual pages as
-       well  as  for  certain  feature-pages  such  as  [85]SP-funcs  and
-       [86]threading.
-     * improve  manual  pages  for utilities with respect to POSIX versus
-       X/Open Curses.
-     * improve  organization  of  the [87]attributes and [88]color manual
-       pages.
+   information  is  presented. For instance, hyphenation is suppressed in
+   the HTML files generated from manual pages because an upgrade to groff
+   gave  noticeably  poorer  results,  interfering  with  the  process of
+   creating links between the resulting webpages.
 
   Interesting bug-fixes
 
-     * modify  toe  to not exit if unable to read a terminal description,
-       e.g., if there is a permission problem.
-     * correct 20100515 change for weak signals versus sigprocmask
-     * work  around  Ada  tool-breakage in Debian 9 and later by invoking
-       gprconfig  to  specify  the C compiler to be used by gnatmake, and
-       conditionally   suppressing   Library_Options   line   for  static
-       libraries.
-     * There were, as well, several bug-fixes to handle illegal input for
-       tic.   Because   those  did  not  correspond  to  useful  terminal
-       descriptions, most users are unaffected.
+   While  there  were  many bugs fixed during development of ncurses 6.3,
+   only  a  few  (the  reason  for  this release) were both important and
+   interesting. Most of the bug-fixes were for local issues which did not
+   affect  compatibility across releases. Since those are detailed in the
+   NEWS file no elaboration is needed here.
+
+   The interesting bugs were:
+     * modify wbkgd and wbkgrnd to avoid storing a null in the background
+       character, because it may be used in cases where the corresponding
+       0x80 is not treated as a null.
+       This  was  a regression introduced in ncurses 6.2 (reported on the
+       mailing list), for which the workaround was to specify a blank for
+       the background character.
+     * remove  output-related  checks  for  nl/nonl (also reported on the
+       mailing list).
+     * improve  tparm  implementation of %P and %g, more closely matching
+       SVr4  terminfo.  Those  denote  static  and  dynamic  variables in
+       terminfo expressions.
+       Exactly  what those terms meant was never documented before in any
+       implementation of curses, aside from source code. Unlike the other
+       two  fixes,  the  problem  was discovered while studying OpenBSD's
+       version of tset.
 
   Configuration changes
 
     Major changes
 
-   This  release  provides  a new binary format for terminal descriptions
-   that  use  extended  numeric capabilities. Applications built with the
-   wide-character ncursesw library can use these extended numbers.
-     * This includes utilities such as tic and infocmp, because (as noted
-       in  [89]New features), the feature relies upon an extension to the
-       low-level tinfo library.
-     * A  few  software  packagers  use a configuration option of ncurses
-       which  allows the low-level tinfo library to be shared between the
-       high-level  ncurses  and  ncursesw libraries. This new feature was
-       designed to work in that configuration as well.
-
-   Other  applications (i.e., using the 8-bit ncurses library) which read
-   the  extended terminal descriptions see those numeric capabilities set
-   to the maximum value for a signed 16-bit number.
-
-   Older   versions   of   ncurses'   tic   accept  out-of-range  numeric
-   capabilities,  storing  those as the maximum value for a signed 16-bit
-   number.  Other  implementations of curses (mentioned in the discussion
-   of [90]picsmap) give zero for these out-of-range capabilities.
+   There  are  no  major  changes. Several new options were added to ease
+   integration  of packages with systems using different versions of GNAT
+   and ncurses. Also, improvements were made to configure checks.
 
     Configuration options
 
-   These  changes  provide  support  for  tack 1.08, released in [91]July
-   2017:
-     * add   --without-tack   configure  option  to  refine  --with-progs
-       configure option. Normally tack is built outside the ncurses tree,
-       but  a  few packagers combine it during the build. If term_entry.h
-       is installed, there is no advantage to in-tree builds.
-     * adjust   configure-script   to  define  HAVE_CURSES_DATA_BOOLNAMES
-       symbol  needed  for  tack  1.08  when  built  in-tree. Rather than
-       relying upon internal "_nc_" functions, tack now uses the boolean,
-       number  and  string capability name-arrays provided by ncurses and
-       SVr4  Unix  curses. It still uses term_entry.h for the definitions
-       of the extended capability arrays.
-     * add  dependency  upon  ncurses_cfg.h  to  tic's  header-files; any
-       program  using  tic-library  will have to supply this file. Legacy
-       tack  versions  supply  this  file;  ongoing  tack development has
-       dropped  the dependency upon tic-library and new releases will not
-       be affected.
-
-   Other changes to the configure-script and generated files include
-     * add  configure  options to disable checks for form, menu and panel
-       libraries  so  that  ncurses-examples  can  be built with non-SVr4
-       curses implementations.
-     * add  configure  option  --enable-opaque-curses for ncurses library
-       and similar options for the other libraries.
-     * add configure option --disable-wattr-macros for use in cases where
-       one   wants   to   use  the  same  headers  for  ncurses5/ncurses6
-       development,  by suppressing the wattr* macros which differ due to
-       the introduction of extended colors
-     * modify  configure macro for shared-library rules to use -Wl,-rpath
-       rather than -rpath to work around a bug in scons
-     * improve  ncurses-examples'  configure  script  to define as needed
-       NCURSES_WIDECHAR  for  platforms where _XOPEN_SOURCE_EXTENDED does
-       not  work.  Also  modified  the  test  program  to  ensure that if
-       building  with  ncurses,  that  the cchar_t type is checked, since
-       that  is  normally  (since [92]20111030) ifdef'd depending on this
-       test.
-     * modify  configure  script  to handle the case where tic-library is
-       renamed,  but  the  --with-debug  option is used by itself without
-       normal or shared libraries
-     * modify  editing  script which generates resulting.map to work with
-       the clang configuration on recent FreeBSD, which gives an error on
-       an empty "local" section.
-     * improve configure check for setting the WILDCARD_SYMS variable; on
-       ppc64 the variable is in the Data section rather than Text.
-     * correct  result  of  configure  option  --without-fallbacks, which
-       caused FALLBACK_LIST to be set to "no"
-     * modify  --with-pkg-config-libdir  option  to  make  it possible to
-       install  ".pc"  files  even if pkg-config is not found. Limit this
-       change,  to suppress the actual install if it is not overridden to
-       a valid directory at install time.
-     * disallow "no" as a possible value for --with-shlib-version option,
-       overlooked in cleanup-changes for [93]20000708.
+   There are a few new/modified configure options:
+
+   --enable-fvisibility
+          new  configure  option  and  check  for gcc -fvisibility=hidden
+          feature
+
+   --enable-leaks
+          corrected  to allow turning leak-checking off later in a set of
+          options.
+
+   --enable-stdnoreturn
+          new  configure  option  makes the _Noreturn keyword optional to
+          ease transition.
+
+   --disable-pkg-ldflags
+          revised option also controls whether $LDFLAGS from the build is
+          provided in "-config" and ".pc" files.
+
+   --disable-root-access
+          add  configure  option  which  tells  ncurses  to disallow most
+          file-opens by setuid processes.
+
+   --disable-wattr-macros
+          changed  default  to  help  packagers  who  reuse wide ncursesw
+          header file with non-wide ncurses library.
+
+   --with-pkg-config-libdir
+          revised  option  uses the actual search path from pkg-config or
+          pkgconf using the output from --debug.
+
+   --with-ada-libname
+          --with-form-libname
+          --with-menu-libname
+          --with-panel-libname
+          new several --with-xxx-libname options, to help with pkgsrc
 
   Portability
 
    Many  of  the  portability  changes  are implemented via the configure
    script:
-     * improve  configure  script's  CF_CC_ENV_FLAGS  macro  to allow for
-       compiler  wrappers  such  as  ccache.  This  change moves only the
-       preprocessor,  optimization  and  warning  flags  to  CPPFLAGS and
-       CFLAGS,  leaving the residue in CC. That happens to work for gcc's
-       various   "model"  options,  but  may  require  tuning  for  other
-       compilers.
-     * modify  ncurses-examples'  configure  script to use pkg-config for
-       the  extra  form/menu/panel  libraries, to be more consistent with
-       the handling of the curses/ncurses library.
-     * add  configuration  checks  to build with [94]NetBSD curses, which
-       for example lacks [95]use_env.
-     * change  ncurses-examples  to use attr_t vs chtype to follow X/Open
-       documentation   more   closely   since  Solaris  xpg4-curses  uses
-       different  values for WA_xxx vs A_xxx that rely on attr_t being an
-       unsigned  short.  Tru64  aka  OSF1, HPUX, AIX did as ncurses does,
-       equating the two sets.
-     * modify  several  test  programs  to  reflect  that  ncurses honors
-       existing  signal  handlers in initscr, while other implementations
-       do not.
-     * add  configure  check  for  openpty to ncurses-examples' configure
-       script, for ditto.
-     * improve check for working poll function by using posix_openpt as a
-       fallback in case there is no valid terminal on the standard input
-     * modify  ncurses-examples'  configure  script  to check for pthread
-       dependency  of  ncursest  or  ncursestw  library when building the
-       ncurses examples, e.g., in case weak symbols are used.
-     * add   checks   in  ncurses-examples'  configure  script  for  some
-       functions neither in 4.3BSD curses, nor based on X/Open Curses:
-          + modify  a  loop limit in firework.c to work around absense of
-            limit checks in some libraries.
-          + fill the last row of a window with "?" in firstlast if waddch
-            does not return ERR on the lower-right corner.
-     * build-fixes for the Portland Group (PGI) compilers
-          + accept whitespace in sed expression for generating expanded.c
-          + modify  configure  check  that  g++ compiler warnings are not
-            used.
-          + add  configure  check  for  -fPIC  option  needed  for shared
-            libraries.
-     * modify  configure  script  for  clang  as used on FreeBSD, to work
-       around clang's differences in exit codes vs gcc.
-     * fixes for configure/build using clang on OSX
-          + do   not   redefine   "inline"  in  ncurses_cfg.h;  this  was
-            originally to solve a problem with gcc/g++, but is aggravated
-            by clang's misuse of symbols to pretend it is gcc.
-          + add  braces  to configure script to prevent unwanted addition
-            of "-lstdc++" option to the CXXLIBS symbol.
-          + improve/update  test-program  used  for checking existence of
-            stdc++ library.
-          + if $CXXLIBS is set, the linkage test uses that in addition to
-            $LIBS.
-     * fixes for OS/2:
-          + use  button  instead  of  kbuf[0]  in  EMX-specific  part  of
-            lib_mouse.c
-          + support building with libtool on OS/2
-          + use stdc++ library with OS/2 kLIBC
-          + clear  configure  script's  cf_XOPEN_SOURCE for OS/2, to work
-            with its header files
-     * add  "newer"  baudrate symbols to the [96]baudrate function in the
-       ncurses library as well as to a corresponding table in tset.
-     * modify ncurses-examples savescreen to work with AIX and HPUX.
-     * define WIN32_LEAN_AND_MEAN for MinGW port, making builds faster.
-     * add  a configure check for wcwidth versus the ncurses line-drawing
-       characters,  to  use  in  special-casing  systems such as Solaris.
-       Solaris,  however,  requires  a  special  case  that  maps Unicode
-       line-drawing  characters  into  the  acsc  string  for non-Unicode
-       locales.  Solaris also has a misconfigured wcwidth which marks all
-       of the line drawing characters as double-width.
-     * string-hacks (non-standard):
-          + fix  configure  script  to  record  when  strlcat is found on
-            OpenBSD.
-          + add   --enable-string-hacks   option   to   ncurses-examples'
-            configure script.
-          + completed  string-hacks  for  sprintf,  etc.,  including  the
-            ncurses-examples programs.
-          + make   --enable-string-hacks   option  work  with  Debian  by
-            checking   for   the   "bsd"   library   and  its  associated
-            "<bsd/string.h>" header.
-     * workaround for Debian's antique/unmaintained version of mawk:
-          + see  Debian  #65617,  which  was  fixed  in  mawk's  upstream
-            releases in [97]2009.
-          + related fixes when building link_test.
+     * add  a  special case in the configure script to work around one of
+       the build-time breakages reported for OpenBSD 6 here:
+
+     https://www.mail-archive.com/bugs@openbsd.org/msg13200.html
+     * modify configure check for libtool to prevent accidental use of an
+       OpenBSD program which uses the same name.
+     * modify  configuration  checks  for  build-time  tic/infocmp to use
+       AC_CHECK_TOOL. That can still be overridden by --with-tic-path and
+       --with-infocmp-path when fallbacks are used, but even if not using
+       fallbacks, the improved check may help with cross-compiling.
+     * relax modification-time comparison in CF_LINK_FUNCS to allow it to
+       accept link() function with NFS filesystems which change the mtime
+       on the link target, e.g., several BSD systems.
+     * modify  configure  check  for  c89/c99 aliases of clang to use its
+       -std  option instead, because some platforms, in particular macOS,
+       do not provide workable c89/c99 aliases.
+     * modify  CF_NCURSES_CONFIG  to work around Xcode's c99 "-W" option,
+       which conflicts with conventional use for passing linker options.
+     * modify   configure   scripts   to   filter  out  redefinitions  of
+       _XOPEN_SOURCE,  e.g., for NetBSD which generally supports 500, but
+       600 is needed for ncursesw.
+
+   Here are some of the other portability fixes:
+     * change   configure-check   and   source-code  for  gcc's  noreturn
+       attribute  to  assume  it is a prefix rather than suffix, matching
+       c11's _Noreturn convention.
+     * modify mk-1st.awk to account for extra-suffix configure option.
+     * build-fix for termsort module when configured with termcap.
+     * modify  configure  script  and  makefiles to support ".PHONY" make
+       program feature.
+     * amend  libtool  configuration  to  add dependency for install.tic,
+       etc., in ncurses/Makefile on the lower-level libraries.
+     * modify Ada95 source-generation utility to write to a file given as
+       parameter rather than to the standard output, allowing builds with
+       MinGW.
+     * amend  tic/infocmp  check  to  allow  for  the  respective  tool's
+       absence.
+     * build-fixes for gnat 10.1.1, whose gnatmake drops integration with
+       gprbuild.
+     * correct configure version-check/warning for g++ to allow for 10.x
      _________________________________________________________________
 
 Features of ncurses
@@ -936,7 +496,7 @@ Features of ncurses
             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 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
@@ -960,6 +520,7 @@ Features of ncurses
        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 direct-color terminals, such as modern xterm.
      * 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
@@ -982,10 +543,10 @@ Features of ncurses
        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  [98]tic/[99]captoinfo  utility  provided with ncurses has the
-       ability  to  translate  many termcaps from the XENIX, IBM and AT&T
-       extension sets.
-     * A BSD-like [100]tset utility is provided.
+     * The tic/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 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
@@ -1000,20 +561,20 @@ Features of ncurses
        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.
-     * The  table-of-entries  utility [101]toe makes it easy for users to
-       see exactly what terminal types are available on the system.
+     * The  table-of-entries  utility  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
+       has  a  corresponding  function  which  may be linked (and will be
        prototype-checked)  if  the  macro  definition  is  disabled  with
        #undef.
-     * Extensive  documentation  is  provided  (see  the  [102]Additional
-       Reading section of the [103]ncurses FAQ for online documentation).
+     * Extensive  documentation  is  provided (see the Additional Reading
+       section of the ncurses FAQ for online documentation).
 
 Applications using ncurses
 
    The  ncurses  distribution  includes  a  selection  of  test  programs
    (including   a   few   games).   These  are  available  separately  as
-   [104]ncurses-examples
+   ncurses-examples
 
    The   ncurses   library  has  been  tested  with  a  wide  variety  of
    applications including:
@@ -1021,127 +582,131 @@ Applications using ncurses
    aptitude
           FrontEnd to Apt, the debian package manager
 
-          [105]https://wiki.debian.org/Aptitude
+          https://wiki.debian.org/Aptitude
 
    cdk
           Curses Development Kit
 
-          [106]https://invisible-island.net/cdk/
+          https://invisible-island.net/cdk/
 
    ded
           directory-editor
 
-          [107]https://invisible-island.net/ded/
+          https://invisible-island.net/ded/
 
    dialog
           the  underlying  application used in Slackware's setup, and the
           basis   for  similar  install/configure  applications  on  many
           systems.
 
-          [108]https://invisible-island.net/dialog/
+          https://invisible-island.net/dialog/
 
    lynx
           the text WWW browser
 
-          [109]https://lynx.invisible-island.net/
+          https://lynx.invisible-island.net/
 
    mutt
           mail utility
 
-          [110]http://www.mutt.org/
+          http://www.mutt.org/
 
    ncftp
           file-transfer utility
 
-          [111]https://www.ncftp.com/
+          https://www.ncftp.com/
 
    nvi
           New vi uses ncurses.
 
-          [112]https://sites.google.com/a/bostic.com/keithbostic/vi
+          https://sites.google.com/a/bostic.com/keithbostic/vi
 
    ranger
           A console file manager with VI key bindings in Python.
 
-          [113]https://ranger.github.io/
+          https://ranger.github.io/
 
    tin
           newsreader, supporting color, MIME
 
-          [114]http://www.tin.org/
+          http://www.tin.org/
 
    vifm
           File manager with vi like keybindings
 
-          [115]https://vifm.info/
+          https://vifm.info/
 
    as well as some that use ncurses for the terminfo support alone:
 
    minicom
           terminal emulator for serial modem connections
 
-          [116]https://alioth.debian.org/projects/minicom/
+          https://alioth.debian.org/projects/minicom/
 
    mosh
           a replacement for ssh.
 
-          [117]https://mosh.mit.edu/
+          https://mosh.org/
 
    tack
           terminfo action checker
 
-          [118]https://invisible-island.net/ncurses/tack.html
+          https://invisible-island.net/ncurses/tack.html
 
    tmux
           terminal multiplexor
 
-          [119]https://github.com/tmux/tmux/wiki
+          https://github.com/tmux/tmux/wiki
 
    vile
           vi-like-emacs  may  be  built  to  use the terminfo, termcap or
           curses interfaces.
 
-          [120]https://invisible-island.net/vile/
+          https://invisible-island.net/vile/
 
    and finally, those which use only the termcap interface:
 
    emacs
           text editor
 
-          [121]https://www.gnu.org/software/emacs/
+          https://www.gnu.org/software/emacs/
 
    less
           The  most  commonly  used  pager  (a program that displays text
           files).
 
-          [122]http://www.greenwoodsoftware.com/less/
+          http://www.greenwoodsoftware.com/less/
 
    screen
           terminal multiplexor
 
-          [123]https://www.gnu.org/software/screen/
+          https://www.gnu.org/software/screen/
 
    vim
           text editor
 
-          [124]https://www.vim.org/
+          https://www.vim.org/
 
 Development activities
 
    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 [125]Thomas Dickey. Thomas Dickey also
-   acts  as  the maintainer for the Free Software Foundation, which holds
-   the [126]copyright on ncurses.
+   Juergen Pfeifer wrote most of the form and menu libraries.
+
+   Ongoing development work is done by Thomas E. Dickey. Thomas E. Dickey
+   has  acted  as  the maintainer for the Free Software Foundation, which
+   held  a  copyright  on ncurses for releases 4.2 through 6.1. Following
+   the release of ncurses 6.1, effective as of release 6.2, copyright for
+   ncurses  reverted  to  Thomas  E.  Dickey  (see  the  ncurses  FAQ for
+   additional information).
 
    Contact the current maintainers at
 
-     [127]bug-ncurses@gnu.org
+     bug-ncurses@gnu.org
 
    To join the ncurses mailing list, please write email to
 
-     [128]bug-ncurses-request@gnu.org
+     bug-ncurses-request@gnu.org
 
    containing the line:
 
@@ -1150,219 +715,61 @@ Development activities
    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
+   Beta versions of ncurses are made available at
+
+     ftp://ftp.invisible-island.net/ncurses/current/ and
+     https://invisible-mirror.net/archives/ncurses/current/ .
+
+   Patches to the current release are made available at
 
-     [129]ftp://ftp.invisible-island.net/ncurses/ and
-     [130]https://invisible-mirror.net/archives/ncurses/ .
+     ftp://ftp.invisible-island.net/ncurses/6.2/ and
+     https://invisible-mirror.net/archives/ncurses/6.2/ .
 
    There is an archive of the mailing list here:
 
-     [131]http://lists.gnu.org/archive/html/bug-ncurses            (also
-     [132]https)
+     http://lists.gnu.org/archive/html/bug-ncurses (also https)
 
 Related resources
 
    The  release notes make scattered references to these pages, which may
    be interesting by themselves:
-     * [133]ncurses licensing
-     * [134]Symbol versioning in ncurses
-     * [135]Comments on ncurses versus slang (S-Lang)
-     * [136]tack - terminfo action checker
-     * [137]tctest - termcap library checker
-     * [138]Terminal Database
+     * ncurses licensing
+     * Symbol versioning in ncurses
+     * Comments on ncurses versus slang (S-Lang)
+     * Comments on OpenBSD
+     * tack - terminfo action checker
+     * tctest - termcap library checker
+     * Terminal Database
 
 Other resources
 
    The  distribution  provides  a  newer  version  of the terminfo-format
-   terminal  description  file  once  maintained  by  [139]Eric Raymond .
-   Unlike  the  older version, the termcap and terminfo data are provided
-   in   the   same  file,  which  also  provides  several  user-definable
-   extensions beyond the X/Open specification.
+   terminal description file once maintained by Eric Raymond . Unlike the
+   older  version, the termcap and terminfo data are provided in the same
+   file, which also provides several user-definable extensions beyond the
+   X/Open specification.
 
    You  can  find  lots  of  information  on  terminal-related topics not
-   covered in the terminfo file at [140]Richard Shuford's archive .
-
-     * [141]Overview
-     * [142]Release Notes
-          + [143]Library improvements
-               o [144]New features
-               o [145]Other improvements
-          + [146]Program improvements
-               o [147]Utilities
-               o [148]Examples
-          + [149]Terminal database
-          + [150]Documentation
-          + [151]Interesting bug-fixes
-          + [152]Configuration changes
-               o [153]Major changes
-               o [154]Configuration options
-          + [155]Portability
-     * [156]Features of ncurses
-     * [157]Applications using ncurses
-     * [158]Development activities
-     * [159]Related resources
-     * [160]Other resources
-
-References
-
-   1. https://invisible-island.net/ncurses/man/captoinfo.1m.html
-   2. https://invisible-island.net/ncurses/man/clear.1.html
-   3. https://invisible-island.net/ncurses/man/infocmp.1m.html
-   4. https://invisible-island.net/ncurses/man/tabs.1.html
-   5. https://invisible-island.net/ncurses/man/tic.1m.html
-   6. https://invisible-island.net/ncurses/man/toe.1m.html
-   7. https://invisible-island.net/ncurses/man/tput.1.html
-   8. https://invisible-island.net/ncurses/man/tset.1.html
-   9. https://invisible-island.net/ncurses/
-  10. ftp://ftp.invisible-island.net/ncurses/
-  11. https://invisible-mirror.net/archives/ncurses/
-  12. ftp://ftp.gnu.org/gnu/ncurses/
-  13. https://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-def_prog_mode_-def_shell_mode
-  14. https://invisible-island.net/ncurses/ncurses-mapsyms.html
-  15. https://invisible-island.net/ncurses/tctest.html#bsd42-numeric-caps
-  16. https://invisible-island.net/ncurses/ncurses-slang.html#cause_numbers
-  17. https://invisible-island.net/ncurses/tack.html#portable
-  18. https://invisible-island.net/ncurses/tack/CHANGES.html#index-t20170726
-  19. https://invisible-island.net/ncurses/man/curs_attr.3x.html#h2-EXTENSIONS
-  20. https://invisible-island.net/ncurses/man/tset.1.html#h3-reset---reinitialization
-  21. https://invisible-island.net/ncurses/man/tset.1.html
-  22. https://invisible-island.net/ncurses/man/tput.1.html
-  23. https://invisible-island.net/ncurses/man/tset.1.html#h3-reset---reinitialization
-  24. https://invisible-island.net/ncurses/man/clear.1.html
-  25. https://invisible-island.net/ncurses/tctest.html#bsd42-ctl-question
-  26. https://invisible-island.net/ncurses/tctest.html#freebsd-ctl-question
-  27. https://invisible-island.net/ncurses/ncurses-examples.html
-  28. https://invisible-island.net/ncurses/man/new_pair.3x.html#h3-alloc_pair
-  29. https://invisible-island.net/ncurses/man/new_pair.3x.html#h3-find_pair
-  30. https://invisible-island.net/ncurses/man/new_pair.3x.html#h3-free_pair
-  31. https://invisible-island.net/ncurses/ncurses-slang.html#compare_picsmap
-  32. https://invisible-island.net/dialog/
-  33. https://invisible-island.net/dialog/manpage/dialog.html#h3-Common-Options
-  34. https://invisible-island.net/xterm/xterm.log.html#xterm_331
-  35. https://invisible-island.net/ncurses/terminfo.src.html#toc-_A_N_S_I__S_Y_S__I_S_O_6429__E_C_M_A-48__Capabilities
-  36. https://invisible-island.net/ncurses/terminfo.src.html#tic-icl6404
-  37. https://invisible-island.net/ncurses/terminfo.src.html#tic-interix
-  38. https://invisible-island.net/ncurses/terminfo.src.html#toc-_Linux_consoles
-  39. https://invisible-island.net/ncurses/terminfo.src.html#toc-_Open_B_S_D_consoles
-  40. https://invisible-island.net/ncurses/terminfo.src.html#toc-_Tmux
-  41. https://invisible-island.net/ncurses/terminfo.src.html#toc-_D_E_C__V_T100_and_compatibles
-  42. https://invisible-island.net/ncurses/terminfo.src.html#toc-_G_N_O_M_E__V_T_E_
-  43. https://invisible-island.net/ncurses/terminfo.src.html#toc-_X_T_E_R_M
-  44. https://invisible-island.net/xterm/xterm.log.html#xterm_32
-  45. https://invisible-island.net/xterm/xterm.log.html#xterm_272
-  46. https://invisible-island.net/ncurses/NEWS.html
-  47. https://invisible-island.net/ncurses/man/clear.1.html#h2-HISTORY
-  48. https://invisible-island.net/ncurses/man/clear.1.html#h2-HISTORY
-  49. https://invisible-island.net/ncurses/man/clear.1.html#h2-HISTORY
-  50. https://invisible-island.net/ncurses/man/curs_addch.3x.html#h2-PORTABILITY
-  51. https://invisible-island.net/ncurses/man/curs_attr.3x.html#h2-HISTORY
-  52. https://invisible-island.net/ncurses/man/curs_attr.3x.html#h2-HISTORY
-  53. https://invisible-island.net/ncurses/man/curs_attr.3x.html#h2-PORTABILITY
-  54. https://invisible-island.net/ncurses/man/curs_mouse.3x.html#h2-PORTABILITY
-  55. https://invisible-island.net/ncurses/man/curs_pad.3x.html#h2-PORTABILITY
-  56. https://invisible-island.net/ncurses/man/curs_slk.3x.html#h2-PORTABILITY
-  57. https://invisible-island.net/ncurses/man/resizeterm.3x.html#h2-PORTABILITY
-  58. https://invisible-island.net/ncurses/man/wresize.3x.html#h2-PORTABILITY
-  59. https://invisible-island.net/ncurses/man/curs_addch.3x.html#h3-ACS-Symbols
-  60. https://invisible-island.net/ncurses/man/curs_add_wch.3x.html
-  61. https://invisible-island.net/ncurses/man/clear.1.html#h2-DESCRIPTION
-  62. https://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-endwin
-  63. https://invisible-island.net/ncurses/man/form_driver.3x.html
-  64. https://invisible-island.net/ncurses/man/curs_get_wstr.3x.html#h2-RETURN-VALUE
-  65. https://invisible-island.net/ncurses/man/curs_getch.3x.html#h3-Predefined-key-codes
-  66. https://invisible-island.net/ncurses/man/curs_getch.3x.html#h3-Keypad-Mode
-  67. https://invisible-island.net/ncurses/man/curs_get_wch.3x.html#h2-DESCRIPTION
-  68. https://invisible-island.net/ncurses/man/infocmp.1m.html
-  69. https://invisible-island.net/ncurses/man/resizeterm.3x.html#h2-NOTES
-  70. https://invisible-island.net/ncurses/man/curs_extend.3x#h2-RETURN-VALUE
-  71. https://invisible-island.net/ncurses/man/curs_variables.3x.html#h2-PORTABILITY
-  72. https://invisible-island.net/ncurses/man/curs_memleaks.3x.html
-  73. https://invisible-island.net/ncurses/man/tic.1m.html
-  74. https://invisible-island.net/ncurses/man/terminfo.5.html#h3-Terminfo-Capabilities-Syntax
-  75. https://invisible-island.net/ncurses/man/terminfo.5.html#h3-Line-Graphics
-  76. https://invisible-island.net/ncurses/man/terminfo.5.html#h3-Color-Handling
-  77. https://invisible-island.net/ncurses/man/tput.1.html#h2-PORTABILITY
-  78. https://invisible-island.net/ncurses/man/tput.1.html#h3-Aliases
-  79. https://invisible-island.net/ncurses/man/tic.1m.html#h2-OPTIONS
-  80. https://invisible-island.net/ncurses/man/infocmp.1m.html#h3-Other-Options
-  81. https://invisible-island.net/ncurses/man/tset.1.html
-  82. https://invisible-island.net/ncurses/man/curs_termcap.3x.html#h3-FORMATTING-CAPABILITIES
-  83. https://invisible-island.net/ncurses/man/user_caps.5.html
-  84. https://invisible-island.net/ncurses/man/scr_dump.5.html
-  85. https://invisible-island.net/ncurses/man/curs_sp_funcs.3x.html
-  86. https://invisible-island.net/ncurses/man/curs_threads.3x.html
-  87. https://invisible-island.net/ncurses/man/curs_attr.3x.html
-  88. file:///ncurses/man/curs_color.3x.html
-  89. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h4-new-library
-  90. https://invisible-island.net/ncurses/ncurses-slang.html#compare_picsmap
-  91. https://invisible-island.net/ncurses/tack/CHANGES.html#index-t20170726
-  92. https://invisible-island.net/ncurses/NEWS.html#t20111030
-  93. https://invisible-island.net/ncurses/NEWS.html#t20000708
-  94. https://invisible-island.net/ncurses/ncurses-netbsd.html
-  95. https://invisible-island.net/ncurses/man/curs_util.3x.html#h3-use_env
-  96. https://invisible-island.net/ncurses/man/curs_termattrs.3x.html#h3-baudrate
-  97. https://invisible-island.net/mawk/CHANGES.html#t20090727
-  98. https://invisible-island.net/ncurses/man/tic.1m.html
-  99. https://invisible-island.net/ncurses/man/captoinfo.1m.html
- 100. https://invisible-island.net/ncurses/man/tset.1.html
- 101. https://invisible-island.net/ncurses/man/toe.1m.html
- 102. https://invisible-island.net/ncurses/ncurses.faq.html#additional_reading
- 103. https://invisible-island.net/ncurses/ncurses.faq.html
- 104. https://invisible-island.net/ncurses/ncurses-examples.html
- 105. https://wiki.debian.org/Aptitude
- 106. https://invisible-island.net/cdk/
- 107. https://invisible-island.net/ded/
- 108. https://invisible-island.net/dialog/
- 109. https://lynx.invisible-island.net/
- 110. http://www.mutt.org/
- 111. https://www.ncftp.com/
- 112. https://sites.google.com/a/bostic.com/keithbostic/vi
- 113. https://ranger.github.io/
- 114. http://www.tin.org/
- 115. https://vifm.info/
- 116. https://alioth.debian.org/projects/minicom/
- 117. https://mosh.mit.edu/
- 118. https://invisible-island.net/ncurses/tack.html
- 119. https://github.com/tmux/tmux/wiki
- 120. https://invisible-island.net/vile/
- 121. https://www.gnu.org/software/emacs/
- 122. http://www.greenwoodsoftware.com/less/
- 123. https://www.gnu.org/software/screen/
- 124. https://www.vim.org/
- 125. mailto:dickey@invisible-island.net
- 126. https://invisible-island.net/ncurses/ncurses-license.html
- 127. mailto:bug-ncurses@gnu.org
- 128. mailto:bug-ncurses-request@gnu.org
- 129. ftp://ftp.invisible-island.net/ncurses/
- 130. https://invisible-mirror.net/archives/ncurses/
- 131. http://lists.gnu.org/archive/html/bug-ncurses
- 132. https://lists.gnu.org/archive/html/bug-ncurses
- 133. https://invisible-island.net/ncurses/ncurses-license.html
- 134. https://invisible-island.net/ncurses/ncurses-mapsyms.html
- 135. https://invisible-island.net/ncurses/ncurses-slang.html
- 136. https://invisible-island.net/ncurses/tack.html
- 137. https://invisible-island.net/ncurses/tctest.html
- 138. https://invisible-island.net/ncurses/ncurses.html#download_database
- 139. http://www.catb.org/~esr/terminfo/
- 140. http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal
- 141. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h2-overview
- 142. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h2-release-notes
- 143. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h3-library
- 144. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h4-new-library
- 145. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h4-fixes-library
- 146. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h3-programs
- 147. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h4-utilities
- 148. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h4-examples
- 149. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h3-database
- 150. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h3-documentation
- 151. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h3-bug-fixes
- 152. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h3-config-config
- 153. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h4-config-major
- 154. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h4-config-options
- 155. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h3-portability
- 156. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h2-features
- 157. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h2-who-uses
- 158. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h2-development
- 159. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h2-this-stuff
- 160. file:///usr/build/ncurses/ncurses-6.1-20180127/doc/html/announce.html#h2-other-stuff
+   covered  in  the  terminfo  file  at  Richard  Shuford's archive . The
+   collection of computer manuals at bitsavers.org has also been useful.
+
+     * Overview
+     * Release Notes
+          + Library improvements
+               o New features
+               o Other improvements
+          + Program improvements
+               o Utilities
+               o Examples
+          + Terminal database
+          + Documentation
+          + Interesting bug-fixes
+          + Configuration changes
+               o Major changes
+               o Configuration options
+          + Portability
+     * Features of ncurses
+     * Applications using ncurses
+     * Development activities
+     * Related resources
+     * Other resources