ncurses 5.9 - patch 20130126
[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,
                                  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
-   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
 
      * 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.
+     * 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
        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/
+          [6]http://invisible-island.net/cdk/
+          [7]http://www.vexus.ca/products/CDK/
 
    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.
-          [6]http://invisible-island.net/dialog/
+          [9]http://invisible-island.net/dialog/
 
    lynx
           the character-screen WWW browser
-          [7]http://lynx.isc.org/release/
+          [10]http://lynx.isc.org/release/
 
    Midnight Commander
           file manager
-          [8]http://www.ibiblio.org/mc/
+          [11]http://www.midnight-commander.org/
 
    mutt
           mail utility
-          [9]http://www.mutt.org/
+          [12]http://www.mutt.org/
 
    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.
-          [11]http://www.bostic.com/vi/
+          [14]https://sites.google.com/a/bostic.com/keithbostic/nvi
 
    pinfo
           Lynx-like info browser.
-          [12]http://dione.ids.pl/~pborys/software/pinfo/
+          [15]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 [16]http://www.tin.org/
 
    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
-          [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).
@@ -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
-   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.
-   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:
@@ -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
-   available at [19]ftp://invisible-island.net/ncurses/ .
+   available at [21]ftp://invisible-island.net/ncurses/ .
 
 Future Plans
 
@@ -430,34 +253,36 @@ Future Plans
 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
-   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/
-   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