head 1.6; access; symbols pkgsrc-2022Q4:1.5.0.10 pkgsrc-2022Q4-base:1.5 pkgsrc-2022Q3:1.5.0.8 pkgsrc-2022Q3-base:1.5 pkgsrc-2022Q2:1.5.0.6 pkgsrc-2022Q2-base:1.5 pkgsrc-2022Q1:1.5.0.4 pkgsrc-2022Q1-base:1.5 pkgsrc-2021Q4:1.5.0.2 pkgsrc-2021Q4-base:1.5 pkgsrc-2021Q3:1.4.0.12 pkgsrc-2021Q3-base:1.4 pkgsrc-2021Q2:1.4.0.10 pkgsrc-2021Q2-base:1.4 pkgsrc-2021Q1:1.4.0.8 pkgsrc-2021Q1-base:1.4 pkgsrc-2020Q4:1.4.0.6 pkgsrc-2020Q4-base:1.4 pkgsrc-2020Q3:1.4.0.4 pkgsrc-2020Q3-base:1.4 pkgsrc-2020Q2:1.4.0.2 pkgsrc-2020Q2-base:1.4 pkgsrc-2020Q1:1.3.0.2 pkgsrc-2020Q1-base:1.3 pkgsrc-2019Q4:1.1.0.10 pkgsrc-2019Q4-base:1.1 pkgsrc-2019Q3:1.1.0.6 pkgsrc-2019Q3-base:1.1 pkgsrc-2019Q2:1.1.0.4 pkgsrc-2019Q2-base:1.1 pkgsrc-2019Q1:1.1.0.2 pkgsrc-2019Q1-base:1.1; locks; strict; comment @# @; 1.6 date 2023.01.19.12.09.20; author wiz; state dead; branches; next 1.5; commitid 5vNAXKIPbBCKd9aE; 1.5 date 2021.11.16.15.19.59; author wiz; state Exp; branches; next 1.4; commitid 5Y6bjpVW5MOU32hD; 1.4 date 2020.03.30.08.53.42; author jperkin; state Exp; branches; next 1.3; commitid D74wuUL0HrLc5p2C; 1.3 date 2020.03.28.07.55.55; author wiz; state Exp; branches; next 1.2; commitid Yygw7f0KBeNpP82C; 1.2 date 2020.03.04.14.04.22; author wiz; state dead; branches; next 1.1; commitid Dv7wpWk45BuID5ZB; 1.1 date 2019.02.25.11.54.05; author jperkin; state Exp; branches; next ; commitid o4LkpaJDakOwT8dB; desc @@ 1.6 log @ncurses: update to 6.4. 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. @ text @$NetBSD: patch-misc_terminfo.src,v 1.5 2021/11/16 15:19:59 wiz Exp $ Many terminal emulators still do not support the "rep" capability, so avoid it for maximum portability. Patch from OmniOS, see also http://invisible-island.net/ncurses/ncurses.faq.html#xterm_generic or https://github.com/joyent/pkgsrc/issues/248 Apply Debian patch for https://bugs.debian.org/933572, removing "rin" from screen-256color until tmux supports it correctly. --- misc/terminfo.src.orig 2021-10-14 00:40:38.000000000 +0000 +++ misc/terminfo.src @@@@ -4816,7 +4816,7 @@@@ xterm+nofkeys|building block for xterm f xterm-new|modern xterm terminal emulator, npc, kcbt=\E[Z, kent=\EOM, nel=\EE, use=ecma+index, - use=ansi+rep, use=ecma+strikeout, use=xterm+pcfkeys, + use=ecma+strikeout, use=xterm+pcfkeys, use=xterm+nofkeys, # This fragment is for people who cannot agree on what the backspace key @@@@ -7951,6 +7951,7 @@@@ screen-16color-bce-s|GNU Screen with 16 screen-256color|GNU Screen with 256 colors, use=xterm+256setaf, use=screen4, + rin@@, screen-256color-s|GNU Screen with 256 colors and status line, use=xterm+256setaf, use=screen-s, @ 1.5 log @ncurses: update to 6.3. 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_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 + update portability note for FreeBSD in man/tput.1 20210227 + modify tic/infocmp to eliminate unnecessary "\" to escape ":" in terminfo format. + add check in tic for duplicate "use=" clauses. 20210220 + improve tic warning when oc/op do not mention SGR 39/49 for xterm compatible XT flag. + revert change to lib_addch.c in waddch_literal() from 20210130, since the followup fix in PutCharLR() actually corrects the problem while this change causes too-early filling/wrapping (report by Johannes Altmanninger). + add/use vt220+pcedit and vt220+vtedit -TD + add scrt/securecrt and absolute -TD + add nel to xterm-new, though supported since X11R5 -TD + add/use xterm+nofkeys -TD + move use of ecma+italics from xterm-basic to xterm+nofkeys -TD 20210213 + add test/back_ground.c, to exercise the wide-character background functions. + add a check in _nc_build_wch() in case the background character is a wide-character, rather than a new part of a multibyte character. + improve tracemunch's coverage of form/menu/panel libraries. + improve tracemunch's checking/reporting the type for the first parameter, e.g., "WINDOW*" rather than "#1". 20210206 + provide for wide-characters as background character in wbkgrnd (report/testcase by Anton Vidovic) + add name for Fedora's pcre2 to configure check for "--with-pcre2" option, from xterm #363 -TD + modify adjustment in PutCharLR to restore the cursor position before writing to the lower-right corner, rather than decrementing the cursor column, in case it was a double-width character (cf: 20210130). 20210130 + correct an off-by-one in comparison in waddch_literal() which caused scrolling when a double-cell character would not fit at the lower right corner of the screen (report by Benno Schulenberg). + split-out att610+cvis, vt220+cvis, vt220+cvis8 -TD + add vt220-base, for terminal emulators which generally have not supported att610's blinking cursor control -TD + use vt220+cvis in vt220, etc -TD + use att610+cvis, xterm+tmux and ansi+enq in kitty -TD + use vt220+cvis in st, terminology, termite since they ignore blinking-cursor detail in att610+cvis -TD 20210123 + modify package/config scripts to provide an explicit -L option for cases when the loader search path has other directories preceding the one in which ncurses is installed (report by Yuri Victorovich). + minor build-fixes in configure script and makefiles to work around quirks of pmake. 20210116 + add comment for linux2.6 regarding CONFIG_CONSOLE_TRANSLATIONS (report by Patrick McDermott) -TD + make opts extension for getcchar work as documented for ncurses 6.1, adding "-g" flag to test/demo_new_pair to illustrate. 20210109 + fix errata in man/ncurses.3x from recent updates. + improve quoting/escaping in configure script, uses some features of autoconf 2.52.20210105 20210102 + update man/curs_memleaks.3x, to include which declares exit_terminfo. + clarify man/curs_terminfo.3x, to mention why the macro setterm is defined in , and remove it from the list of prototypes (prompted by patch by Graeme McCutcheon). + amend man/curs_terminfo.3x, to note that is required for certain functions, e.g., those using chtype or attr_t for types, as well as mvcur (cf: 20201031). + use parameter-names in prototypes in curs_sp_funcs.3x, for consistency with other manpages. 20201227 + update terminology entry to 1.8.1 -TD + fix some compiler-warnings which gcc8 reports incorrectly. 20201219 + suppress hyphenation in generated html for manpages, to address regression in upgrade of groff 1.22.2 to 1.22.3. + fix inconsistent sort-order in see-also sections of manpages (report by Chris Bennett). 20201212 + improve manual pages for form field-types. 20201205 + amend build-fixes for gnat 10 to work with certain systems lacking gprbuild (cf: 20200627). + eliminate an additional strlen and wsclen. + eliminate an unnecessary strlen in waddnstr() (suggested by Benjamin Abendroth). + modify inopts manpage, separating the items for nodelay and notimeout (patch by Benno Schulenberg). + correct mlterm3 kf1-kf4 (Debian #975322) -TD + add flash to mlterm3 -TD 20201128 + add Smulx to alacritty (Christian Duerr). + add rep to PuTTY -TD + add putty+keypad -TD + add another fflush(stdout) in _nc_flush() to handle time-delays in the middle of strings such as flash when the application uses low-level calls rather than curses (cf: 20161217). + modify configure check for c89/c99 aliases of clang to use its -std option instead, because some platforms, in particular macOS, do not provide workable c89/c99 aliases. 20201121 + fix some compiler-warnings in experimental Windows-10 driver. + add the definitions needed in recent configure-check for clang (report by Steven Pitman). 20201114 + fix some compiler-warnings in experimental Windows-10 driver. + modify a check for parameters in terminfo capabilities to handle the special case where short extended capability strings were not converted from terminfo to termcap format. + modify CF_MIXEDCASE_FILENAMES macro, adding darwin as special case when cross-compiling (report by Eli Rykoff). 20201107 + update kitty+common -TD + add putty+screen and putty-screen (suggested by Alexandre Montaron). + explain in ncurses.3x that functions in the tinfo library do not rely upon wide-characters (prompted by discussion with Reuben Thomas). 20201031 + modify MKterm.h.in so that it is not necessary to include before (prompted by discussion with Reuben Thomas). + review/improve synopsis for curs_sp_funcs.3x (prompted by discussion with Reuben Thomas). + improve format of output in tic's check_infotocap() function, to ensure that the messages contain only printable text. + modify configure-check for clang to verify that -Qunused-arguments is supported. IBM's xlclang does not support it (report by Steven Pitman). 20201024 + provide workaround configure-check for bool when cross-compiling. + fix a potential indexing error in _nc_parse_entry(), seen with Herlim's test data using address-sanitizer. + change a null-pointer check in set_curterm to a valid-string check, needed in to tic's use-resolution when pad_char is cancelled (report/testcase by Robert Sebastian Herlim) + improve tic's -c option to validate the number and type of parameters and compare against expected number/type before deciding which set of parameter-lists to use in tparm calls (report/testcase by Robert Sebastian Herlim). + fix a link for tabs.1 manpage in announce.html.in (report by Nick Black), as well as some fixes via linklint. 20201017 + improve manpage typography. + improve discussion in curs_addch.3x of the use of unctrl to display nonprintable characters. + add a note in terminfo.5 explaining that no-parameter strings such as sgr0 or cnorm should not be used with tparm. 20201010 + correct sgr in aaa+rv (report by Florian Weimer) -TD + fix some sgr inconsistencies in d230c, ibm6153, ibm6154, ncrvt100an -TD + improve tic's check for errors detected in tparm (prompted by discussion with Florian Weimer). + set output-mode to binary in experimental Windows-10 driver (Juergen Pfeifer). 20201003 + remove output-related checks for nl/nonl (report by Leon Winter). + change tmux's kbs to ^? (report by Premysl Eric Janouch) + simplify mlterm initialization with DECSTR -TD + fix a typo in man/curs_terminfo.3 (Reuben Thomas). + add tmux-direct (tmux #2370, Debian #895754) + add user-defined capabilities from mintty to Caps-ncurses, for checking consistency with tic. 20200926 + correct configure-check for gnurx library. + regenerate llib-* files. + modify tracemunch and the panel library to show readable traces for panel- and user-pointers. 20200919 + update mlterm3 for 3.9.0 (report by Premysl Eric Janouch) -TD 20200918 + corrected condition for appending curses.events to the generated curses.h (report by Sven Joachim, Debian #970545). 20200912 + add configure-check for systre/tre with mingw configuration, to get the library-dependencies as seen in msys2 configuration for mingw64. + build-fixes for the win32-driver configuration. + use more defensive binary mode setting for Win32 (Juergen Pfeifer). 20200907 + fix regression in setupterm validating non-empty $TERM (report by Soren Tempel). 20200906 + merge/adapt in-progress work by Juergen Pfeifer for new version of win32-driver. + correct description of vt330/vt340 (Ross Combs). 20200831 + build-fix for awk-scripts modified for win32-driver (report by Werner Fink). 20200829 + remove a redundant NCURSES_EXPORT as a build-fix for "Maarten Anonymous". + merge/adapt in-progress work by Juergen Pfeifer for new version of win32-driver. + modify configure script, moving gcc -Werror options to EXTRA_CFLAGS to avoid breaking configure-checks (adapted from ongoing work on mawk and lynx). > errata for terminfo.src (report by Florian Weimer): + correct icl6404 csr + correct ti916 cup + improve ndr9500 20200822 + improve version-number extraction in MKlib_gen.sh + make the test-package for manpages installable by adjusting the man_db.renames file. + correct an off-by-one loop-limit in convert_strings function (report by Yue Tai). + add CF_SHARED_OPTS cases for HPE NonStop systems (Randall S Becker). + modify CF_SHARED_OPTS case for NetBSD to use the same "-shared" option for the non-rpath case as for the rpath case, to allow gcc to provide suitable runtime initialization (report by Rajeev V Pillai). 20200817 + reduce build-warnings by excluding ncurses-internals from deprecation warnings. + mark wgetch-events feature as deprecated. + add definition for $(LIBS) to ncurses/Makefile.in, to simplify builds using the string-hacks option. + prevent KEY_EVENT from appearing in curses.h unless the configure option --enable-wgetch-events is used (report by Werner Fink). 20200816 + amend tic/infocmp check to allow for the respective tool's absence (report by Steve Wills, cf: 20200808). + improved some of the build-scripts with shellcheck + filter out -MT/-MD/-MTd/-MDd options in script for Visual Studio C++ (discussion with "Maarten Anonymous"). 20200808 + improve discussion of the system's tic utility when used as part of cross-compiling (discussion with Keith Marshall). + modify configuration checks for build-time tic/infocmp to use AC_CHECK_TOOL. That can still be overridden by --with-tic-path and --with-infocmp-path when fallbacks are used, but even if not using fallbacks, the improved check may help with cross-compiling (discussion with Keith Marshall). + other build-fixes for Ada95 with MinGW. + modify Ada95 source-generation utility to write to a file given as parameter rather than to the standard output, allowing builds with MinGW. 20200801 + remove remaining parts of checks for ISC Unix (cf: 20121006). + add user32.lib to LDFLAGS for Visual Studio C++ configuration (discussion with "Maarten Anonymous"). + modify MKkey_defs.sh to hide ncurses' definition of KEY_EVENTS to reduce Visual Studio C++ redefinition warnings. + improve/update checks for external functions in test/configure 20200725 + set LINK_TESTS in CF_SHARED_OPTS for msvc (patch by "Maarten Anonymous") + improved workaround for redefinition-warnings for KEY_EVENT. + improve man/term.5 section on legacy storage format (report by Florian Weimer). 20200718 + reduce redefinition-warnings for KEY_EVENT when building with Visual Studio C++. + define NCURSES_STATIC when compiling programs to link with static libraries, to work with MinGW vs Visual Studio C++. > additional changes for building with Visual Studio C++ and msys2 (reports/patches by "Maarten Anonymous") + modify c++/Makefile.in to set the current directory while compiling the main program, so the linker can find related objects. + several changes to allow the c++/demo program to compile/link. + change an ifdef in test-directory, to use VC++ wide-character funcs. 20200711 + fix pound-sign mapping in acsc of linux2.6 entry (report by Ingo Bruckl). + additional changes for building with Visual Studio C++ and msys2 (reports/patches by "Maarten Anonymous") + build-improvements for Windows 10 and MinGW (patch by Juergen Pfeifer). + fix a typo in curs_printw.3x (patch by William Pursell). + fix two errors in infotocap which allowed indexing outside the buffer (report/testcases by Zhang Gan). + update length of strings in infocmp's usage function to restore a trailing null on the longest string (report/testcase by Zhang Gen). 20200704 + modify version-check with Ada generics to use the same pattern as in the check for supported gnat versions (report by Pascal Pignard). > additional changes for building with Visual Studio C++ and msys2 (patches by "Maarten Anonymous"): + adjust headers/declarations to provide for "dllimport" vs "dllexport" declarations when constructing DLLs, to worko with Visual Studio C++. 20200627 + build-fixes for gnat 10.1.1, whose gnatmake drops integration with gprbuild. + correct buffer-length in test/color_name.h 20200613 + update list of functions in ncurses.3x + move dlclose() call from lib_mouse.c to delscreen() to avoid a case in the former which could be called from SIGTSTP handler (Debian #961097). 20200606 + add xterm+256color2, xterm+88color2, to deprecate nonstandard usage in xterm+256color, xterm+88color -TD + add shifted Linux console keys in linux+sfkeys entry for screen.linux (report by Alexandre Montaron). + use vt100+enq in screen (report by Alexandre Montaron). + add screen.linux-s alias (suggested by Alexandre Montaron). 20200531 + correct configure version-check/warnng for g++ to allow for 10.x + 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_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"). + use a more conservative estimate of the buffer-size in lib_tparm.c's save_text() and save_number(), in case the sprintf() function passes-through unexpected characters from a format specifier (report/testcase by "puppet-meteor"). + add a check for end-of-string in cvtchar to handle a malformed string in infotocap (report/testcase by "puppet-meteor"). 20200523 + update version-check for gnat to allow for gnat 10.x to 99.x + fix an uninitialized variable in lib_mouse.c changes (cf: 20200502) + add a check in EmitRange to guard against repeat_char emitting digits which could be interpreted as BSD-style padding when --enable-bsdpad is configured (report/patch by Hiltjo Posthuma). + add --disable-pkg-ldflags to suppress EXTRA_LDFLAGS from the generated pkg-config and ncurses*-config files, to simplify configuring in the case where rpath is used but the packager wants to hide the feature (report by Michael Stapelberg). > fixes for building with Visual Studio C++ and msys2 (patches by "Maarten Anonymous"): + modify CF_SHARED_OPTS to generate a script which translates linker options into Visual Studio's dialect. + omit parentheses around function-names in generated lib_gen.c to work around a Visual Studio C++ limitation. 20200516 + add notes on termcap.h header in curs_termcap.3x + update notes on vscode / xterm.js -TD 20200509 + add "-r" option to the dots test-programs, to help with scripting a performance comparison. + build-fix test/move_field.c for NetBSD curses, whose form headers use different names than SVr4 or ncurses. 20200502 + add details on the change to Linux SGR 21 in 2018 -TD + add xterm-direct16 and xterm-direct256 -TD + modify lib_mouse.c to check for out-of-range button numbers, convert those to position reports. 20200425 + use vt100+fnkeys in putty -TD + fix a typo in tput.1; "columns" should be "cols". 20200418 + improve tracemunch logic for "RUN" compaction. + fix a special case in wresize() where copying the old text did not check if the last cell on a row was the beginning of a fullwidth character (adapted from patch by Benno Schulenberg). + use vt52+keypad in xterm-vt52, from xterm #354 -TD + improve see-also section of user_caps.5 20200411 + fix find_pair(), overlooked when refactoring for _nc_reserve_pairs() (report/testcase by Brad Town, cf: 20170812). + add a trailing null for magic-string in putwin, flagged by gcc 10 + update check for gcc version versus gnat to work with gcc 10.x 20200404 + modify -fvisibility check to work with g++ > fixes for building with Visual Studio C++ and msys2 (patches by "Maarten Anonymous"): + add configure option and check for gcc -fvisibility=hidden feature + define NCURSES_NOMACROS in lib_gen.c to work around Visual Studio C++ preprocessor limitations. + modify some of the configure-macros, as well as mk-1st.awk to work with Visual Studio C++ default filenaming. 20200328 + correct length of buffer copied in dup_field(). + remove "$(srcdir)/" from path of library.gpr, needed for out-of-tree builds of Ada95 (patch by Adam Van Ymeren). 20200321 + improve configure-checks to reduce warnings about unused variables. + improve description of error-returns in waddch and waddnstr manual pages (prompted by patch by Benno Schulenberg). + add test/move_field.c to demonstrate move_field(), and a stub for a corresponding demo of dup_field(). 20200314 + add history note to curs_scanw.3x for and + add history note to curs_printw.3x for and + add portability note to ncurses.3x regarding 20200308 + update copyright notices in test-packages. + modify tracemunch to guard against errors in its known_p1 table. + add several --with-xxx-libname options, to help with pkgsrc (prompted by discussion with Thomas Klausner). 20200301 + modify wbkgd() and wbkgrnd() to avoid storing a null in the background character, because it may be used in cases where the corresponding 0x80 is not treated as a null (report by Marc Rechte, cf: 20181208). 20200229 + modify CF_NCURSES_CONFIG to work around xcode's c99 "-W" option, which conflicts with conventional use for passing linker options. > fixes for building with Visual Studio C++ and msys2 (patches by "Maarten Anonymous"): + check for pcre2posix.h instead of pcre2-posix.h + add case in CF_SHARED_OPTS for msys2 + msvc + add fallback definition for STDIN_FILENO in progs.priv.h + modify win_driver.c to use _alloca() rather than gcc's variable length array feature. + add NCURSES_IMPEXP to ncurses wrapped-variable declarations + remove NCURSES_IMPEXP from class variables in c++/cursslk.h + remove fallback prototype for exit() from c++/etip.h.in + use configured check for in a couple of places + conditionally include winsock.h in ncurses/win32con/gettimeofday.c, because Visual Studio needs this for the timestruct declaration. + adjust syntax in a couple of files using the NCURSES_API symbol. 20200222 + expanded note in ncurses.3x regarding automatically-included headers + improve vt50h and vt52 based on DECScope manual -TD + add/use vt52+keypad and vt52-basic -TD + check/workaround for line-too-long in Ada95 generate utility when building out-of-tree. + improve/update HEADER_DEPS in */Makefile.in + add "check" rule to include/Makefile, to demonstrate that the headers include all of the required headers for the types used. 20200215 + improve manual page for panel library, extending the portability section as well as documenting error-returns. + show tic's version when installing terminal database in run_tic.sh + correct check for gcc vs other compilers used in ncurses 6.0, from FreeBSD patch by Kyle Evans (cf: 20150725). + add notes for 6.2 to INSTALL. @ text @d1 1 a1 1 $NetBSD: patch-misc_terminfo.src,v 1.4 2020/03/30 08:53:42 jperkin Exp $ @ 1.4 log @ncurses: Apply Debian patch to fix tmux with screen-256color. Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD: patch-misc_terminfo.src,v 1.3 2020/03/28 07:55:55 wiz Exp $ d12 1 a12 1 --- misc/terminfo.src.orig 2020-01-19 01:09:38.000000000 +0000 d14 1 a14 2 @@@@ -4513,7 +4513,7 @@@@ xterm-xfree86|xterm terminal emulator (X # This version reflects the current xterm features. d17 7 a23 6 - kcbt=\E[Z, kent=\EOM, use=ecma+index, use=ansi+rep, + kcbt=\E[Z, kent=\EOM, use=ecma+index, use=ecma+strikeout, use=xterm+keypad, use=vt420+lrmm, use=xterm+sm+1006, use=xterm+pcfkeys, use=xterm+tmux, use=xterm-basic, @@@@ -7346,6 +7346,7 @@@@ screen-16color-bce-s|GNU Screen with 16 @ 1.3 log @ncurses: restore patch for xterm-new Sent upstream this time. Requested by jperkin. Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD$ d9 3 d23 8 @ 1.2 log @ncurses: update to 6.2. 20200212 6.2 release for upload to ftp.gnu.org + update release notes + minor build-fixes, mostly to test-package scripts 20200208 + modify check for sizeof(wchar_t) to ensure it gives useful result when cross-compiling. + drop assumption in configure script that Cygwin's linker is broken. + define NCURSES_BROKEN_LINKER if the broken-linker feature is used, to simplify configure-checks for ncurses-examples. 20200202 + reassert copyright on ncurses, per discussion in ncurses FAQ: https://invisible-island.net/ncurses/ncurses.faq.html#relicensed 20200201 + modify comparison in make_hash.c to correct a special case in collision handling for Caps-hpux11 + add testing utility report_hashing to check hash-tables used for terminfo and termcap names. + fix a missing prototype for _nc_free_and_exit(). + update a few comments about tack 1.07 + use an awk script to split too-long pathnames used in Ada95 sample programs for explain.txt 20200118 + expanded description of XM in user_caps.5 + improve xm example for xterm+x11mouse, xterm+sm+1006 -TD + add history section to curs_slk.3x and curs_terminfo.3x manpages. + update alacritty entries for 0.4.0 (prompted by patch by Christian Durr) -TD + correct spelling errors found with codespell. + fix for test/configure, from xterm #352. 20200111 + improve configure macros which check for the X11/Intrinsic.h header, to accommodate recent MacOS changes. + suppress gcc's -Winline warning; it has not been useful for some time + update config.guess, config.sub 20200104 + modify a couple of macros in aclocal.m4 to allow autoconf 2.69 to "work", to help illustrate discussion in https://invisible-island.net/autoconf/my-autoconf.html + fix some warnings from autoheader-252 20191228 + in gen-pkgconfig.in, move the RPATH_LIST and PRIVATE_LIBS assignments past the various prefix/libdir assignments, to allow for using those symbols, e.g., as done via CF_SHARED_OPTS. + improve ncurses*-config and pc-files by filtering out linker-specs. + modify test-package to more closely match Fedora's configuration for PIE/PIC feature and debug-packages. 20191221 + correct pathname used in Ada95 sample programs for explain.txt, to work with test-packages. + improve tracemunch: + keep track of TERMINAL* values + if tracing was first turned on after initialization, attempt to show distinct screen, window and terminal names anyway. + ensure that GCC_NORETURN is defined in term.h, because the prototype for exit_terminfo() uses it (report by Werner Fink). 20191214 + add exit_curses() and exit_terminfo() to replace internal symbols for leak-checking. 20191207 + fix a few warnings for test-package builds + add curses_trace(), to replace trace(). 20191130 + add portability section to curs_getcchar manpage (prompted by discussion with Nick Black). + improve portability discussion of ACS characters in curs_addch manpage. + improve typography for double-quotes in manpages. 20191123 + fix typo for MinGW rpm test-package. + workaround in rpm specs for NFS problems in Fedora 31. 20191116 + modify ncurses/Makefile.in to fix a case where Debian/testing changes to the ld --as-needed configuration broke ncurses-examples test packages. + drop library-dependency on psapi for MinGW port, since win_driver.c defines PSAPI_VERSION to 2, making it use GetProcessImageFileName from kernel32.dll (prompted by patch by Simon Sobish, cf: 20140503). 20191109 + add warning-check in tic for terminals with parm_dch vs parm_ich. + drop ich1 from rxvt-basic, Eterm and mlterm to improve compatibility with old non-curses programs -TD + reviewed st 0.8.2, updated some details -TD + use ansi+rep several places -TD + corrected tic's check for ich1 (report by Sebastian J. Bronner, cf: 20020901). 20191102 + check parameter of set_escdelay, return ERR if negative. + check parameter of set_tabsize, return ERR if not greater than zero (report/patch by Anthony Sottile). + revise CF_ADD_LIBS macro to prepend rather than append libraries. + add "xterm-mono" to help packagers (report by Sven Joachim) -TD 20191026 + add a note in man/curs_add_wch.3x about Unicode terminology for the line-drawing characters (report by Nick Black). + improve comment in lib_tgoto.c regarding the use of \200 where a \0 would be intended by the caller (report by "64 bit", cf: 20000923). + modify linux-16color to accommodate Linux console driver change in early 2018 (report by Dino Petrucci). 20191019 + modify make_hash to not require --disable-leaks, to simplify building with address-sanitizer. + modify tic to exit if it cannot remove a conflicting name, because treating that as a partial success can cause an infinite loop in use-resolution (report/testcase by Hongxu Chen, cf: 20111001). 20191015 + improve buffer-checks in captoinfo.c, for some cases when the input string is shorter than expected. > fix two errata in tic (report/testcases by Hongxu Chen): + check for missing character after backslash in write_it + check for missing characters after "%>" when converting from termcap syntax (cf: 980530). 20191012 + amend recent changes to ncurses*-config and pc-files to filter out Debian linker-flags (report by Sven Joachim, cf: 20150516). + clarify relationship between tic, infocmp and captoinfo in manpage. + check for invalid hashcode in _nc_find_type_entry and _nc_find_name_entry. > fix several errata in tic (reports/testcases by "zjuchenyuan"): + check for invalid hashcode in _nc_find_entry. + check for missing character after backslash in fmt_entry + check for acsc with odd length in dump_entry in check for one-one mapping (cf: 20060415); + check length when converting from old AIX box_chars_1 capability, overlooked in changes to eliminate strcpy (cf: 20001007). 20191005 + modify the ncurse*-config and pc-files to more closely match for the -I and -l options. 20190928 + amend the ncurses*-config and pc-files to take into account the rpath hack which differed between those files. + improve -L option filtering in ncurses*-config + improve recovery from error when reading command-character in test/ncurses.c, showing the relevant error message and not exiting on EINTR (cf: 20180922) 20190921 + add a note in resizeterm manpage about top-level windows which touch the screen's borders. + modify configure-checks for gnat to identify each of the tools path and version. 20190914 + build-fixes for Ada95 configure-script and corresponding test package 20190907 + add --with-ada-libname option and modify Ada95 configuration to allow renaming the "AdaCurses" library (prompted by proposed changes by Pascal Pignard). + modify configure script to distinguish gcc from icc and clang when the --enable-warnings option is not used, to avoid unnecessary warnings about unrecognized inline options (report by Sven Joachim). 20190831 + build-fixes for configuration using --program-suffix with Ada95, noticed with MacOS but applicable to other platforms without libpanelw, etc. 20190824 + fix some cppcheck warnings, mostly style, in ncurses test-programs. 20190817 + amend 20181208 changes for wbkgd() and wbkgrnd(), fixing a few details where it still differed from SVr4. + fix some cppcheck warnings, mostly style, in ncurses test-programs. 20190810 + fix a few more coverity warnings. 20190803 + improve loop limits in _nc_scroll_window() to handle a case where the scrolled data is a pad which is taller than the window (patch by Rob King). + amend the change to screen, because tmux relies upon that entry and does not support that feature (Debian #933572) -TD + updated ms-terminal entry & notes -TD + updated kitty entry & notes -TD + updated alacritty+common entry & notes -TD + use xterm+sl-twm for consistency -TD 20190728 + fix a few more coverity warnings. + more documentation updates based on tctest. 20190727 + fix a few coverity warnings. + documentation updates based on tctest. 20190720 + fix a few warnings for gcc 4.x + add some portability/historical details to the tic, toe and infocmp manual pages. + correct fix for broken link from terminfo(5) to tabs(1) manpage (report by Sven Joachim). 20190713 + change reset's behavior for margins to simply clear soft-margins if possible, rather than clearing and then setting them according to the terminal's width (suggested by Thomas Wolff). + correct order of one wbkgd versus start_color call in test/padview.c 20190706 + add domterm -TD + improve comments for recent changes, add alias xterm.js -TD 20190630 + add --with-tic-path and --with-infocmp-path to work around problems building fallback source using pre-6.0 tic/infocmp. + add a check in tic for paired indn/rin + correct a buffer-limit in write_entry.c for systems that use caseless filenames. + add ms-terminal -TD + add vscode, vscode-direct -TD 20190623 + improve the tabs.1 manual page to distinguish the PWB/Unix and 7th Edition versions of the tabs utility. + add configure check for getenv() to work around implementation shown in Emscripten #6766, use that to optionally suppress START_TRACE macro, whose call to getenv() may not work properly (report by Ilya Ig Petrov). + modify initialization functions to avoid relying upon persistent data for the result from getenv(). + update config.guess, config.sub 20190615 + expand the portability section of the man/tabs.1 manual page. + regenerate HTML manpages. 20190609 + add mintty, mintty-direct (adapted from patch by Thomas Wolff). Some of the suggested user-defined capabilities are commented-out, to allow builds with ncurses 5.9 and 6.0 + add Smol/Rmol for tmux, vte-2018 (patch by Nicholas Marriott). + add rs1 to konsole, mlterm -TD + modify _nc_merge_entry() to make a copy of the data which it merges, to avoid modifying the source-data when aligning extended names. 20190601 + modify an internal call to vid_puts to pass extended color pairs e.g., from tty_update.c and lib_mvcur.c (report by Niegodziwy Beru). + improve manual page description of init_tabs capability and TABSIZE variable. 20190525 + modify reset_cmd.c to allow for tabstops at intervals other than 8 (report by Vincent Huisman). 20190518 + update xterm-new to xterm patch #345 -TD + add/use xterm+keypad in xterm-new (report by Alain D D Williams) -TD + update terminator entry -TD + remove hard-tabs from ti703 (report by Robert Clausecker) + mention meml/memu/box1 in user_caps manual page. + mention user_caps.5 in tic and infocmp manual pages. 20190511 + fix a spurious blank line seen with "infocmp -1fx xterm+x11mouse" + add checks in repair_subwindows() to keep the current position and scroll-margins inside the resized subwindow. + add a limit check in newline_forces_scroll() for the case where the row is inside scroll-margins, but not at the end (report by Toshio Kuratomi, cf: 20170729). + corrected a warning message in tic for extended capabilities versus number of parameters. 20190504 + improve workaround for Solaris wcwidth versus line-drawing characters (report by Pavel Stehule). + add special case in tic to validate RGB string-capability extension. + corrected string/parameter-field for RGB in Caps-ncurses. 20190427 + corrected problem in terminfo load/realignment which prevented infocmp from comparing extended capabilities with the same name but different types. 20190420 + improve ifdef's for TABSIZE variable, to help with AIX/HPUX ports. 20190413 + check for TABSIZE variable in test/configure script. + used test/test_arrays.c to improve Caps.aix1 and Caps.hpux11 + corrected filtering of comments in MKparametrized.sh + reduce duplication across Caps* files by moving some parts which do not depend on order into Caps-ncurses. 20190406 + modify MKcaptab.sh, MKkey_defs.sh, and MKhashsize.sh to handle split-up Caps-files. + build-fixes if extended-functions are disabled. 20190330 + add "screen5", to mention italics (report by Stefan Assmann) + modify description of xterm+x11hilite to eliminate unused p5 -TD + add configure script checks to help with a port to Ultrix 3.1 (report by Dennis Grevenstein). + check if "b" binary feature of fopen works + check for missing feature of locale.h + add fallback for strstr() in test-programs + add fallback for STDOUT_FILENO in test-programs + update config.guess, config.sub 20190323 + move macro for is_linetouched() inside NCURSES_NOMACROS ifndef. + corrected prototypes in several manpages using script to extract those in compilable form. + use _nc_copy_termtype2() rather than direct assignment in setupterm, in case it is called repeatedly using fallback terminfo descriptions (report/patch by Werner Fink). 20190317 + regenerate llib-* files. + modify tic to also use new function for user-defined capability info. + modify _nc_parse_entry() to check if a user-defined capability has an unexpected type; ignore it in that case. + fix a special case of link-anchors in generated Ada html files. + use newer rel=author tag in generated html rather than rev=made, which did not become accepted. 20190309 + in-progress changes to add parameter-checking for common user-defined capabilities in tic. + update MKcodes.awk and MKnames.awk to ignore the new "userdef" data in Caps-ncurses (cf: 20190302). 20190302 + corrected some of the undocumented terminfo names in Caps.hpux11 + add "Caps-ncurses" file to help with checking inconsistencies in some user-defined capabilities. + amend check for repeat_char to handle a case where setlocale() was called after initscr() (report by "Ampera"). 20190223 + fix typo in adds200 -TD + add tic check for consistent alternate character set capabilities. + improve check in mvcur() to decide whether to use hard-tabs, using xt, tbc and hts as clues. + replace check in reset command for obsolete "pt" capability using tbc and hts capabilities as clues (report by Nicolas Marriott). 20190216 + improve manual page description of TABSIZE. + add test/demo_tabs program. 20190209 + add check in tic to provide warnings for mismatched number of parameters in the documented user-capability extensions. 20190202 + modify rpm test-package ".spec" file to work around naming conflict with Redhat's package for ncurses6. + modify no-leaks code in test/picsmap to avoid non-standard tdestroy. + amend change to configure script which altered the top-level makefile to avoid attempting to install the terminfo database when it was not configured, to allow for installing the ".pc" files which are also in the misc directory (report by Steve Wills). 20190126 + change some "%define" statements in test-packages for RPMs to "%global" to work around changes in rpm 4.14 from recent Redhat. + fixes for O_INPUT_FIELD extension (patch by Leon Winter). + eliminate fixed buffer-size when reading $TERMCAP variable. + correct logic in read_entry.c which prevented $TERMCAP variable from being interpreted as a fallback to terminfo entry (prompted by Savannah #54556, cf: 20110924). 20190121 + add a check in test/configure to work around non-ncurses termcap.h file in Slackware. + corrected flag for "seq" method of db 1.8.5 interface, needed by toe on some of the BSDs. + updated "string-hacks" feature. + minor improvements to manpage typography. + corrected conditionally-compiled limit on color pairs (report by "Hudd"). + add -x option to test/pair_content, test/color_content for testing init_extended_pair, extended_pair_content, init_extended_color, extended_color_content + add -p option to test/pair_content, test/color_content to show the return values from the tested functions. + improve manual page curs_color.3x discussion of error returns and extensions. + add O_INPUT_FIELD extension to form library (patch by Leon Winter). + override/suppress --enable-db-install if --disable-database configure option was given. + change a too-large terminal entry in tic from a fatal error to a warning (prompted by discussion with Gabriele Balducci). 20190112 + fix typo in term(5), improve explanation of format (report by Otto Modinos). + add nsterm-direct -TD + use SGR 1006 mouse for konsole-base -TD + use SGR 1006 mouse for putty -TD + add ti703/ti707, ti703-w/ti707-w (Robert Clausecker) 20190105 + add dummy "check" rule in top-level and test-Makefile to simply building test-packages for Arch. + modify configure script to avoid conflict with a non-POSIX feature that enables all parts of the system headers by default. Some packagers have come to rely upon this behavior (FreeBSD #234049). + update config.guess, config.sub 20181229 + improve man/curs_mouse.3x with regard to xterm + modify tracemunch to accept filename parameters in addition to use as a pipe/filter. + minor optimization to reduce calls to _nc_reserve_pairs (prompted by discussion with Bryan Christ). + add test/pair_content.c and test/color_content.c + modify infocmp to omit filtering of "OTxx" names which are used for obsolete capabilities, when the output is sorted by long-names. Doing this helps when making a table of the short/long capability names. 20181215 + several fixes for gcc8 strict compiler warnings. + fix a typo in comments (Aaron Gyes). + add nsterm-build309 to replace nsterm-256color, assigning the latter as an alias of nsterm, to make mouse work with nsterm-256color -TD + base gnome-256color entry on "gnome", not "vte", for consistency -TD + updates for configure macros from work on tin and xterm: + CF_GNU_SOURCE, allow for Cygwin's newlib when checking for the _DEFAULT_SOURCE symbol. + CF_VA_COPY, add fallback check if neither va_copy/__va_copy is supported, to try copying the pointers for va_list, or as an array. Also add another fallback check, for __builtin_va_copy(), which could be used with AIX xlc in c89 mode. 20181208 + modify wbkgd() and wbkgrnd() to improve compatibility with SVr4 curses, changing the way the window rendition is updated when the background character is modified (report by Valery Ushakov). 20181201 + add midnightbsd to CF_XOPEN_SOURCE macro (patch by Urs Jansen). + add "@@" command to test/ncurses F-test, to allow rapid jump to different character pages. + update config.guess, config.sub from http://git.savannah.gnu.org/cgit/config.git 20181125 + build-fix (reports by Chih-Hsuan Yen, Sven Joachim). 20181124 + check --with-fallbacks option to ensure there is a value, and add the fallback information to top-level Makefile summary. + add some traces in initialization to show whether a fallback entry is used. + build-fix for test/movewindow with ncurses-examples on Solaris. + add "-l" option to test/background, to dump screen contents in a form that lets different curses implementations be compared. + modify the initialization checks for mouse so that the xterm+sm+1006 block will work with terminal descriptions not mentioning xterm (report by Tomas Janousek). 20181117 + ignore the hex/b64 $TERMINFO in toe's listing. + correct a status-check in _nc_read_tic_entry() so that if reading a hex/b64 $TERMINFO, and the $TERM does not match, fall-through to the compiled-in search list. 20181110 + several workarounds to ensure proper C compiler used in parts of Ada95 tree. + update config.guess, config.sub from http://git.savannah.gnu.org/cgit/config.git 20181027 + add OpenGL clients alacritty and kitty -TD + add Smulx for tmux, vte-2018 -Nicholas Marriott 20181020 + ignore $TERMINFO as a default value in configure script if it came from the infocmp -Q option. + allow value for --with-versioned-syms to be a relative pathname + add a couple of broken-linker symbols to the list of versioned symbols to help with link-time optimization versus weak symbols. + apply shift/control/alt logic when decoding xterm's 1006 mode to wheel-mouse events (Redhat #1610681). 20181013 + amend change from 20180818, which undid a fix for the $INSTALL value to make it an absolute path. 20181006 + improve a configure check to work with newer optimizers (report by Denis Pronin, Gentoo #606142). + fix typo in tput.c (Sven Joachim, cf: 20180825). 20180929 + fix typo in tvi955 -TD + corrected acsc for regent60 -TD + add alias n7900 -TD + corrected acsc for tvi950 -TD + remove bogus kf0 from tvi950 -TD + added function-key definitions to agree with Televideo 950 manual -TD + add bel to tvi950 -TD + add shifted function-keys to regent60 -TD + renumber regent40 function-keys to match manual -TD + add cd (clr_eos) to adds200 -TD 20180923 + build-fix: remove a _tracef call which was used for debugging (report by Chris Clayton). 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. @ text @d1 1 a1 1 $NetBSD: patch-misc_terminfo.src,v 1.1 2019/02/25 11:54:05 jperkin Exp $ d6 2 d9 1 a9 1 --- misc/terminfo.src.orig 2018-01-27 15:14:08.000000000 +0000 d11 2 a12 1 @@@@ -4328,7 +4328,7 @@@@ xterm-xfree86|xterm terminal emulator (X d15 3 a17 3 indn=\E[%p1%dS, kb2=\EOE, kcbt=\E[Z, kent=\EOM, - rin=\E[%p1%dT, use=ansi+rep, use=ecma+strikeout, + rin=\E[%p1%dT, use=ecma+strikeout, a19 1 @ 1.1 log @ncurses: Disable xterm+rep for maximum portability. Many terminal emulators still do not support this capability, resulting in broken output. Patch from OmniOS, bump PKGREVISIONs. @ text @d1 1 a1 1 $NetBSD$ @