ncurses 5.9 - patch 20131019
[ncurses.git] / ANNOUNCE
index bbeeb8922d4724c0b184b8de901cfb0d99577bb5..11933c5f6d55f4f21e79e0829da3c801365977ce 100644 (file)
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,4 +1,4 @@
-                            Announcing ncurses 5.6
+                            Announcing ncurses 5.9
 
    The  ncurses  (new  curses)  library  is  a free software emulation of
    curses  in  System  V  Release 4.0, and more. It uses terminfo format,
 
    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
                                  Release Notes
 
    This  release  is  designed  to  be upward compatible from ncurses 5.0
-   through   5.5;  very  few  applications  will  require  recompilation,
+   through   5.8;  very  few  applications  will  require  recompilation,
    depending   on  the  platform.  These  are  the  highlights  from  the
    depending   on  the  platform.  These  are  the  highlights  from  the
-   change-log since ncurses 5.5 release.
-
-   Interface changes:
-     * generate linkable stubs for some macros:
-       getbegx,  getbegy,  getcurx,  getcury,  getmaxx, getmaxy, getparx,
-       getpary, getpary,
-       and (for libncursesw)
-       wgetbkgrnd
-
-   New features and improvements:
-     * library
-          + support  hashed databases for the terminal descriptions. This
-            uses  the  Berkeley  database,  has  been  tested for several
-            versions on different platforms.
-          + add    use_legacy_coding()   function   to   support   lynx's
-            font-switching feature.
-          + add extension nofilter(), to cancel a prior filter() call.
-          + add/install a package config script, e.g., ncurses5-config or
-            ncursesw5-config, according to configuration options.
-          + provide  ifdef  for  NCURSES_NOMACROS  which  suppresses most
-            macro  definitions  from  curses.h,  i.e.,  where  a macro is
-            defined to override a function to improve performance.
-          + make  ifdef's  consistent in curses.h for the extended colors
-            so the header file can be used for the normal curses library.
-            The  header file installed for extended colors is a variation
-            of the wide-character configuration.
-          + improve  tgetstr()  by making the return value point into the
-            user's buffer, if provided.
-          + add  ifdef's  allowing ncurses to be built with tparm() using
-            either   varargs   (the   existing   status),   or   using  a
-            fixed-parameter list (to match X/Open).
-          + widen  the  test  for xterm kmous a little to allow for other
-            strings  than  "\E[M",  e.g.,  for xterm-sco functionality in
-            xterm.
-          + modify wgetnstr() to return KEY_RESIZE if a sigwinch occurs.
-          + move  prototypes  for  wide-character  trace  functions  from
-            curses.tail  to  curses.wide to avoid accidental reference to
-            those  if  _XOPEN_SOURCE_EXTENDED is defined without ensuring
-            that <wchar.h> is included.
-          + change  the  way  shared  libraries  (other than libtool) are
-            installed.  Rather  than  copying the build-tree's libraries,
-            link  the  shared  objects  into  the install directory. This
-            makes the --with-rpath option work except with $(DESTDIR).
-          + several  improvements for rendering in hpterm. These are only
-            available    if    the    library    is    configured   using
-            --enable-xmc-glitch.
-          + Add    NCURSES_NO_HARD_TABS    and    NCURSES_NO_MAGIC_COOKIE
-            environment  variables  to  allow  runtime suppression of the
-            related hard-tabs and xmc-glitch features.
-     * programs:
-          + add  new  test programs: chgat.c, demo_altkeys.c, echochar.c,
-            foldkeys.c,  movewindow.c,  redraw.c,  (noting  that existing
-            test   programs   also   were  modified  to  test  additional
-            features).
-          + modify tack to test extended capability function-key strings.
-          + modify  toe  to  access  termcap  data,  e.g.,  via cgetent()
-            functions, or as a text file if those are not available.
-          + improve infocmp/tic -f option formatting.
-          + add  toe  -a  option,  to  show  all databases. This uses new
-            private  interfaces  in  the  ncurses  library  for iterating
-            through the list of databases.
-          + modify MKfallback.sh to use tic -x when constructing fallback
-            tables  to allow extended capabilities to be retrieved from a
-            fallback entry.
-     * terminal database
-          + add terminfo entries for xfce terminal (xfce) and multi gnome
-            terminal (mgt)
-          + add nsterm-16color entry
-          + updated mlterm terminfo entry
-          + add kon, kon2 and jfbterm terminfo entry
-          + remove  invis capability from klone+sgr, mainly used by linux
-            entry, since it does not really do this
-          + add ka2, kb1, kb3, kc2 to vt220-keypad as an extension
-          + add  shifted  up/down  arrow  codes  to xterm-new as kind/kri
-            strings
-          + add hpterm-color terminfo entry
-          + add  256color variants of terminfo entries for programs which
-            are reported to implement this feature
-          + correct  order  of use-clauses in rxvt-basic entry which made
-            codes for f1-f4 vt100-style rather than vt220-style.
-
-   Major bug fixes:
-     * correct  a typo in configure --with-bool option for the case where
-       --without-cxx is used.
-     * move  assignment from environment variable ESCDELAY from initscr()
-       down to newterm() so the environment variable affects timeouts for
-       terminals opened with newterm() as well.
-     * modify  werase  to clear multicolumn characters that extend into a
-       derived window.
-     * modify wchgat() to mark updated cells as changed so a refresh will
-       repaint those cells.
-     * correct  logic  in wadd_wch() and wecho_wch(), which did not guard
-       against   passing  the  multi-column  attribute  into  a  call  on
-       waddch(), e.g., using data returned by win_wch()
-     * fix  redrawing  of  windows other than stdscr using wredrawln() by
-       touching the corresponding rows in curscr.
-     * reduce  memory leaks in repeated calls to tgetent() by remembering
-       the  last TERMINAL* value allocated to hold the corresponding data
-       and freeing that if the tgetent() result buffer is the same as the
-       previous call.
-     * modify  read_termtype() so the term_names data is always allocated
-       as part of the str_table, a better fix for a memory leak.
-     * fix  wins_nwstr(),  which  did  not  handle single-column non-8bit
-       codes.
-     * modify  wbkgrnd()  to avoid clearing the A_CHARTEXT attribute bits
-       since those record the state of multicolumn characters.
-     * improve   SIGWINCH   handling  by  postponing  its  effect  during
-       newterm(), etc., when allocating screens.
-     * remove  970913 feature for copying subwindows as they are moved in
-       mvwin().
-     * add checks in waddchnstr() and wadd_wchnstr() to stop copying when
-       a null character is found.
-     * add  some  checks  to  ensure current position is within scrolling
-       region before scrolling on a new line.
-     * add  a  workaround  to  ACS  mapping to allow applications such as
-       test/blue.c  to  use  the "PC ROM" characters by masking them with
-       A_ALTCHARSET. This worked up til 5.5, but was lost in the revision
-       of legacy coding.
-
-   Portability:
-     * configure script:
-          + new options:
-
-              --with-hashed-db
-                      Use  Berkeley  hashed database for storing terminfo
-                      data  rather  than storing each compiled entry in a
-                      separate binary file within a directory tree.
-
-              --without-dlsym
-                      Do not use dlsym() to load GPM dynamically.
-
-              --with-valgrind
-                      Simplify building for testing with valgrind.
-
-              --enable-wgetch-events
-                      Compile with experimental wgetch-events code.
-
-              --enable-signed-char
-                      Store booleans in "signed char" rather than "char".
-
-          + improved options:
-
-              --disable-largefile
-                      make the option work both ways.
-
-              --with-gpm
-                      The  option now accepts a parameter, i.e., the name
-                      of the dynamic GPM library to load via dlopen()
-
-              --disable-symlinks
-                      The  option  now allows one to disable symlink() in
-                      tic even when link() does not work.
-
-     * other configure/build issues:
-          + remove  special  case for Darwin in CF_XOPEN_SOURCE configure
-            macro.
-          + add  configure  check  to  ensure that SIGWINCH is defined on
-            platforms such as OS X which exclude that when _XOPEN_SOURCE,
-            etc., are defined
-          + use  ld's -search_paths_first option on Darwin to work around
-            odd search rules on that platform.
-          + improve  ifdef's for _POSIX_VDISABLE in tset to work with Mac
-            OS X.
-          + modify  configure  script to ensure that if the C compiler is
-            used  rather  than the loader in making shared libraries, the
-            $(CFLAGS) variable is also used.
-          + use  ${CC}  rather  than  ${LD}  in  shared library rules for
-            IRIX64,  Solaris  to help ensure that initialization sections
-            are  provided  for  extra  linkage requirements, e.g., of C++
-            applications.
-          + improve  some  shared-library  configure scripting for Linux,
-            FreeBSD and NetBSD to make --with-shlib-version work.
-          + split    up    dependency   of   names.c   and   codes.c   in
-            ncurses/Makefile to work with parallel make.
-          + modify  MKlib_gen.sh  to  change  preprocessor-expanded _Bool
-            back to bool.
-          + modify progs/Makefile.in to make tput init work properly with
-            cygwin, i.e., do not pass a .exe in the reference string used
-            in check_aliases.
-     * library:
-          + ignore wide-acs line-drawing characters that wcwidth() claims
-            are  not one-column. This is a workaround for Solaris' broken
-            locale support.
-          + reduce  name-pollution  in  term.h  by removing #define's for
-            HAVE_xxx symbols.
-          + fix #ifdef in c++/internal.h for QNX 6.1
-     * test programs:
-          + modify  test/configure script to allow building test programs
-            with PDCurses/X11.
-          + modified  test  programs  to  allow  some to work with NetBSD
-            curses.  Several  do  not  because NetBSD curses implements a
-            subset  of  X/Open  curses,  and  also  lacks  much  of  SVr4
-            additions. But it is enough for comparison.
-          + improved  test/configure  to  build  test/ncurses  on HPUX 11
-            using the vendor curses.
-          + change  configure  script  to produce test/Makefile from data
-            file.
+   change-log since ncurses 5.8 release.
+
+   This  is  a  bug-fix  release,  correcting  a  small  number of urgent
+   problems in the ncurses library from the 5.8 release.
+
+   It also improves the Ada95 binding:
+     * fixes  a  longstanding  portability  problem  with  its use of the
+       [3]set_field_type    function.    Because   that   function   uses
+       variable-length  argument  lists, its interface with gnat does not
+       work with certain platforms.
+     * improves  configurability and portability, particularly when built
+       separately  from the main ncurses tree. The 5.8 release introduced
+       scripts  which  can be used to construct separate tarballs for the
+       Ada95 and ncurses examples.
+       Those  were a proof of concept. For the 5.9 release, those scripts
+       are  augmented  with  rpm-  and  dpkg-scripts  used in test builds
+       against  a  variety of gnat- and system ncurses versions as old as
+       gnat  3.15  and  ncurses  5.4  (see  snapshots  and systems tested
+       [4]here.
+     * additional  improvements  were made for portability of the ncurses
+       examples,  adding  rpm-  and  dpkg-scripts  for  test-builds.  See
+       [5]this page for snapshots and other information.
 
                               Features of Ncurses
 
 
                               Features of Ncurses
 
      * 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.
      * 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.
        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.
        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.
+     * 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
      * 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
        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
        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
      * 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
 
    cdk
           Curses Development Kit
-          [3]http://invisible-island.net/cdk/
-          [4]http://www.vexus.ca/products/CDK/
+          [6]http://invisible-island.net/cdk/
+          [7]http://www.vexus.ca/products/CDK/
 
    ded
           directory-editor
 
    ded
           directory-editor
-          [5]http://invisible-island.net/ded/
+          [8]http://invisible-island.net/ded/
 
    dialog
           the  underlying  application used in Slackware's setup, and the
           basis for similar applications on GNU/Linux.
 
    dialog
           the  underlying  application used in Slackware's setup, and the
           basis for similar applications on GNU/Linux.
-          [6]http://invisible-island.net/dialog/
+          [9]http://invisible-island.net/dialog/
 
    lynx
           the character-screen WWW browser
 
    lynx
           the character-screen WWW browser
-          [7]http://lynx.isc.org/release/
+          [10]http://lynx.isc.org/release/
 
    Midnight Commander
           file manager
 
    Midnight Commander
           file manager
-          [8]http://www.ibiblio.org/mc/
+          [11]http://www.midnight-commander.org/
 
    mutt
           mail utility
 
    mutt
           mail utility
-          [9]http://www.mutt.org/
+          [12]http://www.mutt.org/
 
    ncftp
           file-transfer utility
 
    ncftp
           file-transfer utility
-          [10]http://www.ncftp.com/
+          [13]http://www.ncftp.com/
 
    nvi
           New vi versions 1.50 are able to use ncurses versions 1.9.7 and
           later.
 
    nvi
           New vi versions 1.50 are able to use ncurses versions 1.9.7 and
           later.
-          [11]http://www.bostic.com/vi/
+          [14]https://sites.google.com/a/bostic.com/keithbostic/nvi
 
    pinfo
           Lynx-like info browser.
 
    pinfo
           Lynx-like info browser.
-          [12]http://dione.ids.pl/~pborys/software/pinfo/
+          [15]https://alioth.debian.org/projects/pinfo/
 
    tin
 
    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 [16]http://www.tin.org/
 
    as well as some that use ncurses for the terminfo support alone:
 
    minicom
           terminal emulator
 
    as well as some that use ncurses for the terminfo support alone:
 
    minicom
           terminal emulator
-          [15]http://alioth.debian.org/projects/minicom/
+          [17]http://alioth.debian.org/projects/minicom/
 
    vile
           vi-like-emacs
 
    vile
           vi-like-emacs
-          [16]http://invisible-island.net/vile/
+          [18]http://invisible-island.net/vile/
 
    The  ncurses  distribution  includes  a  selection  of  test  programs
    (including a few games).
 
    The  ncurses  distribution  includes  a  selection  of  test  programs
    (including a few games).
@@ -404,9 +227,9 @@ 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. Juergen Pfeifer
    wrote  most of the form and menu libraries. Ongoing work is being done
    Zeyd  Ben-Halim started it from a previous package pcurses, written by
    Pavel  Curtis.  Eric S. Raymond continued development. Juergen Pfeifer
    wrote  most of the form and menu libraries. Ongoing work is being done
-   by  [17]Thomas  Dickey.  Thomas  Dickey acts as the maintainer for the
+   by  [19]Thomas  Dickey.  Thomas  Dickey acts as the maintainer for the
    Free  Software  Foundation,  which  holds  the  copyright  on ncurses.
    Free  Software  Foundation,  which  holds  the  copyright  on ncurses.
-   Contact the current maintainers at [18]bug-ncurses@gnu.org.
+   Contact the current maintainers at [20]bug-ncurses@gnu.org.
 
    To   join   the   ncurses   mailing   list,   please  write  email  to
    bug-ncurses-request@gnu.org containing the line:
 
    To   join   the   ncurses   mailing   list,   please  write  email  to
    bug-ncurses-request@gnu.org containing the line:
@@ -416,7 +239,7 @@ Who's Who and What's What
    and testing of this package.
 
    Beta  versions  of ncurses and patches to the current release are made
    and testing of this package.
 
    Beta  versions  of ncurses and patches to the current release are made
-   available at [19]ftp://invisible-island.net/ncurses/ .
+   available at [21]ftp://invisible-island.net/ncurses/ .
 
 Future Plans
 
 
 Future Plans
 
@@ -430,34 +253,36 @@ Future Plans
 Other Related Resources
 
    The  distribution  provides  a  newer  version  of the terminfo-format
 Other Related Resources
 
    The  distribution  provides  a  newer  version  of the terminfo-format
-   terminal description file once maintained by [20]Eric Raymond . Unlike
+   terminal description file once maintained by [22]Eric Raymond . Unlike
    the  older  version, the termcap and terminfo data are provided in the
    same  file,  and provides several user-definable extensions beyond the
    X/Open specification.
 
    You  can  find  lots  of  information  on  terminal-related topics not
    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 .
+   covered in the terminfo file at [23]Richard Shuford's archive .
 
 References
 
    1. ftp://ftp.gnu.org/gnu/ncurses/
    2. ftp://invisible-island.net/ncurses/
 
 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://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
+   3. http://invisible-island.net/ncurses/man/form_fieldtype.3x
+   4. http://invisible-island.net/ncurses/ncurses-Ada95.html
+   5. http://invisible-island.net/ncurses/ncurses-examples.html
+   6. http://invisible-island.net/cdk/
+   7. http://www.vexus.ca/products/CDK/
+   8. http://invisible-island.net/ded/
+   9. http://invisible-island.net/dialog/
+  10. http://lynx.isc.org/release/
+  11. http://www.midnight-commander.org/
+  12. http://www.mutt.org/
+  13. http://www.ncftp.com/
+  14. https://sites.google.com/a/bostic.com/keithbostic/nvi
+  15. https://alioth.debian.org/projects/pinfo/
+  16. http://www.tin.org/
+  17. http://alioth.debian.org/projects/minicom/
+  18. http://invisible-island.net/vile/
+  19. mailto:dickey@invisible-island.net
+  20. mailto:bug-ncurses@gnu.org
+  21. ftp://invisible-island.net/ncurses/
+  22. http://www.catb.org/~esr/terminfo/
+  23. http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal