From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from omta002.cacentral1.a.cloudfilter.net (omta002.cacentral1.a.cloudfilter.net [3.97.99.33]) by sourceware.org (Postfix) with ESMTPS id B9D2C3858D1E for ; Sun, 1 Jan 2023 17:03:35 +0000 (GMT) Received: from shw-obgw-4004a.ext.cloudfilter.net ([10.228.9.227]) by cmsmtp with ESMTP id BgFFpeDB2l2xSC1kFpa0Gm; Sun, 01 Jan 2023 17:03:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=shaw.ca; s=s20180605; t=1672592615; bh=77bjlPPF9yZ2jFo10x82/fsCTd4oLjh6xLDGAZl2WCI=; h=From:To:Reply-To:Date:Subject; b=B9f+aG8Bi177gpHdH0VLHMMYCqHxvuCh194pkoH3WTIm47kQJppXhL0uVu4a/jU1x GAKOxuZzIY8I42SSJz22ZfJunz1RH7qIqzDkclFFeSeU6lmBtwT4wtZcnvU3g5hlSt 15LfjhGCxxVagulA03mqukdsdPrTay3l9kxkyyWzLUHp371vutNxhP4XnCL8PTKQzg GC2/1rkY6wZpAY9DGF38mEAO3HjNn13RmRlmt+I2WOyr6ij6EPN56drThWbbd6cCVb 3cHztoMVxGmbYS5b6AicnzU9dOq7UB8/5Pu5wrbIQSazufdFN046Um9nQLizogayhj 1jW1fJTeV/a4w== Received: from localhost.localdomain ([184.64.124.72]) by cmsmtp with ESMTP id C1kEpkm663fOSC1kEpxDeH; Sun, 01 Jan 2023 17:03:35 +0000 X-Authority-Analysis: v=2.4 cv=J8G5USrS c=1 sm=1 tr=0 ts=63b1bce7 a=oHm12aVswOWz6TMtn9zYKg==:117 a=oHm12aVswOWz6TMtn9zYKg==:17 a=HiWkEfo4AAAA:8 a=DmwuvUdMPTTucDMNCi0A:9 a=7z5Vs2X8jnY9nizY:21 a=FVQKmHlVnccA:10 a=_QplDg0m8TGAdENQf2wZ:22 From: "Cygwin ncurses Maintainer" To: "Cygwin Announcements" Reply-To: "Cygwin" Date: Sun, 01 Jan 2023 10:02:19 -0700 Message-Id: <20230101100219.54977-1-Brian.Inglis@Shaw.ca> Subject: Test: ncurses/-demo libncurses/-devel/++/w10 terminfo/-extra 6.4-1.20221231 (TEST) X-CMAE-Envelope: MS4xfMAq7ZTbrnrZfltrc4zbmESwy5ZQNGTtHo0My9Ywo3mHU3hrFyXeN3MVH3wUYM6baY+WfjZGqNpqiRWrflqBeVFFIcsKL0nZSN4XCSPygQDDtTuXMs0t dihNZ22+uYoOFJVZey/JNR/9d6OBHMLum8v2JzuISi7lNpubcOPsHUZJBUyzEuig5mjOs+UN1RalcXeNrpPmN0WAHMcNE7VAMtw= X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: The following test packages have been uploaded to the Cygwin distribution: * ncurses 6.4-1.20221231 * ncurses-demo 6.4-1.20221231 * libncurses-devel 6.4-1.20221231 * libncurses++w10 6.4-1.20221231 * libncursesw10 6.4-1.20221231 * terminfo 6.4-1.20221231 * terminfo-extra 6.4-1.20221231 Please test these packages as extensively as possible (especially if you are a Cygwin package maintainer) as libncursesw10 is used in many libraries including libreadline and utilities including less, vim, emacs, most other editors, screen, tmux, mail and web clients, and bash. Package maintainers should install this test release and rerun checks of as many libraries and packages depending on libncurses{,++}w10 as possible. The ncurses (new curses) library is an emulation of Sys V R 4 curses, and more. It uses terminfo format, supports pads, color, multiple highlights, forms characters, function key mapping, and has all the other SVR4 curses enhancements over BSD curses. For more information see the project home page: https://invisible-island.net/ncurses As there are multiple components and many changes each release see below or read /usr/share/doc/ncurses/ANNOUNCE and /usr/share/doc/ncurses/NEWS after installation: https://invisible-island.net/ncurses/announce.html#h2-release-notes Release Notes These notes are for ncurses 6.4, released December 31, 2022. This release is designed to be source-compatible with ncurses 5.0 through 6.3; providing extensions to the application binary interface (ABI). Although the source can still be configured to support the ncurses 5 ABI, the reason for the release is to reflect improvements to the ncurses 6 ABI and the supporting utility programs. There are, of course, numerous other improvements, listed in this announcement. The most important bug-fixes/improvements dealt with robustness issues. The release notes also mention some other bug-fixes, but are focused on new features and improvements to existing features since ncurses 6.3 release. Library improvements New features There are no new features in this release. Other improvements These are improvements to existing features: * modify delscreen to more effectively delete all windows on the given screen. * 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 * modify curses_trace() to show the trace-mask as symbols, e.g., TRACE_ORDINARY, DEBUG_LEVEL(3). * improve checks for valid mouse events when an intermediate mouse state is not part of the mousemask specified by the caller * allow extended-color number in opts parameter of wattr_on. * improve _tracecchar_t2 formatting of base+combining character. * trim out some unwanted linker options from ncurses*config and .pc files seen in Fedora 36+. * improve shell-scripts with shellcheck * improve use of "trap" in shell scripts, using a script. * modify make-tar.sh scripts to make timestamps more predictable. These are corrections to existing features: * 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 * set trailing null on string passed from winsnstr to wins_nwstr. * modify waddch_literal to allow for double-width base character when merging a combining character Program improvements Several improvements were made to the utility programs: infocmp * rewrite canonical_name function of infocmp to ensure buffer size * improve readability of long parameterized expressions with the infocmp "-f" option by allowing split before a "%p" marker. * modify verbose-option of infocmp, tic, toe to enable debug-tracing if that is configured. tabs limit tab-stop values to max-columns tic add consistency check in tic for u6/u7/u8/u9 and NQ capabilities. tput corrected use of original tty-modes in init/reset subcommands Examples Along with the library and utilities, improvements were made to the ncurses-examples. Most of this activity aimed at improving the test-packages: * add minimal -h (usage) and -V (version) getopt logic to all ncurses-examples programs. * fix an error in "@" command in test/ncurses.c F-menu * add curses_trace to ifdef's for START_TRACE in test/test.priv.h * improve pthread-configuration for test/worm.c * add setlocale call to several test-programs. * 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. * use static libraries for AdaCurses test-package for Mageia, since no gprbuild package is available. * install Ada95 sample programs in libexecdir, adding a wrapper script to invoke those. * install ncurses-examples programs in libexecdir, adding a wrapper script to invoke those. There are other new demo/test programs and reusable examples: test/combine demonstrate combining characters test/test_delwin demonstrate deleting a window test/test_mouse observe mouse events in the raw terminal or parsed ncurses modes test/test_unget_wch demonstrate the unget_wch and unget functions Terminal database There are several new terminal descriptions: * mosh * mosh-256color * teken-16color * teken-sc * teken-vt * xgterm There are many changes to existing terminal descriptions. Some were updates to several descriptions: * make description-fields distinct * fix errata in description fields * add/use several building-blocks: - aixterm+sl - ansi+cpr - apollo+vt132 - decid+cpr - ncr260vp+sl - wyse+sl - x10term+sl - xterm+acs - xterm+alt47 while others affected specific descriptions. These were retested, to take into account changes by their developers: * kitty * teken while these are specific fixes based on reviewing documentation, user reports, or warnings from tic: att610+cvis0 amended note as per documentation for att610, att620, att730 kon, kon2, jfbterm revise to undo "linux2.6" change to smacs/rmacs/enacs st-0.6 add dim, ecma+strikeout foot+base add xterm+sl-alt dec+sl correct dsl in dec+sl mintty and tmux correct setal in mintty/tmux entries, add to vte-2018 nsterm modify nsterm to use xterm+alt1049 putty modify putty to use xterm+alt1049 vte-2018 add blink and setal A few entries use extensions (user-defined terminal capabilities): * use ansi+enq and decid+cpr in cases where the terminal probably supported the u6-u9 extension * remove u6-u9 from teken-2018 * use NQ to flag entries where the terminal does not support query and response * add/use bracketed+paste to help identify terminals supporting this xterm feature * modify samples for xterm mouse 1002/1003 modes to use 1006 mode, and also provide for focus in/out responses * xterm patch #371 supports DEC-compatible status-line. add dec+sl to xterm-new, per xterm #371, add xterm-p371, add xterm-p370, for use in older terminals, and set "xterm-new" to "xterm-p370" (to ease adoption). Documentation As usual, this release * improves documentation by describing new features, * attempts to improve the description of features which users have found confusing * fills in overlooked descriptions of features which were described in the NEWS file but treated sketchily in manual pages. In addition to providing background information to explain these features and show how they evolved, there are corrections, clarifications, etc.: * Corrections: - remove a stray '/' from description of %g in terminfo(5). - correct/improve font-formatting in curs_getch.3x, as well as other manual pages. * New/improved history and portability sections: - add portability notes for delscreen and delwin in manual. - improve curs_slk.3x discussion of extensions and portability * Other improvements: - improve curs_bkgd.3x, explaining that bkgdset can affect results for bkgd - add note on portable memory-leak checking in curs_memleaks.3x - expanded description in resizeterm.3x - add section on releasing memory to curs_termcap.3x and curs_terminfo.3x manpages. - add clarification of the scope of dynamic variables in terminfo(5). - improve formatting of ncurses-intro.html and hackguide.html - improve curs_clear.3x links to other pages - update ncurses-howto, making documentation fixes along with corrections to example programs. - use newer version 1.36 of gnathtml for generating Ada html files. - update external links in Ada95.html There are no new manual pages (all of the manual page updates are to existing pages). Interesting bug-fixes While there were many bugs fixed during development of ncurses 6.4, only a few (the reason for this release) were both important and interesting. Most of the bug-fixes were for local issues which did not affect compatibility across releases. Since those are detailed in the NEWS file no elaboration is needed here. The interesting bugs were those dealing with memory leaks and buffer overflows. Although the utilities are designed for text files (which they do properly), some choose to test them with non-text files. * Text files contain no embedded nulls. Also, they end with a newline. Feeding tic non-text files exposed a few cases where the program did not check for those issues. As a result, further processing of the input found limit-checks whose assumptions were invalid. * Fixing the limit-checks (first) found a problem with tic managing the list of strings in a terminal description. In merging two terminal descriptions (i.e., the "use=" feature), tic was not allocating a complete copy. A quick repair for that introduced a memory leak. * The checks for non-text files are improved (i.e., embedded nulls in the input file will cause tic to reject it rather than attempting to process it). * The string allocations in tic are likewise improved. Configuration changes Major changes There are no major changes. No new options were added. Several improvements were made to configure checks. Configuration options There are a few new/modified configure options: --with-abi-version add ABI 7 defaults to configure script. --with-caps add warning in configure script if file specified for "--with-caps" does not exist. --with-manpage-format bzip2 and xz compression are now supported --with-xterm-kbs add check/warning in configure script if option "--with-xterm-kbs" is missing or inconsistent Portability Many of the portability changes are implemented via the configure script: * amend configure option's auto-search to account for systems where none of the directories known to pkg-config exist * corrected regex needed for older pkg-config used in Solaris 10 * 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 * if the --with-pkg-config-libdir option is not given, use ${libdir}/pkgconfig as a default * improve search-path check for pkg-config, e.g., for Debian testing which installs pkg-config with architecture-prefixes. * build-fix for cross-compiling to MingW, conditionally add -lssp * improve configure check for getttynam * fixes to build with dietlibc: + add configure check for fpathconf + add configure check for math sine/cosine, needed in test/tclock, and eliminate pow() from test/hanoi + use wcsnlen as an alternative to wmemchr if it is not found * 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 * modify configure/scripts to work around interference by GNU grep 3.8 Here are some of the other portability fixes: * change man_db.renames to template, to handle ncurses*-config script with the --extra-suffix configure option. * update CF_XOPEN_SOURCE macro, adding variants "gnueabi" and "gnueabihf" to get _DEFAULT_SOURCE special case, as well as adding GNU libc suffixes for "abi64", "abin32", "x32" to distinguish it from other libc flavors. * work around musl's nonstandard use of feature test macros by adding a definition for NCURSES_WIDECHAR to the generated ".pc" and *-config files. * use "command -v" rather than "type" in Ada95/gen/Makefile.in to fix a portability issue. 20221231 6.4 release * update release notes * regenerate llib-* files. * correct PS vs PE names in bracketed+paste 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 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 * 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 * update ncurses-howto, more documentation fixes along with corrections to example programs. 20221126 * fix an error in pathname of explain.txt * fix an error in "@" command in test/ncurses.c F-menu * 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 * modify make-tar.sh scripts to make timestamps more predictable. 20221029 * improve curs_slk.3x discussion of extensions and portability 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 * update CF_XOPEN_SOURCE, adding GNU libc suffixes for abi64, abin32, x32 * correct ifdef's for _nc_set_read_thread() 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 20221001 * modify configure/scripts to work around interference by GNU grep 3.8 * update CF_XOPEN_SOURCE, adding variants "gnueabi" and "gnueabihf" to get _DEFAULT_SOURCE special case 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 * fix another memory-leak in tic. * correct change for cppcheck in menu library * update config.guess, config.sub 20220917 * reduce memory-leak in tic by separating allocations for struct entry from TERMTYPE2 * 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 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 * modify nsterm to use xterm+alt1049 * modify putty to use xterm+alt1049 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 + add configure check for math sine/cosine, needed in test/tclock, and eliminate pow() from test/hanoi + use wcsnlen as an alternative to wmemchr if it is not found * 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 20220716 * build-fix for test_mouse.c, for non-standard cfmakeraw. * improve shell-scripts with shellcheck * fix typo in run_tic.in 20220709 * lock the prescreen data consistently in newterm, etc., for the pthreads configuration 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 * use ansi+enq and decid+cpr in cases where the terminal probably supported the u6-u9 extension * add/use apollo+vt132, xterm+alt47 20220625 * improve man/curs_bkgd.3x, explaining that bkgdset can affect results for bkgd * correct dsl in dec+sl * add/use ansi+cpr, decid+cpr 20220618 * add a null-pointer check for term_names field in copy_termtype(), needed for MinGW port * revise kon/kon2/jfbterm to undo "linux2.6" change to smacs/rmacs/enacs * amended note for att610+cvis0, as per documentation for att610, att620, att730 20220612 * modify waddch_literal() to allow for double-width base character when merging a combining character * 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 * set "xterm-new" to "xterm-p370", add "xterm-p371" 20220529 * expanded notes for teken/syscons * fix overlooked copying of extended string-heap in copy_termtype * 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 * add a few debug-traces for tic, fix a couple of memory-leaks. 20220501 * build-fix for debug-traces 20220430 * modify samples for xterm mouse 1002/1003 modes to use 1006 mode, and also provide for focus in/out responses * modify default case in handle_wheel() to always report button-release events, e.g., for xterm mouse mode 1003 * 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 * fix memory leak in _nc_tic_dir() when called from _nc_set_writedir(). * fix memory leak in tic when "-c" option is used.