- 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.