Test: ncurses/-demo libncurses/-devel/++/w10 terminfo/-extra 6.4-8.20230617 (TEST)

Cygwin ncurses Maintainer Brian.Inglis@Shaw.ca
Sun Jun 18 04:52:20 GMT 2023

The following test packages have been uploaded to the Cygwin distribution:

* ncurses		6.4-8.20230617
* ncurses-demo		6.4-8.20230617
* libncurses-devel	6.4-8.20230617
* libncurses++w10	6.4-8.20230617
* libncursesw10		6.4-8.20230617
* terminfo		6.4-8.20230617
* terminfo-extra	6.4-8.20230617

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.

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
If no issues are reported in the next few weeks, and no newer release
becomes available, this release will be promoted to current stable.

For more information see the project home page:


As there are multiple components and many changes each release see below
or read /usr/share/doc/ncurses/NEWS after installation:

- markup manpages with revision information

- modify _nc_read_file_entry() to show relevant filename in warnings.
- improve checks in convert_string() for corrupt terminfo entry

- improve manpages discussing file descriptors in low-level functions.
- modify flushinp to use file descriptors in SCREEN, rather than from
  TERMINAL, and check if they are for a terminal, like SVr4.
- modify mcprint to use file descriptor in SCREEN, for consistency.
- add xterm+focus to foot+base
- correct definition of Charable() for non-wide ncurses library

- add configure option --with-strip-program, to override program chosen
  by the install program for stripping executables
- fix typo in INSTALL
- improve error-checks for isEILSEQ()
- increase MB_CUR_MAX to 16, matching glibc's MB_LEN_MAX.
- corrected mouse mask in test/testcurs.c
- improve thread lock in lib_trace.c

- fixes for compiler warnings/cppcheck.

- fixes for compiler warnings in MinGW environments.

- modify test-package "ncurses6-doc" to use manpage-aliases, which in
  turn required a change to the configure script to factor in the
  extra-suffix option when deriving alias names.
- add mode 1004 to xterm+sm+1006 from xterm 380

- build-fixes related to configure-options and/or platform:
  - fix for --enable-fvisibility
  - fix for unusual values of --with-rel-version
  - fix for unusual values of --with-abi-version
  - fix for --disable-tcap-names
  - fix for termcap in nc_access.h (report by Werner Fink).

- revise recent change to _nc_write_entry to isolate it to a Cygwin bug
- amend fix for wgetnstr, wgetn_wstr to use cbreak mode unless raw mode
  was set
- fix a few warnings from cppcheck, etc.
- correct copy/paste error in nc_access.h

- check return value of _nc_save_str(), in special case for tic where
  extended capabilities are processed but the terminal description was
  not initialized
- regenerate llib-* files.

- add tiscan_s() to help applications check formatting capabilities that
  would be passed to tiparm_s, etc.
- add tiparm_s() to provide applications a way to tell ncurses what the
  expected parameters are for a capability
- improve check in lib_tparm.c, ensuring that a char* fits into a
- add --disable-setuid-environ configure option
- drop compatibility with obsolete versions of tack, e.g., pre-1.08

- improve checks for limits on privileged execution:
  - modify _nc_syserr_abort() to use _nc_env_access(), rather than only
    checking root uid.
  - use getauxval() when available, to improve setuid/setgid checks.
  - modify test packages to disable root access/environ options.
- modify tgoto() to accept no-parameter capabilities, for joe editor

- configure script fixes:
  - fix copy/paste error in configure option --disable-root-access
  - modify CF_XOPEN_SOURCE macro's amend default case to avoid
    undefining _XOPEN_SOURCE if _POSIX_C_SOURCE is defined.
- modify test_tparm to account for extended capabilities.
- add checks in tparm() and tiparm() for misuse of numeric parameters,
  overlooked in 20230408.
- fix errata in clear.1 and curs_terminfo.3x

- document limitations of tparm, and error-returns in curs_terminfo.3x
- document limitations of tgoto, and error-returns in curs_termcap.3x
- add xterm+focus to alacritty+common
- add "-v" option to tput, to show warnings.
- improve checks for malformed terminfo data
  - make the parameter type/count checks in _nc_tiparm() more stringent
  - update tgoto() to account for _nc_tiparm() changes
  - add checks in tparm() and tiparm() for misuse of string parameters
  - add special cases in tput to handle extensions Cs/Ms parameters
  - ignore compiled-terminfo where the array sizes exceed the standard

- modify experimental Windows driver to work with xterm mouse protocol.
- remove DECCOLM+DECSCLM from foot

- improve manpage description for addch versus unctrl format used for
  non-printable characters.
- modify version-check for gcc/g++, now works for msys2.
- modify check in _nc_write_entry() for multiply defined aliases to
  report problems within the current runtime of tic rather than for
  conflicts with pre-existing terminal descriptions.
- allow for MinGW32-/64-bit configurations to use _DEFAULT_SOURCE
- clarify interaction of -R option versus -C, -I and -r in infocmp
- build-fix in lib_win32con.c

- build-fixes for rpm test-packages.
- add/use configure check for clock_gettime(), to supersede

- configure-script improvements:
  - recent msys2 headers work with _DEFAULT_SOURCE; amend check
  - use $ac_includes_default in most cases where stdlib.h should work
  - use #error consistently vs "make an error"
  - add configure macro for gettimeofday vs inline check

- set dwShareMode in calls to CreateConsoleScreenBuffer()
- use CreateFile with "CONIN$", "CONOUT$" rather than GetStdHandle to
  obtain a handle on the actual console, avoiding redirection in the
  MinGW/Win32 configurations

- document XF, kxIN and kxOUT -TD
- add note on sun/wscons/cmdtool/shelltool -TD
- modify configure script check for pkg-config library directory to take
  into account an older version 0.15.0 which used PKG_CONFIG_PATH but

- correct limit-check when dumping tc/use clause via tic -I
- correct a check for manpage-alias in edit_man.sh, to work with out of
  tree builds

More information about the Cygwin-announce mailing list