ncurses 6.1 - patch 20180922
[ncurses.git] / NEWS
diff --git a/NEWS b/NEWS
index 073422d0ccfd2266560d3ac8d45640ae7fa0657b..5368fecb376f8b649bbf945aef29d71398dd335d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3061 2018/01/16 09:15:38 tom Exp $
+-- $Id: NEWS,v 1.3190 2018/09/22 21:23:32 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,330 @@ See the AUTHORS file for the corresponding full names.
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20180922
+       + ignore interrupted system-call in test/ncurses's command-line, e.g.,
+         if the terminal were resized.
+       + add shift/control/alt logic for decoding xterm's 1006 mode (Redhat
+         #1610681, cf: 20141011).
+       + modify rpm test-packages to not use --disable-relink with Redhat,
+         since Fedora 28's tools do not work with that feature.
+
+20180908
+       + document --with-pcre2 configure option in INSTALL.
+       + improve workaround for special case in PutAttrChar() where a cell is
+         marked as alternate-character set, to handle a case where the
+         character in the cell does not correspond to any of the ASCII
+         fallbacks (report by Leon Winter, cf: 20180505).
+       + amend change to form library which attempted to avoid unnecessary
+         update of cursor position in non-public fields, to simply disable
+         output in this case (patch by Leon Winter, cf: 20180414).
+       + improve check for LINE_MAX runtime limit, to accommodate broken
+         implementations of sysconf().
+
+20180901
+       + improve manual page for wgetnstr, giving background for the length
+         parameter.
+       + define a limit for wgetnstr, wgetn_wstr when length is negative or
+         "too large".
+       + update configure script to autoconf 2.52.20180819 (Debian #887390).
+
+20180825
+       + add a section to tput manual page clarifying how it determines the
+         terminal size (prompted by discussion with Grant Jenks).
+       + add "--disable-relink" to rpm test-packages, for consistency with the
+         deb test-packages.
+       + split spec-file into ncurses6.spec and ncursest6.spec to work around
+         toolset breakage in Fedora 28.
+       + drop mention of "--disable-touching", which was not in the final
+         20180818 updates.
+
+20180818
+       + build-fix for PDCurses with ncurses-examples.
+       + improved CF_CC_ENV_FLAGS.
+       + modify configure scripts to reduce relinking/ranlib during library
+         install (Debian #903790):
+         + use "install -p" when available, to avoid need for ranlib of
+           static libraries.
+         + modify scripts which use "--disable-relink" to add a 1-second
+           sleep to work around tools which use whole-second timestamps, e.g.,
+           in utime() rather than the actual file system resolution.
+
+20180804
+       + improve logic for clear with E3 extension, in case the terminal
+         scrolls content onto its saved-lines before actually clearing
+         the display, by clearing the saved-lines after clearing the
+         display (report/patch by Nicholas Marriott).
+
+20180728
+       + improve documentation regarding feature-test macros in curses.h
+       + improve documentation regarding the virtual and physical screens.
+       + formatting fixes for manpages, regenerate man-html documentation.
+
+20180721
+       + build-fixes for gcc8.
+       + corrected acsc for wy50 -TD
+       + add wy50 and wy60 shifted function-keys as kF1 to kF16 -TD
+       + remove ansi+rep mis-added to interix in 2018-02-23 -TD
+
+20180714
+       + add enum, regex examples to test/demo_forms
+       + add configure check for pcre-posix library to help with MinGW port.
+
+20180707
+       + build-fixes for gcc8.
+       + correct order of WINDOW._ttytype versus WINDOW._windowlist in
+         report_offsets.
+       + fix a case where tiparm could return null if the format-string was
+         empty (Debian #902630).
+
+20180630
+       + add acsc string to vi200 (Nibby Nebbulous)
+         add right/down-arrow to vi200's acsc -TD
+       + add "x" to tput's getopt string so that "tput -x clear" works
+         (Nicholas Marriott).
+       + minor fixes prompted by anonymous report on stack overflow:
+         + correct order of checks in _nc_get_locale(), for systems lacking
+           locale support.
+         + add "#error" in a few places to flag unsupported configurations
+
+20180623
+       + use _WIN32/_WIN64 in preference to __MINGW32__/__MINGW64__ symbols
+         to simplify building with MSVC, since the former are defined in both
+         compiler configurations (report by Ali Abdulkadir).
+       + further improvements to configure-checks from work on dialog, i.e.,
+         updated CF_ADD_INCDIR, CF_FIND_LINKAGE, CF_GCC_WARNINGS,
+         CF_GNU_SOURCE, CF_LARGEFILE, CF_POSIX_C_SOURCE, CF_SIZECHANGE, and
+         CF_TRY_XOPEN_SOURCE.
+       + update config.guess, config.sub from
+               http://git.savannah.gnu.org/cgit/config.git
+
+20180616
+       + build-fix for ncurses-examples related to gcc8-fixes (cf: 20180526).
+       + reduce use of _GNU_SOURCE for current glibc where _DEFAULT_SOURCE
+         combines with _XOPEN_SOURCE (Debian #900987).
+       + change target configure level for _XOPEN_SOURCE to 600 to address
+         use of vsscanf and setenv.
+       + improved configure-checks CF_SIZECHANGE and CF_STRUCT_TERMIOS from
+         work on dialog.
+
+20180609
+       + modify generated ncurses*config and ncurses.pc, ncursesw.pc, etc.,
+         to list helper libraries such as gpm for static linking (Debian
+         #900839).
+       + marked vwprintw and vwscanw as deprecated; recommend using vw_printw
+         and vw_scanw, respectively.
+
+20180602
+       + add RPM test-package "ncursest-examples".
+       + modified RPM test-package to work with Mageia6.
+
+20180526
+       + add note in curs_util.3x about unctrl.h
+       + review/improve header files to ensure that those include necessary
+         files except for the previously-documented cases (report by Isaac
+         Pascual Monells).
+       + improved test-package scripts, adapted from byacc 1.9 20180525.
+       + fix some gcc8 warnings seen in Redhat package build, but
+         work around bug in gcc8 compiler warnings in comp_parse.c
+
+20180519
+       + formatting fixes for manpages, regenerate man-html documentation.
+       + trim spurious whitespace from tmux in 2018-02-24 changes;
+         fix some inconsistencies in/between tmux- and iterm2-entries for SGR
+         (report by C Anthony Risinger)
+       + improve iterm2 using some xterm features which it has adapted -TD
+       + add check in pair_content() to handle the case where caller asks
+         for an uninitialized pair (Debian #898658).
+
+20180512
+       + remove trailing ';' from GCC_DEPRECATED definition.
+       + repair a change from 20110730 which left an error-check/warning dead.
+       + fix several minor Coverity warnings.
+
+20180505
+       + add deprecation warnings for internal functions called by older
+         versions of tack.
+       + fix a special case in PutAttrChar() where a cell is marked as
+         alternate-character set, but the terminal does not actually support
+         the given graphic character.  This would happen in an older terminal
+         such as vt52, which lacks most line-drawing capability.
+       + use configure --with-config-suffix option to work around filename
+         conflict with Debian packages versus test-packages.
+       + update tracemunch to work with perl 5.26.2, which changed the rules
+         for escaping regular expressions.
+
+20180428
+       + document new form-extension O_EDGE_INSERT_STAY (report by Leon
+         Winter).
+       + correct error-returns listed in manual pages for a few form functions
+         (report by Leon Winter).
+       + add a check in form-library for null-pointer dereference:
+               unfocus_current_field (form);
+               form_driver (form, REQ_VALIDATION);
+         (patch by Leon Winter).
+
+20180414
+       + modify form library to optionally delay cursor movement on a field
+         edge/boundary (patch by Leon Winter).
+       + modify form library to avoid unnecessary update of cursor position in
+         non-public fields (patch by Leon Winter).
+       + remove unused _nc_import_termtype2() function.
+       + also add/improve null-pointer checks in other places
+       + add a null-pointer check in _nc_parse_entry to handle an error when
+         a use-name is invalid syntax (report by Chung-Yi Lin).
+
+20180407
+       + clarify in manual pages that vwprintw and vwscanw are obsolete,
+         not part of X/Open Curses since 2007.
+       + use "const" in some prototypes rather than NCURSES_CONST where X/Open
+         Curses was updated to do this, e.g., wscanw, newterm, the terminfo
+         interface.  Also use "const" for consistency in the termcap
+         interface, which was withdrawn by X/Open Curses in Issue 5 (2007).
+         As of Issue 7, X/Open Curses still lacks "const" for certain return
+         values, e.g., keyname().
+
+20180331
+       + improve terminfo write/read by modifying the fourth item of the
+         extended header to denote the number of valid strings in the extended
+         string table (prompted by a comment in unibilium's sources).
+
+20180324
+       + amend Scaled256() macro in test/picsmap.c to cover the full range
+         0..1000 (report by Roger Pau Monne).
+       + add some checks in tracemunch for undefined variables.
+       + trim some redundant capabilities from st-0.7 -TD
+       + trim unnecessary setf/setb from interix -TD
+
+20180317
+       + fix a check in infotocap which may not have detected a problem when
+         it should have.
+       + add a check in tic for the case where setf/setb are given using
+         different strings, but provide identical results to setaf/setab.
+       + further improve fix for terminfo.5 (patch by Kir Kolyshkin).
+       + reorder loop-limit checks in winsnstr() in case the string has no
+         terminating null and only the number of characters is used (patch
+         by Gyorgy Jeney).
+
+20180303
+       + modify TurnOn/TurnOff macros in lib_vidattr.c and lib_vid_attr.c to
+         avoid expansion of "CUR" in trace.
+       + improve a few lintian warnings in test-packages.
+       + modify lib_setup to avoid calling pthread_self() without first
+         verifying that the address is valid, i.e., for weak symbols
+         (report/patch by Werner Fink).
+       + modify generated terminfo.5 to not use "expand" and related width
+         on the last column of tables, making layout on wide terminals look
+         better (adapted from patch by Kir Kolyshkin).
+       + add a category to report_offsets, e.g., "w" for wide-character, "t"
+         for threads to make the report more readable.  Reorganized the
+         structures reported to make the categories more apparent.
+       + simplify some ifdef's for extended-colors.
+       + add NCURSES_GLOBALS and NCURSES_PRESCREEN to report_offsets, to show
+         how similar the different tinfo configurations are.
+
+20180224
+       + modify _nc_resolve_uses2() to detect incompatible types when merging
+         a "use=" clause of extended capabilities.  The problem was seen in a
+         defective terminfo integrated from simpleterm sources in 20171111,
+         compounded by repair in 20180121.
+       + correct Ss/Ms interchange in st-0.7 entry (tmux #1264) -TD
+       + fix remaining flash capabilities with trailing mandatory delays -TD
+       + correct cut/paste in NEWS (report by Sven Joachim).
+
+20180217
+       + remove incorrect free() from 20170617 changes (report by David Macek).
+       + correct type for "U8" in user_caps.5; it is a number not boolean.
+       + add a null-pointer check in safe_sprintf.c (report by Steven Noonan).
+       + improve fix for Debian #882620 by reusing limit2 variable (report by
+         Julien Cristau, Sven Joachim).
+
+20180210
+       + modify misc/Makefile.in to install/uninstall explicit list in case
+         the build-directory happens to have no ".pc" files when an uninstall
+         is performed (report by Jeffrey Walton).
+       + deprecate safe-sprintf, since the vsnprintf function, which does what
+         was needed, was standardized long ago.
+       + add several development/experimental options to development packages.
+       + minor reordering of options in configure script to make the threaded
+         and reentrant options distinct from the other extensions which are
+         normally enabled.
+
+20180203
+       + minor fixes to test/*.h to make them idempotent.
+       + add/use test/parse_rgb.h to show how the "RGB" capability works.
+       + add a clarification in user_caps.5 regarding "RGB" capability.
+       + add extended_slk_color{,_sp} symbols to the appropriate
+         package/*.{map,sym} files (report by Sven Joachim, cf: 20170401).
+
+20180129
+       + update "VERSION" file, used in shared-library naming.
+
+20180127 6.1 release for upload to ftp.gnu.org
+
+20180127
+       + updated release notes
+       + amend a warning message from tic which should have flagged misuse
+         of "XT" capability in "screen" terminal description.
+       > terminfo changes:
+       + trim "XT" from screen entry, add comments to explain why it was
+         not suitable -TD
+       + modify iterm to use xterm+sl-twm building block -TD
+       + mark konsole-420pc, konsole-vt100, konsole-xf3x obsolete reflecting
+         konsole's removal in 2008 -TD
+       + expanded the history section of konsole to explain its flawed
+         imitation of xterm's keyboard -TD
+       + use xterm+x11mouse in screen.* entries because screen does not yet
+         support xterm's 1006 mode -TD
+       + add nsterm-build400 for macOS 10.13 -TD
+       + add ansi+idc1, use that in ansi+idc adding dch for consistency -TD
+       + update vte to vte-2017 -TD
+       + add ecma+strikeout to vte-2017 -TD
+       + add iterm2-direct -TD
+       + updated teraterm, added teraterm-256color -TD
+       + add mlterm-direct -TD
+       + add descriptions for ANSI building-blocks -TD
+
+20180121 pre-release
+       > terminfo changes:
+       + add xterm+noalt, xterm+titlestack, xterm+alt1049, xterm+alt+title
+         blocks from xterm #331 -TD
+       + add xterm+direct, xterm+indirect, xterm-direct entries from xterm
+         #331 -TD
+       + modify xterm+256color and xterm+256setaf to use correct number of
+         color pairs, for ncurses 6.1 -TD
+       + add rs1 capability to xterm-256color -TD
+       + modify xterm-r5, xterm-r6 and xterm-xf86-v32 to use xterm+kbs to
+         match xterm #272, reflecting packager's changes -TD
+       + remove "boolean" Se, Ss from st-0.7 -TD
+       + add konsole-direct and st-direct -TD
+       + remove unsupported "Tc" capability from st-0.7; use st-direct if
+         direct-colors are wanted -TD
+       + add vte-direct -TD
+       + add XT, hpa, indn, and vpa to screen, and invis, E3 to tmux (patch by
+         Pierre Carru)
+       + use xterm+sm+1006 in xterm-new, vte-2014 -TD
+       + use xterm+x11mouse in iterm, iterm2, mlterm3 because xterm's 1006
+         mode does not work with those programs.  konsole is debatable -TD
+       + add "termite" entry (report by Markus Pfeiffer) -TD
+       > merge branch begun April 2, 2017 which provides these features:
+       + support read/write new binary-format for terminfo which stores
+         numeric capabilities as a signed 32-bit integer.  The test programs
+         such as picsmap, ncurses were created or updated during 2017 to use
+         this feature.
+       + the new format is written by the wide-character configuration of
+         tic when it finds a numeric capability larger than 32767.
+       + other applications such as infocmp built with the wide-character
+         ncurses library work as expected.
+       + applications built with the "narrow" (8-bit) configuration will
+         read the new format, but will limit those extended values to 32767.
+       + in either wide/narrow configuration, the structure defined in
+         term.h still uses signed 16-bit values.
+       + because it is incompatible with the legacy (mid-1980s) binary format,
+         a new magic value is provided for the "file" program.
+       + the term.5 manual page is updated to describe this new format.
+       + the limit on file-size for compiled terminfo is increased in the
+         wide-character configuration to 32768.
+
 20180120
        + build-fix in picsmap.c for stdint.h existence.
        + add --disable-stripping option to configure scripts.
@@ -2398,7 +2722,7 @@ it is not possible to add this information.
          Waterlander regarding screen flicker).
 
 20121229
-       + fix coverity warnings regarding copying into fixed-size buffers.
+       + fix Coverity warnings regarding copying into fixed-size buffers.
        + add throw-declarations in the c++ binding per Coverity warning.
        + minor changes to new-items for consistent reference to bug-report
          numbers.
@@ -3919,7 +4243,6 @@ it is not possible to add this information.
        + improved configure macros CF_GCC_ATTRIBUTES, CF_PROG_LINT.
 
 20091114
-
        + updated man/curs_trace.3x
        + limit hashing for termcap-names to 2-characters (Ubuntu #481740).
        + change a variable name in lib_newwin.c to make it clearer which