- * made the extended terminal capabilities
- (configure --enable-tcap-names) a standard feature (though the
- configure script can disable it, it is built by default).
- * removed the trace() function and related trace support from the
- production library. This is the only interface change that may
- cause problems with existing applications linked to shared
- libraries, since not all platforms use the minor version number.
- * explicitly initialized to zero several data items which were
- implicitly initialized, e.g., cur_term. If not explicitly
- initialized, their storage type is C (common), and causes problems
- linking on some platforms.
- * modified curses.h.in, undef'ing some symbols to avoid conflict
- with C++ STL.
-
- New features:
- * added a new extension, assume_default_colors() to provide better
- control over the use of default colors. This is the principal
- visible difference between ncurses 5.1 and preceding versions. The
- new extension allows an application to specify what colors pair 0
- uses.
- NOTE: Pair 0 defaults to white on black unless you have invoked
- use_default_colors() or set it via assume_default_colors(). An
- application that calls start_colors() without setting the
- background color will consistently have a black background no
- matter what color your terminal's background actually is.
- * made several fixes to the terminfo-to-termcap conversion, and have
- been using the generated termcaps without further hand-tuning.
- This builds on the extension use_extended_names() by adding
- "obsolete" termcap strings to terminfo.src
- + modified tic so that if extended names (i.e.,
- configure --enable-tcap-names) are active, then tic -x will
- also write "obsolete" capabilities that are present in the
- terminfo source.
- + added screen's AX capability (for ECMA SGR 39 and 49) to
- applicable terminfo entries, use presence of this as a check
- for a small improvement in setting default colors.
- + add -a option to tic and infocmp, which retains commented-out
- capabilities during source translation/comparison, e.g.,
- captoinfo and infotocap.
- * implemented limited support for UTF-8, useful with XFree86 xterm:
- + if the configure --enable-widec option is given, append 'w'
- to names of the generated libraries (e.g., libncursesw.so) to
- avoid conflict with existing ncurses libraries.
- + add a simple UTF-8 output driver to the experimental
- wide-character support. If any of the environment variables
- LC_ALL, LC_CTYPE or LANG contain the string "UTF-8", this
- driver will be used to translate the output to UTF-8.
- + modified view.c to make a rudimentary viewer of UTF-8 text.
- * modify raw() and noraw() to clear/restore IEXTEN flag which
- affects stty lnext on systems such as FreeBSD
- * reordered tests during mouse initialization to allow for gpm to
- run in xterm, or for xterm to be used under OS/2 EMX. Also dropped
- test for $DISPLAY in favor of the terminfo capability kmous=\E[M
- or if $TERM environment variable contains "xterm".
- * added configure option --with-manpage-symlinks, which provides for
- fully indexing manpage entries by making symbolic links for the
- aliases.
- * changed unctrl() to render C1 characters (128-159) as ~@, ~A, etc.
- * add experimental configure option --enable-colorfgbg to check for
- $COLORTERM variable as set by rxvt/aterm/Eterm.
- * made the infocmp -F option less verbose.
- * dropped support for gnat 3.10 (gnat 3.12 is current).
+ * terminfo installs "xterm-new" as "xterm" entry rather than
+ "xterm-old" (aka xterm-r6).
+ * terminfo data is installed using the tic -x option (few systems
+ still use ncurses 4.2).
+ * modify C++ binding to work with newer C++ compilers by providing
+ initializers and using modern casts. Old-style header names are
+ still used in this release to allow compiling with not-so-old
+ compilers.
+ * modify parameter type in c++ binding for insch() and mvwinsch() to
+ be consistent with underlying ncurses library (was char, is
+ chtype).
+ * change NCursesWindow::err_handler() to a virtual function.
+ * form and menu libraries now work with wide-character data.
+ Applications which bypassed the form library and manipulated the
+ FIELD.buf data directly will not work properly with libformw,
+ since that no longer points to an array of char. The
+ set_field_buffer() and field_buffer() functions translate to/from
+ the actual field data.
+ * add symbol to curses.h which can be used to suppress include of
+ stdbool.h, e.g.,
+ #define NCURSES_ENABLE_STDBOOL_H 0
+ #include <curses.h>
+
+ * change SP->_current_attr to a pointer, adjust ifdef's to ensure
+ that libtinfo.so and libtinfow.so have the same ABI. The reason
+ for this is that the corresponding data which belongs to the
+ upper-level ncurses library has a different size in each model.
+ * winnstr() now returns multibyte character strings for the
+ wide-character configuration.
+ * assume_default_colors() no longer requires that
+ use_default_colors() be called first.
+ * data_ahead() now works with wide-characters.
+ * slk_set() and slk_wset() now accept and store multibyte or
+ multicolumn characters.
+ * start_color() now returns OK if colors have already been started.
+ start_color() also returns ERR if it cannot allocate memory.
+ * pair_content() now returns -1 for consistency with init_pair() if
+ it corresponds to the default-color.
+ * unctrl() now returns null if its parameter does not correspond to
+ an unsigned char.
+
+ New features and improvements:
+ * library
+ + environment variable NCURSES_NO_UTF8_ACS supports
+ miscellaneous terminal emulators which ignore alternate
+ character set escape sequences when in UTF-8 mode.
+ + modify initialization of key lookup table so that if an
+ extended capability (tic -x) string is defined, and its name
+ begins with 'k', ncurses will automatically treat it as a
+ key.
+ + change GPM initialization, using dl library to load it
+ dynamically at runtime.
+ + form, menu and panel libraries support debug-tracing.
+ * add NCURSES-Programming-HOWTO.html by Pradeep Padala (see
+ http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/).
+ * programs:
+ * infocmp:
+ + The -i option now matches 8-bit controls against its table
+ entries, e.g., so it can analyze the xterm-8bit entry.
+ + add "-x" option to infocmp like tic's "-x", for use in "-F"
+ comparisons. This modifies infocmp to only report extended
+ capabilities if the -x option is given, making this more
+ consistent with tic. Some scripts may break, since infocmp
+ previous gave this information without an option.
+ * tic:
+ + modify termcap-parsing to retain 2-character aliases at the
+ beginning of an entry if the "-x" option is used in tic.
+ + filter out long extended names when translating to termcap
+ format. Only two characters are permissible for termcap
+ capability names.
+ + correct translation of "%%" in terminfo format to termcap,
+ e.g., using "tic -C".
+ + modify the "-c -v" options to ignore delays when comparing
+ strings. Also modify it to ignore a canceled sgr string,
+ e.g., for terminals which cannot properly combine attributes
+ in one control sequence.
+ + add a check for improperly ended strings, i.e., where a
+ following line begins in column 1.
+ + add a check in tic for terminfo entries having an sgr0 but no
+ sgr string. This confuses Tru64 and HPUX curses when combined
+ with color, e.g., making them leave line-drawing characters
+ in odd places.
+ + add check (with debug configuration) that provides about the
+ runtime changes that would be made to sgr0 for termcap
+ applications.
+ * tset:
+ + add -c and -w options to allow user to suppress ncurses'
+ resizing of the terminal emulator window in the special case
+ where it is not able to detect the true size.