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