-------------------------------------------------------------------------------
--- Copyright 2018-2020,2021 Thomas E. Dickey --
+-- Copyright 2018-2021,2022 Thomas E. Dickey --
-- Copyright 1998-2017,2018 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3638 2021/03/06 22:42:18 tom Exp $
+-- $Id: NEWS,v 1.3813 2022/05/29 18:40:52 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20220529
+ + expanded notes for teken/syscons -TD
+ + fix overlooked copying of extended string-heap in copy_termtype
+ (cf: 20220430).
+ + update config.guess
+
+20220521
+ + improve memory-leak checking in several test-programs.
+ + set trailing null on string passed from winsnstr() to wins_nwstr().
+ + modify del_curterm() to fix memory-leak introduced by change to
+ copy_termtype().
+
+20220514
+ + further improvements to test/test_mouse.c; compare with ncurses test
+ program menu A/a.
+
+20220507
+ + add test/test_mouse.c (patch by Leonid S Usov).
+ + add a few debug-traces for tic, fix a couple of memory-leaks.
+
+20220501
+ + build-fix for debug-traces (report/patch by Chris Clayton).
+
+20220430
+ + modify samples for xterm mouse 1002/1003 modes to use 1006 mode, and
+ also provide for focus in/out responses -TD
+ + modify default case in handle_wheel() to always report button-release
+ events, e.g., for xterm mouse mode 1003 (patch by Leonid S Usov).
+ + improve valid_entryname() to disallow characters used in terminfo
+ syntax: '#', '=', '|', '\'.
+ + alter copy_termtype() to allocate new str_table and ext_str_table
+ data rather than relying upon its callers.
+ + use calloc in _nc_init_entry() when allocating stringbuf, to ensure
+ it is initialized.
+ + add library-level TYPE_CALLOC for consistency with TYPE_MALLOC.
+ + add some debug-traces for tic/infocmp.
+
+20220423
+ + in-progress work on invalid_merge(), disable it (cf: 20220402).
+ + fix memory leak in _nc_tic_dir() when called from _nc_set_writedir().
+ + fix memory leak in tic when "-c" option is used.
+
+20220416
+ + add a limit-check to guard against corrupt terminfo data
+ (report/testcase by NCNIPC of China).
+ + add check/warning in configure script if option --with-xterm-kbs is
+ missing or inconsistent (Arch #74379).
+ + add setlocale call to several test-programs.
+ + allow extended-color number in opts parameter of wattr_on.
+
+20220409
+ + add test/test_unget_wch.c
+
+20220402
+ + amend extended_captype(), returning CANCEL if a string is explicitly
+ cancelled.
+ + make description-fields distinct -TD
+
+20220326
+ + update teken -TD
+ + add teken-16color, teken-vt and teken-sc -TD
+ + add a few missing details for vte-2018 (report by Robert Lange) -TD
+
+20220319
+ + add xgterm -TD
+ + correct setal in mintty/tmux entries, add to vte-2018 (report by
+ Robert Lange)
+ + add blink to vte-2018 (report by Robert Lange)
+ + improve tic warning about XT versus redundant tsl, etc.
+
+20220312
+ + add xterm+acs building-block -TD
+ + add xterm-p370, for use in older terminals -TD
+ + add dec+sl to xterm-new, per xterm patch #371 -TD
+ + add mosh and mosh-256color -TD
+
+20220305
+ + replace obsolescent "-gnatg" option with "-gnatwa" and "-gnatyg", to
+ work around build problems with gnat 12.
+ + update external links in Ada95.html
+ + trim unused return-value from canonical_name().
+
+20220226
+ + fix issues found with coverity:
+ + rewrite canonical_name() function of infocmp to ensure buffer size
+ + corrected use of original tty-modes in tput init/reset subcommands
+ + modify tabs program to limit tab-stop values to max-columns
+ + add limit-checks for palette rgb values in test/ncurses.c
+ + add a few null-pointer checks to help with static-analysis.
+ + enforce limit on number of soft-keys used in c++ binding.
+ + adjust a buffer-limit in write_entry.c to quiet a bogus warning from
+ gcc 12.0.1
+
+20220219
+ + expanded description in man/resizeterm.3x
+ + additional workaround for ImageMagick in test/picsmap.c
+
+20220212
+ + improve font-formatting in other manpages, for consistency.
+ + correct/improve font-formatting in curs_wgetch.3x (patch by Benno
+ Schulenberg).
+
+20220205
+ + workaround in test/picsmap.c for use of floating point for rgb values
+ by ImageMagick 6.9.11, which appears to use the wrong upper limit.
+ + improve use of "trap" in shell scripts, using "fixup-trap".
+
+20220129
+ + minor updates for test-packages
+ + improve handling of --with-pkg-config-libdir option, allowing for the
+ case where either $PKG_CONFIG_LIBDIR or the option value has a
+ colon-separated list of directories (report by Rudi Heitbaum,
+ cf: 20211113).
+ + update kitty -TD
+
+20220122
+ + add ABI 7 defaults to configure script.
+ + add warning in configure script if file specified for "--with-caps"
+ does not exist.
+ + use fix for CF_FIX_WARNINGS from cdk-perl, ignoring error-exit on
+ format-warnings.
+ + improve readability of long parameterized expressions with the
+ infocmp "-f" option by allowing split before a "%p" marker.
+
+20220115
+ + improve checks for valid mouse events when an intermediate mouse
+ state is not part of the mousemask specified by the caller (report by
+ Anton Vidovic, cf: 20111022).
+ + use newer version 1.36 of gnathtml for generating Ada html files.
+
+20220101
+ + add section on releasing memory to curs_termcap.3x and
+ curs_terminfo.3x manpages.
+
+20211225
+ + improve markup, e.g., for external manpage links in the manpages
+ (prompted by report by Helge Kreutzmann).
+
+20211219
+ + install ncurses-examples programs in libexecdir, adding a wrapper
+ script to invoke those.
+ + add help-screen and screen-dump to test/combine.c
+
+20211211
+ + add test/combine.c, to demo/test combining characters.
+
+20211204
+ + improve configure check for getttynam (report by Werner Fink).
+
+20211127
+ + fix errata in description fields (report by Eric Lindblad) -TD
+ + add x10term+sl, aixterm+sl, ncr260vp+sl, ncr260vp+vt, wyse+sl -TD
+
+20211120
+ + add dim, ecma+strikeout to st-0.6 -TD
+ + deallocate the tparm cache when del_curterm is called for the last
+ allocated TERMINAL structure (report/testcase by Bram Moolenaar,
+ cf: 20200531).
+ + modify test-package to more closely conform to Debian multi-arch.
+ + if the --with-pkg-config-libdir option is not given, use
+ ${libdir}/pkgconfig as a default (prompted by discussion with Ross
+ Burton).
+
+20211115
+ + fix memory-leak in delwin for pads (report by Werner Fink, OpenSUSE
+ #1192668, cf: 20211106),
+
+20211113
+ + minor clarification to clear.1 (Debian #999437).
+ + add xterm+sl-alt, use that in foot+base (report by Jonas Grosse
+ Sundrup) -TD
+ + improve search-path check for pkg-config, for Debian testing which
+ installs pkg-config with architecture-prefixes.
+
+20211106
+ + improve check in misc/Makefile.in for empty $PKG_CONFIG_LIBDIR
+ + modify wnoutrefresh to call pnoutrefresh if its parameter is a pad,
+ rather than treating it as an error, and modify new_panel to permit
+ its window-parameter to be a pad (report by Giorgos Xou).
+ + fix a memory-leak in del_curterm (prompted by discussion with Bram
+ Moolenaar, cf: 20210821).
+
+20211030
+ + simplify some references to WINDOWS._flags using macros.
+ + add a "check" rule in Ada95 makefile, to help with test-packages.
+ + build-fix for cross-compiling to MingW, conditionally add -lssp
+
+20211026
+ + corrected regex needed for older pkg-config used in Solaris 10.
+ + amend configure option's auto-search to account for systems where
+ none of the directories known to pkg-config exist, adapted from
+ mailing-list comment (report by Milan P. Stanic).
+
+20211021 6.3 release for upload to ftp.gnu.org
+ + update release notes
+ + add "ncu2openbsd" script, to illustrate how to update an OpenBSD
+ system to use a current ncurses release.
+
+20211018
+ + check for screen size-change in scr_init() and scr_restore(), in case
+ a screen dump does not match the current screen dimensions (report by
+ Frank Tkalcevic).
+
+20211017
+ + amend change for pkg-config to account for "none" being returned in
+ the libdir-path result rather than "no" (report by Gabriele Balducci).
+
+20211016
+ + build-fix for pmake with libtool.
+ + improve make-tar.sh scripts, adding COPYING to tar file, and clean up
+ shellcheck warnings.
+ + add link for "reset6" manpage in test-package ncurses6-doc
+ + revise configure option --with-pkg-config-libdir, using the actual
+ search path from pkg-config or pkgconf using the output from --debug
+ (report by Pascal Pignard).
+ + freeze ABI in ".map" files.
+
+20211009
+ + implement "+m" option in tabs program.
+ + fill in some details for infoton -TD
+ + fix spelling/consistency in several descriptions -TD
+ + use vt420+lrmm in vt420 -TD
+ + modify save_tty_settings() to avoid opening /dev/tty for cases other
+ than reset/init, e.g., for clear.
+ + modify output of "toe -as" to show first description found rather
+ than the last.
+ + improve tic checks for number of parameters of smglp, smgrp, smgtp,
+ and smgbp (cf: 20020525).
+ + correct off-by-one comparison in last_char(), which did not allow
+ special case of ":" in a terminfo description field (cf: 20120407).
+ + remove check in tic that assumes that none or both parameterized and
+ non-parameterized margin-setting capabilities are present
+ (cf: 20101002).
+
+20211002
+ + use return-value from vsnprintf to reallocate as needed to allow for
+ buffers larger than the screen size (report by "_RuRo_").
+ + modify tset "-q" option to refrain from modifying terminal modes, to
+ match the documentation.
+ + add section on margins to terminfo.5, adapted from X/Open Curses.
+ + make tput/tset warning messages consistently using alias names when
+ those are used, rather than the underlying program's name.
+ + improve tput usage message for aliases such as clear, by eliminating
+ tput-specific portions.
+ + add a check in toe to ensure that a "termcap file" is text rather
+ than binary.
+ + further build-fixes for OpenBSD 6.9, whose header files differ from
+ the other BSDs.
+
+20210925
+ + add kbeg to xterm+keypad to accommodate termcap applications -TD
+ + add smglp and smgrp to vt420+lrmm, to provide useful data for the
+ "tabs" +m option -TD
+ + build-fix for gcc 3.4.3 with Solaris10, which does not allow forward
+ reference of anonymous struct typedef.
+ + modify tput to allow multiple commands per line.
+ + minor fixes for tset manpage.
+
+20210911
+ + adjust ifdef in test_opaque.c to fix build with ncurses 5.7
+ + add testing note for xterm-{hp|sco|sun} -TD
+ + corrected description for ansi.sys-old -TD
+ + add xterm+nopcfkeys, to fill in keys for xterm-hp, xterm-sun -TD
+ + use hp+arrows in a few places -TD
+ + use hp+pfk-cr in a few places -TD
+
+20210905
+ + correct logic in filtering of redefinitions (report by Sven Joachim,
+ cf: 20210828).
+
+20210904
+ + modify linux3.0 entry to reflect default mapping of shift-tab by
+ kbd 1.14 (report by Jan Engelhardt) -TD
+ + add historical note to tput, curses-terminfo and curses-color
+ manpages based on source-code for SVr2, SVr3 and SVr4.
+ + minor grammatical fixes for "it's" vs "its" (report by Nick Black).
+ + amend fix for --disable-root-environ (report by Arnav Singh).
+ + build-fix for compiling link_test
+ + drop symbols GCC_PRINTF and GCC_SCANF from curses.h.in, to simplify
+ use (Debian #993179).
+
+20210828
+ + correct reversed check for --disable-root-environ (report/analysis
+ by Arnav Singh, cf: 20210626).
+ + apply gcc format attribute to prototypes which use a va_list
+ parameter rather than a "..." variable-length parameter list
+ (prompted by discussion in a tmux pull-request).
+ + modify configure scripts to filter out redefinitions of _XOPEN_SOURCE,
+ e.g., for NetBSD which generally supports 500, but 600 is needed for
+ ncursesw.
+ + improve documentation for tparm and static/dynamic variables.
+ + improve typography in terminfo.5 (patch by Branden Robinson).
+
+20210821
+ + improve tparm implementation of %P and %g, more closely matching
+ SVr4 terminfo.
+ + move internals of TERMINAL structure to new header term.priv.h
+ + add "check" rule for ncurses/Makefile
+ + corrected tsl capability for terminator -TD
+ + add check in tic to report instances where tparm would detect an
+ error in an expression (cf: 20201010).
+ + correct a few places where SP->_pair_limit was used rather than
+ SP->_pair_alloc (cf: 20170812).
+ + fix missing "%d" for setaf/setab code 8-15 in xterm+direct16 (report
+ by Florian Weimer) -TD
+ + fix some documentation errata from OpenBSD changes.
+ + update config.sub
+
+20210814
+ + add workaround for broken pcre2 package in Debian 10, from xterm #369.
+
+20210807
+ + ignore "--dynamic-linker" option in generated pkg/config files,
+ adapted from "distr1" patch.
+ + add CF_SHARED_OPTS case for Haiku, from patch in haikuports.
+
+20210731
+ + add extensions in xterm+tmux and ecma+strikeout to ms-terminal,
+ but cancel the non-working Cr and Ms capabilities -TD
+ + add foot and foot-direct -TD
+
+20210724
+ + add workaround for Windows Terminal's problems with CR/LF mapping to
+ ms-terminal (patch by Juergen Pfeifer).
+ + review/update current Windows Terminal vs ms-terminal -TD
+
+20210718
+ + correct typo in "vip" comments (report by Nick Black), reviewed this
+ against Glink manual -TD
+ + fill in some missing pieces for pccons, to make it comparable to the
+ vt220 entry -TD
+ + modify mk-1st.awk to account for extra-suffix configure option
+ (report by Juergen Pfeifer).
+ + change default for --disable-wattr-macros option to help packagers
+ who reuse wide ncursesw header file with non-wide ncurses library.
+ + build-fix for test/test_opaque.c, for configurations without opaque
+ curses structs.
+
+20210710
+ + improve history section for tset manpage based on the 1BSD tarball,
+ which preceded BSD's SCCS checkins by more than three years.
+ + improve CF_XOPEN_CURSES macro used in test/configure (report by Urs
+ Jansen).
+ + further improvement of libtool configuration, adding a dependency of
+ the install.tic rule, etc., on the library in the build-tree.
+ + update config.sub
+
+20210703
+ + amend libtool configuration to add dependency for install.tic, etc.,
+ in ncurses/Makefile on the lower-level libraries.
+ + modify configure script to support ".PHONY" make program feature.
+
+20210626
+ + add configure option --disable-root-access, which tells ncurses to
+ disallow most file-opens by setuid processes.
+ + use default colors in pccon "op" -TD
+ + correct rmacs/smacs in aaa+dec, aaa+rv -TD
+ + add hpterm-color2 and hp98550-color (Martin Trusler)
+ + regenerate man-html documentation.
+
+20210619
+ + improve configure-macro used for dependencies of --disable-leaks such
+ as --with-valgrind
+ + trim trailing blanks from files
+
+20210612
+ + fixes for scan-build, valgrind build/testing.
+ + update config.guess
+
+20210605
+ + add a summary of ncurses-specific preprocessor symbols to curses.h
+ (prompted by discussion with Peter Farley, Bill Gray).
+
+20210522
+ + regenerate configure scripts with autoconf 2.52.20210509 to eliminate
+ an unnecessary warning in config.log (report by Miroslav Lichvar).
+ + add a note in manual page to explain ungetch vs unget_wch (prompted
+ by discussion with Peter Farley).
+ + add sp-funcs for erasewchar, killwchar.
+ + modify wgetnstr, wgetn_wstr to improve compatibility with SVr4 curses
+ in its treatment of interrupt and quit characters (prompted by
+ report/testcase by Bill Gray)
+ + update config.guess, config.sub
+
+20210515
+ + improve manual pages for wgetnstr, newwin (prompted by
+ report/testcase by Bill Gray).
+
+20210508
+ + modify tputs' error check to allow it to be used without first
+ calling tgetent or setupterm, noting that terminfo initialization
+ is required for supporting the terminfo delay feature (report by
+ Sebastiano Vigna).
+ + fix several warnings from clang --analyze
+ + add null-pointer check in comp_parse.c, when a "use=" clause refers
+ to a nonexisting terminal description (report/patch by Miroslav
+ Lichvar, cf: 20210227).
+
+20210501
+ + add a special case in the configure script to work around one of the
+ build-time breakages reported for OpenBSD 6 here:
+ https://www.mail-archive.com/bugs@openbsd.org/msg13200.html
+ There is no workaround for the other issue, a broken linker spec.
+ + modify configure check for libtool to prevent accidental use of an
+ OpenBSD program which uses the same name.
+ + update config.guess, config.sub
+
+20210424
+ + avoid using broken system macros for snprintf which interfere with
+ _nc_SLIMIT's conditionally adding a parameter when the string-hacks
+ configure option is enabled.
+ + add a "all::" rule before the new "check" rule in test/Makefile.in
+
+20210418
+ + improve CF_LINK_FUNCS by ensuring that the source-file is closed
+ before linking to the target.
+ + add "check" rules for headers in c++, progs and test-directories.
+ + build-fix for termsort module when configured with termcap (reports
+ by Rajeev V Pillai, Rudi Heitbaum).
+
+20210417
+ + extend --disable-pkg-ldflags option to also control whether $LDFLAGS
+ from the build is provided in -config and .pc files (Debian #986764).
+ + fix some cppcheck warnings, mostly style, in ncurses and c++
+ libraries and progs directory.
+ + fix off-by-one limit for tput's processing command-line arguments
+ (patch by Hadrien Lacour).
+
+20210403
+ + fix some cppcheck warnings, mostly style, in ncurses library and
+ progs directory.
+ + improve description of BSD-style padding in curs_termcap.3x
+ + improved CF_C11_NORETURN macro, from byacc changes.
+ + fix "--enable-leak" in CF_DISABLE_LEAKS to allow turning
+ leak-checking off later in a set of options.
+ + relax modification-time comparison in CF_LINK_FUNCS to allow it to
+ accept link() function with NFS filesystems which change the mtime
+ on the link target, e.g., several BSD systems.
+ + call delay_output_sp to handle BSD-style padding when tputs_sp is
+ called, whether directly or internally, to ensure that the SCREEN
+ pointer is passed correctly (reports by Henric Jungheim, Juraj
+ Lutter).
+
+20210327
+ + build-fixes for Solaris10 /bin/sh
+ + fix some cppcheck warnings, mostly style, in ncurses test-programs,
+ form and menu libraries.
+
+20210323
+ + add configure option --enable-stdnoreturn, making the _Noreturn
+ keyword optional to ease transition (prompted by report by
+ Rajeev V Pillai).
+
+20210320
+ + improve parameter-checking in tput by forcing it to analyze any
+ extended string capability, e.g., as used in the Cs and Ms
+ capabilities of the tmux description (report by Brad Town,
+ cf: 20200531).
+ + remove an incorrect free in the fallback (non-checking) version of
+ _nc_free_and_exit (report by Miroslav Lichvar).
+ + correct use-ordering in some xterm-direct flavors -TD
+ + add hterm, hterm-256color (Mike Frysinger)
+ + if the build-time compiler accepts c11's _Noreturn keyword, use that
+ rather than gcc's attribute.
+ + change configure-check for gcc's noreturn attribute to assume it is
+ a prefix rather than suffix, matching c11's _Noreturn convention.
+ + add "lint" rule to c++/Makefile, e.g., with cppcheck.
+
+20210313
+ + improve configure CF_LD_SEARCHPATH macro used for ncurses*-config and
+ ".pc" files, from dialog changes.
+ + reduce dependency of math-library in test programs.
+ + minor fixes for test_tparm.c (cf: 20210306)
+ + mention "ncurses" prefix in curses_version() manpage (report by
+ Michal Bielinski).
+
20210306
- + improved test/test_parm.c, by limiting the tests to capabilities
+ + improved test/test_tparm.c, by limiting the tests to capabilities
that might have parameters or padding, and combined with tputs test.
+ improve discussion of padding versus tparm and tputs in
man/curs_terminfo.3x
+ re-enable "bel" in konsole-base (report by Nia Huang)
+ add linux-s entry (patch by Alexandre Montaron).
+ drop long-obsolete convert_configure.pl
- + add test/test_parm.c, for checking tparm changes.
+ + add test/test_tparm.c, for checking tparm changes.
+ improve parameter-checking for tparm, adding function _nc_tiparm() to
handle the most-used case, which accepts only numeric parameters
(report/testcase by "puppet-meteor").