+
+ 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
+
+ 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:
+ * generate linkable stubs for some macros:
+ getbegx, getbegy, getcurx, getcury, getmaxx, getmaxy, getparx,
+ getpary, getpary,
+ and (for libncursesw)
+ wgetbkgrnd
+
+ New features and improvements:
+ * library
+ + support hashed databases for the terminal descriptions. This
+ uses the Berkeley database, has been tested for several
+ versions on different platforms.
+ + add use_legacy_coding() function to support lynx's
+ font-switching feature.
+ + add extension nofilter(), to cancel a prior filter() call.
+ + add/install a package config script, e.g., ncurses5-config or
+ ncursesw5-config, according to configuration options.
+ + provide ifdef for NCURSES_NOMACROS which suppresses most
+ macro definitions from curses.h, i.e., where a macro is
+ defined to override a function to improve performance.
+ + make ifdef's consistent in curses.h for the extended colors
+ so the header file can be used for the normal curses library.
+ The header file installed for extended colors is a variation
+ of the wide-character configuration.
+ + improve tgetstr() by making the return value point into the
+ user's buffer, if provided.
+ + add ifdef's allowing ncurses to be built with tparm() using
+ either varargs (the existing status), or using a
+ fixed-parameter list (to match X/Open).
+ + widen the test for xterm kmous a little to allow for other
+ strings than "\E[M", e.g., for xterm-sco functionality in
+ xterm.
+ + modify wgetnstr() to return KEY_RESIZE if a sigwinch occurs.
+ + move prototypes for wide-character trace functions from
+ curses.tail to curses.wide to avoid accidental reference to
+ those if _XOPEN_SOURCE_EXTENDED is defined without ensuring
+ that <wchar.h> is included.
+ + change the way shared libraries (other than libtool) are
+ installed. Rather than copying the build-tree's libraries,
+ link the shared objects into the install directory. This
+ makes the --with-rpath option work except with $(DESTDIR).
+ + several improvements for rendering in hpterm. These are only
+ available if the library is configured using
+ --enable-xmc-glitch.
+ + Add NCURSES_NO_HARD_TABS and NCURSES_NO_MAGIC_COOKIE
+ environment variables to allow runtime suppression of the
+ related hard-tabs and xmc-glitch features.
+ * programs:
+ + add new test programs: chgat.c, demo_altkeys.c, echochar.c,
+ foldkeys.c, movewindow.c, redraw.c, (noting that existing
+ test programs also were modified to test additional
+ features).
+ + modify tack to test extended capability function-key strings.
+ + modify toe to access termcap data, e.g., via cgetent()
+ functions, or as a text file if those are not available.
+ + improve infocmp/tic -f option formatting.
+ + add toe -a option, to show all databases. This uses new
+ private interfaces in the ncurses library for iterating
+ through the list of databases.
+ + modify MKfallback.sh to use tic -x when constructing fallback
+ tables to allow extended capabilities to be retrieved from a
+ fallback entry.
+ * terminal database
+ + add terminfo entries for xfce terminal (xfce) and multi gnome
+ terminal (mgt)
+ + add nsterm-16color entry
+ + updated mlterm terminfo entry
+ + add kon, kon2 and jfbterm terminfo entry
+ + remove invis capability from klone+sgr, mainly used by linux
+ entry, since it does not really do this
+ + add ka2, kb1, kb3, kc2 to vt220-keypad as an extension
+ + add shifted up/down arrow codes to xterm-new as kind/kri
+ strings
+ + add hpterm-color terminfo entry
+ + add 256color variants of terminfo entries for programs which
+ are reported to implement this feature
+ + correct order of use-clauses in rxvt-basic entry which made
+ codes for f1-f4 vt100-style rather than vt220-style.
+
+ Major bug fixes:
+ * correct a typo in configure --with-bool option for the case where
+ --without-cxx is used.
+ * move assignment from environment variable ESCDELAY from initscr()
+ down to newterm() so the environment variable affects timeouts for
+ terminals opened with newterm() as well.
+ * modify werase to clear multicolumn characters that extend into a
+ derived window.
+ * modify wchgat() to mark updated cells as changed so a refresh will
+ repaint those cells.
+ * correct logic in wadd_wch() and wecho_wch(), which did not guard
+ against passing the multi-column attribute into a call on
+ waddch(), e.g., using data returned by win_wch()
+ * fix redrawing of windows other than stdscr using wredrawln() by
+ touching the corresponding rows in curscr.
+ * reduce memory leaks in repeated calls to tgetent() by remembering
+ the last TERMINAL* value allocated to hold the corresponding data
+ and freeing that if the tgetent() result buffer is the same as the
+ previous call.
+ * modify read_termtype() so the term_names data is always allocated
+ as part of the str_table, a better fix for a memory leak.
+ * fix wins_nwstr(), which did not handle single-column non-8bit
+ codes.
+ * modify wbkgrnd() to avoid clearing the A_CHARTEXT attribute bits
+ since those record the state of multicolumn characters.
+ * improve SIGWINCH handling by postponing its effect during
+ newterm(), etc., when allocating screens.
+ * remove 970913 feature for copying subwindows as they are moved in
+ mvwin().
+ * add checks in waddchnstr() and wadd_wchnstr() to stop copying when
+ a null character is found.
+ * add some checks to ensure current position is within scrolling
+ region before scrolling on a new line.
+ * add a workaround to ACS mapping to allow applications such as
+ test/blue.c to use the "PC ROM" characters by masking them with
+ A_ALTCHARSET. This worked up til 5.5, but was lost in the revision
+ of legacy coding.
+
+ Portability:
+ * configure script:
+ + new options:
+
+ --with-hashed-db
+ Use Berkeley hashed database for storing terminfo
+ data rather than storing each compiled entry in a
+ separate binary file within a directory tree.
+
+ --without-dlsym
+ Do not use dlsym() to load GPM dynamically.
+
+ --with-valgrind
+ Simplify building for testing with valgrind.
+
+ --enable-wgetch-events
+ Compile with experimental wgetch-events code.
+
+ --enable-signed-char
+ Store booleans in "signed char" rather than "char".
+
+ + improved options:
+
+ --disable-largefile
+ make the option work both ways.
+
+ --with-gpm
+ The option now accepts a parameter, i.e., the name
+ of the dynamic GPM library to load via dlopen()
+
+ --disable-symlinks
+ The option now allows one to disable symlink() in
+ tic even when link() does not work.
+
+ * other configure/build issues:
+ + remove special case for Darwin in CF_XOPEN_SOURCE configure
+ macro.
+ + add configure check to ensure that SIGWINCH is defined on
+ platforms such as OS X which exclude that when _XOPEN_SOURCE,
+ etc., are defined
+ + use ld's -search_paths_first option on Darwin to work around
+ odd search rules on that platform.
+ + improve ifdef's for _POSIX_VDISABLE in tset to work with Mac
+ OS X.
+ + modify configure script to ensure that if the C compiler is
+ used rather than the loader in making shared libraries, the
+ $(CFLAGS) variable is also used.
+ + use ${CC} rather than ${LD} in shared library rules for
+ IRIX64, Solaris to help ensure that initialization sections
+ are provided for extra linkage requirements, e.g., of C++
+ applications.
+ + improve some shared-library configure scripting for Linux,
+ FreeBSD and NetBSD to make --with-shlib-version work.
+ + split up dependency of names.c and codes.c in
+ ncurses/Makefile to work with parallel make.
+ + modify MKlib_gen.sh to change preprocessor-expanded _Bool
+ back to bool.
+ + modify progs/Makefile.in to make tput init work properly with
+ cygwin, i.e., do not pass a .exe in the reference string used
+ in check_aliases.
+ * library:
+ + ignore wide-acs line-drawing characters that wcwidth() claims
+ are not one-column. This is a workaround for Solaris' broken
+ locale support.
+ + reduce name-pollution in term.h by removing #define's for
+ HAVE_xxx symbols.
+ + fix #ifdef in c++/internal.h for QNX 6.1
+ * test programs:
+ + modify test/configure script to allow building test programs
+ with PDCurses/X11.
+ + modified test programs to allow some to work with NetBSD
+ curses. Several do not because NetBSD curses implements a
+ subset of X/Open curses, and also lacks much of SVr4
+ additions. But it is enough for comparison.
+ + improved test/configure to build test/ncurses on HPUX 11
+ using the vendor curses.
+ + change configure script to produce test/Makefile from data
+ file.
+
+ 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