ncurses 5.9 - patch 20130518
[ncurses.git] / ANNOUNCE
index e09e73177a45557238edf8d979c8ac5a3b665a66..11933c5f6d55f4f21e79e0829da3c801365977ce 100644 (file)
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,4 +1,4 @@
-                            Announcing ncurses 5.7
+                            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.6;  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.6 release.
-
-   Interface changes:
-     * generate linkable stubs for some macros:
-       getattrs
-
-   New features and improvements:
-     * library
-          + new  flavor  of  the  ncurses  library  provides  rudimentary
-            support  for  POSIX threads. Several functions are reentrant,
-            but most require either a window-level or screen-level mutex.
-            (This  is  API-compatible,  but  not  ABI-compatible with the
-            normal library).
-          + add  NCURSES_OPAQUE  symbol  to  curses.h,  will  use to make
-            structs opaque in selected configurations.
-          + add   NCURSES_EXT_FUNCS  and  NCURSES_EXT_COLORS  symbols  to
-            curses.h to make it simpler to tell if the extended functions
-            and/or colors are declared.
-          + add wresize() to C++ binding
-          + eliminate fixed-buffer vsprintf() calls in C++ binding.
-          + add  several  functions to C++ binding which wrap C functions
-            that pass a WINDOW* parameter.
-          + adapt mouse-handling code from menu library in form-library
-          + improve  tracing  for  form  library,  showing created forms,
-            fields, etc.
-          + make $NCURSES_NO_PADDING feature work for termcap interface .
-          + add  check  to  trace-file  open,  if  the  given  name  is a
-            directory, add ".log" to the name and try again.
-          + several   new   manpages:  curs_legacy.3x,  curs_memleaks.3x,
-            curs_opaque.3x and curs_threads.3x
-     * programs:
-          + modified  three  test-programs  to  demonstrate the threading
-            support in this version: ditto, rain, worm.
-          + several    new    test-programs:   demo_panels,   dots_mvcur,
-            inch_wide,    inchs,    key_name,    key_names,   savescreen,
-            savescreen.sh    test_arrays,   test_get_wstr,   test_getstr,
-            test_instr, test_inwstr and test_opaque.
-          + add adacurses-config to the Ada95 install.
-          + modify  tic  -f option to format spaces as \s to prevent them
-            from  being  lost  when  that  is  read  back  in unformatted
-            strings.
-          + The tack program is now distributed separately from ncurses.
-     * terminal database
-          + added entries:
-               o Eterm-256color, Eterm-88color and rxvt-88color
-               o aterm
-               o konsole-256color
-               o mrxvt
-               o screen.mlterm
-               o screen.rxvt
-               o teraterm4.59  is now the primary primary teraterm entry,
-                 renamed original to teraterm2.3
-               o 9term terminal
-               o Newbury Data entries
-          + updated/improved entries:
-               o gnome to version 2.22.3
-               o h19, z100
-               o konsole to version 1.6.6
-               o mlterm, mlterm+pcfkeys
-               o xterm, and building-blocks for function-keys to [3]xterm
-                 patch #230.
-
-   Major bug fixes:
-     * add   logic   to   tic  for  cancelling  strings  in  user-defined
-       capabilities (this is needed for current konsole terminfo entry).
-     * modify  mk-1st.awk  so the generated makefile rules for linking or
-       installing  shared  libraries  do not first remove the library, in
-       case it is in use, e.g., libncurses.so by /bin/sh.
-     * correct check for notimeout() in wgetch().
-     * fix a sign-extension bug in infocmp's repair_acsc() function.
-     * change winnstr() to stop at the end of the line.
-     * make Ada95 demo_panels() example work.
-     * fix for adding a non-spacing character at the beginning of a line.
-     * fill   in   extended-color   pair   to   make   colors   work  for
-       wide-characters using extended-colors.
-     * improve  refresh  of  window  on  top  of multi-column characters,
-       taking   into   account  split  characters  on  left/right  window
-       boundaries.
-     * modify  win_wchnstr()  to ensure that only a base cell is returned
-       for each multi-column character.
-     * improve waddch() and winsch() handling of EILSEQ from mbrtowc() by
-       using  unctrl()  to  display  illegal  bytes rather than trying to
-       append further bytes to make up a valid sequence.
-     * restore curs_set() state after endwin()/refresh()
-     * modify  keyname() to use "^X" form only if meta() has been called,
-       or  if  keyname() is called without initializing curses, e.g., via
-       initscr() or newterm().
-     * modify  unctrl() to check codes in 128-255 range versus isprint().
-       If  they  are not printable, and locale was set, use a "M-" or "~"
-       sequence.
-     * improve  resizeterm()  by  moving ripped-off lines, and repainting
-       the soft-keys.
-     * modify  form  library to accept control characters such as newline
-       in set_field_buffer(), which is compatible with Solaris.
-     * use  NCURSES_MOUSE_MASK() in definition of BUTTON_RELEASE(), etc.,
-       to   make   those   work   properly  with  the  --enable-ext-mouse
-       configuration
-     * correct  some  functions  in Ada95 binding which were using return
-       value from C where none was returned.
-     * reviewed/fixed issues reported by Coverity and Klocwork tools.
-
-   Portability:
-     * configure script:
-          + new options:
-
-              --disable-big-strings
-                      control  whether static string tables are generated
-                      as   single   large  strings  (to  improve  startup
-                      performance), or as array of individual strings.
-
-              --disable-relink
-                      control   whether  shared  libraries  are  relinked
-                      (during install) when rpath is enabled.
-
-              --disable-tic-depends
-                      make   explicit  whether  tic  library  depends  on
-                      ncurses/ncursesw library.
-
-              --enable-mixed-case
-                      override   the  configure  script's  check  if  the
-                      filesystem   supports  mixed-case  filenames.  This
-                      allows  one  to  control  how the terminal database
-                      maps to the filesystem. For filesystems that do not
-                      support   mixed-case,  the  library  uses  generate
-                      2-character (hexadecimal) codes for the lower-level
-                      of the filesystem terminfo database
-
-              --enable-reentrant
-                      builds  a  different  flavor of the ncurses library
-                      (ncursest)  which  improves  reentrant  use  of the
-                      library  by  reducing  global  and static variables
-                      (see  the  "--with-pthread" option for the threaded
-                      support).
-
-              --enable-weak-symbols
-                      use  weak-symbols  for  linking to the POSIX thread
-                      library,  and  use  the same soname for the ncurses
-                      shared  library  as the normal library (caveat: the
-                      ABI is for the threaded library, which makes global
-                      data accessed via functions).
-
-              --with-pthread
-                      build  with  the  POSIX thread library (tested with
-                      AIX,   Linux,   FreeBSD,   OpenBSD,  HPUX,  IRIX64,
-                      Solaris, Tru64).
-
-              --with-ticlib
-                      build/install   the   tic-support  functions  in  a
-                      separate library
-
-          + improved options:
-
-              --enable-ext-colors
-                      requires the wide-character configuration.
-
-              --with-chtype
-                      ignore  option  value "unsigned" is always added to
-                      the   type   in   curses.h;   do   the   same   for
-                      --with-mmask-t.
-
-              --with-dmalloc
-                      build-fix for redefinition of strndup.
-
-              --with-hashed-db
-                      accepts  a parameter which is the install-prefix of
-                      a given Berkeley Database.
-
-              --with-hashed-db
-                      the $LIBS environment variable overrides the search
-                      for the db library.
-
-              --without-hashed-db
-                      assumed when "--disable-database" is used.
-
-     * other configure/build issues:
-          + build-fixes for LynxOS
-          + modify  shared-library  rules  to  allow  FreeBSD  3.x to use
-            rpath.
-          + build-fix for FreeBSD "contemporary" TTY interface.
-          + build-fixes for AIX with libtool.
-          + build-fixes for Darwin and libtool.
-          + modify BeOS-specific ifdef's to build on Haiku.
-          + corrected  gcc  options  for  building  shared  libraries  on
-            Solaris and IRIX64.
-          + change  shared-library  configuration for OpenBSD, make rpath
-            work.
-          + build-fixes for using libutf8, e.g., on OpenBSD 3.7
-          + add   "-e"  option  in  ncurses/Makefile.in  when  generating
-            source-files  to  force earlier exit if the build environment
-            fails unexpectedly.
-          + add support for shared libraries for QNX.
-          + change  delimiter  in  MKlib_gen.sh from '%' to '@', to avoid
-            substitution  by  IBM xlc to '#' as part of its extensions to
-            digraphs.
-     * library:
-          + rewrite  wrapper  for  wcrtomb(),  making it work on Solaris.
-            This  is  used in the form library to determine the length of
-            the buffer needed by field_buffer.
-          + add/use  configure  script  macro  CF_SIG_ATOMIC_T,  use  the
-            corresponding type for data manipulated by signal handlers.
-          + set locale in misc/ncurses-config.in since it uses a range
-          + disable  GPM  mouse  support  when  $TERM  does not happen to
-            contain  "linux",  since  Gpm_Open()  no  longer  limits  its
-            assertion  to  terminals  that  it might handle, e.g., within
-            "screen" in xterm.
-          + reset mouse file-descriptor when unloading GPM library.
-     * test programs:
-          + update  test  programs to build/work with various UNIX curses
-            for comparisons.
+   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.
      * 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.
        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
-          [4]http://invisible-island.net/cdk/
-          [5]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
-          [6]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.
-          [7]http://invisible-island.net/dialog/
+          [9]http://invisible-island.net/dialog/
 
    lynx
           the character-screen WWW browser
 
    lynx
           the character-screen WWW browser
-          [8]http://lynx.isc.org/release/
+          [10]http://lynx.isc.org/release/
 
    Midnight Commander
           file manager
 
    Midnight Commander
           file manager
-          [9]http://www.ibiblio.org/mc/
+          [11]http://www.midnight-commander.org/
 
    mutt
           mail utility
 
    mutt
           mail utility
-          [10]http://www.mutt.org/
+          [12]http://www.mutt.org/
 
    ncftp
           file-transfer utility
 
    ncftp
           file-transfer utility
-          [11]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.
-          [12]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.
-          [13]https://alioth.debian.org/projects/pinfo/
+          [15]https://alioth.debian.org/projects/pinfo/
 
    tin
 
    tin
-          newsreader, supporting color, MIME [14]http://www.tin.org/
+          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).
 Who's Who and What's What
 
    Zeyd  Ben-Halim started it from a previous package pcurses, written by
 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
    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:
@@ -426,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
 
@@ -440,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/xterm/xterm.log.html#xterm_230
-   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.ibiblio.org/mc/
-  10. http://www.mutt.org/
-  11. http://www.ncftp.com/
-  12. http://www.bostic.com/vi/
-  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
+   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