-------------------------------------------------------------------------------
--- Copyright 2018-2021,2022 Thomas E. Dickey --
+-- Copyright 2018-2022,2023 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.3774 2022/01/30 01:11:51 tom Exp $
+-- $Id: NEWS,v 1.3977 2023/07/15 17:58:51 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.
+20230715
+ + correct wadd_wch_literal() when adding a non-spacing character to a
+ double-width character.
+ + improve manual page for curs_util.
+ + improve manual page for wadd_wch().
+
+20230708
+ + add linux+kbs for terminals which imitate xterm's behavior with
+ Linux -TD
+ + modify MinGW driver to return KEY_BACKSPACE when an unmodified
+ VK_BACK virtual key is entered (prompted by patch by Pavel Fedin,
+ Savannah #64292).
+ + disallow using $TERMINFO or $HOME/.terminfo when tic "-o" option is
+ used (report by Sven Joachim, Debian #1040048).
+
+20230701
+ + fix mandoc warnings about unnecessary markup.
+ + improve parameter check in tparm_setup()
+
+20230625
+ + adjust man/make_sed.sh to work with dates as the third field of TH.
+ + fixes for out-of-memory condition (report by "eaglegai").
+
+20230624
+ + fixes for out-of-memory condition (report by "eaglegai").
+
+20230617
+ + markup manpages with revision information (prompted by discussion
+ with Bjarni Ingi Gislason).
+
+20230615
+ + modify _nc_read_file_entry() to show relevant filename in warnings.
+ + improve checks in convert_string() for corrupt terminfo entry (report
+ and test-case by Gregory James Duck).
+
+20230610
+ + improve manpages discussing file descriptors in low-level functions.
+ + modify flushinp to use file descriptors in SCREEN, rather than from
+ TERMINAL, and check if they are for a terminal, like SVr4.
+ + modify mcprint to use file descriptor in SCREEN, for consistency.
+ + add xterm+focus to foot+base (patch by Daniel Ekloef).
+ + correct definition of Charable() for non-wide ncurses library (report
+ and test-case by Zbigniew Baniewski).
+
+20230603
+ + add configure option --with-strip-program, to override program
+ chosen by the install program for stripping executables (prompted
+ by discussion with Aapo Rantalainen).
+ + fix typo in INSTALL (report/patch by Aapo Rantalainen).
+ + improve error-checks for isEILSEQ()
+ + increase MB_CUR_MAX to 16, matching glibc's MB_LEN_MAX.
+ + corrected mouse mask in test/testcurs.c
+ + improve thread lock in lib_trace.c
+
+20230527
+ + fixes for compiler warnings/cppcheck.
+
+20230520
+ + fixes for compiler warnings in MinGW environments.
+
+20230514
+ + modify test-package "ncurses6-doc" to use manpage-aliases, which in
+ turn required a change to the configure script to factor in the
+ extra-suffix option when deriving alias names.
+ + add mode 1004 to xterm+sm+1006 from xterm #380 -TD
+
+20230506
+ > build-fixes related to configure-options and/or platform:
+ + fix for --enable-fvisibility
+ + fix for unusual values of --with-rel-version
+ + fix for unusual values of --with-abi-version
+ + fix for --disable-tcap-names
+ + fix for termcap in nc_access.h (report by Werner Fink).
+
+20230429
+ + revise recent change to _nc_write_entry to isolate it to a Cygwin bug
+ (cf: 20230311)
+ + amend fix for wgetnstr, wgetn_wstr to use cbreak mode unless raw
+ mode was set (cf: 20210522).
+ + fix a few warnings from cppcheck, etc.
+ + correct copy/paste error in nc_access.h (report by Werner Fink).
+
+20230424
+ + check return value of _nc_save_str(), in special case for tic where
+ extended capabilities are processed but the terminal description was
+ not initialized (report by Ziqiao Kong).
+ + regenerate llib-* files.
+
+20230423
+ + add tiscan_s() to help applications check formatting capabilities
+ that would be passed to tiparm_s, etc.
+ + add tiparm_s() to provide applications a way to tell ncurses what
+ the expected parameters are for a capability (tmux #3531).
+ + improve check in lib_tparm.c, ensuring that a char* fits into a
+ TPARM_ARG.
+ + add --disable-setuid-environ configure option (request by Sven
+ Joachim).
+ + drop compatibility with obsolete versions of tack, e.g., pre-1.08
+ (Debian #1034549, cf: 20170722).
+
+20230418
+ + improve checks for limits on privileged execution:
+ + modify _nc_syserr_abort() to use _nc_env_access(), rather than
+ only checking root uid.
+ + use getauxval() when available, to improve setuid/setgid checks.
+ + modify test packages to disable root access/environ options.
+ + modify tgoto() to accept no-parameter capabilities, for joe editor
+ (OpenSUSE #1210485, Gentoo #904263).
+
+20230415
+ + configure script fixes:
+ + fix copy/paste error in configure option --disable-root-access
+ (report/patch by Sven Joachim).
+ + modify CF_XOPEN_SOURCE macro's amend default case to avoid
+ undefining _XOPEN_SOURCE if _POSIX_C_SOURCE is defined.
+ + modify test_tparm to account for extended capabilities.
+ + add checks in tparm() and tiparm() for misuse of numeric parameters,
+ overlooked in 20230408.
+ + fix errata in clear.1 and curs_terminfo.3x
+
+20230408
+ + document limitations of tparm, and error-returns in curs_terminfo.3x
+ + document limitations of tgoto, and error-returns in curs_termcap.3x
+ + add xterm+focus to alacritty+common (patch by Christian Duerr).
+ + add "-v" option to tput, to show warnings.
+ > improve checks for malformed terminfo data (report/analysis by
+ Jonathan Bar Or, Michael Pearse, Emanuele Cozzi).
+ + make the parameter type/count checks in _nc_tiparm() more stringent
+ + update tgoto() to account for _nc_tiparm() changes
+ + add checks in tparm() and tiparm() for misuse of string parameters
+ + add special cases in tput to handle extensions Cs/Ms parameters
+ + ignore compiled-terminfo where the array sizes exceed the standard
+
+20230401
+ + modify experimental Windows driver to work with xterm mouse protocol.
+ + remove DECCOLM+DECSCLM from foot (patch by Daniel Ekloef).
+
+20230311
+ + improve manpage description for addch versus unctrl format used for
+ non-printable characters.
+ + modify version-check for gcc/g++, now works for msys2.
+ + modify check in _nc_write_entry() for multiply defined aliases to
+ report problems within the current runtime of tic rather than for
+ conflicts with pre-existing terminal descriptions.
+ + allow for MinGW32-/64-bit configurations to use _DEFAULT_SOURCE
+ + clarify interaction of -R option versus -C, -I and -r in infocmp
+ manpage.
+ + build-fix in lib_win32con.c (cf: 20230211).
+
+20230225
+ + build-fixes for rpm test-packages.
+ + add/use configure check for clock_gettime(), to supersede
+ gettimeofday().
+
+20230218
+ + configure-script improvements:
+ + recent msys2 headers work with _DEFAULT_SOURCE; amend check
+ + use $ac_includes_default in most cases where stdlib.h should work
+ + use #error consistently vs "make an error"
+ + add configure macro for gettimeofday vs inline check
+
+20230211
+ + set dwShareMode in calls to CreateConsoleScreenBuffer() (patch by
+ Hannes Domani).
+ + use CreateFile with "CONIN$", "CONOUT$" rather than GetStdHandle to
+ obtain a handle on the actual console, avoiding redirection in the
+ MinGW/Win32 configurations (adapted from patch by LIU Hao).
+
+20230128
+ + document XF, kxIN and kxOUT -TD
+ + add note on sun/wscons/cmdtool/shelltool -TD
+ + modify configure script check for pkg-config library directory to
+ take into account an older version 0.15.0 which used PKG_CONFIG_PATH
+ but not PKG_CONFIG_LIBDIR
+
+20230121
+ + correct limit-check when dumping tc/use clause via tic -I (report by
+ Gabriel Ravier).
+ + correct a check for manpage-alias in edit_man.sh, to work with out of
+ tree builds (report by Sven Joachim).
+
+20230114
+ + change RV to XR/xr, to avoid conflict with pre-existing usage in vim,
+ to use RV/rv to denote DA2 and its response (discussion with Bram
+ Moolenaar) -TD
+ + add XF flag to xterm+focus so that termcap applications can be aware
+ of terminals which may support focus in/out -TD
+ + use xterm+focus in xterm-p370 and tmux -TD
+ + improve configure-script macros vs compiler warnings.
+
+20230107
+ + add --with-abi-altered configure option (prompted by discussion with
+ Brian Inglis).
+ + add BSD erase2 to characters handled by tset/reset.
+ + improve configure-script macros vs compiler warnings.
+ + regenerate configure scripts with autoconf 2.52.20221202
+ + add RV report+version (suggested by Bram Moolenaar).
+ + add comment to bracketed+paste explaining that vim patch 9.0.1117 is
+ needed for use with the updated xterm descriptions (suggested by Bram
+ Moolenaar).
+
+20221231 6.4 release for upload to ftp.gnu.org
+ + update release notes
+ + regenerate llib-* files.
+ + correct PS vs PE names in bracketed+paste (report by Bram Moolenaar)
+ -TD
+
+20221224
+ + add mutex lock/unlock in a few places reported by thread-sanitizer
+ + add/use bracketed+paste to help identify terminals supporting this
+ xterm feature (prompted by discussion with Bram Moolenaar) -TD
+
+20221217
+ + install Ada95 sample programs in libexecdir, adding a wrapper
+ script to invoke those.
+
+20221210
+ + add minimal -h/-V getopt logic to the remaining test-programs.
+ + free new_pair() data in delscreen (report by "magiblot").
+ + add clarification of the scope of dynamic variables in terminfo(5).
+ + remove a stray '/' from description of %g in terminfo(5).
+
+20221203
+ + add -h usage and -V version options to the test-programs which use
+ getopt.
+ + use "command -v" rather than "type" in Ada95/gen/Makefile.in to fix
+ a portability issue (patch by Nicolas Boulenguez).
+ + update ncurses-howto, more documentation fixes along with corrections
+ to example programs.
+
+20221126
+ + fix an error in pathname of explain.txt (cf: 20200201).
+ + fix an error in "@" command in test/ncurses.c F-menu (cf: 20190121).
+ + improve formatting of ncurses-intro.html and hackguide.html
+ + improve man/curs_clear.3x links to other pages
+
+20221119
+ + use static libraries for AdaCurses test-package for Mageia, since no
+ gprbuild package is available.
+ + updated test packages for Debian.
+
+20221112
+ + build-fixes for AdaCurses RPM test-package.
+
+20221105
+ + regenerate configure scripts with autoconf 2.52.20221009
+ + modify "--with-manpage-format" to support bzip2 and xz compression
+ (prompted by discussion with Sam James).
+ + modify make-tar.sh scripts to make timestamps more predictable.
+
+20221029
+ + improve curs_slk.3x discussion of extensions and portability (report
+ by Bill Gray).
+
+20221023
+ + change man_db.renames to template, to handle ncurses*-config script
+ with the extra-suffix configure option.
+
+20221015
+ + fix another memory-leak in tic.
+ + update install-sh script from autoconf, to fix install problem for
+ Ada95 with Arch; as noted in
+ https://lists.gnu.org/archive/html/automake/2018-09/msg00005.html
+ there are unaddressed issues.
+ + update CF_XOPEN_SOURCE, adding GNU libc suffixes for abi64, abin32,
+ x32 (report by Sven Joachim):
+ + correct ifdef's for _nc_set_read_thread() (patch by Mikhail Korolev,
+ cf: 20220813).
+
+20221008
+ + correct a switch-statement case in configure script to allow for test
+ builds with ABI=7.
+ + modify misc/gen-pkgconfig.in to allow for the case where the library
+ directory does not yet exist, since this is processed before doing an
+ install (report by Michal Liszcz).
+
+20221001
+ + modify configure/scripts to work around interference by GNU grep 3.8
+ (report by Sam James).
+ + update CF_XOPEN_SOURCE, adding variants "gnueabi" and "gnueabihf" to
+ get _DEFAULT_SOURCE special case (report by Adam Sampson)
+
+20220924
+ + modify configure macro CF_BUILD_CC to check if the build-compiler
+ works, rather than that it is different from the cross-compiler, e.g.,
+ to accommodate a compiler which can be used for either purpose with
+ different flags (report by Mikhail Korolev).
+ + fix another memory-leak in tic.
+ + correct change for cppcheck in menu library (report/analysis by
+ "tuxway", cf: 20220903).
+ + update config.guess, config.sub
+
+20220917
+ + reduce memory-leak in tic by separating allocations for struct entry
+ from TERMTYPE2 (cf: 20220430).
+ + improve interaction between tic -v option and NCURSES_TRACE, by
+ processing the latter only when -v option does not set _nc_tracing.
+ + modify curses_trace() to show the trace-mask as symbols, e.g.,
+ TRACE_ORDINARY, DEBUG_LEVEL(3).
+
+20220910
+ + amend verbose-option change to make this affect level 3, e.g., using
+ "tic -cv3 terminfo".
+ + work around musl's nonstandard use of feature test macros by adding
+ a definition for NCURSES_WIDECHAR to the generated ".pc" and *-config
+ files (report by Sam James).
+
+20220903
+ + modify verbose-option of infocmp, tic, toe to enable debug-tracing
+ if that is configured.
+
+20220827
+ + modify configure scripts to use overlooked cases for LD and
+ PKG_CONFIG variables (report by Alan Webb, Gentoo #866398).
+ + modify nsterm to use xterm+alt1049 (report by Paul Handly) -TD
+ + modify putty to use xterm+alt1049 -TD
+
+20220820
+ + fix some cppcheck warnings, mostly style, in ncurses and c++
+ libraries and progs directory.
+ + add curses_trace to ifdef's for START_TRACE in test/test.priv.h
+ + update config.guess
+
+20220813
+ + modify delscreen to more effectively delete all windows on the given
+ screen.
+ + amend portability note for delwin in manual page.
+ + adapt test/test_delwin.c from example by Bill Gray.
+ + account for prescreen data if freeing leaks in pthread-configuration
+ + split-out _nc_set_read_thread(), to reduce compiler warnings about
+ pthread_self(), which may/may not be a weak symbol.
+ + improve pthread-configuration for test/worm.c
+
+20220806
+ + amend end_of_stream() to allow for input files without a final
+ newline.
+ + check for non-textfiles to tic.
+
+20220729
+ + fixes to build with dietlibc:
+ + add configure check for fpathconf (report by Georg Lehner).
+ + add configure check for math sine/cosine, needed in test/tclock,
+ and eliminate pow() from test/hanoi (report by Georg Lehner).
+ + use wcsnlen as an alternative to wmemchr if it is not found
+ (adapted from patch by Georg Lehner).
+ + trim out some unwanted linker options from ncurses*config and .pc
+ files seen in Fedora 36+.
+
+20220724
+ + add portability notes for delscreen and delwin in manual.
+ + improve pthread-configuration for test/worm.c, test/rain.c
+ + improve pointer/limit checks associated with deleting a screen
+ (Debian #1015756).
+
+20220716
+ + build-fix for test_mouse.c, for non-standard cfmakeraw.
+ + improve shell-scripts with shellcheck
+ + fix typo in run_tic.in (report/patch by Jan Starke).
+
+20220709
+ + lock the prescreen data consistently in newterm, etc., for the
+ pthreads configuration (report by Tom de Vries).
+
+20220703
+ + add consistency check in tic for u6/u7/u8/u9 and NQ capabilities.
+ + use NQ to flag entries where the terminal does not support query and
+ response -TD
+ + use ansi+enq and decid+cpr in cases where the terminal probably
+ supported the u6-u9 extension -TD
+ + add/use apollo+vt132, xterm+alt47 -TD
+
+20220625
+ + improve man/curs_bkgd.3x, explaining that bkgdset can affect results
+ for bkgd (report by Anton Vidovic).
+ + correct dsl in dec+sl (report by Rajeev Pillai) -TD
+ + add/use ansi+cpr, decid+cpr -TD
+
+20220618
+ + add a null-pointer check for term_names field in copy_termtype(),
+ needed for MinGW port (report by Peiyuan Song, cf: 20220521).
+ + revise kon/kon2/jfbterm to undo "linux2.6" change to
+ smacs/rmacs/enacs (Debian #1012800) -TD
+ + amended note for att610+cvis0, as per documentation for att610,
+ att620, att730 -TD
+
+20220612
+ + modify waddch_literal() to allow for double-width base character when
+ merging a combining character (report by Gavin Troy).
+ + improve _tracecchar_t2() formatting of base+combining character.
+
+20220604
+ + add note on portable memory-leak checking in man/curs_memleaks.3x
+ + remove u6-u9 from teken-2018 -TD
+ + set "xterm-new" to "xterm-p370", add "xterm-p371" -TD
+
+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
+ add mgterm terminfo entry from NetBSD, minor adjustments to sun-ss5,
aixterm entries -TD
+ modify tack/ansi.c to make it more tolerant of bad ANSI replies. An
- example of an illegal ANSI resonse can be found using Microsoft's
+ example of an illegal ANSI response can be found using Microsoft's
Telnet client. A correct display can be found using a VT-4xx
terminal or XFree86 xterm with:
XTerm*VT100*decTerminalID: 450
+ correct a typo in term.7 (Todd C Miller).
+ add configure --with-shlib-version option to allow installing shared
libraries named according to release or ABI versions. This
- parameterizes some existing logic in the configure script, and is
+ parametrizes some existing logic in the configure script, and is
intended for compatibility upgrades on Digital Unix, which used
versioned libraries in ncurses 4.2, but no longer does (cf: 980425).
+ resync configure script against autoconf 2.13 + patches