- * prevent recursion in wgetch() via wgetnstr() if the connection
- cannot be switched between cooked/raw modes because it is not a
- TTY.
- * correct a case in _nc_remove_string(), used by define_key(), to
- avoid infinite loop if the given string happens to be a substring
- of other strings which are assigned to keys.
- * modify logic of acsc to use the original character if no mapping
- is defined, rather than a null.
- * several improvements for handling multi-cell display of wide
- characters.
- + modify setcchar() to allow converting control characters to
- complex characters.
- + correct handling of multibyte characters in waddch_literal()
- which force wrapping because they are started too late on the
- line.
- + modify setcchar() to allow for wchar_t input strings that
- have more than one spacing character.
- * other fixes for wide-character support:
- + rewrote lib_acs.c to allow PutAttrChar() to decide how to
- render alternate-characters, i.e., to work with Linux console
- and UTF-8 locale.
- + implement a workaround so that line-drawing works with
- screen's crippled UTF-8 support (tested with 3.9.13). This
- only works with the wide-character support (--enable-widec);
- the normal library will simply suppress line-drawing when
- running in a UTF-8 locale in screen.
- + corrections to lib_get_wstr.c:
- o null-terminate buffer passed to setcchar(), which
- occasionally failed.
- o map special characters such as erase- and
- kill-characters into key-codes so those will work as
- expected even if they are not mentioned in the terminfo.
- * modify setupterm() to check if the terminfo and terminal-modes
- have already been read. This ensures that it does not reinvoke
- def_prog_mode() when an application calls more than one function,
- such as tgetent() and initscr().
- * fix form_driver() cases for REQ_CLR_EOF, REQ_CLR_EOL,
- REQ_DEL_CHAR, REQ_DEL_PREV and REQ_NEW_LINE, which did not ensure
- the cursor was at the editing position before making
- modifications.
- * correct keybound(), which reported definitions in the wrong table,
- i.e., the list of definitions which are disabled by keyok().
- * fixes related to safe_sprintf.c:
- + correct an allocation size in safe_sprintf.c for the "*"
- format code.
- + correct safe_sprintf.c to not return a null pointer if the
- format happens to be an empty string.
- + make return value from _nc_printf_string() consistent.
- Before, depending on whether --enable-safe-sprintf was used,
- it might not be cached for reallocating.
- * other low-level improvements to the optimization code include:
- + if the output is a socket or other non-tty device, use 1
- millisecond for the cost in mvcur; previously it was 9
- milliseconds because the baudrate was not known.
- + modify lib_getch.c to avoid recursion via wgetnstr() when the
- input is not a tty and consequently mode-changes do not work.
- + fix several places in tack/pad.c which tested and used the
- parameter- and parameterless strings inconsistently.
- + change several tputs() calls in scrolling code to use putp(),
- to enable padding which may be needed for some terminals.
- + improve mvcur() by checking if it is safe to move when video
- attributes are set (msgr), and if not, reset/restore
- attributes within that function rather than doing it
- separately in the GoTo() function in tty_update.c.
- + use tputs() rather than putp() in a few cases in tty_update.c
- since the corresponding delays are proportional to the number
- of lines affected: repeat_char, clr_eos,
- change_scroll_region.
- * correct line/column reference in adjust_window(), needed to make
- special windows such as curscr track properly when resizing.
- * fix a potential recursion between napms() and _nc_timed_wait()
- * rewrote lib_insch.c, combining it with lib_insstr.c so both handle
- tab and other control characters consistently.
- * do not try to open gpm mouse driver if standard output is not a
- tty; the gpm library does not make this check.
+ * 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.