]> ncurses.scripts.mit.edu Git - ncurses.git/commitdiff
ncurses 5.7 v5.7
authorThomas E. Dickey <dickey@invisible-island.net>
Mon, 3 Nov 2008 02:13:51 +0000 (21:13 -0500)
committerThomas E. Dickey <dickey@invisible-island.net>
Mon, 3 Nov 2008 02:13:51 +0000 (21:13 -0500)
ANNOUNCE
INSTALL
NEWS
announce.html.in
dist.mk
doc/html/announce.html
mkdirs.sh [changed mode: 0644->0755]
ncurses/tinfo/MKcaptab.sh [changed mode: 0644->0755]
test/demo_panels.c [changed mode: 0755->0644]
test/savescreen.c [changed mode: 0755->0644]
test/savescreen.sh [changed mode: 0644->0755]

index bbeeb8922d4724c0b184b8de901cfb0d99577bb5..e09e73177a45557238edf8d979c8ac5a3b665a66 100644 (file)
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,4 +1,4 @@
-                            Announcing ncurses 5.6
+                            Announcing ncurses 5.7
 
    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.6;  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.
+   change-log since ncurses 5.6 release.
 
    Interface changes:
      * generate linkable stubs for some macros:
 
    Interface changes:
      * generate linkable stubs for some macros:
-       getbegx,  getbegy,  getcurx,  getcury,  getmaxx, getmaxy, getparx,
-       getpary, getpary,
-       and (for libncursesw)
-       wgetbkgrnd
+       getattrs
 
    New features and improvements:
      * library
 
    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.
+          + 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:
      * 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.
+          + 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
      * 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.
+          + 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:
 
    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.
+     * 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:
 
 
    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.
+              --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
 
 
-              --with-valgrind
-                      Simplify building for testing with valgrind.
+          + improved options:
 
 
-              --enable-wgetch-events
-                      Compile with experimental wgetch-events code.
+              --enable-ext-colors
+                      requires the wide-character configuration.
 
 
-              --enable-signed-char
-                      Store booleans in "signed char" rather than "char".
+              --with-chtype
+                      ignore  option  value "unsigned" is always added to
+                      the   type   in   curses.h;   do   the   same   for
+                      --with-mmask-t.
 
 
-          + improved options:
+              --with-dmalloc
+                      build-fix for redefinition of strndup.
 
 
-              --disable-largefile
-                      make the option work both ways.
+              --with-hashed-db
+                      accepts  a parameter which is the install-prefix of
+                      a given Berkeley Database.
 
 
-              --with-gpm
-                      The  option now accepts a parameter, i.e., the name
-                      of the dynamic GPM library to load via dlopen()
+              --with-hashed-db
+                      the $LIBS environment variable overrides the search
+                      for the db library.
 
 
-              --disable-symlinks
-                      The  option  now allows one to disable symlink() in
-                      tic even when link() does not work.
+              --without-hashed-db
+                      assumed when "--disable-database" is used.
 
      * other configure/build issues:
 
      * 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.
+          + 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:
      * 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
+          + 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:
      * 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.
+          + update  test  programs to build/work with various UNIX curses
+            for comparisons.
 
                               Features of Ncurses
 
 
                               Features of Ncurses
 
        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  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
 
    cdk
           Curses Development Kit
 
    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
 
    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.
 
    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
 
    lynx
           the character-screen WWW browser
-          [7]http://lynx.isc.org/release/
+          [8]http://lynx.isc.org/release/
 
    Midnight Commander
           file manager
 
    Midnight Commander
           file manager
-          [8]http://www.ibiblio.org/mc/
+          [9]http://www.ibiblio.org/mc/
 
    mutt
           mail utility
 
    mutt
           mail utility
-          [9]http://www.mutt.org/
+          [10]http://www.mutt.org/
 
    ncftp
           file-transfer utility
 
    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.
 
    nvi
           New vi versions 1.50 are able to use ncurses versions 1.9.7 and
           later.
-          [11]http://www.bostic.com/vi/
+          [12]http://www.bostic.com/vi/
 
    pinfo
           Lynx-like info browser.
 
    pinfo
           Lynx-like info browser.
-          [12]http://dione.ids.pl/~pborys/software/pinfo/
+          [13]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 [14]http://www.tin.org/
 
    as well as some that use ncurses for the terminfo support alone:
 
 
    as well as some that use ncurses for the terminfo support alone:
 
 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. Juergen Pfeifer
+   Pavel  Curtis.  Eric  S. Raymond continued development. Jürgen 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.
    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.
@@ -442,18 +452,18 @@ References
 
    1. ftp://ftp.gnu.org/gnu/ncurses/
    2. ftp://invisible-island.net/ncurses/
 
    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
+   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
   15. http://alioth.debian.org/projects/minicom/
   16. http://invisible-island.net/vile/
   17. mailto:dickey@invisible-island.net
diff --git a/INSTALL b/INSTALL
index 3119da759ccac39cca6148bfa7710598acbc9dbf..ab7dcd829959c988c23c808c5e9895b5f9fc0967 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: INSTALL,v 1.131 2008/10/11 18:48:48 tom Exp $
+-- $Id: INSTALL,v 1.135 2008/11/02 21:13:51 tom Exp $
 ---------------------------------------------------------------------
              How to install Ncurses/Terminfo on your system
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
              How to install Ncurses/Terminfo on your system
 ---------------------------------------------------------------------
@@ -1001,6 +1001,94 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES:
     you may encounter when building a system with different versions of
     ncurses:
 
     you may encounter when building a system with different versions of
     ncurses:
 
+    5.7 (November 2, 2008)
+       Interface changes:
+
+       + generate linkable stubs for some macros:
+               getattrs
+
+       + Add new library configuration for tic-library (the non-curses portion
+         of the ncurses library used for the tic program as well as some
+         others such as tack.  There is no API change, but makefiles would be
+         changed to use the tic-library built separately.
+         
+         tack, distributed separately from ncurses, uses some of the internal
+         _nc_XXX functions, which are declared in the tic.h header file.
+
+         The reason for providing this separate library is that none of the
+         functions in it are suitable for threaded applications.
+
+       + Add new library configuration (ncursest, ncurseswt) which provides
+         rudimentary support for POSIX threads.  This introduces opaque
+         access functions to the WINDOW structure and adds a parameter to
+         several internal functions.
+
+       + move most internal variables (except tic-library) into data blocks
+         _nc_globals and _nc_prescreen to simplify analysis.  Those were
+         globally accessible, but since they were not part of the documented
+         API, there is no ABI change.
+
+       + changed static tables of strings to be indices into long strings, to
+         improve startup performance.  This changes parameter lists for some
+         of the internal functions.
+
+       Added extensions:
+
+       + add NCURSES_OPAQUE definition in curses.h to control whether internal
+         details of the WINDOW structure are visible to an application.  This
+         is always defined when the threaded library is built, and is optional
+         otherwise.  New functions for this:  is_cleared, is_idcok, is_idlok,
+         is_immedok, is_keypad, is_leaveok, is_nodelay, is_notimeout,
+         is_scrollok, is_syncok, wgetparent and wgetscrreg.
+
+       + the threaded library (ncursest) also disallows direct updating of
+         global curses-level variables, providing functions (via macros) for
+         obtaining their value.  A few of those variables can be modified by
+         the application, using new functions:  set_escdelay, set_tabsize
+
+       + added functions use_window() and use_screen() which wrap a mutex
+         (if threading is configured) around a call to a user-supplied
+         function.
+
+       Added internal functions:
+               _nc_get_alias_table
+               _nc_get_screensize
+               _nc_keyname
+               _nc_screen_of
+               _nc_set_no_padding
+               _nc_tracechar
+               _nc_tracemouse
+               _nc_unctrl
+               _nc_ungetch
+
+               These are used for leak-testing, and are stubs for
+               ABI compatibility when ncurses is not configured for that
+               using the --disable-leaks configure script option:
+
+               _nc_free_and_exit
+               _nc_leaks_tinfo
+
+       Removed internal functions:
+               none
+
+       Modified internal functions:
+               _nc_fifo_dump
+               _nc_find_entry
+               _nc_handle_sigwinch
+               _nc_init_keytry
+               _nc_keypad
+               _nc_locale_breaks_acs
+               _nc_timed_wait
+               _nc_update_screensize
+
+               Use new typedef TRIES to replace "struct tries":
+
+               _nc_add_to_try
+               _nc_expand_try
+               _nc_remove_key
+               _nc_remove_string
+               _nc_trace_tries
+
     5.6 (December 17, 2006)
        Interface changes:
 
     5.6 (December 17, 2006)
        Interface changes:
 
diff --git a/NEWS b/NEWS
index 6f3de8c4ad4b44d1bded4bc4099d22c2aad82ca5..a64450b30228d34e05096529a02bb33efa927c5e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.1318 2008/10/25 23:39:22 tom Exp $
+-- $Id: NEWS,v 1.1320 2008/11/02 00:56:22 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,8 @@ See the AUTHORS file for the corresponding full names.
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20081102 5.7 release for upload to ftp.gnu.org
+
 20081025
        + add a manpage to discuss memory leaks.
        + add support for shared libraries for QNX (other than libtool, which
 20081025
        + add a manpage to discuss memory leaks.
        + add support for shared libraries for QNX (other than libtool, which
@@ -605,7 +607,7 @@ it is not possible to add this information.
 
 20070609
        + add test/key_name.c
 
 20070609
        + add test/key_name.c
-       + add stdscr cases to test/inchs.c and test_inch_wide.c
+       + add stdscr cases to test/inchs.c and test/inch_wide.c
        + update test/configure
        + correct formatting of DEL (0x7f) in _nc_vischar().
        + null-terminate result of wunctrl().
        + update test/configure
        + correct formatting of DEL (0x7f) in _nc_vischar().
        + null-terminate result of wunctrl().
@@ -826,7 +828,7 @@ it is not possible to add this information.
          shared libraries on Darwin (report by Michail Vidiassov).
 
 20070210
          shared libraries on Darwin (report by Michail Vidiassov).
 
 20070210
-       + add test/inchs.c, test_inch_wide.c, to test win_wchnstr().
+       + add test/inchs.c, test/inch_wide.c, to test win_wchnstr().
        + remove libdl from library list for termlib (report by Miroslav
          Lichvar).
        + fix configure.in to allow --without-progs --with-termlib (patch by
        + remove libdl from library list for termlib (report by Miroslav
          Lichvar).
        + fix configure.in to allow --without-progs --with-termlib (patch by
index 84d5bbe127c71d06ad79302568a646c2659f9800..1d4121ee4ff1739361add67ed5c8dec8127663db 100644 (file)
@@ -1,8 +1,8 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <!--
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <!--
-  $Id: announce.html.in,v 1.64 2006/12/17 23:31:26 tom Exp $
+  $Id: announce.html.in,v 1.70 2008/11/02 01:03:05 tom Exp $
   ****************************************************************************
   ****************************************************************************
-  * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2008 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -69,185 +69,170 @@ the GNU distribution site
 
 <H1>Release Notes</H1>
 
 
 <H1>Release Notes</H1>
 
-This release is designed to be upward compatible from ncurses 5.0 through 5.5;
+This release is designed to be upward compatible from ncurses 5.0 through 5.6;
 very few applications will require recompilation, depending on the platform.
 very few applications will require recompilation, depending on the platform.
-These are the highlights from the change-log since ncurses 5.5 release.
+These are the highlights from the change-log since ncurses 5.6 release.
 <p>
 Interface changes:
 <ul>
        <li>generate linkable stubs for some macros:
        <br>
 <p>
 Interface changes:
 <ul>
        <li>generate linkable stubs for some macros:
        <br>
-         getbegx, getbegy, getcurx, getcury, getmaxx, getmaxy, getparx,
-         getpary, getpary,
-       <br>
-         and (for libncursesw)
-       <br>
-         wgetbkgrnd
+         getattrs
 
 </ul>
 New features and improvements:
 <ul>
         <li>library
        <ul>
 
 </ul>
 New features and improvements:
 <ul>
         <li>library
        <ul>
-               <li>support hashed databases for the terminal descriptions.
-                   This uses the Berkeley database, has been tested for
-                   several versions on different platforms.
-
-               <li>add <code>use_legacy_coding()</code> function to support
-                   lynx's font-switching feature.
-
-               <li>add extension <code>nofilter()</code>, to cancel a prior
-                   <code>filter()</code> call.
-
-               <li>add/install a package config script, e.g.,
-                   <code>ncurses5-config</code> or
-                   <code>ncursesw5-config</code>, according to
-                   configuration options.
-
-               <li>provide ifdef for <code>NCURSES_NOMACROS</code> which
-                   suppresses most macro definitions from curses.h, i.e.,
-                   where a macro is defined to override a function to improve
-                   performance.
-
-               <li>make ifdef's consistent in <code>curses.h</code> 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.
-
-               <li>improve <code>tgetstr()</code> by making the return value
-                   point into the user's buffer, if provided.
-
-               <li>add ifdef's allowing ncurses to be built with
-                   <code>tparm()</code> using either varargs (the existing
-                   status), or using a fixed-parameter list (to match X/Open).
-
-               <li>widen the test for xterm <code>kmous</code> a little to
-                   <code>allow</code> for other
-                   strings than "\E[M", e.g., for <code>xterm-sco</code>
-                   functionality in xterm.
-
-               <li>modify <code>wgetnstr()</code> to return
-                   <code>KEY_RESIZE</code> if a sigwinch occurs.
-
-               <li>move prototypes for wide-character trace functions from
-                   curses.tail to curses.wide to avoid accidental reference to
-                   those if <code>_XOPEN_SOURCE_EXTENDED</code> is defined
-                   without ensuring that &lt;wchar.h&gt; is included.
-
-               <li>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 <code>--with-rpath</code> option work except with
-                   <code>$(DESTDIR)</code>.
-
-               <li>several improvements for rendering in hpterm.  These are
-                   only available if the library is configured using
-                   <code>--enable-xmc-glitch</code>.
-
-               <li>Add <code>NCURSES_NO_HARD_TABS</code> and
-                   <code>NCURSES_NO_MAGIC_COOKIE</code> environment variables
-                   to allow runtime suppression of the related hard-tabs and
-                   xmc-glitch features.
+               <li>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.<br>
+                   (This is <em>API</em>-compatible,
+                    but not <em>ABI</em>-compatible with the normal library).
+
+               <li>add <code>NCURSES_OPAQUE</code> symbol to curses.h, will
+                   use to make structs opaque in selected configurations.
+
+               <li>add <code>NCURSES_EXT_FUNCS</code> and
+                   <code>NCURSES_EXT_COLORS</code> symbols to curses.h to make
+                   it simpler to tell if the extended functions and/or colors
+                   are declared.
+
+               <li>add wresize() to C++ binding 
+
+               <li>eliminate fixed-buffer vsprintf() calls in C++ binding.
+
+               <li>add several functions to C++ binding which wrap C functions
+                   that pass a WINDOW* parameter.
+
+               <li>adapt mouse-handling code from menu library in form-library
+
+               <li>improve tracing for form library, showing created forms,
+                   fields, etc.
+
+               <li>make $NCURSES_NO_PADDING feature work for termcap interface .
+
+               <li>add check to trace-file open, if the given name is a
+                   directory, add ".log" to the name and try again.
+
+               <li>several new manpages:  curs_legacy.3x, curs_memleaks.3x,
+                   curs_opaque.3x and curs_threads.3x
        </ul>
 
         <li>programs:
        <ul>
        </ul>
 
         <li>programs:
        <ul>
-               <li>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).
-
-               <li>modify tack to test extended capability function-key
-                   strings.
+               <li>modified three test-programs to demonstrate the threading
+                   support in this version: ditto, rain, worm.
 
 
-               <li>modify toe to access termcap data, e.g., via <code>cgetent()</code>
-                   functions, or as a text file if those are not available.
+               <li>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.
 
 
-               <li>improve infocmp/tic <code>-f</code> option formatting.
+               <li>add <code>adacurses-config</code> to the Ada95 install.
 
 
-               <li>add <code>toe -a</code> option, to show all databases. 
-                   This uses new private interfaces in the ncurses library for
-                   iterating through the list of databases.
+               <li>modify tic <code>-f</code> option to format spaces as
+                   <code>\s</code> to prevent them from being lost when that
+                   is read back in unformatted strings.
 
 
-               <li>modify <code>MKfallback.sh</code> to use
-                   <code>tic&nbsp;-x</code> when constructing fallback tables to
-                   allow extended capabilities to be retrieved from a fallback entry.
+               <li>The <code>tack</code> program is now distributed separately
+                   from ncurses.
        </ul>
 
        <li>terminal database
        <ul>
        </ul>
 
        <li>terminal database
        <ul>
-               <li>add terminfo entries for xfce terminal (xfce) and multi gnome terminal (mgt)
-               <li>add nsterm-16color entry
-               <li>updated mlterm terminfo entry
-               <li>add kon, kon2 and jfbterm terminfo entry 
-               <li>remove invis capability from klone+sgr, mainly used by linux entry, since it does not really do this
-               <li>add ka2, kb1, kb3, kc2 to vt220-keypad as an extension
-               <li>add shifted up/down arrow codes to xterm-new as kind/kri strings
-               <li>add hpterm-color terminfo entry
-               <li>add 256color variants of terminfo entries for programs which are reported to implement this feature
-               <li>correct order of use-clauses in rxvt-basic entry which made codes for f1-f4 vt100-style rather than vt220-style.
+           <li>added entries:
+               <ul>
+               <li><code>Eterm-256color</code>,
+                   <code>Eterm-88color</code> and
+                   <code>rxvt-88color</code>
+               <li><code>aterm</code>
+               <li><code>konsole-256color</code>
+               <li><code>mrxvt</code>
+               <li><code>screen.mlterm</code>
+               <li><code>screen.rxvt</code>
+               <li><code>teraterm4.59</code> is now the primary primary
+                   teraterm entry, renamed original to
+                   <code>teraterm2.3</code>
+               <li><code>9term</code> terminal
+               <li>Newbury Data entries
+               </ul>
+           <li>updated/improved entries:
+               <ul>
+               <li><code>gnome</code> to version 2.22.3
+               <li><code>h19</code>, <code>z100</code>
+               <li><code>konsole</code> to version 1.6.6
+               <li><code>mlterm</code>, <code>mlterm+pcfkeys</code>
+               <li><code>xterm</code>, and building-blocks for function-keys
+                   to <a href="http://invisible-island.net/xterm/xterm.log.html#xterm_230">xterm patch #230</a>.
+               </ul>
        </ul>
 </ul>
 Major bug fixes:
 <ul>
        </ul>
 </ul>
 Major bug fixes:
 <ul>
-       <li>correct a typo in configure <code>--with-bool</code> option for the
-           case where <code>--without-cxx</code> is used.
+       <li>add logic to tic for cancelling strings in user-defined
+           capabilities
+           (this is <em>needed</em> for
+            current <code>konsole</code> terminfo entry).
+
+       <li>modify <code>mk-1st.awk</code> 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., <code>libncurses.so</code> by
+           <code>/bin/sh</code>.
+
+       <li>correct check for notimeout() in wgetch().
+
+       <li>fix a sign-extension bug in infocmp's repair_acsc() function.
 
 
-       <li>move assignment from environment variable <code>ESCDELAY</code>
-           from <code>initscr()</code> down to <code>newterm()</code> so the
-           environment variable affects timeouts for terminals opened with
-           newterm() as well.
+       <li>change winnstr() to stop at the end of the line.
 
 
-       <li>modify <code>werase</code> to clear multicolumn characters that
-           extend into a derived window.
+       <li>make Ada95 demo_panels() example work.
 
 
-       <li>modify <code>wchgat()</code> to mark updated cells as changed so a
-           refresh will repaint those cells.
+       <li>fix for adding a non-spacing character at the beginning of a line.
 
 
-       <li>correct logic in <code>wadd_wch()</code> and
-           <code>wecho_wch()</code>, which did not guard against passing the
-           multi-column attribute into a call on <code>waddch()</code>, e.g.,
-           using data returned by <code>win_wch()</code>
+       <li>fill in extended-color pair to make colors work
+           for wide-characters using extended-colors.
 
 
-       <li>fix redrawing of windows other than <code>stdscr</code> using
-           <code>wredrawln()</code> by touching the corresponding rows in
-           <code>curscr</code>.
+       <li>improve refresh of window on top of multi-column characters,
+           taking into account split characters on left/right window
+           boundaries.
 
 
-       <li>reduce memory leaks in repeated calls to <code>tgetent()</code> by
-           remembering the last <code>TERMINAL*</code> value allocated to hold
-           the corresponding data and freeing that if the
-           <code>tgetent()</code> result buffer is the same as the previous
-           call.
+       <li>modify <code>win_wchnstr()</code> to ensure that only a base cell
+           is returned for each multi-column character.
 
 
-       <li>modify <code>read_termtype()</code> so the <code>term_names</code>
-           data is always allocated as part of the <code>str_table</code>, a
-           better fix for a memory leak.
+       <li>improve <code>waddch()</code> and <code>winsch()</code> handling of
+           EILSEQ from <code>mbrtowc()</code> by using <code>unctrl()</code>
+           to display illegal bytes rather than trying to append further bytes
+           to make up a valid sequence.
 
 
-       <li>fix <code>wins_nwstr(),</code> which did not handle single-column
-           non-8bit codes.
+       <li>restore <code>curs_set()</code> state after
+           <code>endwin()</code>/<code>refresh()</code>
 
 
-       <li>modify <code>wbkgrnd()</code> to avoid clearing the
-           <code>A_CHARTEXT</code> attribute bits since those record the state
-           of multicolumn characters.
+       <li>modify <code>keyname()</code> to use "^X" form only if
+           <code>meta()</code> has been called, or if <code>keyname()</code>
+           is called without initializing curses, e.g., via
+           <code>initscr()</code> or <code>newterm()</code>.
 
 
-       <li>improve <code>SIGWINCH</code> handling by postponing its effect
-           during <code>newterm()</code>, etc., when allocating screens.
+       <li>modify <code>unctrl()</code> to check codes in 128-255 range versus
+           <code>isprint()</code>.
+           If they are not printable, and locale was set, use a "M-" or "~"
+           sequence.
 
 
-       <li>remove 970913 feature for copying subwindows as they are moved in
-           <code>mvwin()</code>.
+       <li>improve <code>resizeterm()</code> by moving ripped-off lines, and
+           repainting the soft-keys.
 
 
-       <li>add checks in <code>waddchnstr()</code> and
-           <code>wadd_wchnstr()</code> to stop copying when a null character
-           is found.
+       <li>modify form library to accept control characters such as newline
+           in set_field_buffer(), which is compatible with Solaris.
 
 
-       <li>add some checks to ensure current position is within scrolling
-           region before scrolling on a new line.
+       <li>use <code>NCURSES_MOUSE_MASK()</code> in definition of
+           <code>BUTTON_RELEASE()</code>, etc., to make those work properly
+           with the <code>--enable-ext-mouse</code> configuration
 
 
-       <li>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.
+       <li>correct some functions in Ada95 binding which were using return
+           value from C where none was returned.
+
+       <li>reviewed/fixed issues reported by Coverity and Klocwork tools.
 </ul>
 
 Portability:
 </ul>
 
 Portability:
@@ -257,110 +242,115 @@ Portability:
           <li>new options:
             <dl>
 
           <li>new options:
             <dl>
 
-           <dt>--with-hashed-db
-           <dd>Use Berkeley hashed database for storing terminfo data rather than storing
-               each compiled entry in a separate binary file within a directory
-               tree.
-
-           <dt>--without-dlsym
-           <dd>Do not use <code>dlsym()</code> to load GPM dynamically.
-
-           <dt>--with-valgrind
-           <dd>Simplify building for testing with valgrind.
-
-           <dt>--enable-wgetch-events
-           <dd>Compile with experimental wgetch-events code.
-
-           <dt>--enable-signed-char
-           <dd>Store booleans in "signed char" rather than "char".
+           <dt>--disable-big-strings
+           <dd>control whether static string tables are generated as single
+               large strings (to improve startup performance), or as array
+               of individual strings.
+
+           <dt>--disable-relink
+           <dd>control whether shared libraries are relinked (during install)
+               when rpath is enabled.
+
+           <dt>--disable-tic-depends
+           <dd>make explicit whether tic library depends on ncurses/ncursesw
+               library.
+
+           <dt>--enable-mixed-case
+           <dd>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
+
+           <dt>--enable-reentrant
+           <dd>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).
+
+           <dt>--enable-weak-symbols
+           <dd>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).
+
+           <dt>--with-pthread
+           <dd>build with the POSIX thread library (tested with AIX,
+               Linux, FreeBSD, OpenBSD, HPUX, IRIX64, Solaris, Tru64).
+
+           <dt>--with-ticlib
+           <dd>build/install the tic-support functions in a separate library
 
             </dl>
 
          <li>improved options:
            <dl>
 
 
             </dl>
 
          <li>improved options:
            <dl>
 
-           <dt>--disable-largefile
-           <dd>make the option work both ways.
-
-           <dt>--with-gpm
-           <dd>The option now accepts a parameter,
-               i.e., the name of the dynamic GPM library to load via
-               <code>dlopen()</code>
-
-           <dt>--disable-symlinks
-           <dd>The option now allows one to
-               disable <code>symlink()</code> in <code>tic</code> even when
-               <code>link()</code> does not work.
-
-           </dl>
-
-       </ul>
-
-       <li>other configure/build issues:  <ul> <li>remove special case for
-           Darwin in <code>CF_XOPEN_SOURCE</code> configure macro.
+           <dt>--enable-ext-colors
+           <dd>requires the wide-character configuration.
 
 
-               <li>add configure check to ensure that <code>SIGWINCH</code> is
-                   defined on platforms such as OS X which exclude that when
-                   <code>_XOPEN_SOURCE,</code> etc., are defined
+           <dt>--with-chtype
+           <dd>ignore option value "unsigned" is always added to
+               the type in curses.h; do the same for --with-mmask-t.
 
 
-               <li>use ld's <code>-search_paths_first</code> option on Darwin
-                   to work around odd search rules on that platform.
+           <dt>--with-dmalloc
+           <dd>build-fix for redefinition of <code>strndup</code>.
 
 
-               <li>improve ifdef's for <code>_POSIX_VDISABLE</code> in tset to
-                    work with Mac OS X.
-
-               <li>modify configure script to ensure that if the C compiler is
-                   used rather than the loader in making shared libraries, the
-                   <code>$(CFLAGS)</code> variable is also used.
+           <dt>--with-hashed-db
+           <dd>accepts a parameter which is the install-prefix of a given
+               Berkeley Database.
 
 
-               <li>use <code>${CC}</code> rather than <code>${LD}</code> in
-                   shared library rules for IRIX64, Solaris to help ensure
-                   that initialization sections are provided for extra linkage
-                   requirements, e.g., of C++ applications.
+           <dt>--with-hashed-db
+           <dd>the $LIBS environment variable overrides the search for the db
+               library.
 
 
-               <li>improve some shared-library configure scripting for Linux,
-                   FreeBSD and NetBSD to make
-                   <code>--with-shlib-version</code> work.
+           <dt>--without-hashed-db
+           <dd>assumed when "--disable-database" is used.
 
 
-               <li>split up dependency of <code>names.c</code> and
-                   <code>codes.c</code> in <code>ncurses/Makefile</code> to
-                   work with parallel make.
+           </dl>
 
 
-               <li>modify <code>MKlib_gen.sh</code> to change
-                    preprocessor-expanded <code>_Bool</code> back to <code>bool</code>.
+       </ul>
 
 
-               <li>modify <code>progs/Makefile.in</code> to make
-                   <code>tput&nbsp;init</code> work properly with cygwin,
-                   i.e., do not pass a <code>.exe</code> in the reference
-                   string used in check_aliases.
+       <li>other configure/build issues:
+         <ul>
+         <li>build-fixes for LynxOS
+         <li>modify shared-library rules to allow FreeBSD 3.x to use rpath.
+         <li>build-fix for FreeBSD "contemporary" TTY interface.
+         <li>build-fixes for AIX with libtool.
+         <li>build-fixes for Darwin and libtool.
+         <li>modify BeOS-specific ifdef's to build on Haiku.
+         <li>corrected gcc options for building shared libraries on Solaris
+             and IRIX64.
+         <li>change shared-library configuration for OpenBSD, make rpath work.
+         <li>build-fixes for using libutf8, e.g., on OpenBSD 3.7
+         <li>add "-e" option in ncurses/Makefile.in when generating source-files
+             to force earlier exit if the build environment fails unexpectedly.
+         <li>add support for shared libraries for QNX.
+         <li>change delimiter in <code>MKlib_gen.sh</code> from '%' to '@', to
+             avoid substitution by IBM xlc to '#' as part of its extensions to
+             digraphs.
        </ul>
 
        <li>library:
        <ul>
        </ul>
 
        <li>library:
        <ul>
-               <li>ignore wide-acs line-drawing characters that
-                   <code>wcwidth()</code> claims are not one-column.  This is
-                   a workaround for Solaris' broken locale support.
-
-               <li>reduce name-pollution in <code>term.h</code> by removing
-                   <code>#define</code>'s for HAVE_xxx symbols.
-
-               <li>fix <code>#ifdef</code> in <code>c++/internal.h</code> for
-                   QNX 6.1
+       <li>rewrite wrapper for <code>wcrtomb()</code>, making it work on
+           Solaris.  This is used in the form library to determine the length
+           of the buffer needed by <code>field_buffer</code>.
+       <li>add/use configure script macro CF_SIG_ATOMIC_T, use the corresponding
+           type for data manipulated by signal handlers.
+       <li>set locale in misc/ncurses-config.in since it uses a range
+       <li>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.
+       <li>reset mouse file-descriptor when unloading GPM library.
        </ul>
 
        </ul>
 
-       <li>test programs:  <ul> <li>modify <code>test/configure</code> script
-           to allow building test programs with PDCurses/X11.
-
-               <li>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.
-
-               <li>improved <code>test/configure</code> to build test/ncurses
-                   on HPUX 11 using the vendor curses.
-
-               <li>change configure script to produce
-                   <code>test/Makefile</code> from data file.
+       <li>test programs:
+       <ul>
+       <li>update test programs to build/work with various UNIX curses for
+           comparisons.
        </ul>
 </ul>
 
        </ul>
 </ul>
 
@@ -410,6 +400,8 @@ and <CODE>define_key()</CODE> 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.
 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.
+<LI>Support for 256-color terminals, such as modern xterm, when configured
+using the <code>--enable-ext-colors</code> option.
 <LI>Support for 16-color terminals, such as aixterm and modern xterm.
 <LI>Better cursor-movement optimization.  The package now features a
 cursor-local-movement computation more efficient than either BSD's
 <LI>Support for 16-color terminals, such as aixterm and modern xterm.
 <LI>Better cursor-movement optimization.  The package now features a
 cursor-local-movement computation more efficient than either BSD's
@@ -513,14 +505,10 @@ for similar applications on GNU/Linux.
 <br>
 <DT> pinfo
 <DD> Lynx-like info browser.
 <br>
 <DT> pinfo
 <DD> Lynx-like info browser.
-<A HREF="http://dione.ids.pl/~pborys/software/pinfo/">http://dione.ids.pl/~pborys/software/pinfo/</A>
+<A HREF="https://alioth.debian.org/projects/pinfo/">https://alioth.debian.org/projects/pinfo/</A>
 <DT> tin
 <DD> newsreader, supporting color, MIME
 <A HREF="http://www.tin.org/">http://www.tin.org/</A>
 <DT> tin
 <DD> newsreader, supporting color, MIME
 <A HREF="http://www.tin.org/">http://www.tin.org/</A>
-<DT> vh-1.6
-<DD> Volks-Hypertext browser for the Jargon File
-<br>
-<A HREF="http://www.debian.org/Packages/unstable/text/vh.html">http://www.debian.org/Packages/unstable/text/vh.html</A>
 </DL>
 as well as some that use ncurses for the terminfo support alone:
 <DL>
 </DL>
 as well as some that use ncurses for the terminfo support alone:
 <DL>
diff --git a/dist.mk b/dist.mk
index 9d69946f4121d8bed5a0a0c4886af7046a47b34c..551d773313f37090ab3af1842983f0b3f74af05a 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.669 2008/10/25 16:27:55 tom Exp $
+# $Id: dist.mk,v 1.671 2008/11/02 00:58:38 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -36,8 +36,8 @@ SHELL = /bin/sh
 
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 5
 
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 5
-NCURSES_MINOR = 6
-NCURSES_PATCH = 20081025
+NCURSES_MINOR = 7
+NCURSES_PATCH = 20081102
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index f9dae07e5d9aaf90873bbbb8ec2beb1437c7eb63..234c703145a7d570ee8e7ade5c2758068ea438c4 100644 (file)
@@ -1,8 +1,8 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <!--
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <!--
-  $Id: announce.html,v 1.51 2006/12/17 23:32:42 tom Exp $
+  $Id: announce.html,v 1.52 2008/11/02 01:05:08 tom Exp $
   ****************************************************************************
   ****************************************************************************
-  * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2008 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
 -->
 <HTML>
 <HEAD>
 -->
 <HTML>
 <HEAD>
-<TITLE>Announcing ncurses 5.6</TITLE>
+<TITLE>Announcing ncurses 5.7</TITLE>
 <link rev=made href="mailto:bug-ncurses@gnu.org">
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 </HEAD>
 <BODY>
 
 <link rev=made href="mailto:bug-ncurses@gnu.org">
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 </HEAD>
 <BODY>
 
-<H1>Announcing ncurses 5.6</H1>
+<H1>Announcing ncurses 5.7</H1>
 
 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,
@@ -69,185 +69,170 @@ the GNU distribution site
 
 <H1>Release Notes</H1>
 
 
 <H1>Release Notes</H1>
 
-This release is designed to be upward compatible from ncurses 5.0 through 5.5;
+This release is designed to be upward compatible from ncurses 5.0 through 5.6;
 very few applications will require recompilation, depending on the platform.
 very few applications will require recompilation, depending on the platform.
-These are the highlights from the change-log since ncurses 5.5 release.
+These are the highlights from the change-log since ncurses 5.6 release.
 <p>
 Interface changes:
 <ul>
        <li>generate linkable stubs for some macros:
        <br>
 <p>
 Interface changes:
 <ul>
        <li>generate linkable stubs for some macros:
        <br>
-         getbegx, getbegy, getcurx, getcury, getmaxx, getmaxy, getparx,
-         getpary, getpary,
-       <br>
-         and (for libncursesw)
-       <br>
-         wgetbkgrnd
+         getattrs
 
 </ul>
 New features and improvements:
 <ul>
         <li>library
        <ul>
 
 </ul>
 New features and improvements:
 <ul>
         <li>library
        <ul>
-               <li>support hashed databases for the terminal descriptions.
-                   This uses the Berkeley database, has been tested for
-                   several versions on different platforms.
-
-               <li>add <code>use_legacy_coding()</code> function to support
-                   lynx's font-switching feature.
-
-               <li>add extension <code>nofilter()</code>, to cancel a prior
-                   <code>filter()</code> call.
-
-               <li>add/install a package config script, e.g.,
-                   <code>ncurses5-config</code> or
-                   <code>ncursesw5-config</code>, according to
-                   configuration options.
-
-               <li>provide ifdef for <code>NCURSES_NOMACROS</code> which
-                   suppresses most macro definitions from curses.h, i.e.,
-                   where a macro is defined to override a function to improve
-                   performance.
-
-               <li>make ifdef's consistent in <code>curses.h</code> 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.
-
-               <li>improve <code>tgetstr()</code> by making the return value
-                   point into the user's buffer, if provided.
-
-               <li>add ifdef's allowing ncurses to be built with
-                   <code>tparm()</code> using either varargs (the existing
-                   status), or using a fixed-parameter list (to match X/Open).
-
-               <li>widen the test for xterm <code>kmous</code> a little to
-                   <code>allow</code> for other
-                   strings than "\E[M", e.g., for <code>xterm-sco</code>
-                   functionality in xterm.
-
-               <li>modify <code>wgetnstr()</code> to return
-                   <code>KEY_RESIZE</code> if a sigwinch occurs.
-
-               <li>move prototypes for wide-character trace functions from
-                   curses.tail to curses.wide to avoid accidental reference to
-                   those if <code>_XOPEN_SOURCE_EXTENDED</code> is defined
-                   without ensuring that &lt;wchar.h&gt; is included.
-
-               <li>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 <code>--with-rpath</code> option work except with
-                   <code>$(DESTDIR)</code>.
-
-               <li>several improvements for rendering in hpterm.  These are
-                   only available if the library is configured using
-                   <code>--enable-xmc-glitch</code>.
-
-               <li>Add <code>NCURSES_NO_HARD_TABS</code> and
-                   <code>NCURSES_NO_MAGIC_COOKIE</code> environment variables
-                   to allow runtime suppression of the related hard-tabs and
-                   xmc-glitch features.
+               <li>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.<br>
+                   (This is <em>API</em>-compatible,
+                    but not <em>ABI</em>-compatible with the normal library).
+
+               <li>add <code>NCURSES_OPAQUE</code> symbol to curses.h, will
+                   use to make structs opaque in selected configurations.
+
+               <li>add <code>NCURSES_EXT_FUNCS</code> and
+                   <code>NCURSES_EXT_COLORS</code> symbols to curses.h to make
+                   it simpler to tell if the extended functions and/or colors
+                   are declared.
+
+               <li>add wresize() to C++ binding 
+
+               <li>eliminate fixed-buffer vsprintf() calls in C++ binding.
+
+               <li>add several functions to C++ binding which wrap C functions
+                   that pass a WINDOW* parameter.
+
+               <li>adapt mouse-handling code from menu library in form-library
+
+               <li>improve tracing for form library, showing created forms,
+                   fields, etc.
+
+               <li>make $NCURSES_NO_PADDING feature work for termcap interface .
+
+               <li>add check to trace-file open, if the given name is a
+                   directory, add ".log" to the name and try again.
+
+               <li>several new manpages:  curs_legacy.3x, curs_memleaks.3x,
+                   curs_opaque.3x and curs_threads.3x
        </ul>
 
         <li>programs:
        <ul>
        </ul>
 
         <li>programs:
        <ul>
-               <li>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).
-
-               <li>modify tack to test extended capability function-key
-                   strings.
+               <li>modified three test-programs to demonstrate the threading
+                   support in this version: ditto, rain, worm.
 
 
-               <li>modify toe to access termcap data, e.g., via <code>cgetent()</code>
-                   functions, or as a text file if those are not available.
+               <li>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.
 
 
-               <li>improve infocmp/tic <code>-f</code> option formatting.
+               <li>add <code>adacurses-config</code> to the Ada95 install.
 
 
-               <li>add <code>toe -a</code> option, to show all databases. 
-                   This uses new private interfaces in the ncurses library for
-                   iterating through the list of databases.
+               <li>modify tic <code>-f</code> option to format spaces as
+                   <code>\s</code> to prevent them from being lost when that
+                   is read back in unformatted strings.
 
 
-               <li>modify <code>MKfallback.sh</code> to use
-                   <code>tic&nbsp;-x</code> when constructing fallback tables to
-                   allow extended capabilities to be retrieved from a fallback entry.
+               <li>The <code>tack</code> program is now distributed separately
+                   from ncurses.
        </ul>
 
        <li>terminal database
        <ul>
        </ul>
 
        <li>terminal database
        <ul>
-               <li>add terminfo entries for xfce terminal (xfce) and multi gnome terminal (mgt)
-               <li>add nsterm-16color entry
-               <li>updated mlterm terminfo entry
-               <li>add kon, kon2 and jfbterm terminfo entry 
-               <li>remove invis capability from klone+sgr, mainly used by linux entry, since it does not really do this
-               <li>add ka2, kb1, kb3, kc2 to vt220-keypad as an extension
-               <li>add shifted up/down arrow codes to xterm-new as kind/kri strings
-               <li>add hpterm-color terminfo entry
-               <li>add 256color variants of terminfo entries for programs which are reported to implement this feature
-               <li>correct order of use-clauses in rxvt-basic entry which made codes for f1-f4 vt100-style rather than vt220-style.
+           <li>added entries:
+               <ul>
+               <li><code>Eterm-256color</code>,
+                   <code>Eterm-88color</code> and
+                   <code>rxvt-88color</code>
+               <li><code>aterm</code>
+               <li><code>konsole-256color</code>
+               <li><code>mrxvt</code>
+               <li><code>screen.mlterm</code>
+               <li><code>screen.rxvt</code>
+               <li><code>teraterm4.59</code> is now the primary primary
+                   teraterm entry, renamed original to
+                   <code>teraterm2.3</code>
+               <li><code>9term</code> terminal
+               <li>Newbury Data entries
+               </ul>
+           <li>updated/improved entries:
+               <ul>
+               <li><code>gnome</code> to version 2.22.3
+               <li><code>h19</code>, <code>z100</code>
+               <li><code>konsole</code> to version 1.6.6
+               <li><code>mlterm</code>, <code>mlterm+pcfkeys</code>
+               <li><code>xterm</code>, and building-blocks for function-keys
+                   to <a href="http://invisible-island.net/xterm/xterm.log.html#xterm_230">xterm patch #230</a>.
+               </ul>
        </ul>
 </ul>
 Major bug fixes:
 <ul>
        </ul>
 </ul>
 Major bug fixes:
 <ul>
-       <li>correct a typo in configure <code>--with-bool</code> option for the
-           case where <code>--without-cxx</code> is used.
+       <li>add logic to tic for cancelling strings in user-defined
+           capabilities
+           (this is <em>needed</em> for
+            current <code>konsole</code> terminfo entry).
+
+       <li>modify <code>mk-1st.awk</code> 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., <code>libncurses.so</code> by
+           <code>/bin/sh</code>.
+
+       <li>correct check for notimeout() in wgetch().
+
+       <li>fix a sign-extension bug in infocmp's repair_acsc() function.
 
 
-       <li>move assignment from environment variable <code>ESCDELAY</code>
-           from <code>initscr()</code> down to <code>newterm()</code> so the
-           environment variable affects timeouts for terminals opened with
-           newterm() as well.
+       <li>change winnstr() to stop at the end of the line.
 
 
-       <li>modify <code>werase</code> to clear multicolumn characters that
-           extend into a derived window.
+       <li>make Ada95 demo_panels() example work.
 
 
-       <li>modify <code>wchgat()</code> to mark updated cells as changed so a
-           refresh will repaint those cells.
+       <li>fix for adding a non-spacing character at the beginning of a line.
 
 
-       <li>correct logic in <code>wadd_wch()</code> and
-           <code>wecho_wch()</code>, which did not guard against passing the
-           multi-column attribute into a call on <code>waddch()</code>, e.g.,
-           using data returned by <code>win_wch()</code>
+       <li>fill in extended-color pair to make colors work
+           for wide-characters using extended-colors.
 
 
-       <li>fix redrawing of windows other than <code>stdscr</code> using
-           <code>wredrawln()</code> by touching the corresponding rows in
-           <code>curscr</code>.
+       <li>improve refresh of window on top of multi-column characters,
+           taking into account split characters on left/right window
+           boundaries.
 
 
-       <li>reduce memory leaks in repeated calls to <code>tgetent()</code> by
-           remembering the last <code>TERMINAL*</code> value allocated to hold
-           the corresponding data and freeing that if the
-           <code>tgetent()</code> result buffer is the same as the previous
-           call.
+       <li>modify <code>win_wchnstr()</code> to ensure that only a base cell
+           is returned for each multi-column character.
 
 
-       <li>modify <code>read_termtype()</code> so the <code>term_names</code>
-           data is always allocated as part of the <code>str_table</code>, a
-           better fix for a memory leak.
+       <li>improve <code>waddch()</code> and <code>winsch()</code> handling of
+           EILSEQ from <code>mbrtowc()</code> by using <code>unctrl()</code>
+           to display illegal bytes rather than trying to append further bytes
+           to make up a valid sequence.
 
 
-       <li>fix <code>wins_nwstr(),</code> which did not handle single-column
-           non-8bit codes.
+       <li>restore <code>curs_set()</code> state after
+           <code>endwin()</code>/<code>refresh()</code>
 
 
-       <li>modify <code>wbkgrnd()</code> to avoid clearing the
-           <code>A_CHARTEXT</code> attribute bits since those record the state
-           of multicolumn characters.
+       <li>modify <code>keyname()</code> to use "^X" form only if
+           <code>meta()</code> has been called, or if <code>keyname()</code>
+           is called without initializing curses, e.g., via
+           <code>initscr()</code> or <code>newterm()</code>.
 
 
-       <li>improve <code>SIGWINCH</code> handling by postponing its effect
-           during <code>newterm()</code>, etc., when allocating screens.
+       <li>modify <code>unctrl()</code> to check codes in 128-255 range versus
+           <code>isprint()</code>.
+           If they are not printable, and locale was set, use a "M-" or "~"
+           sequence.
 
 
-       <li>remove 970913 feature for copying subwindows as they are moved in
-           <code>mvwin()</code>.
+       <li>improve <code>resizeterm()</code> by moving ripped-off lines, and
+           repainting the soft-keys.
 
 
-       <li>add checks in <code>waddchnstr()</code> and
-           <code>wadd_wchnstr()</code> to stop copying when a null character
-           is found.
+       <li>modify form library to accept control characters such as newline
+           in set_field_buffer(), which is compatible with Solaris.
 
 
-       <li>add some checks to ensure current position is within scrolling
-           region before scrolling on a new line.
+       <li>use <code>NCURSES_MOUSE_MASK()</code> in definition of
+           <code>BUTTON_RELEASE()</code>, etc., to make those work properly
+           with the <code>--enable-ext-mouse</code> configuration
 
 
-       <li>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.
+       <li>correct some functions in Ada95 binding which were using return
+           value from C where none was returned.
+
+       <li>reviewed/fixed issues reported by Coverity and Klocwork tools.
 </ul>
 
 Portability:
 </ul>
 
 Portability:
@@ -257,110 +242,115 @@ Portability:
           <li>new options:
             <dl>
 
           <li>new options:
             <dl>
 
-           <dt>--with-hashed-db
-           <dd>Use Berkeley hashed database for storing terminfo data rather than storing
-               each compiled entry in a separate binary file within a directory
-               tree.
-
-           <dt>--without-dlsym
-           <dd>Do not use <code>dlsym()</code> to load GPM dynamically.
-
-           <dt>--with-valgrind
-           <dd>Simplify building for testing with valgrind.
-
-           <dt>--enable-wgetch-events
-           <dd>Compile with experimental wgetch-events code.
-
-           <dt>--enable-signed-char
-           <dd>Store booleans in "signed char" rather than "char".
+           <dt>--disable-big-strings
+           <dd>control whether static string tables are generated as single
+               large strings (to improve startup performance), or as array
+               of individual strings.
+
+           <dt>--disable-relink
+           <dd>control whether shared libraries are relinked (during install)
+               when rpath is enabled.
+
+           <dt>--disable-tic-depends
+           <dd>make explicit whether tic library depends on ncurses/ncursesw
+               library.
+
+           <dt>--enable-mixed-case
+           <dd>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
+
+           <dt>--enable-reentrant
+           <dd>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).
+
+           <dt>--enable-weak-symbols
+           <dd>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).
+
+           <dt>--with-pthread
+           <dd>build with the POSIX thread library (tested with AIX,
+               Linux, FreeBSD, OpenBSD, HPUX, IRIX64, Solaris, Tru64).
+
+           <dt>--with-ticlib
+           <dd>build/install the tic-support functions in a separate library
 
             </dl>
 
          <li>improved options:
            <dl>
 
 
             </dl>
 
          <li>improved options:
            <dl>
 
-           <dt>--disable-largefile
-           <dd>make the option work both ways.
-
-           <dt>--with-gpm
-           <dd>The option now accepts a parameter,
-               i.e., the name of the dynamic GPM library to load via
-               <code>dlopen()</code>
-
-           <dt>--disable-symlinks
-           <dd>The option now allows one to
-               disable <code>symlink()</code> in <code>tic</code> even when
-               <code>link()</code> does not work.
-
-           </dl>
-
-       </ul>
-
-       <li>other configure/build issues:  <ul> <li>remove special case for
-           Darwin in <code>CF_XOPEN_SOURCE</code> configure macro.
+           <dt>--enable-ext-colors
+           <dd>requires the wide-character configuration.
 
 
-               <li>add configure check to ensure that <code>SIGWINCH</code> is
-                   defined on platforms such as OS X which exclude that when
-                   <code>_XOPEN_SOURCE,</code> etc., are defined
+           <dt>--with-chtype
+           <dd>ignore option value "unsigned" is always added to
+               the type in curses.h; do the same for --with-mmask-t.
 
 
-               <li>use ld's <code>-search_paths_first</code> option on Darwin
-                   to work around odd search rules on that platform.
+           <dt>--with-dmalloc
+           <dd>build-fix for redefinition of <code>strndup</code>.
 
 
-               <li>improve ifdef's for <code>_POSIX_VDISABLE</code> in tset to
-                    work with Mac OS X.
-
-               <li>modify configure script to ensure that if the C compiler is
-                   used rather than the loader in making shared libraries, the
-                   <code>$(CFLAGS)</code> variable is also used.
+           <dt>--with-hashed-db
+           <dd>accepts a parameter which is the install-prefix of a given
+               Berkeley Database.
 
 
-               <li>use <code>${CC}</code> rather than <code>${LD}</code> in
-                   shared library rules for IRIX64, Solaris to help ensure
-                   that initialization sections are provided for extra linkage
-                   requirements, e.g., of C++ applications.
+           <dt>--with-hashed-db
+           <dd>the $LIBS environment variable overrides the search for the db
+               library.
 
 
-               <li>improve some shared-library configure scripting for Linux,
-                   FreeBSD and NetBSD to make
-                   <code>--with-shlib-version</code> work.
+           <dt>--without-hashed-db
+           <dd>assumed when "--disable-database" is used.
 
 
-               <li>split up dependency of <code>names.c</code> and
-                   <code>codes.c</code> in <code>ncurses/Makefile</code> to
-                   work with parallel make.
+           </dl>
 
 
-               <li>modify <code>MKlib_gen.sh</code> to change
-                    preprocessor-expanded <code>_Bool</code> back to <code>bool</code>.
+       </ul>
 
 
-               <li>modify <code>progs/Makefile.in</code> to make
-                   <code>tput&nbsp;init</code> work properly with cygwin,
-                   i.e., do not pass a <code>.exe</code> in the reference
-                   string used in check_aliases.
+       <li>other configure/build issues:
+         <ul>
+         <li>build-fixes for LynxOS
+         <li>modify shared-library rules to allow FreeBSD 3.x to use rpath.
+         <li>build-fix for FreeBSD "contemporary" TTY interface.
+         <li>build-fixes for AIX with libtool.
+         <li>build-fixes for Darwin and libtool.
+         <li>modify BeOS-specific ifdef's to build on Haiku.
+         <li>corrected gcc options for building shared libraries on Solaris
+             and IRIX64.
+         <li>change shared-library configuration for OpenBSD, make rpath work.
+         <li>build-fixes for using libutf8, e.g., on OpenBSD 3.7
+         <li>add "-e" option in ncurses/Makefile.in when generating source-files
+             to force earlier exit if the build environment fails unexpectedly.
+         <li>add support for shared libraries for QNX.
+         <li>change delimiter in <code>MKlib_gen.sh</code> from '%' to '@', to
+             avoid substitution by IBM xlc to '#' as part of its extensions to
+             digraphs.
        </ul>
 
        <li>library:
        <ul>
        </ul>
 
        <li>library:
        <ul>
-               <li>ignore wide-acs line-drawing characters that
-                   <code>wcwidth()</code> claims are not one-column.  This is
-                   a workaround for Solaris' broken locale support.
-
-               <li>reduce name-pollution in <code>term.h</code> by removing
-                   <code>#define</code>'s for HAVE_xxx symbols.
-
-               <li>fix <code>#ifdef</code> in <code>c++/internal.h</code> for
-                   QNX 6.1
+       <li>rewrite wrapper for <code>wcrtomb()</code>, making it work on
+           Solaris.  This is used in the form library to determine the length
+           of the buffer needed by <code>field_buffer</code>.
+       <li>add/use configure script macro CF_SIG_ATOMIC_T, use the corresponding
+           type for data manipulated by signal handlers.
+       <li>set locale in misc/ncurses-config.in since it uses a range
+       <li>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.
+       <li>reset mouse file-descriptor when unloading GPM library.
        </ul>
 
        </ul>
 
-       <li>test programs:  <ul> <li>modify <code>test/configure</code> script
-           to allow building test programs with PDCurses/X11.
-
-               <li>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.
-
-               <li>improved <code>test/configure</code> to build test/ncurses
-                   on HPUX 11 using the vendor curses.
-
-               <li>change configure script to produce
-                   <code>test/Makefile</code> from data file.
+       <li>test programs:
+       <ul>
+       <li>update test programs to build/work with various UNIX curses for
+           comparisons.
        </ul>
 </ul>
 
        </ul>
 </ul>
 
@@ -410,6 +400,8 @@ and <CODE>define_key()</CODE> 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.
 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.
+<LI>Support for 256-color terminals, such as modern xterm, when configured
+using the <code>--enable-ext-colors</code> option.
 <LI>Support for 16-color terminals, such as aixterm and modern xterm.
 <LI>Better cursor-movement optimization.  The package now features a
 cursor-local-movement computation more efficient than either BSD's
 <LI>Support for 16-color terminals, such as aixterm and modern xterm.
 <LI>Better cursor-movement optimization.  The package now features a
 cursor-local-movement computation more efficient than either BSD's
@@ -513,14 +505,10 @@ for similar applications on GNU/Linux.
 <br>
 <DT> pinfo
 <DD> Lynx-like info browser.
 <br>
 <DT> pinfo
 <DD> Lynx-like info browser.
-<A HREF="http://dione.ids.pl/~pborys/software/pinfo/">http://dione.ids.pl/~pborys/software/pinfo/</A>
+<A HREF="https://alioth.debian.org/projects/pinfo/">https://alioth.debian.org/projects/pinfo/</A>
 <DT> tin
 <DD> newsreader, supporting color, MIME
 <A HREF="http://www.tin.org/">http://www.tin.org/</A>
 <DT> tin
 <DD> newsreader, supporting color, MIME
 <A HREF="http://www.tin.org/">http://www.tin.org/</A>
-<DT> vh-1.6
-<DD> Volks-Hypertext browser for the Jargon File
-<br>
-<A HREF="http://www.debian.org/Packages/unstable/text/vh.html">http://www.debian.org/Packages/unstable/text/vh.html</A>
 </DL>
 as well as some that use ncurses for the terminfo support alone:
 <DL>
 </DL>
 as well as some that use ncurses for the terminfo support alone:
 <DL>
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100644 (file)
new mode 100755 (executable)