]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ANNOUNCE
ncurses 5.8 - patch 20110305
[ncurses.git] / ANNOUNCE
index 5a2a139850d892ffa8efa3b34501cbf10710a5f0..269bd2bca2a8726faa8fbdb8603d6c3de1da8507 100644 (file)
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,4 +1,4 @@
-                            Announcing ncurses 5.5
+                            Announcing ncurses 5.8
 
    The  ncurses  (new  curses)  library  is  a free software emulation of
    curses  in  System  V  Release 4.0, and more. It uses terminfo format,
                                  Release Notes
 
    This  release  is  designed  to  be upward compatible from ncurses 5.0
-   through   5.4;  very  few  applications  will  require  recompilation,
+   through   5.7;  very  few  applications  will  require  recompilation,
    depending   on  the  platform.  These  are  the  highlights  from  the
-   change-log since ncurses 5.4 release.
-
-   Interface changes:
-     * terminfo   installs  "xterm-new"  as  "xterm"  entry  rather  than
-       "xterm-old" (aka xterm-r6).
-     * terminfo  data  is  installed using the tic -x option (few systems
-       still use ncurses 4.2).
-     * modify  C++  binding to work with newer C++ compilers by providing
-       initializers  and  using  modern casts. Old-style header names are
-       still  used  in  this  release  to allow compiling with not-so-old
-       compilers.
-     * modify parameter type in c++ binding for insch() and mvwinsch() to
-       be  consistent  with  underlying  ncurses  library  (was  char, is
-       chtype).
-     * change NCursesWindow::err_handler() to a virtual function.
-     * form  and  menu  libraries  now  work  with  wide-character  data.
-       Applications  which  bypassed the form library and manipulated the
-       FIELD.buf  data  directly  will  not  work properly with libformw,
-       since   that   no   longer   points  to  an  array  of  char.  The
-       set_field_buffer()  and field_buffer() functions translate to/from
-       the actual field data.
-     * add  symbol  to  curses.h which can be used to suppress include of
-       stdbool.h, e.g.,
-                #define NCURSES_ENABLE_STDBOOL_H 0
-                #include <curses.h>
-
-     * change  SP->_current_attr  to  a pointer, adjust ifdef's to ensure
-       that  libtinfo.so  and  libtinfow.so have the same ABI. The reason
-       for  this  is  that  the  corresponding  data which belongs to the
-       upper-level ncurses library has a different size in each model.
-     * winnstr()   now   returns  multibyte  character  strings  for  the
-       wide-character configuration.
-     * assume_default_colors()      no      longer      requires     that
-       use_default_colors() be called first.
-     * data_ahead() now works with wide-characters.
-     * slk_set()  and  slk_wset()  now  accept  and  store  multibyte  or
-       multicolumn characters.
-     * start_color()  now returns OK if colors have already been started.
-       start_color() also returns ERR if it cannot allocate memory.
-     * pair_content()  now returns -1 for consistency with init_pair() if
-       it corresponds to the default-color.
-     * unctrl()  now returns null if its parameter does not correspond to
-       an unsigned char.
-
-   New features and improvements:
-     * library
-          + environment     variable     NCURSES_NO_UTF8_ACS     supports
-            miscellaneous   terminal  emulators  which  ignore  alternate
-            character set escape sequences when in UTF-8 mode.
-          + modify  initialization  of  key  lookup  table  so that if an
-            extended  capability (tic -x) string is defined, and its name
-            begins  with  'k',  ncurses  will automatically treat it as a
-            key.
-          + change  GPM  initialization,  using  dl  library  to  load it
-            dynamically at runtime.
-          + form, menu and panel libraries support debug-tracing.
-     * add   NCURSES-Programming-HOWTO.html   by   Pradeep   Padala  (see
-       http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/).
-     * programs:
-     * infocmp:
-          + The  -i  option  now matches 8-bit controls against its table
-            entries, e.g., so it can analyze the xterm-8bit entry.
-          + add  "-x"  option to infocmp like tic's "-x", for use in "-F"
-            comparisons.  This  modifies  infocmp to only report extended
-            capabilities  if  the  -x  option  is given, making this more
-            consistent  with  tic.  Some scripts may break, since infocmp
-            previous gave this information without an option.
-     * tic:
-          + modify  termcap-parsing  to retain 2-character aliases at the
-            beginning of an entry if the "-x" option is used in tic.
-          + filter  out  long  extended names when translating to termcap
-            format.  Only  two  characters  are  permissible  for termcap
-            capability names.
-          + correct  translation  of  "%%" in terminfo format to termcap,
-            e.g., using "tic -C".
-          + modify  the  "-c  -v" options to ignore delays when comparing
-            strings.  Also  modify  it  to  ignore a canceled sgr string,
-            e.g.,  for terminals which cannot properly combine attributes
-            in one control sequence.
-          + add  a  check  for  improperly  ended  strings, i.e., where a
-            following line begins in column 1.
-          + add a check in tic for terminfo entries having an sgr0 but no
-            sgr string. This confuses Tru64 and HPUX curses when combined
-            with  color,  e.g., making them leave line-drawing characters
-            in odd places.
-          + add  check (with debug configuration) that provides about the
-            runtime  changes  that  would  be  made  to  sgr0 for termcap
-            applications.
-     * tset:
-          + add  -c  and  -w  options  to allow user to suppress ncurses'
-            resizing  of the terminal emulator window in the special case
-            where it is not able to detect the true size.
-
-   Major bug fixes:
-     * improve  logic  in tgetent() which adjusts the termcap "me" string
-       to  work with ISO-2022 string used in xterm-new. This is a feature
-       that was incompletely implemented in ncurses 5.3. ncurses attempts
-       to  provide  termcap clients with the portion of the sgr0 (termcap
-       "me") string that does not reset line-drawing.
-     * cells  in  the  WINDOW  which  are  continuations of a multicolumn
-       character   are   encoded   differently,  making  repainting  more
-       reliable.
-     * amend  change to setupterm() in ncurses 5.4 (20030405) which would
-       reuse  the value of cur_term if the same output was selected. This
-       now  reuses  it  only  when  setupterm() is called from tgetent(),
-       which  has no notion of separate SCREENs. Note that tgetent() must
-       be called after initscr() or newterm() to use this feature.
-     * make  setcchar() now works when its wchar_t* parameter is pointing
-       to a string which contains more data than can be converted.
-     * win_wchnstr() now works for more than one cell.
-     * resizeterm() now processes all levels of window hierarchy.
-     * disable  GPM  mouse support when $TERM happens to be prefixed with
-       "xterm".  Gpm_Open()  would otherwise assert that it can deal with
-       mouse events in this case.
-     * add  SP->_screen_acs_map[], used to ensure that mapping of missing
-       line-drawing   characters   is   handled  properly.  For  example,
-       ACS_DARROW  is  absent  from  xterm-new, and it was coincidentally
-       displayed the same as ACS_BTEE.
-
-   Portability:
+   change-log since ncurses 5.7 release.
+
+Interface changes
+
+     * turn on _XOPEN_CURSES definition in curses.h.
+     * change  _nc_has_mouse  to  has_mouse,  reflect  its use in C++ and
+       Ada95.
+     * add is_pad and is_subwin functions for opaque access to the WINDOW
+       structure.
+     * add tiparm, based on review of X/Open Curses Issue 7.
+
+New features and improvements
+
+  Library Improvements
+
+     * add  a terminal driver for Windows console, which supports a MinGW
+       port to Windows.
+     * add  extended  functions  which  specify  the  SCREEN  pointer for
+       several curses functions which use the global SP.
+     * improve  the  NCURSES_NO_UTF8_ACS feature by adding a check for an
+       extended terminfo capability U8.
+     * improve  performance of tigetstr, etc., by using hashing code from
+       tic.
+     * add  WACS_xxx  definitions  to  wide-character  configuration  for
+       thick- and double-lines.
+     * modify  init_pair  to  allow  caller  to  create extra color pairs
+       beyond the color_pairs limit, which use default colors.
+
+  Improvements to Programs
+
+     * add tabs program.
+     * modify  tic's  -I/-C  dump to reformat acsc strings into canonical
+       form (sorted, unique mapping).
+     * add  checks  in tic for inconsistent cursor-movement controls, and
+       for inconsistent printer-controls.
+     * add  special  case  to  _nc_infotocap (used by tic and infocmp) to
+       recognize   the   setaf/setab   strings  from  xterm+256color  and
+       xterm+88color,  and  provide  a  reduced  version which works with
+       termcap.
+
+  Terminal Database
+
+     * added entries:
+          + bterm terminfo entry, based on bogl 0.1.18
+          + cons25-debian entry
+          + eterm-color entry
+          + linux-16color
+          + mlterm+256color entry, for mlterm 3.0.0
+          + several screen-bce.xxx entries
+          + screen.Eterm terminfo entry
+          + vwmterm entry
+          + xterm-utf8 entry as a demo of the U8 feature
+     * updated/improved entries:
+          + use extended capabilities:
+               o add  U8 feature to denote entries for terminal emulators
+                 which  do  not support VT100 SI/SO when processing UTF-8
+                 encoding
+               o add  XT capability to entries for terminals that support
+                 both  xterm-style  mouse- and title-controls, for screen
+                 which special-cases TERM beginning with xterm or rxvt
+          + improvements based on new checks in tic:
+          +
+               o fill  in  no-parameter  forms of cursor-movement where a
+                 parameterized form is available
+               o fill  in  missing  cursor controls where the form of the
+                 controls is ANSI
+               o add parameterized cursor-controls to linux-basic
+               o modify  nsterm,  xnuppc  and  tek4115  to  make sgr/sgr0
+                 consistent
+               o change  several  terminfo entries to make consistent use
+                 of ANSI clear-all-tabs
+          + extend  ansi.sys  pfkey capability from kf1-kf10 to kf1-kf48,
+            moving   function   key   definitions   from   emx-base   for
+            consistency.
+          + correct   missing   final   'p'   in   pfkey   capability  of
+            ansi.sys-old.
+          + rename   atari   and  st52  terminfo  entries  to  atari-old,
+            st52-old, use newer entries from FreeMiNT.
+          + repurpose  gnome  terminfo  entries  as  vte, retaining gnome
+            variants  for  compatibility, but generally deprecating those
+            since  the  VTE library is what actually defines the behavior
+            of "gnome", etc., since 2003.
+          + improve  interix  smso  terminfo  capability by using reverse
+            rather than bold.
+          + correct  initc  capability  of  linux-c-nc end-of-range, make
+            similar change for dg+ccc and dgunix+ccc.
+          + update minix terminfo entry.
+          + updated nsterm* entries.
+          + remove unnecessary kcan assignment to ^C from putty.
+          + suppress  ncv  in  screen  and konsole-base entries, allowing
+            underline.
+          + change ncv and op capabilities in sun-color terminfo entry to
+            match Sun's entry for this.
+          + fix typo in rmso for tek4106 entry.
+          + improve acsc string for vt52, show arrow keys.
+          + add  hard-reset  for  rs2 to wsvt25 to help ensure that reset
+            ends the alternate character set.
+          + add ccc and initc capabilities to xterm-16color.
+
+Major bug fixes
+
+     * ncurses library
+          + wide character support
+               o modify length returned by getcchar to count the trailing
+                 null which is documented in X/Open.
+               o fix  an  infinite  recursion when adding a legacy-coding
+                 8-bit value using insch.
+               o improve  a  workaround in adding wide-characters, when a
+                 control  character  is found. The library uses unctrl to
+                 obtain a printable version of the control character, but
+                 was not passing color or video attributes.
+               o modify  waddch_literal,  updating  line-pointer  after a
+                 multicolumn character is found to not fit on the current
+                 row,  and  wrapping  is done. Since the line-pointer was
+                 not  updated,  the  wrapped  multicolumn  character  was
+                 written to the beginning of the current row.
+               o fixes in wins_nwstr and related functions to ensure that
+                 special characters, i.e., control characters are handled
+                 properly with the wide-character configuration.
+               o correct  internal  _nc_insert_ch  to  use _nc_insert_wch
+                 when  inserting  wide  characters,  since  the  wins_wch
+                 function   that  it  used  did  not  update  the  cursor
+                 position.
+          + mouse
+               o add  check  if Gpm_Open returns a -2, e.g., for "xterm".
+                 This  is normally suppressed but can be overridden using
+                 $NCURSES_GPM_TERMS.  Ensure  that Gpm_Close is called in
+                 this case.
+               o add  check  in mouse-driver to disable connection if GPM
+                 returns  a  zero,  indicating  that  the  connection  is
+                 closed.
+               o modify  getmouse  to  act  as its documentation implied,
+                 returning  on  each  call the preceding event until none
+                 are  left.  When  no  more events remain, it will return
+                 ERR.
+          + miscellaneous
+               o improve  handling  of color-pairs embedded in attributes
+                 for the extended-colors configuration.
+               o add check for failure to open hashed-database needed for
+                 db4.6.
+               o modify  use of $CC environment variable which is defined
+                 by X/Open as a curses feature, to ignore it if it is not
+                 a single character.
+               o modify  declaration  of  cur_term  when broken-linker is
+                 used, but enable-reentrant is not, to match pre-5.7.
+               o correct limit-checks in derwin.
+               o remove  old  check  in mvderwin which prevented moving a
+                 derived  window  whose  origin happened to coincide with
+                 its parent's origin.
+               o correct  limit-checks  in newwin, to ensure that windows
+                 have nonzero size.
+               o modify  set_curterm  to make broken-linker configuration
+                 work with changes from 20090228.
+               o modify  wgetch to ensure it checks SIGWINCH when it gets
+                 an error in non-blocking mode.
+               o correct   limit-check   in   wredrawln,  accounting  for
+                 begy/begx values.
+               o fix   a   null-pointer   check   in  _nc_format_slks  in
+                 lib_slk.c, from 20070704 changes.
+               o correct  translation  of  "^"  in _nc_infotocap, used to
+                 transform terminfo to termcap strings.
+               o modify  _nc_wgetch  to check for a -1 in the fifo, e.g.,
+                 after  a  SIGWINCH,  and  discard  that  value, to avoid
+                 confusing application.
+     * other libraries
+          + correct   transfer  of  multicolumn  characters  in  multirow
+            field_buffer,  which  stopped at the end of the first row due
+            to filling of unused entries in a cchar_t array with nulls.
+          + correct buffer-size after internal resizing of wide-character
+            set_field_buffer, broken in 20081018 changes.
+          + correct  layout  of  working  window  used to extract data in
+            wide-character configured by set_field_buffer
+
+Portability
+
      * configure script:
           + new options:
 
-              --enable-largefile
-                      set  compiler  and  linker  flags  to use largefile
-                      support.
-
-              --enable-ext-colors
-                      Allow  encoding  of  256  foreground and background
-                      colors,    e.g.,   with   the   xterm-256color   or
-                      xterm-88color terminfo entries. This requires ABI 6
-                      because it changes the size of cchar_t.
-
-              --enable-ext-mouse
-                      This  defines NCURSES_MOUSE_VERSION 2, and modifies
-                      the encoding of mouse events to support wheel mice,
-                      which may transmit buttons 4 and 5. This works with
-                      xterm and similar terminal emulators. This requires
-                      ABI  6  because  it  changes  the encoding of mouse
-                      events.
-
-              --with-chtype
-                      overriding of the non-LP64 model's use of chtype
-
-              --with-mmask-t
-                      overriding of the non-LP64 model's use of mmask_t
-
-              --without-xterm-new
-                      Installs  "xterm-old"  as  the "xterm" entry of the
-                      terminfo database.
-
-          + The  --with-termlib option now accepts a value which sets the
-            name  of the terminfo library. This would allow a packager to
-            build libtinfow.so renamed to coincide with libtinfo.so
-          + fixes/improvements for cross-compiling:
-               o suppress     $suffix     in     misc/run_tic.sh     when
-                 cross-compiling.  This  allows cross-compiles to use the
-                 host's  tic  program  to  handle the "make install.data"
-                 step.
-               o correct       BUILD_CPPFLAGS       substitution       in
-                 ncurses/Makefile.in,  to  allow  cross-compiling  from a
-                 separate directory tree.
-     * library:
-          + add  ifdef's  for  _LP64  in curses.h to avoid using wasteful
-            64-bits  for  chtype  and  mmask_t,  but add configure option
-            --disable-lp64 in case anyone used that configuration.
-          + modify  C++  binding to use some C internal functions to make
-            it compile properly on Solaris (and other platforms).
-          + remove  check  in  newwin()  that prevents allocating windows
-            that extend beyond the screen (Solaris does this).
-          + check  for  nl_langinfo(CODESET),  use  it if available. This
-            replaces  ad  hoc  tests of environment variables to check if
-            the  terminal is setup for UTF-8 encoding. Applications which
-            do  not  call  setlocale()  should be corrected, to make them
-            work properly with UTF-8 encoding.
-            In  particular,  applications  which  assume (and do not call
-            setlocale())  that Latin-1 codes are printable will no longer
-            work  in a UTF-8 locale since the ad hoc check of environment
-            variables  to  see  if  the locale was UTF-8 is not used when
-            nl_langinfo(CODESET) is available.
-          + use  setlocale() to query the program's current locale rather
-            than  using  getenv().  This supports applications which rely
-            upon  legacy treatment of 8-bit characters when the locale is
-            not initialized.
+              --disable-libtool-version
+                      use  the  "-version-number" feature which was added
+                      in  libtool  1.5.  The default value for the option
+                      uses  the  newer  feature,  which  makes  libraries
+                      generated   using   libtool   compatible  with  the
+                      standard builds of ncurses.
+
+              --disable-rpath-hack
+                      disable  a  feature  which  adds  rpath options for
+                      libraries in unusual places.
+
+              --enable-interop
+                      integrate  changes  for  generic/interop support to
+                      form-library.
+
+              --enable-pc-files
+                      generate ".pc" files for each of the libraries, and
+                      install them in pkg-config's library directory.
+
+              --enable-pthreads-eintr
+                      control  whether to allow EINTR to interrupt a read
+                      operation  in  wgetch.  This  applies  only  to the
+                      pthread configuration
+
+              --enable-sp-funcs
+                      compile-in  support  for  extended  functions which
+                      accept  a  SCREEN  pointer,  reducing  the need for
+                      juggling  the  global  SP  value  with set_term and
+                      delscreen.
+
+              --enable-term-driver
+                      compile  with  terminal-driver. That is used in the
+                      MinGW  port,  and (being somewhat more complicated)
+                      is  an experimental alternative to the conventional
+                      termlib   internals.  Currently,  it  requires  the
+                      sp-funcs feature to be enabled.
+
+              --with-ncurses-wrap-prefix
+                      allows  setting  the  prefix  for functions used to
+                      wrap  global  variables  to  something  other  than
+                      "_nc_".
+
+              --with-pkg-config=[DIR]
+                      check  for  pkg-config,  optionally  specifying its
+                      path.
+
+              --without-manpages
+                      tells  the configure script to suppress the install
+                      of ncurses' manpages.
+
+              --without-tests
+                      suppress building test programs.
+
+          + improved options:
+               o correct logic for --with-database, which was coded as an
+                 enable-type switch.
+               o omit    the   opaque-functions   from   lib_gen.o   when
+                 --disable-ext-funcs is used.
+     * packaging:
+          + *-config scripts:
+               o modify  adacurses-config to look for ".ali" files in the
+                 adalib directory.
+               o correct  install  for  the  Ada95  tree,  which  omitted
+                 libAdaCurses.a used in adacurses-config.
+               o change   install   for   adacurses-config   to   provide
+                 additional   flavors   such  as  adacursesw-config,  for
+                 ncursesw.
+               o modify  scripts to generate ncurses*-config and pc-files
+                 to add dependency for tinfo library.
+               o use    ncurses*-config    scripts   if   available   for
+                 test/configure.
+               o correct name for termlib in ncurses*-config, e.g., if it
+                 is renamed to provide a single file for ncurses/ncursesw
+                 libraries.
+               o generate manpages for the *-config scripts, adapted from
+                 help2man.
+               o modify   install-rule  for  manpages  so  that  *-config
+                 manpages will install when building with --srcdir.
+               o build-fixes   for   OpenSolaris   aka  Solaris  11,  for
+                 wide-character   configuration  as  well  as  for  rpath
+                 feature in *-config scripts.
+               o use  $includedir  symbol  in misc/ncurses-config.in, add
+                 --includedir option.
+               o improve install-rules for pc-files.
+               o create the pkg-config library directory if needed.
+               o fix  typo  "==" where "=" is needed in ncurses-config.in
+                 and gen-pkgconfig.in files.
+               o modify  gen-pkgconfig.in  to  eliminate  a dependency on
+                 rpath  when  deciding  whether  to  add  $LIBS to --libs
+                 output;  that  should be shown for the ncurses and tinfo
+                 libraries without taking rpath into account.
+               o modify  handling  of  $PKG_CONFIG_LIBDIR to use only the
+                 first item in a possibly colon-separated list.
+          + other packaging issues
+               o add make-tar.sh scripts to Ada95 and test subdirectories
+                 to help with making those separately distributable.
+               o add  Ada95/configure  script, to use in tar-file created
+                 by Ada95/make-tar.sh.
+               o remove   tar-copy.sh   and   related  configure/Makefile
+                 chunks,  since  the Ada95 binding is now installed using
+                 rules in Ada95/src.
+     * cross-compiling:
+          + improve  configure  checks  for  location  of tic and infocmp
+            programs  used  for  installing  database  and for generating
+            fallback data, e.g., for cross-compiling.
+          + modify  #define's  for  build-compiler  to  suppress  cchar_t
+            symbol  from  compile  of  make_hash and make_keys, improving
+            cross-compilation of ncursesw.
+          + simplify  include-dependencies of make_hash and make_keys, to
+            reduce the need for setting BUILD_CPPFLAGS in cross-compiling
+            when the build- and target-machines differ.
+          + correct cross-compiling configure check for CF_MKSTEMP macro,
+            by adding a check cache variable set by AC_CHECK_FUNC.
+     * library dependencies:
+          + revise  wadd_wch  and  wecho_wchar to eliminate dependency on
+            unctrl.
+          + adjust  configure  script so that "t" is not added to library
+            suffix  when  weak-symbols  are  used,  allowing  the pthread
+            configuration to more closely match the non-thread naming.
+     * building the Ada95 tree:
+          + changes to use gnatmake project files in the Ada95 tree.
+          + add/use   configure  check  to  turn  on  project  rules  for
+            Ada95/src.
+          + old   gnatmake   (3.15)  does  not  produce  libraries  using
+            project-file;  work  around  by  adding  script  to  generate
+            alternate makefile.
+          + add  configure --with-ada-sharedlib option, for the test_make
+            rule.
+          + move  Ada95-related  logic  into aclocal.m4, since additional
+            checks  will be needed to distinguish old/new implementations
+            of gnat.
+          + add test_make / test_clean / test_install rules in Ada95/src
+          + change    install-path    for    adainclude    directory   to
+            /usr/share/ada (was /usr/lib/ada).
+     * other configure/build issues:
+          + make CCHARW_MAX value configurable, noting that changing this
+            would   change   the   size   of   cchar_t,   and   would  be
+            ABI-incompatible.
+          + improve  comparison of program-names when checking for linked
+            flavors such as "reset" by ignoring the executable suffix.
+          + drop mkdirs.sh, use "mkdir -p".
+          + drop  misc/ncu-indent  and misc/jpf-indent; they are provided
+            by an external package [3]cindent.
+          + change  makefiles  to  use  $ARFLAGS  rather  than  $AR_OPTS,
+            provide  a  configure check to detect whether a "-" is needed
+            before "ar" options.
+          + modify   CF_DISABLE_LEAKS   configure   macro   so  that  the
+            --enable-leaks option is not the same as --disable-leaks.
+          + improve    configure   script   macros   CF_HEADER_PATH   and
+            CF_LIBRARY_PATH  by adding CFLAGS, CPPFLAGS and LDFLAGS, LIBS
+            values to the search-lists.
+          + improve  configure  macros CF_GCC_VERSION and CF_GCC_WARNINGS
+            to  work  with  gcc  4.x's  c89  alias,  which  gives warning
+            messages  for  cases  where  older  versions would produce an
+            error.
+          + modify  CF_WITH_LIBTOOL  configure  check to allow unreleased
+            libtool version numbers (e.g. which include alphabetic chars,
+            as well as digits, after the final '.').
+          + improve  use  of  symbolic  links  in makefiles by using "-f"
+            option  if it is supported, to eliminate temporary removal of
+            the target
+          + add  a  configure-time  check  to  pick  a suitable value for
+            CC_SHARED_OPTS for Solaris.
+          + add  -shared option to MK_SHARED_LIB when -Bsharable is used,
+            for  *BSD's,  without which "main" might be one of the shared
+            library's dependencies.
+          + modify  configure  script  to allow building shared libraries
+            with gcc on AIX 5 or 6.
+          + suppress  configure check for static/dynamic linker flags for
+            gcc on Solaris 10, since gcc is confused by absence of static
+            libc,  and  does  not  switch  back  to  dynamic  mode before
+            finishing the libraries.
+          + suppress  configure check for static/dynamic linker flags for
+            gcc on Darwin.
+          + modify  misc/run_tic.in  to  create parent directory, in case
+            this is a new install of hashed database.
+          + modify  configure  check for tic program, used for fallbacks,
+            to  a  warning  if  not  found.  This makes it simpler to use
+            additonal  scripts  to bootstrap the fallbacks code using tic
+            from the build tree.
+     * test programs:
+          + add test/demo_terminfo, for comparison with demo_termcap.
+          + improve test/ncurses.c 'F' test, show combining characters in
+            color.
+          + fix logic for 'V' in test/ncurses.c tests f/F.
+          + improve  test/ncurses.c 'a test to put mouse droppings in the
+            proper window.
+          + modify  ncurses  'F'  test  to  demo wborder_set with colored
+            lines.
+          + modify ncurses 'f' test to demo wborder with colored lines.
+          + improve   test/ncurses.c   'a'   test,   using   unctrl  more
+            consistently to display meta-characters.
+          + correct  use  of  key_name  in test/ncurses.c 'A' test, which
+            only displays wide-characters, not key-codes since 20070612.
+          + add  test/clip_printw.c  to  illustrate  how  to  use  printw
+            without wrapping.
+          + modify  test-programs,  e.g,.  test/view.c, to address subtle
+            differences   between  Tru64/Solaris  and  HPUX/AIX  getcchar
+            return values.
+          + add  some  test programs (and make these use the same special
+            keys  by  sharing  linedata.h  functions): test/test_addstr.c
+            test/test_addwstr.c                      test/test_addchstr.c
+            test/test_add_wchstr.c
+          + add test/xterm-256color.dat
+          + modify  test  programs  to allow them to be built with NetBSD
+            curses.
+          + fixes for test programs to build/work on HPUX and AIX, etc.
 
                               Features of Ncurses
 
    The ncurses package also has many useful extensions over SVr4:
      * 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,   but   not   all   EXTENDED   features).   Most
-       EXTENDED-level features not directly concerned with wide-character
-       support   are  implemented,  including  many  function  calls  not
-       supported  under  SVr4  curses  (but  portability  of all calls is
-       documented so you can use the SVr4 subset only).
+       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).
      * Unlike  SVr3 curses, ncurses can write to the rightmost-bottommost
        corner  of  the  screen  if  your terminal has an insert-character
        capability.
      * Ada95 and C++ bindings.
-     * Support  for  mouse  event  reporting with X Window xterm and OS/2
-       console windows.
+     * Support  for mouse event reporting with X Window xterm and FreeBSD
+       and OS/2 console windows.
      * Extended mouse support via Alessandro Rubini's gpm package.
-     * The  function  wresize()  allows you to resize windows, preserving
+     * The  function  wresize  allows  you  to resize windows, preserving
        their data.
-     * The function use_default_colors() allows you to use the terminal's
+     * The  function  use_default_colors allows you to use the terminal's
        default colors for the default color pair, achieving the effect of
        transparent colors.
-     * The functions keyok() and define_key() 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.
-     * Support for 16-color terminals, such as aixterm and XFree86 xterm.
+     * The functions keyok and define_key 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.
+     * Support  for  256-color  terminals,  such  as  modern  xterm, when
+       configured using the --enable-ext-colors option.
+     * 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
        or System V's.
        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 quickch() routine.
+       powerful than the 4.4BSD curses quickch routine.
      * 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
 
    cdk
           Curses Development Kit
-          [3]http://invisible-island.net/cdk/
-          [4]http://www.vexus.ca/products/CDK/
+          [4]http://invisible-island.net/cdk/
+          [5]http://www.vexus.ca/products/CDK/
 
    ded
           directory-editor
-          [5]http://invisible-island.net/ded/
+          [6]http://invisible-island.net/ded/
 
    dialog
           the  underlying  application used in Slackware's setup, and the
           basis for similar applications on GNU/Linux.
-          [6]http://invisible-island.net/dialog/
+          [7]http://invisible-island.net/dialog/
 
    lynx
           the character-screen WWW browser
-          [7]http://lynx.isc.org/release/
+          [8]http://lynx.isc.org/release/
 
    Midnight Commander
           file manager
-          [8]http://www.ibiblio.org/mc/
+          [9]http://www.midnight-commander.org/
 
    mutt
           mail utility
-          [9]http://www.mutt.org/
+          [10]http://www.mutt.org/
 
    ncftp
           file-transfer utility
-          [10]http://www.ncftp.com/
+          [11]http://www.ncftp.com/
 
    nvi
           New vi versions 1.50 are able to use ncurses versions 1.9.7 and
           later.
-          [11]http://www.bostic.com/vi/
+          [12]https://sites.google.com/a/bostic.com/keithbostic/nvi
 
    pinfo
           Lynx-like info browser.
-          [12]http://dione.ids.pl/~pborys/software/pinfo/
+          [13]https://alioth.debian.org/projects/pinfo/
 
    tin
-          newsreader, supporting color, MIME [13]http://www.tin.org/
-
-   vh-1.6
-          Volks-Hypertext browser for the Jargon File
-          [14]http://www.debian.org/Packages/unstable/text/vh.html
+          newsreader, supporting color, MIME [14]http://www.tin.org/
 
    as well as some that use ncurses for the terminfo support alone:
 
    minicom
           terminal emulator
-          [15]http://www.netsonic.fi/~walker/minicom.html
+          [15]http://alioth.debian.org/projects/minicom/
 
    vile
           vi-like-emacs
 Who's Who and What's What
 
    Zeyd  Ben-Halim started it from a previous package pcurses, written by
-   Pavel  Curtis.  Eric  S. Raymond continued development. Jürgen Pfeifer
+   Pavel  Curtis.  Eric S. Raymond continued development. Juergen Pfeifer
    wrote  most of the form and menu libraries. Ongoing work is being done
    by  [17]Thomas  Dickey.  Thomas  Dickey acts as the maintainer for the
    Free  Software  Foundation,  which  holds  the  copyright  on ncurses.
@@ -419,9 +616,10 @@ Future Plans
 Other Related Resources
 
    The  distribution  provides  a  newer  version  of the terminfo-format
-   terminal  description file maintained by [20]Eric Raymond . Unlike the
-   older  version, the termcap and terminfo data are provided in the same
-   file.
+   terminal description file once maintained by [20]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
    covered in the terminfo file at [21]Richard Shuford's archive .
@@ -430,22 +628,22 @@ References
 
    1. ftp://ftp.gnu.org/gnu/ncurses/
    2. ftp://invisible-island.net/ncurses/
-   3. http://invisible-island.net/cdk/
-   4. http://www.vexus.ca/products/CDK/
-   5. http://invisible-island.net/ded/
-   6. http://invisible-island.net/dialog/
-   7. http://lynx.isc.org/release/
-   8. http://www.ibiblio.org/mc/
-   9. http://www.mutt.org/
-  10. http://www.ncftp.com/
-  11. http://www.bostic.com/vi/
-  12. http://dione.ids.pl/~pborys/software/pinfo/
-  13. http://www.tin.org/
-  14. http://www.debian.org/Packages/unstable/text/vh.html
-  15. http://www.netsonic.fi/~walker/minicom.html
+   3. http://invisible-island.net/cindent/cindent.html
+   4. http://invisible-island.net/cdk/
+   5. http://www.vexus.ca/products/CDK/
+   6. http://invisible-island.net/ded/
+   7. http://invisible-island.net/dialog/
+   8. http://lynx.isc.org/release/
+   9. http://www.midnight-commander.org/
+  10. http://www.mutt.org/
+  11. http://www.ncftp.com/
+  12. https://sites.google.com/a/bostic.com/keithbostic/nvi
+  13. https://alioth.debian.org/projects/pinfo/
+  14. http://www.tin.org/
+  15. http://alioth.debian.org/projects/minicom/
   16. http://invisible-island.net/vile/
   17. mailto:dickey@invisible-island.net
   18. mailto:bug-ncurses@gnu.org
   19. ftp://invisible-island.net/ncurses/
   20. http://www.catb.org/~esr/terminfo/
-  21. http://www.cs.utk.edu/~shuford/terminal_index.html
+  21. http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal