- 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:
+ change-log since ncurses 5.7 release.
+
+Interface changes
+
+ * turn on _XOPEN_CURSES definition in curses.h.
+ * change _nc_has_mouse to has_mouse, reflect its use in C++ and
+ Ada95.
+ * add is_pad and is_subwin functions for opaque access to the WINDOW
+ structure.
+ * add tiparm, based on review of X/Open Curses Issue 7.
+
+New features and improvements
+
+ Library Improvements
+
+ * add a terminal driver for Windows console, which supports a MinGW
+ port to Windows.
+ * add extended functions which specify the SCREEN pointer for
+ several curses functions which use the global SP.
+ * improve the NCURSES_NO_UTF8_ACS feature by adding a check for an
+ extended terminfo capability U8.
+ * improve performance of tigetstr, etc., by using hashing code from
+ tic.
+ * add WACS_xxx definitions to wide-character configuration for
+ thick- and double-lines.
+ * modify init_pair to allow caller to create extra color pairs
+ beyond the color_pairs limit, which use default colors.
+
+ Improvements to Programs
+
+ * add tabs program.
+ * modify tic's -I/-C dump to reformat acsc strings into canonical
+ form (sorted, unique mapping).
+ * add checks in tic for inconsistent cursor-movement controls, and
+ for inconsistent printer-controls.
+ * add special case to _nc_infotocap (used by tic and infocmp) to
+ recognize the setaf/setab strings from xterm+256color and
+ xterm+88color, and provide a reduced version which works with
+ termcap.
+
+ Terminal Database
+
+ * added entries:
+ + bterm terminfo entry, based on bogl 0.1.18
+ + cons25-debian entry
+ + eterm-color entry
+ + linux-16color
+ + mlterm+256color entry, for mlterm 3.0.0
+ + several screen-bce.xxx entries
+ + screen.Eterm terminfo entry
+ + vwmterm entry
+ + xterm-utf8 entry as a demo of the U8 feature
+ * updated/improved entries:
+ + use extended capabilities:
+ o add U8 feature to denote entries for terminal emulators
+ which do not support VT100 SI/SO when processing UTF-8
+ encoding
+ o add XT capability to entries for terminals that support
+ both xterm-style mouse- and title-controls, for screen
+ which special-cases TERM beginning with xterm or rxvt
+ + improvements based on new checks in tic:
+ +
+ o fill in no-parameter forms of cursor-movement where a
+ parameterized form is available
+ o fill in missing cursor controls where the form of the
+ controls is ANSI
+ o add parameterized cursor-controls to linux-basic
+ o modify nsterm, xnuppc and tek4115 to make sgr/sgr0
+ consistent
+ o change several terminfo entries to make consistent use
+ of ANSI clear-all-tabs
+ + extend ansi.sys pfkey capability from kf1-kf10 to kf1-kf48,
+ moving function key definitions from emx-base for
+ consistency.
+ + correct missing final 'p' in pfkey capability of
+ ansi.sys-old.
+ + rename atari and st52 terminfo entries to atari-old,
+ st52-old, use newer entries from FreeMiNT.
+ + repurpose gnome terminfo entries as vte, retaining gnome
+ variants for compatibility, but generally deprecating those
+ since the VTE library is what actually defines the behavior
+ of "gnome", etc., since 2003.
+ + improve interix smso terminfo capability by using reverse
+ rather than bold.
+ + correct initc capability of linux-c-nc end-of-range, make
+ similar change for dg+ccc and dgunix+ccc.
+ + update minix terminfo entry.
+ + updated nsterm* entries.
+ + remove unnecessary kcan assignment to ^C from putty.
+ + suppress ncv in screen and konsole-base entries, allowing
+ underline.
+ + change ncv and op capabilities in sun-color terminfo entry to
+ match Sun's entry for this.
+ + fix typo in rmso for tek4106 entry.
+ + improve acsc string for vt52, show arrow keys.
+ + add hard-reset for rs2 to wsvt25 to help ensure that reset
+ ends the alternate character set.
+ + add ccc and initc capabilities to xterm-16color.
+
+Major bug fixes
+
+ * ncurses library
+ + wide character support
+ o modify length returned by getcchar to count the trailing
+ null which is documented in X/Open.
+ o fix an infinite recursion when adding a legacy-coding
+ 8-bit value using insch.
+ o improve a workaround in adding wide-characters, when a
+ control character is found. The library uses unctrl to
+ obtain a printable version of the control character, but
+ was not passing color or video attributes.
+ o modify waddch_literal, updating line-pointer after a
+ multicolumn character is found to not fit on the current
+ row, and wrapping is done. Since the line-pointer was
+ not updated, the wrapped multicolumn character was
+ written to the beginning of the current row.
+ o fixes in wins_nwstr and related functions to ensure that
+ special characters, i.e., control characters are handled
+ properly with the wide-character configuration.
+ o correct internal _nc_insert_ch to use _nc_insert_wch
+ when inserting wide characters, since the wins_wch
+ function that it used did not update the cursor
+ position.
+ + mouse
+ o add check if Gpm_Open returns a -2, e.g., for "xterm".
+ This is normally suppressed but can be overridden using
+ $NCURSES_GPM_TERMS. Ensure that Gpm_Close is called in
+ this case.
+ o add check in mouse-driver to disable connection if GPM
+ returns a zero, indicating that the connection is
+ closed.
+ o modify getmouse to act as its documentation implied,
+ returning on each call the preceding event until none
+ are left. When no more events remain, it will return
+ ERR.
+ + miscellaneous
+ o improve handling of color-pairs embedded in attributes
+ for the extended-colors configuration.
+ o add check for failure to open hashed-database needed for
+ db4.6.
+ o modify use of $CC environment variable which is defined
+ by X/Open as a curses feature, to ignore it if it is not
+ a single character.
+ o modify declaration of cur_term when broken-linker is
+ used, but enable-reentrant is not, to match pre-5.7.
+ o correct limit-checks in derwin.
+ o remove old check in mvderwin which prevented moving a
+ derived window whose origin happened to coincide with
+ its parent's origin.
+ o correct limit-checks in newwin, to ensure that windows
+ have nonzero size.
+ o modify set_curterm to make broken-linker configuration
+ work with changes from 20090228.
+ o modify wgetch to ensure it checks SIGWINCH when it gets
+ an error in non-blocking mode.
+ o correct limit-check in wredrawln, accounting for
+ begy/begx values.
+ o fix a null-pointer check in _nc_format_slks in
+ lib_slk.c, from 20070704 changes.
+ o correct translation of "^" in _nc_infotocap, used to
+ transform terminfo to termcap strings.
+ o modify _nc_wgetch to check for a -1 in the fifo, e.g.,
+ after a SIGWINCH, and discard that value, to avoid
+ confusing application.
+ * other libraries
+ + correct transfer of multicolumn characters in multirow
+ field_buffer, which stopped at the end of the first row due
+ to filling of unused entries in a cchar_t array with nulls.
+ + correct buffer-size after internal resizing of wide-character
+ set_field_buffer, broken in 20081018 changes.
+ + correct layout of working window used to extract data in
+ wide-character configured by set_field_buffer
+
+Portability
+