-------------------------------------------------------------------------------
--- 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.3822 2022/06/25 22:45:37 tom Exp $
+-- $Id: NEWS,v 1.4025 2023/11/04 21:45:02 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.
+20231104
+ + modify reset command to avoid altering clocal if the terminal uses a
+ modem (prompted by discussion with Werner Fink, Michal Suchanek,
+ OpenSUSE #1201384, Debian #60377).
+ + build-fixes for --with-caps variations.
+ + correct a couple of section-references in INSTALL.
+
+20231028
+ + move xterm focus mode 1004 from xterm+sm+1006 into xterm+focus as
+ fe/fd capabilities, like vim (vim-pr #13440).
+ + modify --with-pkg-config-libdir option to make "libdir" the default,
+ as documented, rather than "auto" (report by Branden Robinson).
+ + improve messages from configure script (patches by Branden Robinson).
+
+20231021
+ + use oldxterm+sm+1006 in vte-2014 (report by Benno Schulenberg) -TD
+ + add ansi+apparrows -TD
+ + change defaults for configure opaque and widec options (prompted by
+ discussion with Branden Robinson).
+ + minor cleanup of compiler- and manpage-warnings.
+
+20231016
+ + make the recent change to setupterm optional "--enable-check-size"
+ (Debian #1054022).
+
+20231014
+ + improve formatting/style of manpages (patches by Branden Robinson).
+ + updated configure script macro CF_XOPEN_SOURCE, for uClibc-ng
+ + update config.guess, config.sub
+
+20231007
+ + improve loop-limit for get_position().
+ + improve manual description of immedok (Debian #1053603).
+ + fix a few formatting issues with manpages (Debian #1053123).
+ + improve formatting/style of manpages (patches by Branden Robinson).
+
+20231001
+ + modify setupterm to provide for using ANSI cursor-position report (in
+ user6/user7 terminfo capabilities) to obtain screensize if neither
+ environment variables or ioctl is used. The ncurses test-program
+ with options "-E -T" demonstrates this feature.
+ + improve error messages in tic (patch by Branden Robinson).
+ + improve formatting/style of manpages (patches by Branden Robinson).
+ + modify test/clip_printw.c to optionally test non-wrapped updates.
+ + fix reallocation loop for vsnprintf() in _nc_sprintf_string() by
+ copying the va_list variable (patch by Ian Abbott).
+
+20230923
+ + improve formatting of manpages (patches by Branden Robinson).
+ + amend change to delscreen() to limit the windows which it creates to
+ just those associated with the screen (report by Frederic Boiteux,
+ cf: 20220813).
+
+20230918
+ + new tarball/errata (report by Sven Joachim).
+
+20230917
+ + improve formatting of manpages (integrated patches by Branden
+ Robinson).
+ + correct limit for name-length in write_entry.c (report/testcase by
+ Luna Saphie Mittelbach).
+ + limit delays to 30 seconds, i.e., padding delays in terminfo, as well
+ as napms() and delay_output() functions.
+ + improve a few pointer-checks.
+ + improve parsing in _nc_msec_cost, allowing a single decimal point.
+
+20230909
+ + improve formatting of manpages (patches by Branden Robinson), for
+ captoinfo.1m and terminfo.5
+ > patches by Nicholas Marriott:
+ + use string-hacks in alloc_entry.c, alloc_type.c and hardscroll.c,
+ overlooked due to compiler changes in recent OpenBSD releases.
+ + add "-6" option to ncu2openbsd script.
+
+20230902
+ + improve description of search rules for terminal descriptions in
+ terminfo manpage (report by Sven Joachim).
+
+20230826
+ + fixes for compiler-warnings.
+ + update config.guess, config.sub
+
+20230819
+ + various manpage-formatting fixes.
+ + correct formatting of table header in curs_inopts.3x (Branden
+ Robinson).
+ + correct manpage description of panel_hidden (report by Benjamin
+ Mordaunt).
+
+20230812
+ + add/use putty+cursor to reflect amending of modified cursor-keys in
+ 2021 -TD
+ + add ecma+strikeout to putty -TD
+ + add functions to query tty-flags in SCREEN (request by Bill Gray).
+
+20230805
+ + fix a few manpages needing tbl marker, seen by lintian warning.
+ + fixes for compiler-warnings.
+ + minor grammatical fix for manpages (Branden Robinson).
+
+20230729
+ + improve manpages for wgetnstr() and wget_wnstr().
+ + modify MinGW configuration to provide for running in MSYS/MSYS2
+ shells, assuming ConPTY support (patch by Pavel Fedin).
+ + add assignment in CF_MAN_PAGES to fill in value for TERMINFO_DIRS in
+ ncurses, terminfo and tic manpages (patch by Sven Joachim).
+
+20230722
+ + add "auto" default for --with-xterm-kbs configure option.
+
+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).
function pointer passed to tputs().
+ modify init_pair() to accept -1's for color value after
assume_default_colors() has been called (Debian #337095).
- + modify test/background.c, adding commmand-line options to demonstrate
+ + modify test/background.c, adding command-line options to demonstrate
assume_default_colors() and use_default_colors().
20110416
+ 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