ncurses 5.6 - patch 20080913
[ncurses.git] / ANNOUNCE
index 4707838fba99e43ceae6c99ee42e62d8a320b00e..bbeeb8922d4724c0b184b8de901cfb0d99577bb5 100644 (file)
--- a/ANNOUNCE
+++ b/ANNOUNCE
+                            Announcing ncurses 5.6
 
-                            Announcing ncurses 5.0
-                                       
-   The ncurses (new curses) library is a free software emulation of
-   curses in System V Release 4.0, and more. It uses terminfo format,
-   supports pads and color and multiple highlights and forms characters
-   and function-key mapping, and has all the other SYSV-curses
+   The  ncurses  (new  curses)  library  is  a free software emulation of
+   curses  in  System  V  Release 4.0, and more. It uses terminfo format,
+   supports  pads  and color and multiple highlights and forms characters
+   and   function-key   mapping,   and  has  all  the  other  SYSV-curses
    enhancements over BSD curses.
-   
-   In mid-June 1995, the maintainer of 4.4BSD curses declared that he
-   considered 4.4BSD curses obsolete, and is encouraging the keepers of
-   Unix releases such as BSD/OS, freeBSD and netBSD to switch over to
-   ncurses.
-   
-   The ncurses code was developed under GNU/Linux. It should port easily
-   to any ANSI/POSIX-conforming UNIX. It has even been ported to OS/2
-   Warp!
-   
+
+   In  mid-June  1995,  the  maintainer of 4.4BSD curses declared that he
+   considered  4.4BSD curses obsolete, and encouraged the keepers of Unix
+   releases such as BSD/OS, FreeBSD and NetBSD to switch over to ncurses.
+
+   The ncurses code was developed under GNU/Linux. It has been in use for
+   some  time  with  OpenBSD as the system curses library, and on FreeBSD
+   and  NetBSD  as  an  external  package.  It  should port easily to any
+   ANSI/POSIX-conforming UNIX. It has even been ported to OS/2 Warp!
+
    The distribution includes the library and support utilities, including
-   a terminfo compiler tic(1), a decompiler infocmp(1), clear(1),
-   tput(1), tset(1), and a termcap conversion tool captoinfo(1). Full
+   a   terminfo  compiler  tic(1),  a  decompiler  infocmp(1),  clear(1),
+   tput(1),  tset(1),  and  a  termcap conversion tool captoinfo(1). Full
    manual pages are provided for the library and tools.
-   
-   The ncurses distribution is available via anonymous FTP at the GNU
-   distribution site [1]ftp://ftp.gnu.org/pub/gnu/ncurses. It is also
-   available at [2]ftp://ftp.clark.net/pub/dickey/ncurses.
-   
+
+   The  ncurses  distribution  is  available via anonymous FTP at the GNU
+   distribution site [1]ftp://ftp.gnu.org/gnu/ncurses/ .
+   It is also available at [2]ftp://invisible-island.net/ncurses/ .
+
                                  Release Notes
-                                       
-   We decided to release ncurses as a new whole number release (5.0)
-   because it incorporates several interface changes, including some that
-   would invalidate existing shared libraries. These are the highlights
-   from the change-log since ncurses 4.2 release.
-   
+
+   This  release  is  designed  to  be upward compatible from ncurses 5.0
+   through   5.5;  very  few  applications  will  require  recompilation,
+   depending   on  the  platform.  These  are  the  highlights  from  the
+   change-log since ncurses 5.5 release.
+
    Interface changes:
-     * The principal source of changes to the interface comes from the
-       release of X/Open Curses in 1997. Earlier versions of ncurses (4.0
-       and before) were based on a draft version of the specification.
-       The release version adds parameters to some functions to support
-       the evolving internationalization of curses. These summarize the
-       impact:
-          + modified several prototypes to correspond with 1997 version
-            of X/Open Curses (affects ABI since developers have used
-            attr_get).
-          + corrected prototypes for slk_* functions, using chtype rather
-            than attr_t.
-          + the slk_attr_{set,off,on} functions need an additional void*
-            parameter according to XSI.
-          + correct macros for wattr_set, wattr_get, separate wattrset
-            macro from these to preserve behavior that allows attributes
-            to be combined with color pair numbers.
-          + reviewed/updated curses.h, term.h against X/Open Curses Issue
-            4 Version 2. This includes making some parameters
-            NCURSES_CONST rather than const, e.g., in termcap.h.
-          + reviewed/corrected macros in curses.h as per XSI document.
-          + add set_a_attributes and set_pglen_inch to terminfo
-            structure, as per XSI and Solaris 2.5.
-     * The newest version of the X/Open Curses is implemented on Solaris
-       and other vendor's systems. It adds new features to the terminfo
-       descriptions:
-          + implement tparm %l format.
-          + implement tparm printf-style width and precision for %s, %d,
-            %x, %o as per XSI.
-     * We made additional changes to reduce impact by future interface
-       changes:
-          + rename key_names[] array to _nc_key_names since it is not
-            part of the curses interface.
-          + move macro winch to a function, to hide details of struct
-            ldat
-     * modify configure script to embed ABI in shared libraries for HP-UX
-       10.x (detailed request by Tim Mooney).
-     * modify configuration of shared libraries on Digital Unix so that
-       versioning is embedded in the library, rather than implied by
-       links (patch by Tim Mooney).
-       
-   New features:
-     * enable sigwinch handler by default.
-     * turn on hashmap scrolling code by default
-     * improved support for termcap applications
-          + modify tput to accept termcap names as an alternative to
-            terminfo names.
-          + provide support for termcap PC variable by copying it from
-            terminfo data and using it as the padding character in tputs.
-          + provide support for termcap ospeed variable by copying it
-            from the internal cur_term member, and using ospeed as the
-            baudrate reference for the delay_output and tputs functions.
-          + change name-comparisons in lib_termcap to compare no more
-            than 2 characters.
-          + add configure option --enable-tcap-names, which essentially
-            allows users to define new capabilities as in termcap.
-     * add mouse support to ncurses menus.
-     * add mouse and dll support for OS/2 EMX
-     * modify terminfo parsing to accept octal and hexadecimal constants
-     * add configure option --enable-no-padding, to allow environment
-       variable $NCURSES_NO_PADDING to eliminate non-mandatory padding,
-       thereby making terminal emulators (e.g., for vt100) a little more
-       efficient.
-     * modify lib_color.c to eliminate dependency on orig_colors and
-       orig_pair, since SVr4 curses does not require these either, but
-       uses them when they are available.
-     * add -f option to infocmp and tic, which formats the terminfo
-       if/then/else/endif so that they are readable (with newlines and
-       tabs).
-     * modify tic to compile into %'char' form in preference to
-       %{number}, since that is a little more efficient.
-       
+     * generate linkable stubs for some macros:
+       getbegx,  getbegy,  getcurx,  getcury,  getmaxx, getmaxy, getparx,
+       getpary, getpary,
+       and (for libncursesw)
+       wgetbkgrnd
+
+   New features and improvements:
+     * library
+          + support  hashed databases for the terminal descriptions. This
+            uses  the  Berkeley  database,  has  been  tested for several
+            versions on different platforms.
+          + add    use_legacy_coding()   function   to   support   lynx's
+            font-switching feature.
+          + add extension nofilter(), to cancel a prior filter() call.
+          + add/install a package config script, e.g., ncurses5-config or
+            ncursesw5-config, according to configuration options.
+          + provide  ifdef  for  NCURSES_NOMACROS  which  suppresses most
+            macro  definitions  from  curses.h,  i.e.,  where  a macro is
+            defined to override a function to improve performance.
+          + make  ifdef's  consistent in curses.h for the extended colors
+            so the header file can be used for the normal curses library.
+            The  header file installed for extended colors is a variation
+            of the wide-character configuration.
+          + improve  tgetstr()  by making the return value point into the
+            user's buffer, if provided.
+          + add  ifdef's  allowing ncurses to be built with tparm() using
+            either   varargs   (the   existing   status),   or   using  a
+            fixed-parameter list (to match X/Open).
+          + widen  the  test  for xterm kmous a little to allow for other
+            strings  than  "\E[M",  e.g.,  for xterm-sco functionality in
+            xterm.
+          + modify wgetnstr() to return KEY_RESIZE if a sigwinch occurs.
+          + move  prototypes  for  wide-character  trace  functions  from
+            curses.tail  to  curses.wide to avoid accidental reference to
+            those  if  _XOPEN_SOURCE_EXTENDED is defined without ensuring
+            that <wchar.h> is included.
+          + change  the  way  shared  libraries  (other than libtool) are
+            installed.  Rather  than  copying the build-tree's libraries,
+            link  the  shared  objects  into  the install directory. This
+            makes the --with-rpath option work except with $(DESTDIR).
+          + several  improvements for rendering in hpterm. These are only
+            available    if    the    library    is    configured   using
+            --enable-xmc-glitch.
+          + Add    NCURSES_NO_HARD_TABS    and    NCURSES_NO_MAGIC_COOKIE
+            environment  variables  to  allow  runtime suppression of the
+            related hard-tabs and xmc-glitch features.
+     * programs:
+          + add  new  test programs: chgat.c, demo_altkeys.c, echochar.c,
+            foldkeys.c,  movewindow.c,  redraw.c,  (noting  that existing
+            test   programs   also   were  modified  to  test  additional
+            features).
+          + modify tack to test extended capability function-key strings.
+          + modify  toe  to  access  termcap  data,  e.g.,  via cgetent()
+            functions, or as a text file if those are not available.
+          + improve infocmp/tic -f option formatting.
+          + add  toe  -a  option,  to  show  all databases. This uses new
+            private  interfaces  in  the  ncurses  library  for iterating
+            through the list of databases.
+          + modify MKfallback.sh to use tic -x when constructing fallback
+            tables  to allow extended capabilities to be retrieved from a
+            fallback entry.
+     * terminal database
+          + add terminfo entries for xfce terminal (xfce) and multi gnome
+            terminal (mgt)
+          + add nsterm-16color entry
+          + updated mlterm terminfo entry
+          + add kon, kon2 and jfbterm terminfo entry
+          + remove  invis capability from klone+sgr, mainly used by linux
+            entry, since it does not really do this
+          + add ka2, kb1, kb3, kc2 to vt220-keypad as an extension
+          + add  shifted  up/down  arrow  codes  to xterm-new as kind/kri
+            strings
+          + add hpterm-color terminfo entry
+          + add  256color variants of terminfo entries for programs which
+            are reported to implement this feature
+          + correct  order  of use-clauses in rxvt-basic entry which made
+            codes for f1-f4 vt100-style rather than vt220-style.
+
    Major bug fixes:
-     * modify lib_tstp.c to block SIGTTOU when handling SIGTSTP, fixes a
-       problem where ncurses applications which were run via a shell
-       script would hang when given a ^Z. Also, check if the terminal's
-       process group is consistent, i.e., a shell has not taken ownership
-       of it, before deciding to save the current terminal settings in
-       the SIGTSTP handler.
-     * suppress sc/rc capabilities from terminal description if they
-       appear in smcup/rmcup. This affects only scrolling optimization,
-       to fix a problem reported by several people with xterm's alternate
-       screen, though the problem is more general.
-     * modify relative_move and tputs to avoid an interaction with the
-       BSD-style padding. The relative_move function could produce a
-       string to replace on the screen which began with a numeric
-       character, which was then interpreted by tputs as padding.
-     * modify setupterm so that cancelled strings are treated the same as
-       absent strings, cancelled and absent booleans false (does not
-       affect tic, infocmp).
-     * modify lib_vidattr.c to allow for terminal types (e.g.,
-       xterm-color) which may reset all attributes in the 'op'
-       capability, so that colors are set before turning on bold and
-       other attributes, but still after turning attributes off.
-     * use 'access()' to check if ncurses library should be permitted to
-       open or modify files with fopen/open/link/unlink/remove calls, in
-       case the calling application is running in setuid mode.
-     * correction to doupdate, for case where terminal does not support
-       insert/delete character. The logic did not check that there was a
-       difference in alignment of changes to old/new screens before
-       repainting the whole non-blank portion of the line. Modified to
-       fall through into logic that reduces by the portion which does not
-       differ.
-       
+     * correct  a typo in configure --with-bool option for the case where
+       --without-cxx is used.
+     * move  assignment from environment variable ESCDELAY from initscr()
+       down to newterm() so the environment variable affects timeouts for
+       terminals opened with newterm() as well.
+     * modify  werase  to clear multicolumn characters that extend into a
+       derived window.
+     * modify wchgat() to mark updated cells as changed so a refresh will
+       repaint those cells.
+     * correct  logic  in wadd_wch() and wecho_wch(), which did not guard
+       against   passing  the  multi-column  attribute  into  a  call  on
+       waddch(), e.g., using data returned by win_wch()
+     * fix  redrawing  of  windows other than stdscr using wredrawln() by
+       touching the corresponding rows in curscr.
+     * reduce  memory leaks in repeated calls to tgetent() by remembering
+       the  last TERMINAL* value allocated to hold the corresponding data
+       and freeing that if the tgetent() result buffer is the same as the
+       previous call.
+     * modify  read_termtype() so the term_names data is always allocated
+       as part of the str_table, a better fix for a memory leak.
+     * fix  wins_nwstr(),  which  did  not  handle single-column non-8bit
+       codes.
+     * modify  wbkgrnd()  to avoid clearing the A_CHARTEXT attribute bits
+       since those record the state of multicolumn characters.
+     * improve   SIGWINCH   handling  by  postponing  its  effect  during
+       newterm(), etc., when allocating screens.
+     * remove  970913 feature for copying subwindows as they are moved in
+       mvwin().
+     * add checks in waddchnstr() and wadd_wchnstr() to stop copying when
+       a null character is found.
+     * add  some  checks  to  ensure current position is within scrolling
+       region before scrolling on a new line.
+     * add  a  workaround  to  ACS  mapping to allow applications such as
+       test/blue.c  to  use  the "PC ROM" characters by masking them with
+       A_ALTCHARSET. This worked up til 5.5, but was lost in the revision
+       of legacy coding.
+
+   Portability:
+     * configure script:
+          + new options:
+
+              --with-hashed-db
+                      Use  Berkeley  hashed database for storing terminfo
+                      data  rather  than storing each compiled entry in a
+                      separate binary file within a directory tree.
+
+              --without-dlsym
+                      Do not use dlsym() to load GPM dynamically.
+
+              --with-valgrind
+                      Simplify building for testing with valgrind.
+
+              --enable-wgetch-events
+                      Compile with experimental wgetch-events code.
+
+              --enable-signed-char
+                      Store booleans in "signed char" rather than "char".
+
+          + improved options:
+
+              --disable-largefile
+                      make the option work both ways.
+
+              --with-gpm
+                      The  option now accepts a parameter, i.e., the name
+                      of the dynamic GPM library to load via dlopen()
+
+              --disable-symlinks
+                      The  option  now allows one to disable symlink() in
+                      tic even when link() does not work.
+
+     * other configure/build issues:
+          + remove  special  case for Darwin in CF_XOPEN_SOURCE configure
+            macro.
+          + add  configure  check  to  ensure that SIGWINCH is defined on
+            platforms such as OS X which exclude that when _XOPEN_SOURCE,
+            etc., are defined
+          + use  ld's -search_paths_first option on Darwin to work around
+            odd search rules on that platform.
+          + improve  ifdef's for _POSIX_VDISABLE in tset to work with Mac
+            OS X.
+          + modify  configure  script to ensure that if the C compiler is
+            used  rather  than the loader in making shared libraries, the
+            $(CFLAGS) variable is also used.
+          + use  ${CC}  rather  than  ${LD}  in  shared library rules for
+            IRIX64,  Solaris  to help ensure that initialization sections
+            are  provided  for  extra  linkage requirements, e.g., of C++
+            applications.
+          + improve  some  shared-library  configure scripting for Linux,
+            FreeBSD and NetBSD to make --with-shlib-version work.
+          + split    up    dependency   of   names.c   and   codes.c   in
+            ncurses/Makefile to work with parallel make.
+          + modify  MKlib_gen.sh  to  change  preprocessor-expanded _Bool
+            back to bool.
+          + modify progs/Makefile.in to make tput init work properly with
+            cygwin, i.e., do not pass a .exe in the reference string used
+            in check_aliases.
+     * library:
+          + ignore wide-acs line-drawing characters that wcwidth() claims
+            are  not one-column. This is a workaround for Solaris' broken
+            locale support.
+          + reduce  name-pollution  in  term.h  by removing #define's for
+            HAVE_xxx symbols.
+          + fix #ifdef in c++/internal.h for QNX 6.1
+     * test programs:
+          + modify  test/configure script to allow building test programs
+            with PDCurses/X11.
+          + modified  test  programs  to  allow  some to work with NetBSD
+            curses.  Several  do  not  because NetBSD curses implements a
+            subset  of  X/Open  curses,  and  also  lacks  much  of  SVr4
+            additions. But it is enough for comparison.
+          + improved  test/configure  to  build  test/ncurses  on HPUX 11
+            using the vendor curses.
+          + change  configure  script  to produce test/Makefile from data
+            file.
+
                               Features of Ncurses
-                                       
+
    The ncurses package is fully compatible with SVr4 (System V Release 4)
    curses:
-     * All 257 of the SVr4 calls have been implemented (and are
+     * All  257  of  the  SVr4  calls  have  been  implemented  (and  are
        documented).
-     * Full support for SVr4 curses features including keyboard mapping,
-       color, forms-drawing with ACS characters, and automatic
+     * Full  support for SVr4 curses features including keyboard mapping,
+       color,   forms-drawing   with   ACS   characters,   and  automatic
        recognition of keypad and function keys.
-     * An emulation of the SVr4 panels library, supporting a stack of
+     * An  emulation  of  the  SVr4 panels library, supporting a stack of
        windows with backing store, is included.
-     * An emulation of the SVr4 menus library, supporting a uniform but
+     * An  emulation  of the SVr4 menus library, supporting a uniform but
        flexible interface for menu programming, is included.
-     * An emulation of the SVr4 form library, supporting data collection
+     * An  emulation of the SVr4 form library, supporting data collection
        through on-screen forms, is included.
-     * Binary terminfo entries generated by the ncurses tic(1)
-       implementation are bit-for-bit-compatible with the entry format
+     * Binary   terminfo   entries   generated   by  the  ncurses  tic(1)
+       implementation  are  bit-for-bit-compatible  with the entry format
        SVr4 curses uses.
      * The utilities have options to allow you to filter terminfo entries
-       for use with less capable curses/terminfo versions such as the
+       for  use  with  less  capable curses/terminfo versions such as the
        HP/UX and AIX ports.
-       
+
    The ncurses package also has many useful extensions over SVr4:
-     * The API is 8-bit clean and base-level conformant with the X/OPEN
-       curses specification, XSI curses (that is, it implements all BASE
-       level features, but not all EXTENDED features). Most
-       EXTENDED-level features not directly concerned with wide-character
-       support are implemented, including many function calls not
-       supported under SVr4 curses (but portability of all calls is
-       documented so you can use the SVr4 subset only).
-     * Unlike SVr3 curses, ncurses can write to the rightmost-bottommost
-       corner of the screen if your terminal has an insert-character
+     * The  API  is 8-bit clean and base-level conformant with the X/OPEN
+       curses  specification, XSI curses (that is, it implements all BASE
+       level  features,  and  most  EXTENDED  features). It includes many
+       function calls not supported under SVr4 curses (but portability of
+       all calls is documented so you can use the SVr4 subset only).
+     * Unlike  SVr3 curses, ncurses can write to the rightmost-bottommost
+       corner  of  the  screen  if  your terminal has an insert-character
        capability.
      * Ada95 and C++ bindings.
-     * Support for mouse event reporting with X Window xterm and OS/2
-       console windows.
+     * Support  for mouse event reporting with X Window xterm and FreeBSD
+       and OS/2 console windows.
      * Extended mouse support via Alessandro Rubini's gpm package.
-     * The function wresize() allows you to resize windows, preserving
+     * The  function  wresize()  allows you to resize windows, preserving
        their data.
      * The function use_default_colors() allows you to use the terminal's
        default colors for the default color pair, achieving the effect of
        transparent colors.
      * The functions keyok() and define_key() allow you to better control
-       the use of function keys, e.g., disabling the ncurses KEY_MOUSE,
-       or by defining more than one control sequence to map to a given
+       the  use  of function keys, e.g., disabling the ncurses KEY_MOUSE,
+       or  by  defining  more than one control sequence to map to a given
        key code.
-     * Support for 16-color terminals, such as aixterm and XFree86 xterm.
-     * Better cursor-movement optimization. The package now features a
+     * Support for 16-color terminals, such as aixterm and modern xterm.
+     * Better  cursor-movement  optimization.  The package now features a
        cursor-local-movement computation more efficient than either BSD's
        or System V's.
-     * Super hardware scrolling support. The screen-update code
-       incorporates a novel, simple, and cheap algorithm that enables it
-       to make optimal use of hardware scrolling, line-insertion, and
-       line-deletion for screen-line movements. This algorithm is more
+     * Super   hardware   scrolling   support.   The  screen-update  code
+       incorporates  a novel, simple, and cheap algorithm that enables it
+       to  make  optimal  use  of hardware scrolling, line-insertion, and
+       line-deletion  for  screen-line  movements. This algorithm is more
        powerful than the 4.4BSD curses quickch() routine.
-     * Real support for terminals with the magic-cookie glitch. The
-       screen-update code will refrain from drawing a highlight if the
-       magic- cookie unattributed spaces required just before the
-       beginning and after the end would step on a non-space character.
-       It will automatically shift highlight boundaries when doing so
-       would make it possible to draw the highlight without changing the
+     * Real  support  for  terminals  with  the  magic-cookie glitch. The
+       screen-update  code  will  refrain from drawing a highlight if the
+       magic-   cookie  unattributed  spaces  required  just  before  the
+       beginning  and  after the end would step on a non-space character.
+       It  will  automatically  shift  highlight boundaries when doing so
+       would  make it possible to draw the highlight without changing the
        visual appearance of the screen.
-     * It is possible to generate the library with a list of pre-loaded
-       fallback entries linked to it so that it can serve those terminal
-       types even when no terminfo tree or termcap file is accessible
-       (this may be useful for support of screen-oriented programs that
+     * It  is  possible to generate the library with a list of pre-loaded
+       fallback  entries linked to it so that it can serve those terminal
+       types  even  when  no  terminfo tree or termcap file is accessible
+       (this  may  be useful for support of screen-oriented programs that
        must run in single-user mode).
      * The tic(1)/captoinfo utility provided with ncurses has the ability
-       to translate many termcaps from the XENIX, IBM and AT&T extension
+       to  translate many termcaps from the XENIX, IBM and AT&T extension
        sets.
      * A BSD-like tset(1) utility is provided.
      * The ncurses library and utilities will automatically read terminfo
-       entries from $HOME/.terminfo if it exists, and compile to that
-       directory if it exists and the user has no write access to the
-       system directory. This feature makes it easier for users to have
-       personal terminfo entries without giving up access to the system
+       entries  from  $HOME/.terminfo  if  it exists, and compile to that
+       directory  if  it  exists  and the user has no write access to the
+       system  directory.  This feature makes it easier for users to have
+       personal  terminfo  entries without giving up access to the system
        terminfo directory.
-     * You may specify a path of directories to search for compiled
-       descriptions with the environment variable TERMINFO_DIRS (this
-       generalizes the feature provided by TERMINFO under stock System
+     * You  may  specify  a  path  of  directories to search for compiled
+       descriptions  with  the  environment  variable TERMINFO_DIRS (this
+       generalizes  the  feature  provided by TERMINFO under stock System
        V.)
-     * In terminfo source files, use capabilities may refer not just to
+     * In  terminfo  source files, use capabilities may refer not just to
        other entries in the same source file (as in System V) but also to
-       compiled entries in either the system terminfo directory or the
+       compiled  entries  in  either the system terminfo directory or the
        user's $HOME/.terminfo directory.
-     * A script (capconvert) is provided to help BSD users transition
-       from termcap to terminfo. It gathers the information in a TERMCAP
-       environment variable and/or a ~/.termcap local entries file and
-       converts it to an equivalent local terminfo tree under
+     * A  script  (capconvert)  is  provided to help BSD users transition
+       from  termcap to terminfo. It gathers the information in a TERMCAP
+       environment  variable  and/or  a ~/.termcap local entries file and
+       converts   it   to   an   equivalent  local  terminfo  tree  under
        $HOME/.terminfo.
-     * Automatic fallback to the /etc/termcap file can be compiled in
-       when it is not possible to build a terminfo tree. This feature is
-       neither fast nor cheap, you don't want to use it unless you have
+     * Automatic  fallback  to  the  /etc/termcap file can be compiled in
+       when  it is not possible to build a terminfo tree. This feature is
+       neither  fast  nor cheap, you don't want to use it unless you have
        to, but it's there.
-     * The table-of-entries utility toe makes it easy for users to see
+     * The  table-of-entries  utility  toe makes it easy for users to see
        exactly what terminal types are available on the system.
      * The library meets the XSI requirement that every macro entry point
-       have a corresponding function which may be linked (and will be
-       prototype-checked) if the macro definition is disabled with
+       have  a  corresponding  function  which may be linked (and will be
+       prototype-checked)  if  the  macro  definition  is  disabled  with
        #undef.
-     * An HTML "Introduction to Programming with NCURSES" document
-       provides a narrative introduction to the curses programming
+     * An  HTML  "Introduction  to  Programming  with  NCURSES"  document
+       provides  a  narrative  introduction  to  the  curses  programming
        interface.
-       
+
                              State of the Package
-                                       
+
    Numerous bugs present in earlier versions have been fixed; the library
-   is far more reliable than it used to be. Bounds checking in many
-   `dangerous' entry points has been improved. The code is now type-safe
-   according to gcc -Wall. The library has been checked for malloc leaks
+   is  far  more  reliable  than  it  used to be. Bounds checking in many
+   `dangerous'  entry points has been improved. The code is now type-safe
+   according  to gcc -Wall. The library has been checked for malloc leaks
    and arena corruption by the Purify memory-allocation tester.
-   
-   The ncurses code has been tested with a wide variety of applications
+
+   The  ncurses  code has been tested with a wide variety of applications
    including (versions starting with those noted):
-   
+
    cdk
-          Curses Development Kit [3]Curses Development Kit
-          [4]ftp://ftp.clark.net/pub/dickey/cdk.
-          
+          Curses Development Kit
+          [3]http://invisible-island.net/cdk/
+          [4]http://www.vexus.ca/products/CDK/
+
    ded
-          directory-editor [5]ftp://ftp.clark.net/pub/dickey/ded.
-          
+          directory-editor
+          [5]http://invisible-island.net/ded/
+
    dialog
-          the underlying application used in Slackware's setup, and the
+          the  underlying  application used in Slackware's setup, and the
           basis for similar applications on GNU/Linux.
-          
+          [6]http://invisible-island.net/dialog/
+
    lynx
           the character-screen WWW browser
-          
-   Midnight Commander 4.1
+          [7]http://lynx.isc.org/release/
+
+   Midnight Commander
           file manager
-          
+          [8]http://www.ibiblio.org/mc/
+
    mutt
           mail utility
-          
+          [9]http://www.mutt.org/
+
    ncftp
           file-transfer utility
-          
+          [10]http://www.ncftp.com/
+
    nvi
           New vi versions 1.50 are able to use ncurses versions 1.9.7 and
           later.
-          
+          [11]http://www.bostic.com/vi/
+
+   pinfo
+          Lynx-like info browser.
+          [12]http://dione.ids.pl/~pborys/software/pinfo/
+
    tin
-          newsreader, supporting color, MIME
-          [6]ftp://ftp.akk.uni-karlsruhe.de/pub/news/clients/tin-unoff.
-          
-   taper
-          tape archive utility
-          
+          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
+
    as well as some that use ncurses for the terminfo support alone:
-   
+
    minicom
           terminal emulator
-          
+          [15]http://alioth.debian.org/projects/minicom/
+
    vile
-          vi-like-emacs [7]ftp://ftp.clark.net/pub/dickey/vile.
-          
-   The ncurses distribution includes a selection of test programs
+          vi-like-emacs
+          [16]http://invisible-island.net/vile/
+
+   The  ncurses  distribution  includes  a  selection  of  test  programs
    (including a few games).
-   
+
 Who's Who and What's What
 
-   The original developers of ncurses are [8]Zeyd Ben-Halim and [9]Eric
-   S. Raymond. Ongoing work is being done by [10]Thomas Dickey and
-   [11]Jürgen Pfeifer. [12]Thomas Dickey acts as the maintainer for the
-   Free Software Foundation, which holds the copyright on ncurses.
-   Contact the current maintainers at [13]bug-ncurses@gnu.org.
-   
-   To join the ncurses mailing list, please write email to
+   Zeyd  Ben-Halim started it from a previous package pcurses, written by
+   Pavel  Curtis.  Eric S. Raymond continued development. Juergen Pfeifer
+   wrote  most of the form and menu libraries. Ongoing work is being done
+   by  [17]Thomas  Dickey.  Thomas  Dickey acts as the maintainer for the
+   Free  Software  Foundation,  which  holds  the  copyright  on ncurses.
+   Contact the current maintainers at [18]bug-ncurses@gnu.org.
+
+   To   join   the   ncurses   mailing   list,   please  write  email  to
    bug-ncurses-request@gnu.org containing the line:
              subscribe <name>@<host.domain>
 
    This list is open to anyone interested in helping with the development
    and testing of this package.
-   
-   Beta versions of ncurses and patches to the current release are made
-   available at [14]ftp://ftp.clark.net/pub/dickey/ncurses.
-   
+
+   Beta  versions  of ncurses and patches to the current release are made
+   available at [19]ftp://invisible-island.net/ncurses/ .
+
 Future Plans
 
-     * Extended-level XPG4 conformance, with internationalization
+     * Extended-level   XPG4   conformance,   with   internationalization
        support.
      * Ports to more systems, including DOS and Windows.
-       
-   We need people to help with these projects. If you are interested in
+
+   We  need  people to help with these projects. If you are interested in
    working on them, please join the ncurses list.
-   
+
 Other Related Resources
 
-   The distribution includes and uses a version of the terminfo-format
-   terminal description file maintained by Eric Raymond.
-   [15]http://earthspace.net/~esr/terminfo.
-   
-   You can find lots of information on terminal-related topics not
-   covered in the terminfo file at [16]Richard Shuford's archive.
+   The  distribution  provides  a  newer  version  of the terminfo-format
+   terminal description file once maintained by [20]Eric Raymond . Unlike
+   the  older  version, the termcap and terminfo data are provided in the
+   same  file,  and provides several user-definable extensions beyond the
+   X/Open specification.
+
+   You  can  find  lots  of  information  on  terminal-related topics not
+   covered in the terminfo file at [21]Richard Shuford's archive .
 
 References
 
-   1. ftp://ftp.gnu.org/pub/gnu/ncurses
-   2. ftp://ftp.clark.net/pub/dickey/ncurses
-   3. http://www.vexus.ca/CDK.html
-   4. ftp://ftp.clark.net/pub/dickey/cdk
-   5. ftp://ftp.clark.net/pub/dickey/ded
-   6. ftp://ftp.akk.uni-karlsruhe.de/pub/news/clients/tin-unoff
-   7. ftp://ftp.clark.net/pub/dickey/vile
-   8. mailto:zmbenhal@netcom.com
-   9. http://www.ccil.org/~esr/home.html
-  10. mailto:dickey@clark.net
-  11. mailto:juergen.pfeifer@gmx.net
-  12. mailto:dickey@clark.net
-  13. mailto:bug-ncurses@gnu.org
-  14. ftp://ftp.clark.net/pub/dickey/ncurses
-  15. http://earthspace.net/~esr/terminfo
-  16. http://www.cs.utk.edu/~shuford/terminal_index.html
+   1. ftp://ftp.gnu.org/gnu/ncurses/
+   2. ftp://invisible-island.net/ncurses/
+   3. http://invisible-island.net/cdk/
+   4. http://www.vexus.ca/products/CDK/
+   5. http://invisible-island.net/ded/
+   6. http://invisible-island.net/dialog/
+   7. http://lynx.isc.org/release/
+   8. http://www.ibiblio.org/mc/
+   9. http://www.mutt.org/
+  10. http://www.ncftp.com/
+  11. http://www.bostic.com/vi/
+  12. http://dione.ids.pl/~pborys/software/pinfo/
+  13. http://www.tin.org/
+  14. http://www.debian.org/Packages/unstable/text/vh.html
+  15. http://alioth.debian.org/projects/minicom/
+  16. http://invisible-island.net/vile/
+  17. mailto:dickey@invisible-island.net
+  18. mailto:bug-ncurses@gnu.org
+  19. ftp://invisible-island.net/ncurses/
+  20. http://www.catb.org/~esr/terminfo/
+  21. http://www.cs.utk.edu/~shuford/terminal_index.html