aboutsummaryrefslogtreecommitdiff
path: root/packages/ncurses/6.5/ncurses-6.5-20240922.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/ncurses/6.5/ncurses-6.5-20240922.patch')
-rw-r--r--packages/ncurses/6.5/ncurses-6.5-20240922.patch4189
1 files changed, 4189 insertions, 0 deletions
diff --git a/packages/ncurses/6.5/ncurses-6.5-20240922.patch b/packages/ncurses/6.5/ncurses-6.5-20240922.patch
new file mode 100644
index 00000000..14aa07cf
--- /dev/null
+++ b/packages/ncurses/6.5/ncurses-6.5-20240922.patch
@@ -0,0 +1,4189 @@
+# ncurses 6.5 - patch 20240922 - Thomas E. Dickey
+#
+# ------------------------------------------------------------------------------
+#
+# Ncurses 6.5 is at
+# https://invisible-island.net/archives/ncurses/
+# https://invisible-mirror.net/archives/ncurses/
+# https://ftp.gnu.org/gnu/ncurses/
+#
+# Patches for ncurses 6.5 can be found at
+# https://invisible-island.net/archives/ncurses/6.5
+# https://invisible-mirror.net/archives/ncurses/6.5
+#
+# ------------------------------------------------------------------------------
+# https://invisible-island.net/archives/ncurses/6.5/ncurses-6.5-20240922.patch.gz
+# patch by Thomas E. Dickey <dickey@invisible-island.net>
+# created Sun Sep 22 23:25:11 UTC 2024
+# ------------------------------------------------------------------------------
+# NEWS | 16 +
+# VERSION | 2
+# dist.mk | 4
+# doc/html/man/curs_addch.3x.html | 133 +++++------
+# doc/html/man/curs_attr.3x.html | 14 -
+# doc/html/man/curs_bkgd.3x.html | 89 +++----
+# doc/html/man/curs_bkgrnd.3x.html | 71 +++--
+# doc/html/man/curs_delch.3x.html | 16 -
+# doc/html/man/curs_deleteln.3x.html | 31 +-
+# doc/html/man/curs_initscr.3x.html | 166 +++++++------
+# doc/html/man/curs_inopts.3x.html | 10
+# doc/html/man/curs_kernel.3x.html | 12 -
+# doc/html/man/curs_move.3x.html | 10
+# doc/html/man/curs_scr_dump.3x.html | 25 +-
+# doc/html/man/curs_scroll.3x.html | 22 -
+# doc/html/man/curs_termcap.3x.html | 75 +++---
+# doc/html/man/curs_util.3x.html | 12 -
+# doc/html/man/curs_variables.3x.html | 10
+# doc/html/man/infocmp.1m.html | 57 ++--
+# doc/html/man/ncurses.3x.html | 36 +--
+# doc/html/man/tabs.1.html | 20 -
+# doc/html/man/terminfo.5.html | 4
+# doc/html/man/wresize.3x.html | 33 +-
+# man/curs_addch.3x | 9
+# man/curs_attr.3x | 6
+# man/curs_bkgd.3x | 53 ++--
+# man/curs_bkgrnd.3x | 50 ++--
+# man/curs_delch.3x | 6
+# man/curs_deleteln.3x | 15 -
+# man/curs_initscr.3x | 406 +++++++++++++++++++++++-----------
+# man/curs_inopts.3x | 6
+# man/curs_kernel.3x | 8
+# man/curs_move.3x | 10
+# man/curs_scr_dump.3x | 22 +
+# man/curs_scroll.3x | 8
+# man/curs_termcap.3x | 15 -
+# man/curs_util.3x | 6
+# man/curs_variables.3x | 6
+# man/infocmp.1m | 89 ++++---
+# man/ncurses.3x | 20 -
+# man/tabs.1 | 21 -
+# man/terminfo.tail | 6
+# man/wresize.3x | 11
+# misc/ncurses-config.in | 25 --
+# ncurses/base/MKlib_gen.sh | 50 +++-
+# ncurses/base/lib_refresh.c | 8
+# ncurses/base/lib_screen.c | 31 +-
+# ncurses/base/resizeterm.c | 15 -
+# ncurses/tinfo/access.c | 39 +++
+# ncurses/wcwidth.h | 3
+# package/debian-mingw/changelog | 4
+# package/debian-mingw64/changelog | 4
+# package/debian/changelog | 4
+# package/mingw-ncurses.nsi | 4
+# package/mingw-ncurses.spec | 2
+# package/ncurses.spec | 2
+# package/ncursest.spec | 2
+# test/back_ground.c | 26 +-
+# test/background.c | 38 ++-
+# 59 files changed, 1126 insertions(+), 772 deletions(-)
+# ------------------------------------------------------------------------------
+Index: NEWS
+Prereq: 1.4175
+--- ncurses-6.5-20240914+/NEWS 2024-09-14 23:14:09.000000000 +0000
++++ ncurses-6.5-20240922/NEWS 2024-09-22 20:50:07.000000000 +0000
+@@ -26,7 +26,7 @@
+ -- sale, use or other dealings in this Software without prior written --
+ -- authorization. --
+ -------------------------------------------------------------------------------
+--- $Id: NEWS,v 1.4175 2024/09/14 23:14:09 tom Exp $
++-- $Id: NEWS,v 1.4182 2024/09/22 20:50:07 tom Exp $
+ -------------------------------------------------------------------------------
+
+ This is a log of changes that ncurses has gone through since Zeyd started
+@@ -46,6 +46,20 @@
+ Changes through 1.9.9e did not credit all contributions;
+ it is not possible to add this information.
+
++20240922
++ + add a few null-pointer checks in ncurses
++ + improve test-driver in ncurses/link_test.c
++ + restore background character in manpages as described in X/Open
++ Curses section 3.3.6, and add option "-c" to test programs to
++ illustrate a non-blank character in the window background property.
++ + improve formatting/style of manpages (patches by Branden Robinson).
++ + modify ncurses*-config to add -I option in --cflag where needed for
++ --disable-overwrite to match ".pc" files.
++ + disallow directories and block/character devices in safe-open.
++ + amend scr_restore() and scr_init() to remove the target window only
++ after validating the source window which will replace the target
++ (report by Zixi Liu).
++
+ 20240914
+ + modify _nc_flush() to also flush stderr to help the flash capability
+ to work in bash (patch by Harm te Hennepe, cf: 20201128)
+Index: VERSION
+--- ncurses-6.5-20240914+/VERSION 2024-09-14 12:14:00.000000000 +0000
++++ ncurses-6.5-20240922/VERSION 2024-09-22 18:38:38.000000000 +0000
+@@ -1 +1 @@
+-5:0:10 6.5 20240914
++5:0:10 6.5 20240922
+Index: dist.mk
+Prereq: 1.1631
+--- ncurses-6.5-20240914+/dist.mk 2024-09-14 12:14:00.000000000 +0000
++++ ncurses-6.5-20240922/dist.mk 2024-09-22 18:38:38.000000000 +0000
+@@ -26,7 +26,7 @@
+ # use or other dealings in this Software without prior written #
+ # authorization. #
+ ##############################################################################
+-# $Id: dist.mk,v 1.1631 2024/09/14 12:14:00 tom Exp $
++# $Id: dist.mk,v 1.1633 2024/09/22 18:38:38 tom Exp $
+ # Makefile for creating ncurses distributions.
+ #
+ # This only needs to be used directly as a makefile by developers, but
+@@ -38,7 +38,7 @@
+ # These define the major/minor/patch versions of ncurses.
+ NCURSES_MAJOR = 6
+ NCURSES_MINOR = 5
+-NCURSES_PATCH = 20240914
++NCURSES_PATCH = 20240922
+
+ # We don't append the patch to the version, since this only applies to releases
+ VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
+Index: doc/html/man/curs_addch.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/curs_addch.3x.html 2024-07-27 23:11:31.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/curs_addch.3x.html 2024-09-21 18:35:26.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addch.3x,v 1.98 2024/07/27 20:08:58 tom Exp @
++ * @Id: curs_addch.3x,v 1.100 2024/09/21 18:03:23 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_addch 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_addch 3x 2024-09-21 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_addch 3x 2024-07-27 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_addch 3x 2024-09-21 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+
+@@ -110,22 +110,23 @@
+
+ </PRE><H3><a name="h3-wechochar">wechochar</a></H3><PRE>
+ <STRONG>echochar</STRONG> and <STRONG>wechochar</STRONG> are equivalent to calling (<STRONG>w</STRONG>)<STRONG>addch</STRONG> followed by
+- (<STRONG>w</STRONG>)<STRONG>refresh</STRONG>. <EM>curses</EM> interprets these functions as a hint that only a
+- single character is being output; for non-control characters, a
+- considerable performance gain may be enjoyed by employing them.
++ (<STRONG>w</STRONG>)<STRONG>refresh</STRONG>. <EM>curses</EM> interprets these functions as a hint to its
++ optimizer that only a single character cell in the window is being
++ altered between refreshes; for non-control characters, a considerable
++ performance gain may be enjoyed by employing them.
+
+
+ </PRE><H3><a name="h3-Forms-Drawing-Characters">Forms-Drawing Characters</a></H3><PRE>
+- <EM>curses</EM> defines macros starting with <STRONG>ACS_</STRONG> that can be used with <STRONG>waddch</STRONG>
+- to write line-drawing and other special characters to the screen.
+- <EM>ncurses</EM> terms these <EM>forms-drawing</EM> <EM>characters.</EM> The ACS default listed
+- below is used if the <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>) <EM>terminfo</EM> capability does not
+- define a terminal-specific replacement for it, or if the terminal and
+- locale configuration requires Unicode to access these characters but
++ <EM>curses</EM> defines macros starting with <STRONG>ACS_</STRONG> that can be used with <STRONG>waddch</STRONG>
++ to write line-drawing and other special characters to the screen.
++ <EM>ncurses</EM> terms these <EM>forms-drawing</EM> <EM>characters.</EM> The ACS default listed
++ below is used if the <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>) <EM>terminfo</EM> capability does not
++ define a terminal-specific replacement for it, or if the terminal and
++ locale configuration requires Unicode to access these characters but
+ the library is unable to use Unicode. The "acsc char" column
+ corresponds to how the characters are specified in the <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>)
+ string capability, and the characters in it may appear on the screen if
+- the terminal type's database entry incorrectly advertises ACS support.
++ the terminal type's database entry incorrectly advertises ACS support.
+ The name "ACS" originates in the Alternate Character Set feature of the
+ DEC VT100 terminal.
+
+@@ -173,24 +174,24 @@
+
+ <STRONG>o</STRONG> <EM>win</EM> is <STRONG>NULL</STRONG>,
+
+- <STRONG>o</STRONG> wrapping to a new line is impossible because <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> has not
+- been called on <EM>win</EM> when a write to its bottom right location is
++ <STRONG>o</STRONG> wrapping to a new line is impossible because <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> has not
++ been called on <EM>win</EM> when a write to its bottom right location is
+ attempted, or
+
+- <STRONG>o</STRONG> it is not possible to add a complete character at the cursor
++ <STRONG>o</STRONG> it is not possible to add a complete character at the cursor
+ position.
+
+ The last may be due to different causes:
+
+- <STRONG>o</STRONG> conversion of a wide character to a multibyte character sequence
++ <STRONG>o</STRONG> conversion of a wide character to a multibyte character sequence
+ can fail, or
+
+- <STRONG>o</STRONG> at least one of the bytes resulting from wide character conversion
+- to a multibyte character sequence cannot be added to the window.
+- See section "PORTABILITY" below regarding the use of <STRONG>waddch</STRONG> with
++ <STRONG>o</STRONG> at least one of the bytes resulting from wide character conversion
++ to a multibyte character sequence cannot be added to the window.
++ See section "PORTABILITY" below regarding the use of <STRONG>waddch</STRONG> with
+ wide characters.
+
+- Functions prefixed with "mv" first perform cursor movement and fail if
++ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+
+@@ -201,7 +202,7 @@
+ </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+
+ </PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
+- SVr4 and other versions of <EM>curses</EM> implement the <STRONG>TABSIZE</STRONG> variable, but
++ SVr4 and other versions of <EM>curses</EM> implement the <STRONG>TABSIZE</STRONG> variable, but
+ X/Open Curses does not specify it; see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+
+
+@@ -209,90 +210,90 @@
+ Applications employing <EM>ncurses</EM> extensions should condition their use on
+ the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
+
+- X/Open Curses, Issue 4 describes these functions. It specifies no
++ X/Open Curses, Issue 4 describes these functions. It specifies no
+ error conditions for them.
+
+- SVr4 <EM>curses</EM> describes a successful return value only as "an integer
++ SVr4 <EM>curses</EM> describes a successful return value only as "an integer
+ value other than <STRONG>ERR</STRONG>".
+
+- The defaults specified for forms-drawing characters apply in the POSIX
++ The defaults specified for forms-drawing characters apply in the POSIX
+ locale.
+
+
+ </PRE><H3><a name="h3-ACS-Symbols">ACS Symbols</a></H3><PRE>
+- X/Open Curses states that the <STRONG>ACS_</STRONG> definitions are <EM>char</EM> constants.
++ X/Open Curses states that the <STRONG>ACS_</STRONG> definitions are <EM>char</EM> constants.
+ Some implementations are problematic.
+
+- <STRONG>o</STRONG> Solaris <EM>curses</EM>, for example, defines the ACS symbols as constants;
++ <STRONG>o</STRONG> Solaris <EM>curses</EM>, for example, defines the ACS symbols as constants;
+ others define them as elements of an array.
+
+- This implementation uses an array, <STRONG>acs_map</STRONG>, as did SVr4 <EM>curses</EM>.
++ This implementation uses an array, <STRONG>acs_map</STRONG>, as did SVr4 <EM>curses</EM>.
+ NetBSD also uses an array, actually named <STRONG>_acs_char</STRONG>, with a <STRONG>#define</STRONG>
+ for compatibility.
+
+- <STRONG>o</STRONG> HP-UX <EM>curses</EM> equates some of the <STRONG>ACS_</STRONG> symbols to the analogous
+- <STRONG>WACS_</STRONG> symbols as if the <STRONG>ACS_</STRONG> symbols were wide characters (see
+- <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>). The misdefined symbols are the arrows and
++ <STRONG>o</STRONG> HP-UX <EM>curses</EM> equates some of the <STRONG>ACS_</STRONG> symbols to the analogous
++ <STRONG>WACS_</STRONG> symbols as if the <STRONG>ACS_</STRONG> symbols were wide characters (see
++ <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>). The misdefined symbols are the arrows and
+ others that are not used for line drawing.
+
+- <STRONG>o</STRONG> X/Open Curses (Issues 2 through 7) has a typographical error for
+- the <STRONG>ACS_LANTERN</STRONG> symbol, equating its "VT100+ Character" to "I"
+- (capital I), while the header files for SVr4 <EM>curses</EM> and other
++ <STRONG>o</STRONG> X/Open Curses (Issues 2 through 7) has a typographical error for
++ the <STRONG>ACS_LANTERN</STRONG> symbol, equating its "VT100+ Character" to "I"
++ (capital I), while the header files for SVr4 <EM>curses</EM> and other
+ implementations use "i" (small i).
+
+- None of the terminal descriptions on Unix platforms use uppercase
+- I, except for Solaris (in its <EM>terminfo</EM> entry for <STRONG>screen(1)</STRONG>,
+- apparently based on the X/Open documentation around 1995). On the
+- other hand, its <STRONG>gs6300</STRONG> (AT&amp;T PC6300 with EMOTS Terminal Emulator)
++ None of the terminal descriptions on Unix platforms use uppercase
++ I, except for Solaris (in its <EM>terminfo</EM> entry for <STRONG>screen(1)</STRONG>,
++ apparently based on the X/Open documentation around 1995). On the
++ other hand, its <STRONG>gs6300</STRONG> (AT&amp;T PC6300 with EMOTS Terminal Emulator)
+ description uses lowercase i.
+
+- Some ACS symbols (<STRONG>ACS_S3</STRONG>, <STRONG>ACS_S7</STRONG>, <STRONG>ACS_LEQUAL</STRONG>, <STRONG>ACS_GEQUAL</STRONG>, <STRONG>ACS_PI</STRONG>,
+- <STRONG>ACS_NEQUAL</STRONG>, and <STRONG>ACS_STERLING</STRONG>) were not documented in any publicly
+- released System V. However, many publicly available <EM>terminfo</EM> entries
+- include <STRONG>acsc</STRONG> capabilities in which their key characters (<STRONG>pryz{|}</STRONG>) are
+- embedded, and a second-hand list of their character descriptions has
+- come to light. The <EM>ncurses</EM> developers invented ACS-prefixed names for
++ Some ACS symbols (<STRONG>ACS_S3</STRONG>, <STRONG>ACS_S7</STRONG>, <STRONG>ACS_LEQUAL</STRONG>, <STRONG>ACS_GEQUAL</STRONG>, <STRONG>ACS_PI</STRONG>,
++ <STRONG>ACS_NEQUAL</STRONG>, and <STRONG>ACS_STERLING</STRONG>) were not documented in any publicly
++ released System V. However, many publicly available <EM>terminfo</EM> entries
++ include <STRONG>acsc</STRONG> capabilities in which their key characters (<STRONG>pryz{|}</STRONG>) are
++ embedded, and a second-hand list of their character descriptions has
++ come to light. The <EM>ncurses</EM> developers invented ACS-prefixed names for
+ them.
+
+ The <EM>displayed</EM> values of <STRONG>ACS_</STRONG> constants depend on
+
+ <STRONG>o</STRONG> the <EM>ncurses</EM> ABI--for example, wide-character versus non-wide-
+- character configurations (the former is capable of displaying
++ character configurations (the former is capable of displaying
+ Unicode while the latter is not), and
+
+ <STRONG>o</STRONG> whether the locale uses UTF-8 encoding.
+
+- In certain cases, the terminal is unable to display forms-drawing
+- characters <EM>except</EM> by using UTF-8; see the discussion of the
++ In certain cases, the terminal is unable to display forms-drawing
++ characters <EM>except</EM> by using UTF-8; see the discussion of the
+ <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>UTF8</EM><STRONG>_</STRONG><EM>ACS</EM> environment variable in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+
+ </PRE><H3><a name="h3-Character-Set">Character Set</a></H3><PRE>
+- X/Open Curses assumes that the parameter passed to <STRONG>waddch</STRONG> contains a
+- single character. That character may have been more than eight bits
+- wide in an SVr3 or SVr4 implementation, but X/Open Curses leaves the
+- width of a non-wide character code unspecified. The standard further
+- does not specify the internal structure of a <EM>chtype</EM>, though the use of
+- bit operations to combine the character code with attributes and a
++ X/Open Curses assumes that the parameter passed to <STRONG>waddch</STRONG> contains a
++ single character. That character may have been more than eight bits
++ wide in an SVr3 or SVr4 implementation, but X/Open Curses leaves the
++ width of a non-wide character code unspecified. The standard further
++ does not specify the internal structure of a <EM>chtype</EM>, though the use of
++ bit operations to combine the character code with attributes and a
+ color pair identifier into a <EM>chtype</EM> for passage to <STRONG>waddch</STRONG> is common. A
+ portable application uses only the macros discussed in <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> to
+ manipulate a <EM>chtype</EM>.
+
+ In <EM>ncurses</EM>, <EM>chtype</EM> holds an eight-bit character, but the library allows
+- a multibyte character sequence to be passed via a succession of calls
+- to <STRONG>waddch</STRONG>. Other implementations do not; a <STRONG>waddch</STRONG> call transmits
+- exactly one character, which may be rendered in one or more screen
+- locations depending on whether it is printable (see <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>).
+- Depending on the locale, <EM>ncurses</EM> inspects the byte passed in each
+- <STRONG>waddch</STRONG> call and checks whether the latest call continues a multibyte
+- character. When a character is <EM>complete</EM>, <EM>ncurses</EM> displays the
+- character and advances the cursor. If the calling application
++ a multibyte character sequence to be passed via a succession of calls
++ to <STRONG>waddch</STRONG>. Other implementations do not; a <STRONG>waddch</STRONG> call transmits
++ exactly one character, which may be rendered in one or more screen
++ locations depending on whether it is printable (see <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>).
++ Depending on the locale, <EM>ncurses</EM> inspects the byte passed in each
++ <STRONG>waddch</STRONG> call and checks whether the latest call continues a multibyte
++ character. When a character is <EM>complete</EM>, <EM>ncurses</EM> displays the
++ character and advances the cursor. If the calling application
+ interrupts the succession of bytes in a multibyte character sequence by
+- changing the current location--for example, with <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG>--<EM>ncurses</EM>
++ changing the current location--for example, with <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG>--<EM>ncurses</EM>
+ discards the incomplete character.
+
+ For portability to other implementations, do not rely upon the
+- foregoing behavior. Check whether a character can be represented as a
++ foregoing behavior. Check whether a character can be represented as a
+ single byte in the current locale.
+
+ <STRONG>o</STRONG> If it can, call either <EM>waddch</EM> or <EM>wadd</EM><STRONG>_</STRONG><EM>wch</EM>.
+@@ -307,16 +308,16 @@
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+- <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
++ <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ in its wide-character configuration (<EM>ncursesw</EM>).
+
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,
+- <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
++ <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putchar(3)</STRONG>
+
+
+
+-ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
++ncurses 6.5 2024-09-21 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_attr.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/curs_attr.3x.html 2024-07-27 23:11:31.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/curs_attr.3x.html 2024-09-22 18:37:10.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_attr.3x,v 1.110 2024/07/27 19:57:55 tom Exp @
++ * @Id: curs_attr.3x,v 1.113 2024/09/21 23:39:04 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_attr 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_attr 3x 2024-09-21 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_attr 3x 2024-07-27 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_attr 3x 2024-09-21 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+
+@@ -406,9 +406,9 @@
+ <STRONG>o</STRONG> pads, soft-keys were added in SVr3, and
+
+ Goodheart did not mention the background character or the <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> type.
+- Those are respectively SVr4 and X/Open features. He did mention the <STRONG>A_</STRONG>
+- constants, but did not indicate their values. Those were not the same
+- in different systems, even for those marked as System V.
++ Those are respectively SVr3.1 and X/Open features. He did mention the
++ <STRONG>A_</STRONG> constants, but did not indicate their values. Those were not the
++ same in different systems, even for those marked as System V.
+
+ Different Unix systems used different sizes for the bit-fields in
+ <EM>chtype</EM> for <EM>characters</EM> and <EM>colors</EM>, and took into account the different
+@@ -497,7 +497,7 @@
+
+
+
+-ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
++ncurses 6.5 2024-09-21 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_bkgd.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/curs_bkgd.3x.html 2024-09-14 20:23:25.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/curs_bkgd.3x.html 2024-09-22 18:37:10.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_bkgd.3x,v 1.63 2024/09/14 20:06:50 tom Exp @
++ * @Id: curs_bkgd.3x,v 1.64 2024/09/22 18:16:03 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_bkgd 3x 2024-09-14 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_bkgd 3x 2024-09-22 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_bkgd 3x 2024-09-14 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_bkgd 3x 2024-09-22 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+
+@@ -64,20 +64,24 @@
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+- The <EM>background</EM> of a <EM>curses</EM> window (in the library's non-wide
+- configuration) is a <EM>chtype</EM> combining a set of attributes (see
+- <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>) with a character called the <EM>blank</EM> <EM>character.</EM>
+-
+- The blank character is a spacing character that populates a window's
+- character cells when their contents are erased without replacement.
+- The background's attributes are combined with all non-blank characters
+- written to the window, as with the <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> and <STRONG><A HREF="curs_insch.3x.html">winsch(3x)</A></STRONG> families
+- of functions.
+-
+- The blank character and attributes of the background combine with
+- characters written to the window as described below. The background
+- becomes a property of the character and moves with it through any
+- scrolling and insert/delete line/character operations.
++ Every <EM>curses</EM> window has a background property. In the library's non-
++ wide configuration, this property is a <EM>chtype</EM> which combines a set of
++ attributes with the <EM>background</EM> <EM>character</EM> (see <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>). The
++ background character is a spacing character.
++
++ When erasing parts of the screen, <EM>curses</EM> fills the cells with the
++ background character. <EM>curses</EM> also uses the window background when
++ writing characters to the screen:
++
++ <STRONG>o</STRONG> The attribute part of the background is combined with all non-blank
++ characters that are written into the window, as with the <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG>
++ and <STRONG><A HREF="curs_insch.3x.html">winsch(3x)</A></STRONG> families of functions.
++
++ <STRONG>o</STRONG> Both the character and attribute parts of the background are
++ combined with blank characters that are written into the window.
++
++ The background becomes a property of the character and moves with it
++ through any scrolling and insert/delete line/character operations.
+
+ To the extent possible on a given terminal, the attribute part of the
+ background is displayed as the graphic rendition of the character put
+@@ -101,8 +105,8 @@
+ blank.
+
+ <STRONG>o</STRONG> <EM>ncurses</EM> first compares the cell's character to the previously
+- specified blank character; if they match, <EM>ncurses</EM> writes the new
+- blank character to the cell.
++ specified background character; if they match, <EM>ncurses</EM> writes the
++ new background character to the cell.
+
+ <STRONG>o</STRONG> <EM>ncurses</EM> then checks if the cell uses color, that is, its color pair
+ value is nonzero. If not, it simply replaces the attributes and
+@@ -121,75 +125,76 @@
+ the current background, and then adding attributes from the new
+ background.
+
+- <EM>ncurses</EM> treats a background character value of zero (0) as a blank
+- character.
++ If the new background's character is nonspacing, <EM>ncurses</EM> reuses the old
++ background character, except for one special case: <EM>ncurses</EM> treats a
++ background character value of zero (0) as a space.
+
+- If the terminal does not support color, or if color has not been
+- initialized with <STRONG><A HREF="curs_color.3x.html">start_color(3x)</A></STRONG>, <EM>ncurses</EM> ignores the new background
++ If the terminal does not support color, or if color has not been
++ initialized with <STRONG><A HREF="curs_color.3x.html">start_color(3x)</A></STRONG>, <EM>ncurses</EM> ignores the new background
+ character's color attribute.
+
+
+ </PRE><H3><a name="h3-bkgdset_wbkgdset">bkgdset, wbkgdset</a></H3><PRE>
+- <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG> manipulate the background of the applicable
++ <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG> manipulate the background of the applicable
+ window, without updating the character cells as <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> do; only
+ future writes reflect the updated background.
+
+
+ </PRE><H3><a name="h3-getbkgd">getbkgd</a></H3><PRE>
+- <STRONG>getbkgd</STRONG> obtains the given window's background character and attribute
++ <STRONG>getbkgd</STRONG> obtains the given window's background character and attribute
+ combination.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+- Functions returning an <EM>int</EM> return <STRONG>OK</STRONG> on success. <STRONG>bkgd</STRONG> returns <STRONG>ERR</STRONG> if
+- the library has not been initialized. <STRONG>wbkgd</STRONG> and <STRONG>getbkgd</STRONG> return <STRONG>ERR</STRONG> if
++ Functions returning an <EM>int</EM> return <STRONG>OK</STRONG> on success. <STRONG>bkgd</STRONG> returns <STRONG>ERR</STRONG> if
++ the library has not been initialized. <STRONG>wbkgd</STRONG> and <STRONG>getbkgd</STRONG> return <STRONG>ERR</STRONG> if
+ a <EM>WINDOW</EM> pointer argument is null.
+
+ <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG> do not return a value.
+
+- <STRONG>getbkgd</STRONG> returns a window's background character and attribute
++ <STRONG>getbkgd</STRONG> returns a window's background character and attribute
+ combination.
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+- Unusually, there is no <STRONG>wgetbkgd</STRONG> function; <STRONG>getbkgd</STRONG> behaves as one would
++ Unusually, there is no <STRONG>wgetbkgd</STRONG> function; <STRONG>getbkgd</STRONG> behaves as one would
+ expect <STRONG>wgetbkgd</STRONG> to, accepting a <EM>WINDOW</EM> pointer argument.
+
+ <STRONG>bkgd</STRONG> and <STRONG>bkgdset</STRONG> may be implemented as macros.
+
+- X/Open Curses mentions that the character part of the background must
+- be a single-byte value. <EM>ncurses</EM>, like SVr4 <EM>curses</EM>, checks to ensure
++ X/Open Curses mentions that the character part of the background must
++ be a single-byte value. <EM>ncurses</EM>, like SVr4 <EM>curses</EM>, checks to ensure
+ that, and will reuse the old background character if the check fails.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- X/Open Curses, Issue 4 describes these functions. It specifies that
+- <STRONG>bkgd</STRONG>, <STRONG>wbkgd</STRONG>, and <STRONG>getbkgd</STRONG> return <STRONG>ERR</STRONG> on failure (in the case of the
++ X/Open Curses, Issue 4 describes these functions. It specifies that
++ <STRONG>bkgd</STRONG>, <STRONG>wbkgd</STRONG>, and <STRONG>getbkgd</STRONG> return <STRONG>ERR</STRONG> on failure (in the case of the
+ last, this value is cast to <EM>chtype</EM>), but describes no failure
+ conditions.
+
+- The SVr4.0 manual says that <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> may return <STRONG>OK</STRONG> "or a non-
+- negative integer if <STRONG>immedok</STRONG> is set", which refers to the return value
+- from <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>, used to implement the immediate repainting. SVr4
+- <EM>curses</EM>'s <STRONG>wrefresh</STRONG> returns the number of characters written to the
++ The SVr4.0 manual says that <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> may return <STRONG>OK</STRONG> "or a non-
++ negative integer if <STRONG>immedok</STRONG> is set", which refers to the return value
++ from <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>, used to implement the immediate repainting. SVr4
++ <EM>curses</EM>'s <STRONG>wrefresh</STRONG> returns the number of characters written to the
+ screen during the refresh. <EM>ncurses</EM> does not do that.
+
+- Neither X/Open Curses nor the SVr4 manual pages detail how the
+- rendition of characters on the screen updates when <STRONG>bkgd</STRONG> or <STRONG>wbkgd</STRONG>
+- changes the background character. <EM>ncurses</EM>, like SVr4 <EM>curses</EM>, does not
++ Neither X/Open Curses nor the SVr4 manual pages detail how the
++ rendition of characters on the screen updates when <STRONG>bkgd</STRONG> or <STRONG>wbkgd</STRONG>
++ changes the background character. <EM>ncurses</EM>, like SVr4 <EM>curses</EM>, does not
+ (in its non-wide configuration) store the background and window
+ attribute contributions to each character cell separately.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+- <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> describes the corresponding functions in the wide
++ <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> describes the corresponding functions in the wide
+ configuration of <EM>ncurses</EM>.
+
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+
+
+
+-ncurses 6.5 2024-09-14 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
++ncurses 6.5 2024-09-22 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_bkgrnd.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/curs_bkgrnd.3x.html 2024-09-14 20:23:25.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/curs_bkgrnd.3x.html 2024-09-22 18:37:10.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_bkgrnd.3x,v 1.44 2024/09/14 20:06:50 tom Exp @
++ * @Id: curs_bkgrnd.3x,v 1.46 2024/09/22 18:23:50 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_bkgrnd 3x 2024-09-14 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_bkgrnd 3x 2024-09-22 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_bkgrnd 3x 2024-09-14 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_bkgrnd 3x 2024-09-22 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+
+@@ -65,20 +65,24 @@
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+- The <EM>background</EM> of a <EM>curses</EM> window (in the library's wide configuration)
+- is a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> combining a set of attributes (see <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>) with the
+- window's blank character.
+-
+- The <EM>blank</EM> <EM>character</EM> is a spacing complex character that populates a
+- window's character cells when their contents are erased without
+- replacement. The background's attributes are combined with all non-
+- blank characters written to the window, as with the <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> and
+- <STRONG><A HREF="curs_ins_wch.3x.html">wins_wch(3x)</A></STRONG> families of functions.
+-
+- The blank character and attributes of the background combine with
+- characters written to the window as described below. The background
+- becomes a property of the character and moves with it through any
+- scrolling and insert/delete line/character operations.
++ Every <EM>curses</EM> window has a background property. In the library's wide
++ configuration, this property is a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> which combines a set of
++ attributes with the <EM>background</EM> <EM>character</EM> (see <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>) The
++ background character is a spacing character.
++
++ When erasing parts of the screen, <EM>curses</EM> fills the cells with the
++ background character. <EM>curses</EM> also uses the window background when
++ writing characters to the screen:
++
++ <STRONG>o</STRONG> The attribute part of the background is combined with all non-blank
++ characters that are written into the window, as with the
++ <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> and <STRONG><A HREF="curs_ins_wch.3x.html">wins_wch(3x)</A></STRONG> families of functions.
++
++ <STRONG>o</STRONG> Both the character and attribute parts of the background are
++ combined with blank characters that are written into the window.
++
++ The background becomes a property of the character and moves with it
++ through any scrolling and insert/delete line/character operations.
+
+ To the extent possible on a given terminal, the attribute part of the
+ background is displayed as the graphic rendition of the character put
+@@ -102,8 +106,8 @@
+ blank.
+
+ <STRONG>o</STRONG> <EM>ncurses</EM> first compares the cell's character to the previously
+- specified blank character; if they match, <EM>ncurses</EM> writes the new
+- blank character to the cell.
++ specified background character; if they match, <EM>ncurses</EM> writes the
++ new background character to the cell.
+
+ <STRONG>o</STRONG> <EM>ncurses</EM> then checks if the cell uses color, that is, its color pair
+ value is nonzero. If not, it simply replaces the attributes and
+@@ -122,30 +126,31 @@
+ the current background, and then adding attributes from the new
+ background.
+
+- <EM>ncurses</EM> treats a background character value of zero (0) as a blank
+- character.
++ If the new background's character is nonspacing, <EM>ncurses</EM> reuses the old
++ background character, except for one special case: <EM>ncurses</EM> treats a
++ background character value of zero (0) as a space.
+
+- If the terminal does not support color, or if color has not been
+- initialized with <STRONG><A HREF="curs_color.3x.html">start_color(3x)</A></STRONG>, <EM>ncurses</EM> ignores the new background
++ If the terminal does not support color, or if color has not been
++ initialized with <STRONG><A HREF="curs_color.3x.html">start_color(3x)</A></STRONG>, <EM>ncurses</EM> ignores the new background
+ character's color attribute.
+
+
+ </PRE><H3><a name="h3-bkgrndset_wbkgrndset">bkgrndset, wbkgrndset</a></H3><PRE>
+- <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> manipulate the background of the applicable
+- window, without updating the character cells as <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> do;
++ <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> manipulate the background of the applicable
++ window, without updating the character cells as <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> do;
+ only future writes reflect the updated background.
+
+
+ </PRE><H3><a name="h3-getbkgrnd_wgetbkgrnd">getbkgrnd, wgetbkgrnd</a></H3><PRE>
+- The <STRONG>getbkgrnd</STRONG> and <STRONG>wgetbkgrnd</STRONG> functions obtain the background character
+- and attribute pair of <STRONG>stdscr</STRONG> or the specified window and store it via
++ The <STRONG>getbkgrnd</STRONG> and <STRONG>wgetbkgrnd</STRONG> functions obtain the background character
++ and attribute pair of <STRONG>stdscr</STRONG> or the specified window and store it via
+ the <EM>wch</EM> pointer.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> do not return a value.
+
+- The other functions return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success. In
++ The other functions return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success. In
+ <EM>ncurses</EM>, failure occurs if
+
+ <STRONG>o</STRONG> a <EM>WINDOW</EM> pointer <EM>win</EM> is null, or
+@@ -156,13 +161,13 @@
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ <STRONG>bkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, and <STRONG>getbkgrnd</STRONG> may be implemented as macros.
+
+- Unlike their counterparts in the non-wide configuration of <EM>ncurses</EM>,
+- <STRONG>getbkgrnd</STRONG> and <STRONG>wgetbkgrnd</STRONG> supply the background character and attribute
++ Unlike their counterparts in the non-wide configuration of <EM>ncurses</EM>,
++ <STRONG>getbkgrnd</STRONG> and <STRONG>wgetbkgrnd</STRONG> supply the background character and attribute
+ in a modifiable <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> parameter, not as the return value.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- X/Open Curses, Issue 4 describes these functions. It specifies no
++ X/Open Curses, Issue 4 describes these functions. It specifies no
+ error conditions for them.
+
+ X/Open Curses does not provide details of how the rendition is updated.
+@@ -170,14 +175,14 @@
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+- <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> describes the corresponding functions in the non-wide
++ <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> describes the corresponding functions in the non-wide
+ configuration of <EM>ncurses</EM>.
+
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+
+
+
+-ncurses 6.5 2024-09-14 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
++ncurses 6.5 2024-09-22 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_delch.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/curs_delch.3x.html 2024-07-27 23:11:31.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/curs_delch.3x.html 2024-09-22 18:37:10.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_delch.3x,v 1.37 2024/07/27 20:14:16 tom Exp @
++ * @Id: curs_delch.3x,v 1.39 2024/09/21 23:43:41 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_delch 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_delch 3x 2024-09-21 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_delch 3x 2024-07-27 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_delch 3x 2024-09-21 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+
+@@ -64,10 +64,10 @@
+ <STRONG>wdelch</STRONG> deletes the character at the cursor position in <EM>win</EM>. It moves
+ all characters to the right of the cursor on the same line to the left
+ one position and replaces the contents of the rightmost position on the
+- line with the window's blank character; see <STRONG><A HREF="curs_bkgd.3x.html">bkgd(3x)</A></STRONG> (wide-character
+- API users: <STRONG><A HREF="curs_bkgrnd.3x.html">bkgrnd(3x)</A></STRONG>). The cursor position does not change (after
+- moving to (<EM>y</EM>, <EM>x</EM>), if specified). <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of
+- this function.
++ line with the window's background character; see <STRONG><A HREF="curs_bkgd.3x.html">bkgd(3x)</A></STRONG> (wide-
++ character API users: <STRONG><A HREF="curs_bkgrnd.3x.html">bkgrnd(3x)</A></STRONG>). The cursor position does not change
++ (after moving to (<EM>y</EM>, <EM>x</EM>), if specified). <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the
++ variants of this function.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+@@ -103,7 +103,7 @@
+
+
+
+-ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
++ncurses 6.5 2024-09-21 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_deleteln.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/curs_deleteln.3x.html 2024-07-27 23:11:31.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/curs_deleteln.3x.html 2024-09-22 18:37:10.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_deleteln.3x,v 1.40 2024/07/27 20:12:02 tom Exp @
++ * @Id: curs_deleteln.3x,v 1.41 2024/09/22 18:35:00 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_deleteln 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_deleteln 3x 2024-09-22 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_deleteln 3x 2024-07-27 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_deleteln 3x 2024-09-22 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+
+@@ -67,15 +67,16 @@
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <STRONG>wdeleteln</STRONG> deletes the line at the cursor in <EM>win</EM>; all lines below it
+ move up one line. <EM>curses</EM> then fills the bottom line of <EM>win</EM> with the
+- blank character configured by <STRONG><A HREF="curs_bkgd.3x.html">wbkgdset(3x)</A></STRONG> (wide-character API users:
+- <STRONG><A HREF="curs_bkgrnd.3x.html">wbkgrndset(3x)</A></STRONG>). The cursor position does not change.
++ background character configured by <STRONG><A HREF="curs_bkgd.3x.html">wbkgdset(3x)</A></STRONG> (wide-character API
++ users: <STRONG><A HREF="curs_bkgrnd.3x.html">wbkgrndset(3x)</A></STRONG>). The cursor position does not change.
+
+- <STRONG>winsertln</STRONG> inserts a line of blank characters above the line at the
+- cursor in <EM>win</EM>; the content of the window's bottom line is lost. The
+- cursor position does not change.
++ <STRONG>winsertln</STRONG> inserts a new, empty line of characters above the line at the
++ cursor in <EM>win</EM>, shifting the existing lines down by one. The content of
++ the window's bottom line is lost; <EM>curses</EM> fills the new line with the
++ background character. The cursor position does not change.
+
+- <STRONG>winsdelln</STRONG> inserts or deletes <EM>n</EM> lines in <EM>win</EM> as <EM>n</EM> is positive or
+- negative, respectively, as if by repeatedly calling <STRONG>winsertln</STRONG> or
++ <STRONG>winsdelln</STRONG> inserts or deletes <EM>n</EM> lines in <EM>win</EM> as <EM>n</EM> is positive or
++ negative, respectively, as if by repeatedly calling <STRONG>winsertln</STRONG> or
+ <STRONG>wdeleteln</STRONG>.
+
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of these functions.
+@@ -90,16 +91,16 @@
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ All of these functions except <STRONG>winsdelln</STRONG> may be implemented as macros.
+
+- These functions do not require the terminal to possess hardware line
+- deletion or insertion capabilities. Even if available, by default
++ These functions do not require the terminal to possess hardware line
++ deletion or insertion capabilities. Even if available, by default
+ <EM>curses</EM> does not use them; see <STRONG><A HREF="idlok.3x.html">idlok(3x)</A></STRONG>.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- X/Open Curses, Issue 4 describes these functions. It specifies no
++ X/Open Curses, Issue 4 describes these functions. It specifies no
+ error conditions for them.
+
+- SVr4 <EM>curses</EM> describes a successful return value only as "an integer
++ SVr4 <EM>curses</EM> describes a successful return value only as "an integer
+ value other than <STRONG>ERR</STRONG>".
+
+
+@@ -114,7 +115,7 @@
+
+
+
+-ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
++ncurses 6.5 2024-09-22 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_initscr.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/curs_initscr.3x.html 2024-09-14 20:23:26.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/curs_initscr.3x.html 2024-09-21 18:35:26.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_initscr.3x,v 1.77 2024/09/11 21:00:07 tom Exp @
++ * @Id: curs_initscr.3x,v 1.79 2024/09/21 17:59:36 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_initscr 3x 2024-09-11 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_initscr 3x 2024-09-21 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_initscr 3x 2024-09-11 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_initscr 3x 2024-09-21 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+
+@@ -54,127 +54,145 @@
+ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+- <STRONG>WINDOW</STRONG> <STRONG>*initscr(void);</STRONG>
++ <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>initscr(void);</STRONG>
+ <STRONG>int</STRONG> <STRONG>endwin(void);</STRONG>
+
+ <STRONG>bool</STRONG> <STRONG>isendwin(void);</STRONG>
+
+- <STRONG>SCREEN</STRONG> <STRONG>*newterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outf</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>inf</EM><STRONG>);</STRONG>
+- <STRONG>SCREEN</STRONG> <STRONG>*set_term(SCREEN</STRONG> <STRONG>*</STRONG><EM>new</EM><STRONG>);</STRONG>
+- <STRONG>void</STRONG> <STRONG>delscreen(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> <STRONG>newterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG> <EM>outf</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG> <EM>inf</EM><STRONG>);</STRONG>
++ <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> <STRONG>set_term(SCREEN</STRONG> <STRONG>*</STRONG> <EM>new</EM><STRONG>);</STRONG>
++ <STRONG>void</STRONG> <STRONG>delscreen(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+ </PRE><H3><a name="h3-initscr">initscr</a></H3><PRE>
+- <STRONG>initscr</STRONG> is normally the first <STRONG>curses</STRONG> routine to call when initializing
+- a program. A few special routines sometimes need to be called before
+- it; these are <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG>, <STRONG>filter</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>use_env</STRONG>. For multiple-
+- terminal applications, <STRONG>newterm</STRONG> may be called before <STRONG>initscr</STRONG>.
+-
+- The initscr code determines the terminal type and initializes all
+- <STRONG>curses</STRONG> data structures. <STRONG>initscr</STRONG> also causes the first call to
+- <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> to clear the screen. If errors occur, <STRONG>initscr</STRONG> writes an
+- appropriate error message to standard error and exits; otherwise, a
+- pointer is returned to <STRONG>stdscr</STRONG>.
++ <STRONG>initscr</STRONG> determines the terminal type and initializes the library's
++ <EM>SCREEN</EM>, <EM>WINDOW</EM>, and other data structures. It is normally the first
++ <EM>curses</EM> function call a program performs. However, an application with
++ unusual needs might employ a few other <EM>curses</EM> functions beforehand:
++
++ <STRONG>o</STRONG> <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG> to set up soft-label keys;
++
++ <STRONG>o</STRONG> <STRONG><A HREF="curs_util.3x.html">filter(3x)</A></STRONG> if the program is designed to operate in a process
++ pipeline;
++
++ <STRONG>o</STRONG> <STRONG><A HREF="curs_kernel.3x.html">ripoffline(3x)</A></STRONG> to reserve up to five lines at the top and/or bottom
++ of the screen from management by <STRONG>stdscr</STRONG>, the standard <EM>curses</EM>
++ window; and
++
++ <STRONG>o</STRONG> <STRONG><A HREF="curs_util.3x.html">use_env(3x)</A></STRONG> and/or <STRONG><A HREF="curs_util.3x.html">use_tioctl(3x)</A></STRONG> to configure use of the process
++ environment and operating system's terminal driver, respectively,
++ when determining the dimensions of the terminal display.
++
++ Further, a <EM>curses</EM> program might call <STRONG>newterm</STRONG> prior to or instead of
++ <STRONG>initscr</STRONG> in two specialized cases described in its subsection below.
++
++ <STRONG>initscr</STRONG> causes the first <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> call to clear the screen. If
++ errors occur, <STRONG>initscr</STRONG> writes an appropriate diagnostic message to the
++ standard error stream and exits; otherwise, it returns a pointer to
++ <STRONG>stdscr</STRONG>.
+
+
+ </PRE><H3><a name="h3-newterm">newterm</a></H3><PRE>
+- A program that outputs to more than one terminal should use the <STRONG>newterm</STRONG>
+- routine for each terminal instead of <STRONG>initscr</STRONG>. A program that needs to
+- inspect capabilities, so it can continue to run in a line-oriented mode
+- if the terminal cannot support a screen-oriented program, would also
+- use <STRONG>newterm</STRONG>.
++ An application that manages multiple terminals should call <STRONG>newterm</STRONG> once
++ for each such device <EM>instead</EM> of <STRONG>initscr</STRONG>. <STRONG>newterm</STRONG>'s arguments are
+
+- The routine <STRONG>newterm</STRONG> should be called once for each terminal. It
+- returns a variable of type <EM>SCREEN</EM> <EM>*</EM> which should be saved as a
+- reference to that terminal. <STRONG>newterm</STRONG>'s arguments are
++ <STRONG>o</STRONG> the <EM>type</EM> of the associated terminal, or <EM>NULL</EM> to use the <EM>TERM</EM>
++ environment variable;
+
+- <STRONG>o</STRONG> the <EM>type</EM> of the terminal to be used in place of <STRONG>$TERM</STRONG>,
++ <STRONG>o</STRONG> an output stream <EM>outf</EM> connected to the terminal; and
+
+- <STRONG>o</STRONG> an output stream connected to the terminal, and
+-
+- <STRONG>o</STRONG> an input stream connected to the terminal
+-
+- If the <EM>type</EM> parameter is <STRONG>NULL</STRONG>, <STRONG>$TERM</STRONG> will be used.
+-
+- The file descriptor of the output stream is passed to <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>,
+- which returns a pointer to a <EM>TERMINAL</EM> structure. <STRONG>newterm</STRONG>'s return
+- value holds a pointer to the <EM>TERMINAL</EM> structure.
++ <STRONG>o</STRONG> an input stream <EM>inf</EM> connected to the terminal. It returns a
++ variable of structure type <EM>SCREEN</EM> <STRONG>*</STRONG>, which should be saved for
++ later use with <STRONG>set_term</STRONG> and <STRONG>delscreen</STRONG>.
++
++ <STRONG>newterm</STRONG> passes the file descriptor of the output stream to the <EM>terminfo</EM>
++ function <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>, which returns a pointer to a <EM>TERMINAL</EM> structure
++ that <STRONG>newterm</STRONG> stores in the <EM>SCREEN</EM> it returns to the application.
++
++ An application that needs to inspect a terminal type's capabilities, so
++ that it can continue to run in a line-oriented mode if the terminal
++ cannot support a screen-oriented program, would also use <STRONG>newterm</STRONG>. If
++ at most one terminal connection is needed, the programmer could perform
++ such a capability test, decide which mode in which to operate, then
++ call <STRONG>delscreen</STRONG> on the pointer returned by <STRONG>newterm</STRONG>, and proceed with
++ either <STRONG>initscr</STRONG> or a non-<EM>curses</EM> interface.
+
+
+ </PRE><H3><a name="h3-endwin">endwin</a></H3><PRE>
+- The program must also call <STRONG>endwin</STRONG> for each terminal being used before
+- exiting from <STRONG>curses</STRONG>. If <STRONG>newterm</STRONG> is called more than once for the same
++ The program must also call <STRONG>endwin</STRONG> for each terminal being used before
++ exiting from <EM>curses</EM>. If <STRONG>newterm</STRONG> is called more than once for the same
+ terminal, the first terminal referred to must be the last one for which
+ <STRONG>endwin</STRONG> is called.
+
+- A program should always call <STRONG>endwin</STRONG> before exiting or escaping from
+- <STRONG>curses</STRONG> mode temporarily. This routine
++ A program should always call <STRONG>endwin</STRONG> before exiting the application or
++ temporarily suspending <EM>curses</EM>'s management of the terminal. <STRONG>endwin</STRONG>:
+
+ <STRONG>o</STRONG> resets colors to correspond with the default color pair 0,
+
+ <STRONG>o</STRONG> moves the cursor to the lower left-hand corner of the screen,
+
+- <STRONG>o</STRONG> clears the remainder of the line so that it uses the default
++ <STRONG>o</STRONG> clears the remainder of the line so that it uses the default
+ colors,
+
+ <STRONG>o</STRONG> sets the cursor to normal visibility (see <STRONG><A HREF="curs_kernel.3x.html">curs_set(3x)</A></STRONG>),
+
+- <STRONG>o</STRONG> stops cursor-addressing mode using the <EM>exit</EM><STRONG>_</STRONG><EM>ca</EM><STRONG>_</STRONG><EM>mode</EM> terminal
+- capability,
++ <STRONG>o</STRONG> if applicable, stops cursor-addressing mode using the <STRONG>exit_ca_mode</STRONG>
++ (<STRONG>rmcup</STRONG>) terminal capability, and
+
+- <STRONG>o</STRONG> restores tty modes (see <STRONG><A HREF="curs_kernel.3x.html">reset_shell_mode(3x)</A></STRONG>).
++ <STRONG>o</STRONG> restores terminal modes (see <STRONG><A HREF="curs_kernel.3x.html">reset_shell_mode(3x)</A></STRONG>).
+
+- Calling <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> after a temporary escape causes the
+- program to resume visual mode.
++ Calling <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> after a temporary escape causes
++ <EM>curses</EM> to resume managing the terminal.
+
+
+ </PRE><H3><a name="h3-isendwin">isendwin</a></H3><PRE>
+- The <STRONG>isendwin</STRONG> routine returns <STRONG>TRUE</STRONG> if <STRONG>endwin</STRONG> has been called without any
+- subsequent calls to <STRONG>wrefresh</STRONG>, and <STRONG>FALSE</STRONG> otherwise.
++ <STRONG>isendwin</STRONG> returns <STRONG>TRUE</STRONG> if <STRONG>endwin</STRONG> has been called without any subsequent
++ calls to <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>, and <STRONG>FALSE</STRONG> otherwise.
+
+
+ </PRE><H3><a name="h3-set_term">set_term</a></H3><PRE>
+- The <STRONG>set_term</STRONG> routine is used to switch between different terminals.
+- The screen reference <EM>new</EM> becomes the new current terminal. The
+- previous terminal is returned by the routine. This is the only routine
+- which manipulates <EM>SCREEN</EM> pointers; all other routines affect only the
+- current terminal.
++ <STRONG>set_term</STRONG> re-orients the <EM>curses</EM> library's operations to another terminal
++ when the application has arranged to manage more than one with <STRONG>newterm</STRONG>.
++ <STRONG>set_term</STRONG> expects a <EM>SCREEN</EM> pointer previously returned by <STRONG>newterm</STRONG> as an
++ argument, and returns the previous one. <STRONG>set_term</STRONG> is the only <EM>curses</EM>
++ API function that manipulates <EM>SCREEN</EM> pointers; all others affect only
++ the current terminal.
+
+
+ </PRE><H3><a name="h3-delscreen">delscreen</a></H3><PRE>
+- The <STRONG>delscreen</STRONG> routine frees storage associated with the <EM>SCREEN</EM> data
+- structure. The <STRONG>endwin</STRONG> routine does not do this, so <STRONG>delscreen</STRONG> should be
+- called after <STRONG>endwin</STRONG> if a particular <EM>SCREEN</EM> is no longer needed.
++ <STRONG>delscreen</STRONG> frees the storage backing the supplied <EM>SCREEN</EM> pointer
++ argument. <STRONG>endwin</STRONG> does not, so that an application can resume managing
++ a terminal with <EM>curses</EM> after a (possibly conditional or temporary)
++ suspension; see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>. Call <STRONG>delscreen</STRONG> after <STRONG>endwin</STRONG> when a
++ particular <EM>SCREEN</EM> structure is no longer needed.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+- <STRONG>endwin</STRONG> returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon successful
+- completion.
++ <STRONG>endwin</STRONG> returns <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
+
+- Routines that return pointers always return <STRONG>NULL</STRONG> on error.
+-
+- X/Open defines no error conditions. In this implementation
++ In <EM>ncurses</EM>,
+
+ <STRONG>o</STRONG> <STRONG>endwin</STRONG> returns <STRONG>ERR</STRONG> if
+
+- <STRONG>o</STRONG> the terminal was not initialized, or
++ <STRONG>o</STRONG> the terminal was not initialized,
+
+ <STRONG>o</STRONG> <STRONG>endwin</STRONG> is called more than once without updating the screen, or
+
+- <STRONG>o</STRONG> <STRONG><A HREF="curs_kernel.3x.html">reset_shell_mode(3x)</A></STRONG> return <STRONG>ERR</STRONG>.
++ <STRONG>o</STRONG> <STRONG><A HREF="curs_kernel.3x.html">reset_shell_mode(3x)</A></STRONG> returns <STRONG>ERR</STRONG>.
+
+- <STRONG>o</STRONG> <STRONG>newterm</STRONG> returns <STRONG>ERR</STRONG> if it cannot allocate the data structures for
+- the screen, or for the top-level windows within the screen, i.e.,
+- <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, or <STRONG>stdscr</STRONG>.
++ <STRONG>o</STRONG> <STRONG>newterm</STRONG> returns <STRONG>ERR</STRONG> if it cannot allocate storage for the <EM>SCREEN</EM>
++ data structure or the top-level windows thereof: <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>,
++ and <STRONG>stdscr</STRONG>.
+
+- <STRONG>o</STRONG> <STRONG>set_term</STRONG> returns no error.
++ Functions that return pointers return <EM>NULL</EM> on error. In <EM>ncurses</EM>,
++ <STRONG>set_term</STRONG> does not fail.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- These functions were described in X/Open Curses, Issue 4. As of 2015,
+- the current document is X/Open Curses, Issue 7.
++ X/Open Curses, Issue 4 describes these functions. It specifies no
++ error conditions for them.
+
+
+ </PRE><H3><a name="h3-Differences">Differences</a></H3><PRE>
+@@ -222,19 +240,17 @@
+ descriptor can have different behavior depending on which structure
+ holds the corresponding descriptor.
+
+- For example
+-
+- <STRONG>o</STRONG> NetBSD's <STRONG><A HREF="curs_termattrs.3x.html">baudrate(3x)</A></STRONG> function uses the descriptor in <EM>TERMINAL</EM>.
+- <EM>ncurses</EM> and SVr4 use the descriptor in <EM>SCREEN</EM>.
++ <STRONG>o</STRONG> NetBSD's <EM>baudrate</EM> function uses the descriptor in <EM>TERMINAL</EM>.
++ <EM>ncurses</EM> and SVr4 <EM>curses</EM> use the descriptor in <EM>SCREEN</EM>.
+
+ <STRONG>o</STRONG> NetBSD and <EM>ncurses</EM> use the descriptor in <EM>TERMINAL</EM> for terminal I/O
+ modes, e.g., <STRONG><A HREF="curs_kernel.3x.html">def_shell_mode(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">def_prog_mode(3x)</A></STRONG>. SVr4 curses
+ uses the descriptor in <EM>SCREEN</EM>.
+
+- <STRONG>Unset</STRONG> <EM>TERM</EM> <STRONG>Variable</STRONG>
++ <STRONG>Unset</STRONG> <STRONG><EM>TERM</EM></STRONG> <STRONG>Variable</STRONG>
+ If the <EM>TERM</EM> variable is missing or empty, <STRONG>initscr</STRONG> uses the value
+ "unknown", which normally corresponds to a terminal entry with the
+- <EM>generic</EM> (<EM>gn</EM>) capability. Generic entries are detected by <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>
++ <STRONG>generic</STRONG> (<STRONG>gn</STRONG>) capability. Generic entries are detected by <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>
+ and cannot be used for full-screen operation. Other implementations
+ may handle a missing/empty <EM>TERM</EM> variable differently.
+
+@@ -303,7 +319,7 @@
+
+
+
+-ncurses 6.5 2024-09-11 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
++ncurses 6.5 2024-09-21 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_inopts.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/curs_inopts.3x.html 2024-09-14 20:23:26.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/curs_inopts.3x.html 2024-09-21 18:35:26.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_inopts.3x,v 1.77 2024/09/14 20:06:50 tom Exp @
++ * @Id: curs_inopts.3x,v 1.79 2024/09/21 18:05:49 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_inopts 3x 2024-09-14 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_inopts 3x 2024-09-21 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_inopts 3x 2024-09-14 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_inopts 3x 2024-09-21 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+
+@@ -202,7 +202,7 @@
+ </PRE><H3><a name="h3-qiflush_noqiflush">qiflush, noqiflush</a></H3><PRE>
+ <STRONG>qiflush</STRONG> and <STRONG>noqiflush</STRONG> configure the terminal driver's treatment of its
+ input and output queues when it handles the interrupt, suspend, or quit
+- characters under the normal ("cooked") or cbreak line discplines on
++ characters under the normal ("cooked") or cbreak line disciplines on
+ POSIX systems; see <STRONG>termios(3)</STRONG>. The default behavior is inherited from
+ the terminal driver settings. Calling <STRONG>qiflush</STRONG> configures the terminal
+ to flush the queues when any of these events occurs, giving the
+@@ -382,7 +382,7 @@
+
+
+
+-ncurses 6.5 2024-09-14 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
++ncurses 6.5 2024-09-21 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_kernel.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/curs_kernel.3x.html 2024-09-14 20:23:26.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/curs_kernel.3x.html 2024-09-21 18:35:27.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_kernel.3x,v 1.70 2024/09/14 20:14:54 tom Exp @
++ * @Id: curs_kernel.3x,v 1.72 2024/09/21 18:05:20 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_kernel 3x 2024-09-14 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_kernel 3x 2024-09-21 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_kernel 3x 2024-09-14 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_kernel 3x 2024-09-21 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+
+@@ -196,8 +196,8 @@
+ if the operating system's function for obtaining terminal settings
+ fails.
+
+- <STRONG>o</STRONG> <STRONG>ripoffline</STRONG> returns <STRONG>ERR</STRONG> if the maximum number of ripped-off lines
+- exceeds the maximum (5).
++ <STRONG>o</STRONG> <STRONG>ripoffline</STRONG> returns <STRONG>ERR</STRONG> if the accumulated quantity of ripped-off
++ lines would exceed the maximum (5).
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+@@ -262,7 +262,7 @@
+
+
+
+-ncurses 6.5 2024-09-14 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
++ncurses 6.5 2024-09-21 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_move.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/curs_move.3x.html 2024-07-27 23:11:32.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/curs_move.3x.html 2024-09-21 18:35:27.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_move.3x,v 1.44 2024/07/27 20:11:42 tom Exp @
++ * @Id: curs_move.3x,v 1.46 2024/09/21 18:03:44 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_move 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_move 3x 2024-09-21 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_move 3x 2024-07-27 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_move 3x 2024-09-21 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+
+@@ -70,7 +70,7 @@
+
+ They fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+- In <EM>ncurses</EM>, <STRONG>wmove</STRONG> fails if its <EM>WINDOW</EM> pointer argument is <STRONG>NULL</STRONG>.
++ In <EM>ncurses</EM>, <STRONG>wmove</STRONG> fails if <EM>win</EM> is <STRONG>NULL</STRONG>.
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+@@ -93,7 +93,7 @@
+
+
+
+-ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
++ncurses 6.5 2024-09-21 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_scr_dump.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/curs_scr_dump.3x.html 2024-06-08 23:12:49.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/curs_scr_dump.3x.html 2024-09-21 18:35:27.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_scr_dump.3x,v 1.47 2024/06/08 20:33:56 tom Exp @
++ * @Id: curs_scr_dump.3x,v 1.49 2024/09/21 09:30:22 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_scr_dump 3x 2024-06-08 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_scr_dump 3x 2024-09-21 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_scr_dump 3x 2024-06-08 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_scr_dump 3x 2024-09-21 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+
+@@ -139,19 +139,30 @@
+ considered invalid "if the time-stamp of the tty is old" but does not
+ define "old".
+
++ As of 2024, PDCurses provides these functions. NetBSD curses does not
++ provide these functions, although it provides <STRONG>getwin</STRONG>.
++
++ Other implementations of curses store the window in binary form. One
++ drawback to binary form is that this makes the dump dependent upon the
++ curses library's internal data structures. Rather than do that,
++ ncurses stores the dump in textual form, allowing more flexible use of
++ the data. For instance, SVr4 curses <STRONG>scr_restore</STRONG> requires that the
++ dumped window have the same dimensions as the restored window. ncurses
++ uses <STRONG>wresize</STRONG> to adjust the restored window size.
++
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- SVr3 (1987) introduced <STRONG>scr_dump</STRONG>, <STRONG>scr_init</STRONG>, and <STRONG>scr_restore</STRONG>. SVr3.1
++ SVr3 (1987) introduced <STRONG>scr_dump</STRONG>, <STRONG>scr_init</STRONG>, and <STRONG>scr_restore</STRONG>. SVr3.1
+ added <STRONG>scr_set</STRONG>.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
+- <STRONG>system(3)</STRONG>, <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
++ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
++ <STRONG>system(3)</STRONG>, <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+
+
+
+-ncurses 6.5 2024-06-08 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
++ncurses 6.5 2024-09-21 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_scroll.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/curs_scroll.3x.html 2024-09-14 20:23:26.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/curs_scroll.3x.html 2024-09-22 18:37:11.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_scroll.3x,v 1.47 2024/09/14 20:06:50 tom Exp @
++ * @Id: curs_scroll.3x,v 1.49 2024/09/22 14:08:11 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_scroll 3x 2024-09-14 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_scroll 3x 2024-09-22 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_scroll 3x 2024-09-14 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_scroll 3x 2024-09-22 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+
+@@ -62,11 +62,11 @@
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <STRONG>scroll</STRONG> scrolls the given window up one line. That is, every visible
+ line we might number <EM>i</EM> becomes line <EM>i</EM>-1. The text of the top line in
+- the window disappears and the bottom line is populated with blank
+- characters; see <STRONG><A HREF="curs_bkgd.3x.html">bkgd(3x)</A></STRONG> (wide-character API users: <STRONG><A HREF="curs_bkgrnd.3x.html">bkgrnd(3x)</A></STRONG>). As an
+- optimization, if the scrolling region of the window is the entire
+- screen, the physical screen may be scrolled at the same time; see
+- <STRONG><A HREF="curs_variables.3x.html">curscr(3x)</A></STRONG>.
++ the window disappears and the bottom line is populated with the
++ background character; see <STRONG><A HREF="curs_bkgd.3x.html">bkgd(3x)</A></STRONG> (wide-character API users:
++ <STRONG><A HREF="curs_bkgrnd.3x.html">bkgrnd(3x)</A></STRONG>). As an optimization, if the scrolling region of the window
++ is the entire screen, the physical screen may be scrolled at the same
++ time; see <STRONG><A HREF="curs_variables.3x.html">curscr(3x)</A></STRONG>.
+
+ <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> scrolls the specified window <EM>win</EM> up or down per the sign
+ of <EM>n</EM>.
+@@ -108,8 +108,8 @@
+ multiple scroll actions on the next update.
+
+ Neither SVr4 <EM>curses</EM> nor X/Open Curses specify whether these functions
+- zero the attributes or color pair identifier of the blank character.
+- In <EM>ncurses</EM>, they do not.
++ zero the attributes or color pair identifier of the background
++ character. In <EM>ncurses</EM>, they do not.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -117,7 +117,7 @@
+
+
+
+-ncurses 6.5 2024-09-14 <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
++ncurses 6.5 2024-09-22 <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_termcap.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/curs_termcap.3x.html 2024-09-14 20:23:27.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/curs_termcap.3x.html 2024-09-21 18:35:27.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_termcap.3x,v 1.89 2024/09/14 20:06:50 tom Exp @
++ * @Id: curs_termcap.3x,v 1.91 2024/09/21 18:00:03 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_termcap 3x 2024-09-14 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_termcap 3x 2024-09-21 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_termcap 3x 2024-09-14 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_termcap 3x 2024-09-21 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+
+@@ -284,37 +284,38 @@
+ above.
+
+ 4BSD (November 1980) renamed <EM>termlib</EM> to <EM>termcap</EM> and added another test
+- program. The library remained much the same though 4.3BSD (June 1986).
+- 4.4BSD-Lite (June 1994) refactored it, leaving the API unchanged.
++ program. The library remained much the same through 4.3BSD (June
++ 1986). 4.4BSD-Lite (June 1994) refactored it, leaving the API
++ unchanged.
+
+- Function prototypes were a feature of ANSI C (1989). The library long
++ Function prototypes were a feature of ANSI C (1989). The library long
+ antedated the standard and thus provided no header file declaring them.
+- Nevertheless, the BSD sources included two different <EM>termcap.h</EM> header
++ Nevertheless, the BSD sources included two different <EM>termcap.h</EM> header
+ files over time.
+
+ <STRONG>o</STRONG> One was used internally by <STRONG>jove(1)</STRONG> from 4.3BSD onward. It declared
+ global symbols for the <EM>termcap</EM> variables that it used.
+
+- <STRONG>o</STRONG> The other appeared in 4.4BSD-Lite Release 2 (June 1995) as part of
+- <EM>libedit</EM> (also known as the <EM>editline</EM> library). CSRG source history
++ <STRONG>o</STRONG> The other appeared in 4.4BSD-Lite Release 2 (June 1995) as part of
++ <EM>libedit</EM> (also known as the <EM>editline</EM> library). CSRG source history
+ shows that this was added in mid-1992. The <EM>libedit</EM> header file was
+ used internally as a convenience for compiling the <EM>editline</EM>
+ library. It declared function prototypes, but no global variables.
+ NetBSD's <EM>termcap</EM> library added this header file in mid-1994.
+
+- Meanwhile, GNU <EM>termcap</EM> began development in 1990. Its first release
+- (1.0) in 1991 included a <EM>termcap.h</EM> header file. Its second (1.1)
+- release in September 1992 modified the file to use <EM>const</EM> for the
+- function prototypes in the header where one would expect parameters to
+- be read-only. BSD <EM>termcap</EM> did not. The prototype for <EM>tputs</EM> also
+- differed, but in that instance, it was <EM>libedit</EM> that differed from BSD
++ Meanwhile, GNU <EM>termcap</EM> began development in 1990. Its first release
++ (1.0) in 1991 included a <EM>termcap.h</EM> header file. Its second (1.1)
++ release in September 1992 modified the file to use <EM>const</EM> for the
++ function prototypes in the header where one would expect parameters to
++ be read-only. BSD <EM>termcap</EM> did not. The prototype for <EM>tputs</EM> also
++ differed, but in that instance, it was <EM>libedit</EM> that differed from BSD
+ <EM>termcap</EM>.
+
+- GNU <STRONG>bash(1)</STRONG> has bundled GNU <EM>termcap</EM> 1.3 since mid-1993 to support its
++ GNU <STRONG>bash(1)</STRONG> has bundled GNU <EM>termcap</EM> 1.3 since mid-1993 to support its
+ <STRONG>readline(3)</STRONG> library, and continues to use it if configured to do so.
+
+- <EM>ncurses</EM> 1.8.1 (November 1993) provided a <EM>termcap.h</EM> file. It reflected
+- influence from GNU <EM>termcap</EM> and <STRONG>emacs(1)</STRONG> (rather than <STRONG>jove(1)</STRONG>),
++ <EM>ncurses</EM> 1.8.1 (November 1993) provided a <EM>termcap.h</EM> file. It reflected
++ influence from GNU <EM>termcap</EM> and <STRONG>emacs(1)</STRONG> (rather than <STRONG>jove(1)</STRONG>),
+ providing the following interface:
+
+ <STRONG>o</STRONG> global symbols used by <EM>emacs</EM>,
+@@ -323,54 +324,54 @@
+
+ <STRONG>o</STRONG> a prototype for <EM>tparam</EM>, a GNU <EM>termcap</EM> feature.
+
+- Later (in mid-1996) the <EM>tparam</EM> function was removed from <EM>ncurses</EM>. Any
+- two of the four implementations thus differ, and programs that intend
++ Later (in mid-1996) the <EM>tparam</EM> function was removed from <EM>ncurses</EM>. Any
++ two of the four implementations thus differ, and programs that intend
+ to work with all <EM>termcap</EM> library interfaces must account for that fact.
+
+
+ </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+ If you call <STRONG>tgetstr</STRONG> to fetch <STRONG>column_address</STRONG> (<STRONG>ch</STRONG>) or any other
+- parameterized string capability, be aware that it is returned in <EM>term-</EM>
++ parameterized string capability, be aware that it is returned in <EM>term-</EM>
+ <EM>info</EM> notation, not the older and not-quite-compatible <EM>termcap</EM> notation.
+- This does not cause problems if all you do with it is call <STRONG>tgoto</STRONG> or
+- <STRONG>tparm</STRONG>, which both parametrically expand <EM>terminfo</EM>-style string
+- capabilities as <EM>terminfo</EM> does. (If <EM>ncurses</EM> is configured to support
+- <EM>termcap,</EM> <STRONG>tgoto</STRONG> checks whether the string is <EM>terminfo</EM>-style by looking
+- for "<STRONG>%p</STRONG>" parameters or "<STRONG>&lt;</STRONG>...<STRONG>&gt;</STRONG>" delays, and invokes a <EM>termcap</EM>-style
++ This does not cause problems if all you do with it is call <STRONG>tgoto</STRONG> or
++ <STRONG>tparm</STRONG>, which both parametrically expand <EM>terminfo</EM>-style string
++ capabilities as <EM>terminfo</EM> does. (If <EM>ncurses</EM> is configured to support
++ <EM>termcap,</EM> <STRONG>tgoto</STRONG> checks whether the string is <EM>terminfo</EM>-style by looking
++ for "<STRONG>%p</STRONG>" parameters or "<STRONG>&lt;</STRONG>...<STRONG>&gt;</STRONG>" delays, and invokes a <EM>termcap</EM>-style
+ parser if the string appears not to use <EM>terminfo</EM> syntax.)
+
+- Because <EM>terminfo</EM>'s syntax for padding in string capabilities differs
++ Because <EM>terminfo</EM>'s syntax for padding in string capabilities differs
+ from <EM>termcap</EM>'s, users can be surprised.
+
+- <STRONG>o</STRONG> <STRONG>tputs("50")</STRONG> in a <EM>terminfo</EM> system transmits "50" rather than busy-
++ <STRONG>o</STRONG> <STRONG>tputs("50")</STRONG> in a <EM>terminfo</EM> system transmits "50" rather than busy-
+ waiting for 50 milliseconds.
+
+- <STRONG>o</STRONG> However, if <EM>ncurses</EM> is configured to support <EM>termcap</EM>, it may also
++ <STRONG>o</STRONG> However, if <EM>ncurses</EM> is configured to support <EM>termcap</EM>, it may also
+ have been configured to support BSD-style padding.
+
+- In that case, <STRONG>tputs</STRONG> inspects strings passed to it, looking for
++ In that case, <STRONG>tputs</STRONG> inspects strings passed to it, looking for
+ digits at the beginning of the string.
+
+- <STRONG>tputs("50")</STRONG> in a <EM>termcap</EM> system may busy-wait for 50 milliseconds
++ <STRONG>tputs("50")</STRONG> in a <EM>termcap</EM> system may busy-wait for 50 milliseconds
+ rather than transmitting "50".
+
+ <EM>termcap</EM> has nothing analogous to <EM>terminfo</EM>'s <STRONG>set_attributes</STRONG> (<STRONG>sgr</STRONG>)
+- capability. One consequence is that <EM>termcap</EM> applications assume that
+- "<STRONG>me</STRONG>" (equivalent to <EM>terminfo</EM>'s <STRONG>exit_attribute_mode</STRONG> (<STRONG>sgr0</STRONG>) capability)
+- does not reset the alternate character set. <EM>ncurses</EM> checks for, and
++ capability. One consequence is that <EM>termcap</EM> applications assume that
++ "<STRONG>me</STRONG>" (equivalent to <EM>terminfo</EM>'s <STRONG>exit_attribute_mode</STRONG> (<STRONG>sgr0</STRONG>) capability)
++ does not reset the alternate character set. <EM>ncurses</EM> checks for, and
+ modifies the data shared with, the <EM>termcap</EM> interface to accommodate the
+ latter's limitation in this respect.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+- <EM>TCTEST</EM> <EM>-</EM> <EM>A</EM> <EM>Termcap</EM> <EM>Test</EM> <EM>Utility</EM>
+- &lt;https://invisible-island.net/ncurses/tctest.html&gt;
++ <EM>TCTEST</EM> <EM>--</EM> <EM>A</EM> <EM>Termcap</EM> <EM>Test</EM> <EM>Utility</EM> &lt;https://invisible-island.net/ncurses/
++ tctest.html&gt;
+
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+
+
+
+-ncurses 6.5 2024-09-14 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
++ncurses 6.5 2024-09-21 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_util.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/curs_util.3x.html 2024-09-14 20:23:27.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/curs_util.3x.html 2024-09-21 18:35:27.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_util.3x,v 1.116 2024/09/11 21:02:40 tom Exp @
++ * @Id: curs_util.3x,v 1.118 2024/09/21 09:30:22 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_util 3x 2024-09-11 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_util 3x 2024-09-21 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_util 3x 2024-09-11 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_util 3x 2024-09-21 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+
+@@ -399,13 +399,13 @@
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
+- <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
++ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
++ <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
+ <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+
+
+
+-ncurses 6.5 2024-09-11 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
++ncurses 6.5 2024-09-21 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_variables.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/curs_variables.3x.html 2024-09-14 20:23:27.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/curs_variables.3x.html 2024-09-21 18:35:27.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_variables.3x,v 1.51 2024/09/14 20:06:50 tom Exp @
++ * @Id: curs_variables.3x,v 1.53 2024/09/21 18:01:56 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_variables 3x 2024-09-14 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_variables 3x 2024-09-21 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_variables 3x 2024-09-14 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_variables 3x 2024-09-21 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+
+@@ -258,7 +258,7 @@
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+- [UAX #29] "Unicode Standard Annex #29: Unicode Text Segmentation"
++ [UAX #29] "Unicode Standard Annex #29: Unicode Text Segmentation"
+ &lt;https://unicode.org/reports/tr29/&gt;
+
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,
+@@ -266,7 +266,7 @@
+
+
+
+-ncurses 6.5 2024-09-14 <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
++ncurses 6.5 2024-09-21 <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/infocmp.1m.html
+--- ncurses-6.5-20240914+/doc/html/man/infocmp.1m.html 2024-09-14 20:23:28.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/infocmp.1m.html 2024-09-21 18:35:28.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: infocmp.1m,v 1.112 2024/09/14 20:06:50 tom Exp @
++ * @Id: infocmp.1m,v 1.114 2024/09/21 18:04:29 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>infocmp 1m 2024-09-14 ncurses 6.5 User commands</TITLE>
++<TITLE>infocmp 1m 2024-09-21 ncurses 6.5 User commands</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">infocmp 1m 2024-09-14 ncurses 6.5 User commands</H1>
++<H1 class="no-header">infocmp 1m 2024-09-21 ncurses 6.5 User commands</H1>
+ <PRE>
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> User commands <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+
+@@ -52,8 +52,8 @@
+
+
+ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+- <STRONG>infocmp</STRONG> [<STRONG>-1cCdDeEFgGiIKlLnpqrtTuUVWx]</STRONG> [<STRONG>-A</STRONG> <EM>directory</EM>] [<STRONG>-B</STRONG> <EM>directory</EM>]
+- [<STRONG>-Q</STRONG> <EM>encoding</EM>] [<STRONG>-R</STRONG> <EM>subset</EM>] [<STRONG>-s</STRONG> <EM>key</EM>] [<STRONG>-v</STRONG> <EM>level</EM>] [<STRONG>-w</STRONG> <EM>width</EM>]
++ <STRONG>infocmp</STRONG> [<STRONG>-1cCdDeEFgGiIKlLnpqrtTuUVWx]</STRONG> [<STRONG>-A</STRONG> <EM>directory</EM>] [<STRONG>-B</STRONG> <EM>directory</EM>]
++ [<STRONG>-Q</STRONG> <EM>encoding</EM>] [<STRONG>-R</STRONG> <EM>subset</EM>] [<STRONG>-s</STRONG> <EM>key</EM>] [<STRONG>-v</STRONG> <EM>level</EM>] [<STRONG>-w</STRONG> <EM>width</EM>]
+ [<EM>terminal-type</EM> ... ]
+
+
+@@ -468,48 +468,47 @@
+
+
+ </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+- The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-Q</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG>
+- and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
+-
+- SVr4 infocmp does not distinguish between absent and canceled
+- capabilities. Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the
+- internal value used to represent missing integers). This
+- implementation shows those as "NULL", for consistency with missing
+- strings.
+-
+- The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is System V Release
+- 4's. Actual BSD curses versions will have a more restricted set. To
+- see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>.
++ The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-E</STRONG>, <STRONG>-f</STRONG>, <STRONG>-F</STRONG>, <STRONG>-g</STRONG>, <STRONG>-G</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG>, <STRONG>-Q</STRONG>, <STRONG>-R</STRONG>, <STRONG>-t</STRONG>, <STRONG>-T</STRONG>,
++ and <STRONG>-V</STRONG> options are <EM>ncurses</EM> extensions.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- X/Open Curses, Issue 7 (2009) provides a description of <STRONG>infocmp</STRONG>. It
+- does not mention the options used for converting to termcap format.
++ X/Open Curses, Issue 7 (2009) specifies <EM>infocmp</EM>. It does not mention
++ options for producing descriptions in <EM>termcap</EM> format.
++
++ SVr4 <EM>infocmp</EM> does not distinguish between absent and canceled
++ capabilities. It furthermore reports missing integer capabilities as
++ <STRONG>-1</STRONG> (its internal representation). <EM>ncurses</EM> shows these as "NULL" for
++ consistency with missing string capabilities.
++
++ The <STRONG>-r</STRONG> option of <EM>ncurses</EM> <EM>infocmp</EM> uses SVr4's notion of of "termcap"
++ capabilities. BSD <EM>curses</EM> had a more restricted set. To see only those
++ present in 4.4BSD, use "<STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>".
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- Although System V Release 2 provided a terminfo library, it had no
++ Although System V Release 2 provided a terminfo library, it had no
+ documented tool for decompiling the terminal descriptions. Tony Hansen
+ (AT&amp;T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3.
+
+- Eric Raymond used the AT&amp;T documentation in 1995 to provide an
+- equivalent <STRONG>infocmp</STRONG> for <EM>ncurses</EM>. In addition, he added a few new
++ Eric Raymond used the AT&amp;T documentation in 1995 to provide an
++ equivalent <STRONG>infocmp</STRONG> for <EM>ncurses</EM>. In addition, he added a few new
+ features such as:
+
+- <STRONG>o</STRONG> the <STRONG>-e</STRONG> option, to support <EM>fallback</EM> (compiled-in) terminal
++ <STRONG>o</STRONG> the <STRONG>-e</STRONG> option, to support <EM>fallback</EM> (compiled-in) terminal
+ descriptions
+
+ <STRONG>o</STRONG> the <STRONG>-i</STRONG> option, to help with analysis
+
+- Later, Thomas Dickey added the <STRONG>-x</STRONG> (user-defined capabilities) option,
+- and the <STRONG>-E</STRONG> option to support fallback entries with user-defined
++ Later, Thomas Dickey added the <STRONG>-x</STRONG> (user-defined capabilities) option,
++ and the <STRONG>-E</STRONG> option to support fallback entries with user-defined
+ capabilities.
+
+ For a complete list, see the <EM>EXTENSIONS</EM> section.
+
+- In 2010, Roy Marples provided an <STRONG>infocmp</STRONG> program for NetBSD. It is
+- less capable than the SVr4 or <EM>ncurses</EM> versions (e.g., it lacks the
+- sorting options documented in X/Open), but does include the <STRONG>-x</STRONG> option
++ In 2010, Roy Marples provided an <STRONG>infocmp</STRONG> program for NetBSD. It is
++ less capable than the SVr4 or <EM>ncurses</EM> versions (e.g., it lacks the
++ sorting options documented in X/Open), but does include the <STRONG>-x</STRONG> option
+ adapted from <EM>ncurses</EM>.
+
+
+@@ -530,7 +529,7 @@
+
+
+
+-ncurses 6.5 2024-09-14 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
++ncurses 6.5 2024-09-21 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/ncurses.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/ncurses.3x.html 2024-09-14 20:23:28.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/ncurses.3x.html 2024-09-21 18:35:29.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: ncurses.3x,v 1.231 2024/09/14 20:06:50 tom Exp @
++ * @Id: ncurses.3x,v 1.233 2024/09/21 18:02:58 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>ncurses 3x 2024-09-14 ncurses 6.5 Library calls</TITLE>
++<TITLE>ncurses 3x 2024-09-21 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">ncurses 3x 2024-09-14 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">ncurses 3x 2024-09-21 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> Library calls <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+
+@@ -61,7 +61,7 @@
+ displays with output optimized to minimize screen updates. <EM>ncurses</EM>
+ replaces the <EM>curses</EM> libraries from System V Release 4 Unix ("SVr4") and
+ 4.4BSD Unix, the development of which ceased in the 1990s. This
+- document describes <EM>ncurses</EM> version 6.5 (patch 20240914).
++ document describes <EM>ncurses</EM> version 6.5 (patch 20240921).
+
+ <EM>ncurses</EM> permits control of the terminal screen's contents; abstraction
+ and subdivision thereof with <EM>windows</EM> and <EM>pads</EM>; acquisition of keyboard
+@@ -188,12 +188,12 @@
+ VT100 and other terminals. See <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>.
+
+ <EM>curses</EM> is implemented using the operating system's terminal driver; key
+- events are received not as scan codes but as byte sequences. Graphical
+- keycaps (alphanumeric and punctuation keys, and the space) appear as-
+- is. Everything else, including the tab, enter/return, keypad, arrow,
+- and function keys, appears as a control character or a multibyte <EM>escape</EM>
+- <EM>sequence.</EM> <EM>curses</EM> can translate the latter into unique <EM>key</EM> <EM>codes.</EM> See
+- <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> and <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
++ events are received not as scan codes but as byte sequences. The
++ driver reports graphical keycaps (alphanumeric and punctuation keys,
++ and the space) as-is. Everything else, including the tab,
++ enter/return, keypad, arrow, and function keys, appears to <EM>curses</EM> as a
++ control character or a multibyte <EM>escape</EM> <EM>sequence.</EM> <EM>curses</EM> can translate
++ the latter into unique <EM>key</EM> <EM>codes.</EM> See <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> and <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
+
+ <EM>ncurses</EM> provides reimplementations of the SVr4 <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, and
+ <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> libraries; they permit overlapping windows and ease
+@@ -308,11 +308,11 @@
+ structure, not combined into an integer as in
+ <EM>chtype</EM>.
+
+- Each cell of a <EM>WINDOW</EM> is stored as a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
++ Each cell of a <EM>WINDOW</EM> is stored as a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>. <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>
++ and <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG> store and retrieve <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> data.
+
+- <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG> and <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG> store and retrieve <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>
+- data. The wide library API of <EM>ncurses</EM> depends on two data
+- types standardized by ISO C95.
++ The wide library API of <EM>ncurses</EM> depends on two data types
++ standardized by ISO C95.
+
+ <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> stores a wide character. Like <EM>chtype</EM>, it may be an
+ alias of <EM>int</EM>. Depending on the character encoding,
+@@ -324,9 +324,9 @@
+ base glyph with which it combines, and typically
+ does not advance the cursor.
+
+- <EM>wint</EM><STRONG>_</STRONG><EM>t</EM> can store a <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> or the constant <STRONG>WEOF</STRONG>,
++ <EM>wint</EM><STRONG>_</STRONG><EM>t</EM> can store a <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> or the constant <EM>WEOF</EM>,
+ analogously to the <EM>int</EM>-sized character manipulation
+- functions of ISO C and its constant <STRONG>EOF</STRONG>.
++ functions of ISO C and its constant <EM>EOF</EM>.
+
+
+ </PRE><H3><a name="h3-Function-Name-Index">Function Name Index</a></H3><PRE>
+@@ -1089,7 +1089,7 @@
+ the default location.
+
+ <STRONG>o</STRONG> Descriptions in <EM>terminfo</EM> format are normally stored in a directory
+- tree using subdirectories named by the common first letters of the
++ tree using subdirectories named for the common first letters of the
+ terminal types named therein. This is the scheme used in System V.
+
+ <STRONG>o</STRONG> If <EM>ncurses</EM> is configured to use hashed databases, then <EM>TERMINFO</EM> may
+@@ -1498,7 +1498,7 @@
+
+
+
+-ncurses 6.5 2024-09-14 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
++ncurses 6.5 2024-09-21 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/tabs.1.html
+--- ncurses-6.5-20240914+/doc/html/man/tabs.1.html 2024-09-14 20:23:29.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/tabs.1.html 2024-09-21 18:35:29.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: tabs.1,v 1.63 2024/09/14 20:06:50 tom Exp @
++ * @Id: tabs.1,v 1.65 2024/09/21 18:04:07 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>tabs 1 2024-09-14 ncurses 6.5 User commands</TITLE>
++<TITLE>tabs 1 2024-09-21 ncurses 6.5 User commands</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">tabs 1 2024-09-14 ncurses 6.5 User commands</H1>
++<H1 class="no-header">tabs 1 2024-09-21 ncurses 6.5 User commands</H1>
+ <PRE>
+ <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> User commands <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+
+@@ -203,7 +203,7 @@
+ the <STRONG>set_left_margin</STRONG> (<STRONG>smgl</STRONG>) or <STRONG>set_left_margin_parm</STRONG> (<STRONG>smglp</STRONG>)
+ capabilities needed to support the feature.
+
+- <STRONG>o</STRONG> Unlike <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <EM>tabs</EM> has no specification in X/Open Curses Issue 7.
++ <STRONG>o</STRONG> Unlike <EM>tput</EM>, <EM>tabs</EM> has no specification in X/Open Curses Issue 7.
+
+ The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are <EM>ncurses</EM> extensions not
+ provided by other implementations.
+@@ -215,7 +215,7 @@
+ same year); it supported an option "-n" to set the first tab stop at
+ the left margin. That option is not specified by POSIX.
+
+- The PWB/Unix <STRONG>tabs</STRONG> utility returned in System III (1980), and used
++ The PWB/Unix <EM>tabs</EM> utility returned in System III (1980), and used
+ built-in tables to support a half-dozen hardcopy terminal (printer)
+ types. It also had logic to support setting the left margin, as well
+ as a feature for copying the tab settings from a file.
+@@ -231,14 +231,14 @@
+ motivation, though an introductory comment "and optionally adjusts the
+ margin" remains, overlooked in the removal. The <EM>tabs</EM> utility
+ documented in Issues 6 and later has no mechanism for setting margins.
+- The <STRONG>+m</STRONG> option in <EM>ncurses</EM> <EM>tabs</EM> (<STRONG>tabs</STRONG>) differs from the SVr4 feature by
+- using terminal capabilities rather than built-in tables.
++ The <STRONG>+m</STRONG> option in <EM>ncurses</EM>'s implementation differs from the SVr4 feature
++ by using terminal capabilities rather than built-in tables.
+
+ POSIX documents no limit on the number of tab stops. Other
+ implementations impose one; the limit is 20 in PWB/Unix's <EM>tabs</EM> utility.
+ While some terminals may not accept an arbitrary number of tab stops,
+- <EM>ncurses</EM> <STRONG>tabs</STRONG> attempts to set tab stops up to the right margin if the
+- list thereof is sufficiently long.
++ <EM>ncurses</EM> attempts to set tab stops up to the right margin if the list
++ thereof is sufficiently long.
+
+ The "Rationale" section of the Issue 6 <EM>tabs</EM> reference page details how
+ the committee considered redesigning the <EM>tabs</EM> and <EM>tput</EM> utilities,
+@@ -257,7 +257,7 @@
+
+
+
+-ncurses 6.5 2024-09-14 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
++ncurses 6.5 2024-09-21 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/terminfo.5.html
+--- ncurses-6.5-20240914+/doc/html/man/terminfo.5.html 2024-09-14 20:23:29.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/terminfo.5.html 2024-09-21 18:35:29.000000000 +0000
+@@ -71,7 +71,7 @@
+ have, by specifying how to perform screen operations, and by specifying
+ padding requirements and initialization sequences.
+
+- This document describes <EM>ncurses</EM> version 6.5 (patch 20240914).
++ This document describes <EM>ncurses</EM> version 6.5 (patch 20240921).
+
+
+ </PRE><H3><a name="h3-terminfo-Entry-Syntax"><EM>terminfo</EM> Entry Syntax</a></H3><PRE>
+@@ -2108,7 +2108,7 @@
+
+ <STRONG>o</STRONG> Tektronix-like terminals have a predefined set of <EM>N</EM> colors (where <EM>N</EM>
+ is usually 8), and can set character-cell foreground and background
+- characters independently, mixing them into <EM>N</EM> * <EM>N</EM> color pairs.
++ colors independently, mixing them into <EM>N</EM> * <EM>N</EM> color pairs.
+
+ <STRONG>o</STRONG> On HP-like terminals, the user must set each color pair up
+ separately (foreground and background are not independently
+Index: doc/html/man/wresize.3x.html
+--- ncurses-6.5-20240914+/doc/html/man/wresize.3x.html 2024-07-27 23:11:34.000000000 +0000
++++ ncurses-6.5-20240922/doc/html/man/wresize.3x.html 2024-09-22 18:37:13.000000000 +0000
+@@ -28,19 +28,19 @@
+ * authorization. *
+ ****************************************************************************
+ * Author: Thomas E. Dickey 1996
+- * @Id: wresize.3x,v 1.40 2024/07/27 20:08:58 tom Exp @
++ * @Id: wresize.3x,v 1.42 2024/09/21 23:48:27 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>wresize 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
++<TITLE>wresize 3x 2024-09-21 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">wresize 3x 2024-07-27 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">wresize 3x 2024-09-21 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> Library calls <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+
+@@ -60,27 +60,28 @@
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <STRONG>wresize</STRONG>, an <EM>ncurses</EM> extension to the <EM>curses</EM> library, reallocates
+ storage for <EM>win</EM>, adjusting its dimensions to <EM>lines</EM> and <EM>columns</EM>. If
+- either dimension is larger than its current value, <EM>ncurses</EM> fills the
+- expanded part of the window with the blank character configured by
+- <STRONG><A HREF="curs_bkgd.3x.html">wbkgdset(3x)</A></STRONG> (wide-character API users: <STRONG><A HREF="curs_bkgrnd.3x.html">wbkgrndset(3x)</A></STRONG>).
++ either dimension is larger than its current value, <EM>ncurses</EM> the expanded
++ part of the window is filled with blanks merged with current background
++ rendition (configured by <STRONG><A HREF="curs_bkgd.3x.html">wbkgdset(3x)</A></STRONG>, or by wide-character API:
++ <STRONG><A HREF="curs_bkgrnd.3x.html">wbkgrndset(3x)</A></STRONG>).
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+- <STRONG>wresize</STRONG> returns <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. It fails if either
+- <EM>lines</EM> or <EM>columns</EM> is less than or equal to zero, or if an error occurs
++ <STRONG>wresize</STRONG> returns <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. It fails if either
++ <EM>lines</EM> or <EM>columns</EM> is less than or equal to zero, or if an error occurs
+ while (re)allocating memory for <EM>win</EM>.
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+- The only restriction placed on the values of <EM>lines</EM> and <EM>columns</EM> is that
+- they be greater than zero. They are <EM>not</EM> compared to the dimensions of
+- the <EM>curses</EM> screen; this keeps the logic of <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> simple. The
+- caller must ensure that <EM>win</EM>'s dimensions fit within those of the
++ The only restriction placed on the values of <EM>lines</EM> and <EM>columns</EM> is that
++ they be greater than zero. They are <EM>not</EM> compared to the dimensions of
++ the <EM>curses</EM> screen; this keeps the logic of <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> simple. The
++ caller must ensure that <EM>win</EM>'s dimensions fit within those of the
+ screen.
+
+
+ </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+- <STRONG>wresize</STRONG> is an <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> extension, and is not found in SVr4 <EM>curses</EM>,
++ <STRONG>wresize</STRONG> is an <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> extension, and is not found in SVr4 <EM>curses</EM>,
+ 4.4BSD <EM>curses</EM>, or any other previous <EM>curses</EM> implementation.
+
+
+@@ -88,14 +89,14 @@
+ Applications employing <EM>ncurses</EM> extensions should condition their use on
+ the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
+
+- NetBSD <EM>curses</EM> adopted <EM>wresize</EM> in 2001 (release 1.5.3), and <EM>PDCurses</EM> in
++ NetBSD <EM>curses</EM> adopted <EM>wresize</EM> in 2001 (release 1.5.3), and <EM>PDCurses</EM> in
+ 2004 (version 2.7).
+
+ It is not possible to resize windows with SVr4 <EM>curses</EM>.
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- Thomas Dickey developed <EM>wresize</EM> as an extension to BSD <EM>curses</EM> in 1988,
++ Thomas Dickey developed <EM>wresize</EM> as an extension to BSD <EM>curses</EM> in 1988,
+ and brought it to <EM>ncurses</EM> in mid-1995.
+
+
+@@ -108,7 +109,7 @@
+
+
+
+-ncurses 6.5 2024-07-27 <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
++ncurses 6.5 2024-09-21 <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: man/curs_addch.3x
+Prereq: 1.98
+--- ncurses-6.5-20240914+/man/curs_addch.3x 2024-07-27 20:08:58.000000000 +0000
++++ ncurses-6.5-20240922/man/curs_addch.3x 2024-09-21 18:03:23.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addch.3x,v 1.98 2024/07/27 20:08:58 tom Exp $
+-.TH curs_addch 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_addch.3x,v 1.100 2024/09/21 18:03:23 tom Exp $
++.TH curs_addch 3X 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -149,8 +149,9 @@
+ followed by
+ .RB \%( w ) refresh .
+ .I curses
+-interprets these functions as a hint that only a single character is
+-being output;
++interprets these functions as a hint to its optimizer
++that only a single character cell in the window
++is being altered between refreshes;
+ for non-control characters,
+ a considerable performance gain may be enjoyed by employing them.
+ .\" TODO: Combine the following with the "Line Drawing" subsection of
+Index: man/curs_attr.3x
+Prereq: 1.110
+--- ncurses-6.5-20240914+/man/curs_attr.3x 2024-07-27 19:57:55.000000000 +0000
++++ ncurses-6.5-20240922/man/curs_attr.3x 2024-09-21 23:39:04.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_attr.3x,v 1.110 2024/07/27 19:57:55 tom Exp $
+-.TH curs_attr 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_attr.3x,v 1.113 2024/09/21 23:39:04 tom Exp $
++.TH curs_attr 3X 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -589,7 +589,7 @@
+ Goodheart did not mention the background character or the
+ .I \%cchar_t
+ type.
+-Those are respectively SVr4 and X/Open features.
++Those are respectively SVr3.1 and X/Open features.
+ He did mention the \fBA_\fP constants, but did not indicate their values.
+ Those were not the same in different systems,
+ even for those marked as System V.
+Index: man/curs_bkgd.3x
+Prereq: 1.63
+--- ncurses-6.5-20240914+/man/curs_bkgd.3x 2024-09-14 20:06:50.000000000 +0000
++++ ncurses-6.5-20240922/man/curs_bkgd.3x 2024-09-22 18:16:03.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_bkgd.3x,v 1.63 2024/09/14 20:06:50 tom Exp $
+-.TH curs_bkgd 3X 2024-09-14 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_bkgd.3x,v 1.64 2024/09/22 18:16:03 tom Exp $
++.TH curs_bkgd 3X 2024-09-22 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -64,28 +64,31 @@
+ \fBchtype getbkgd(WINDOW *\fIwin\fP);
+ .fi
+ .SH DESCRIPTION
+-The
+-.I background
+-of a
++Every
+ .I curses
+-window
+-(in the library's non-wide configuration)
+-is a
++window has a background property.
++In the library's non-wide configuration,
++this property is a
+ .I \%chtype
+-combining a set of attributes
+-(see \fB\%curs_attr\fP(3X))
+-with a character called the
+-.I "blank character."
+-.PP
+-The blank character is a spacing character that populates a window's
+-character cells when their contents are erased without replacement.
+-The background's attributes are combined with all non-blank characters
+-written to the window,
++which combines a set of attributes with the
++.I "background character"
++(see \fB\%curs_attr\fP(3X)).
++The background character is a spacing character.
++.PP
++When erasing parts of the screen,
++.I curses
++fills the cells with the background character.
++.I curses
++also uses the window background when writing characters to the screen:
++.bP
++The attribute part of the background is combined with all
++non-blank characters that are written into the window,
+ as with the \fB\%waddch\fP(3X) and \fB\%winsch\fP(3X) families of
+ functions.
++.bP
++Both the character and attribute parts of the background are combined with
++blank characters that are written into the window.
+ .PP
+-The blank character and attributes of the background combine with
+-characters written to the window as described below.
+ The background becomes a property of the character and moves with it
+ through any scrolling and insert/delete line/character operations.
+ .PP
+@@ -111,11 +114,11 @@
+ whether or not it is blank.
+ .bP
+ .I \%ncurses
+-first compares the cell's character to the previously specified blank
+-character;
++first compares the cell's character to the previously specified
++background character;
+ if they match,
+ .I \%ncurses
+-writes the new blank character to the cell.
++writes the new background character to the cell.
+ .bP
+ .I \%ncurses
+ then checks if the cell uses color,
+@@ -141,8 +144,12 @@
+ first removing those that may have come from the current background,
+ and then adding attributes from the new background.
+ .PP
++If the new background's character is nonspacing,
++.I \%ncurses
++reuses the old background character,
++except for one special case:
+ .I \%ncurses
+-treats a background character value of zero (0) as a blank character.
++treats a background character value of zero (0) as a space.
+ .PP
+ If the terminal does not support color,
+ or if color has not been initialized with \fB\%start_color\fP(3X),
+Index: man/curs_bkgrnd.3x
+Prereq: 1.44
+--- ncurses-6.5-20240914+/man/curs_bkgrnd.3x 2024-09-14 20:06:50.000000000 +0000
++++ ncurses-6.5-20240922/man/curs_bkgrnd.3x 2024-09-22 18:23:50.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_bkgrnd.3x,v 1.44 2024/09/14 20:06:50 tom Exp $
+-.TH curs_bkgrnd 3X 2024-09-14 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_bkgrnd.3x,v 1.46 2024/09/22 18:23:50 tom Exp $
++.TH curs_bkgrnd 3X 2024-09-22 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -66,29 +66,31 @@
+ \fBint wgetbkgrnd(WINDOW *\fIwin\fP, cchar_t *\fIwch\fP);
+ .fi
+ .SH DESCRIPTION
+-The
+-.I background
+-of a
++Every
+ .I curses
+-window
+-(in the library's wide configuration)
+-is a
++window has a background property.
++In the library's wide configuration,
++this property is a
+ .I \%cchar_t
+-combining a set of attributes
++which combines a set of attributes with the
++.I "background character"
+ (see \fB\%curs_attr\fP(3X))
+-with the window's blank character.
++The background character is a spacing character.
+ .PP
+-The
+-.I "blank character"
+-is a spacing complex character that populates a window's character cells
+-when their contents are erased without replacement.
+-The background's attributes are combined with all non-blank characters
+-written to the window,
++When erasing parts of the screen,
++.I curses
++fills the cells with the background character.
++.I curses
++also uses the window background when writing characters to the screen:
++.bP
++The attribute part of the background is combined with all
++non-blank characters that are written into the window,
+ as with the \fB\%wadd_wch\fP(3X) and \fB\%wins_wch\fP(3X) families of
+ functions.
++.bP
++Both the character and attribute parts of the background are combined with
++blank characters that are written into the window.
+ .PP
+-The blank character and attributes of the background combine with
+-characters written to the window as described below.
+ The background becomes a property of the character and moves with it
+ through any scrolling and insert/delete line/character operations.
+ .PP
+@@ -114,11 +116,11 @@
+ whether or not it is blank.
+ .bP
+ .I \%ncurses
+-first compares the cell's character to the previously specified blank
+-character;
++first compares the cell's character to the previously specified
++background character;
+ if they match,
+ .I \%ncurses
+-writes the new blank character to the cell.
++writes the new background character to the cell.
+ .bP
+ .I \%ncurses
+ then checks if the cell uses color,
+@@ -144,8 +146,12 @@
+ first removing those that may have come from the current background,
+ and then adding attributes from the new background.
+ .PP
++If the new background's character is nonspacing,
++.I \%ncurses
++reuses the old background character,
++except for one special case:
+ .I \%ncurses
+-treats a background character value of zero (0) as a blank character.
++treats a background character value of zero (0) as a space.
+ .PP
+ If the terminal does not support color,
+ or if color has not been initialized with \fB\%start_color\fP(3X),
+Index: man/curs_delch.3x
+Prereq: 1.37
+--- ncurses-6.5-20240914+/man/curs_delch.3x 2024-07-27 20:14:16.000000000 +0000
++++ ncurses-6.5-20240922/man/curs_delch.3x 2024-09-21 23:43:41.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_delch.3x,v 1.37 2024/07/27 20:14:16 tom Exp $
+-.TH curs_delch 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_delch.3x,v 1.39 2024/09/21 23:43:41 tom Exp $
++.TH curs_delch 3X 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -60,7 +60,7 @@
+ .IR win .
+ It moves all characters to the right of the cursor on the same line to
+ the left one position and replaces the contents of the rightmost
+-position on the line with the window's blank character;
++position on the line with the window's background character;
+ see \fB\%bkgd\fP(3X)
+ (wide-character API users: \fB\%bkgrnd\fP(3X)).
+ The cursor position does not change
+Index: man/curs_deleteln.3x
+Prereq: 1.40
+--- ncurses-6.5-20240914+/man/curs_deleteln.3x 2024-07-27 20:12:02.000000000 +0000
++++ ncurses-6.5-20240922/man/curs_deleteln.3x 2024-09-22 18:35:00.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_deleteln.3x,v 1.40 2024/07/27 20:12:02 tom Exp $
+-.TH curs_deleteln 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_deleteln.3x,v 1.41 2024/09/22 18:35:00 tom Exp $
++.TH curs_deleteln 3X 2024-09-22 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -69,15 +69,18 @@
+ .I curses
+ then fills the bottom line of
+ .I win
+-with the blank character
++with the background character
+ configured by \fB\%wbkgdset\fP(3X)
+ (wide-character API users: \fB\%wbkgrndset\fP(3X)).
+ The cursor position does not change.
+ .PP
+ .B \%winsertln
+-inserts a line of blank characters above the line at the cursor in
+-.IR win ;
+-the content of the window's bottom line is lost.
++inserts a new, empty line of characters above the line at the cursor in
++.IR win ,
++shifting the existing lines down by one.
++The content of the window's bottom line is lost;
++.I curses
++fills the new line with the background character.
+ The cursor position does not change.
+ .PP
+ .B \%winsdelln
+Index: man/curs_initscr.3x
+Prereq: 1.77
+--- ncurses-6.5-20240914+/man/curs_initscr.3x 2024-09-11 21:00:07.000000000 +0000
++++ ncurses-6.5-20240922/man/curs_initscr.3x 2024-09-21 17:59:36.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_initscr.3x,v 1.77 2024/09/11 21:00:07 tom Exp $
+-.TH curs_initscr 3X 2024-09-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_initscr.3x,v 1.79 2024/09/21 17:59:36 tom Exp $
++.TH curs_initscr 3X 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -56,65 +56,149 @@
+ .nf
+ \fB#include <curses.h>
+ .PP
+-\fBWINDOW *initscr(void);
++\fBWINDOW * initscr(void);
+ \fBint endwin(void);
+ .PP
+ \fBbool isendwin(void);
+ .PP
+-\fBSCREEN *newterm(const char *\fItype\fP, FILE *\fIoutf\fP, FILE *\fIinf\fP);
+-\fBSCREEN *set_term(SCREEN *\fInew\fP);
+-\fBvoid delscreen(SCREEN* \fIsp\fP);
++\fBSCREEN * newterm(const char * \fItype\fP, FILE * \fIoutf\fP, FILE * \fIinf\fP);
++\fBSCREEN * set_term(SCREEN * \fInew\fP);
++\fBvoid delscreen(SCREEN * \fIsp\fP);
+ .fi
+ .SH DESCRIPTION
+ .SS initscr
+-\fBinitscr\fP is normally the first \fBcurses\fP routine to call when
+-initializing a program.
+-A few special routines sometimes need to be called before it;
+-these are \fBslk_init\fP(3X), \fBfilter\fP, \fBripoffline\fP,
+-\fBuse_env\fP.
+-For multiple-terminal applications,
+-\fBnewterm\fP may be called before \fBinitscr\fP.
+-.PP
+-The initscr code determines the terminal type and initializes all \fBcurses\fP
+-data structures.
+-\fBinitscr\fP also causes the first call to \fB\%refresh\fP(3X)
+-to clear the screen.
+-If errors occur, \fBinitscr\fP writes an appropriate error
+-message to standard error and exits;
+-otherwise, a pointer is returned to \fBstdscr\fP.
++.B \%initscr
++determines the terminal type and initializes the library's
++.IR SCREEN ","
++.IR WINDOW ","
++and other data structures.
++It is normally the first
++.I curses
++function call a program performs.
++However,
++an application with unusual needs might employ a few other
++.I curses
++functions beforehand:
++.bP
++\fB\%slk_init\fP(3X) to set up soft-label keys;
++.bP
++\fB\%filter\fP(3X) if the program is designed to operate in a process
++pipeline;
++.bP
++\fB\%ripoffline\fP(3X) to reserve up to five lines at the top and/or
++bottom of the screen from management by
++.BR \%stdscr ","
++the standard
++.I curses
++window;
++and
++.bP
++\fB\%use_env\fP(3X) and/or \fB\%use_tioctl\fP(3X) to configure use of
++the process environment and operating system's terminal driver,
++respectively,
++when determining the dimensions of the terminal display.
++.PP
++Further,
++a
++.I curses
++program might call
++.B \%newterm
++prior to or instead of
++.B \%initscr
++in two specialized cases described in its subsection below.
++.PP
++.B \%initscr
++causes the first \fB\%refresh\fP(3X) call to clear the screen.
++If errors occur,
++.B \%initscr
++writes an appropriate diagnostic message to the standard error stream
++and exits;
++otherwise,
++it returns a pointer to
++.BR stdscr "."
+ .SS newterm
+-A program that outputs to more than one terminal should use the \fBnewterm\fP
+-routine for each terminal instead of \fBinitscr\fP.
+-A program that needs to inspect capabilities,
+-so it can continue to run in a line-oriented mode if the
+-terminal cannot support a screen-oriented program, would also use
+-\fBnewterm\fP.
+-.PP
+-The routine \fBnewterm\fP should be called once for each terminal.
+-It returns a variable of type \fISCREEN *\fP which should be saved
+-as a reference to that terminal.
+-\fBnewterm\fP's arguments are
+-.bP
+-the \fItype\fP of the terminal to be used in place of \fB$TERM\fP,
+-.bP
+-an output stream connected to the terminal, and
+-.bP
+-an input stream connected to the terminal
+-.PP
+-If the \fItype\fP parameter is \fBNULL\fP, \fB$TERM\fP will be used.
+-.PP
+-The file descriptor of the output stream is passed to \fBsetupterm\fP(3X),
+-which returns a pointer to a \fI\%TERMINAL\fP structure.
+-\fBnewterm\fP's return value holds a pointer to the \fI\%TERMINAL\fP structure.
++An application that manages multiple terminals should call
++.B \%newterm
++once for each such device
++.I instead
++of
++.BR \%initscr "."
++.BR \%newterm 's
++arguments are
++.bP
++the
++.I type
++of the associated terminal,
++or
++.I NULL
++to use the
++.I TERM
++environment variable;
++.bP
++an output stream
++.I outf
++connected to the terminal;
++and
++.bP
++an input stream
++.I inf
++connected to the terminal.
++It returns a variable of structure type
++.I SCREEN
++.BR * ","
++which should be saved for later use with
++.B \%set_term
++and
++.BR \%delscreen "."
++.PP
++.B \%newterm
++passes the file descriptor of the output stream to the
++.I \%term\%info
++function \fB\%setupterm\fP(3X),
++which returns a pointer to a
++.I \%TERMINAL
++structure that
++.B \%newterm
++stores in the
++.I SCREEN
++it returns to the application.
++.PP
++An application that needs to inspect a terminal type's capabilities,
++so that it can continue to run in a line-oriented mode
++if the terminal cannot support a screen-oriented program,
++would also use
++.BR \%newterm "."
++If at most one terminal connection is needed,
++the programmer could perform such a capability test,
++decide which mode in which to operate,
++then call
++.B \%delscreen
++on the pointer returned by
++.BR \%newterm ","
++and proceed with either
++.B \%initscr
++or a
++.RI non- curses
++interface.
+ .SS endwin
+ The program must also call
+-\fBendwin\fP for each terminal being used before exiting from \fBcurses\fP.
+-If \fBnewterm\fP is called more than once for the same terminal, the first
+-terminal referred to must be the last one for which \fBendwin\fP is called.
+-.PP
+-A program should always call \fBendwin\fP before exiting or escaping from
+-\fBcurses\fP mode temporarily.
+-This routine
++.B \%endwin
++for each terminal being used before exiting from
++.IR curses "."
++If
++.B \%newterm
++is called more than once for the same terminal,
++the first terminal referred to must be the last one for which
++.B \%endwin
++is called.
++.PP
++A program should always call
++.B \%endwin
++before exiting the application
++or temporarily suspending
++.IR curses "'s"
++management of the terminal.
++.BR \%endwin ":"
+ .bP
+ resets colors to correspond with the default color pair 0,
+ .bP
+@@ -122,132 +206,200 @@
+ .bP
+ clears the remainder of the line so that it uses the default colors,
+ .bP
+-sets the cursor to normal visibility (see \fBcurs_set\fP(3X)),
+-.bP
+-stops cursor-addressing mode using the \fIexit_ca_mode\fP terminal capability,
++sets the cursor to normal visibility
++(see \fB\%curs_set\fP(3X)),
+ .bP
+-restores tty modes (see \fBreset_shell_mode\fP(3X)).
+-.PP
+-Calling \fB\%refresh\fP(3X) or \fBdoupdate\fP(3X) after a
+-temporary escape causes the program to resume visual mode.
++if applicable,
++stops cursor-addressing mode using the
++.B \%exit_ca_mode
++.RB \%( rmcup )
++terminal capability,
++and
++.bP
++restores terminal modes (see \fB\%reset_shell_mode\fP(3X)).
++.PP
++Calling \fB\%refresh\fP(3X) or \fB\%doupdate\fP(3X) after a
++temporary escape causes
++.I curses
++to resume managing the terminal.
+ .SS isendwin
+-The \fBisendwin\fP routine returns \fBTRUE\fP if \fBendwin\fP has been
+-called without any subsequent calls to \fB\%wrefresh\fP,
+-and \fBFALSE\fP otherwise.
++.B \%isendwin
++returns
++.B TRUE
++if
++.B \%endwin
++has been called without any subsequent calls to \fB\%wrefresh\fP(3X),
++and
++.B FALSE
++otherwise.
+ .SS set_term
+-The \fBset_term\fP routine is used to switch between different terminals.
+-The screen reference \fInew\fP becomes the new current terminal.
+-The previous terminal is returned by the routine.
+-This is the only routine which manipulates \fISCREEN\fP pointers;
+-all other routines affect only the current terminal.
++.B \%set_term
++re-orients the
++.I curses
++library's operations to another terminal
++when the application has arranged to manage more than one with
++.BR \%newterm "."
++.B \%set_term
++expects a
++.I SCREEN
++pointer previously returned by
++.B \%newterm
++as an argument,
++and returns the previous one.
++.B \%set_term
++is the only
++.I curses
++API function that manipulates
++.I SCREEN
++pointers;
++all others affect only the current terminal.
+ .SS delscreen
+-The \fBdelscreen\fP routine frees storage associated with the
+-\fISCREEN\fP data structure.
+-The \fBendwin\fP routine does not do
+-this, so \fBdelscreen\fP should be called after \fBendwin\fP if a
+-particular \fISCREEN\fP is no longer needed.
++.B \%delscreen
++frees the storage backing the supplied
++.I SCREEN
++pointer argument.
++.B \%endwin
++does not,
++so that an application can resume managing a terminal with
++.I curses
++after a
++(possibly conditional or temporary)
++suspension;
++see \fB\%curs_kernel\fP(3X).
++Call
++.B \%delscreen
++after
++.B \%endwin
++when a particular
++.I SCREEN
++structure
++is no longer needed.
+ .SH RETURN VALUE
+-\fBendwin\fP returns the integer \fBERR\fP upon failure and \fBOK\fP
+-upon successful completion.
+-.PP
+-Routines that return pointers always return \fBNULL\fP on error.
++.B \%endwin
++returns
++.B OK
++on success and
++.B ERR
++on failure.
+ .PP
+-X/Open defines no error conditions.
+-In this implementation
++In
++.IR \%ncurses ","
+ .bP
+-\fBendwin\fP returns
++.B \%endwin
++returns
+ .B ERR
+ if
+ .RS
+ .bP
+-the terminal was not initialized, or
++the terminal was not initialized,
+ .bP
+-\fBendwin\fP is called more than once without updating the screen, or
++.B \%endwin
++is called more than once without updating the screen,
++or
+ .bP
+-\fBreset_shell_mode\fP(3X) return
++\fB\%reset_shell_mode\fP(3X) returns
+ .BR ERR "."
+ .RE
+ .bP
+-\fBnewterm\fP
++.B \%newterm
+ returns
+ .B ERR
+-if it cannot allocate the data structures for the screen,
+-or for the top-level windows within the screen,
+-i.e.,
+-\fBcurscr\fP, \fBnewscr\fP, or \fBstdscr\fP.
+-.bP
+-\fBset_term\fP
+-returns no error.
++if it cannot allocate storage for the
++.I SCREEN
++data structure
++or the top-level windows thereof:
++.BR \%curscr ","
++.BR \%newscr ","
++and
++.BR \%stdscr "."
++.PP
++Functions that return pointers return
++.I NULL
++on error.
++In
++.IR \%ncurses ","
++.B \%set_term
++does not fail.
+ .SH PORTABILITY
+-These functions were described in X/Open Curses, Issue 4.
+-As of 2015, the current document is X/Open Curses, Issue 7.
++X/Open Curses,
++Issue 4 describes these functions.
++It specifies no error conditions for them.
+ .SS Differences
+ X/Open Curses specifies that portable applications must not
+-call \fBinitscr\fP more than once:
++call \fB\%initscr\fP more than once:
+ .bP
+-The portable way to use \fBinitscr\fP is once only,
++The portable way to use \fB\%initscr\fP is once only,
+ using \fB\%refresh\fP(3X)
+-to restore the screen after \fBendwin\fP.
++to restore the screen after \fB\%endwin\fP.
+ .bP
+-This implementation allows using \fBinitscr\fP after \fBendwin\fP.
++This implementation allows using \fB\%initscr\fP after \fB\%endwin\fP.
+ .PP
+ Old versions of curses, e.g., BSD 4.4, would return a null pointer
+-from \fBinitscr\fP when an error is detected, rather than exiting.
+-It is safe but redundant to check the return value of \fBinitscr\fP
++from \fB\%initscr\fP when an error is detected, rather than exiting.
++It is safe but redundant to check the return value of \fB\%initscr\fP
+ in X/Open Curses.
+ .PP
+-Calling \fBendwin\fP does not dispose of the memory allocated in \fBinitscr\fP
+-or \fBnewterm\fP.
++Calling \fB\%endwin\fP does not dispose of the memory allocated in
++\fB\%initscr\fP or \fB\%newterm\fP.
+ Deleting a \fISCREEN\fP provides a way to do this:
+ .bP
+-X/Open Curses does not say what happens to \fI\%WINDOW\fPs when \fBdelscreen\fP
++X/Open Curses does not say what happens to \fI\%WINDOW\fPs when
++\fB\%delscreen\fP
+ \*(``frees storage associated with the \fISCREEN\fP\*(''
+ nor does the SVr4 documentation help,
+-adding that it should be called after \fBendwin\fP if a \fISCREEN\fP
++adding that it should be called after \fB\%endwin\fP if a \fISCREEN\fP
+ is no longer needed.
+ .bP
+ However, \fI\%WINDOW\fPs are implicitly associated with a \fISCREEN\fP.
+-so that it is reasonable to expect \fBdelscreen\fP to deal with these.
++so that it is reasonable to expect \fB\%delscreen\fP to deal with these.
+ .bP
+ SVr4 curses deletes the standard \fI\%WINDOW\fP structures
+-\fBstdscr\fP and \fBcurscr\fP as well as a work area \fBnewscr\fP.
++\fB\%stdscr\fP and \fB\%curscr\fP as well as a work area \fB\%newscr\fP.
+ SVr4 curses ignores other windows.
+ .bP
+ Since version 4.0 (1996),
+ \fI\%ncurses\fP has maintained a list of all windows for each screen,
+-using that information to delete those windows when \fBdelscreen\fP is called.
++using that information to delete those windows when \fB\%delscreen\fP is
++called.
+ .bP
+ NetBSD copied this feature of \fI\%ncurses\fP in 2001.
+ PDCurses follows the SVr4 model,
+ deleting only the standard \fI\%WINDOW\fP structures.
+ .SS "High-level versus Low-level"
+ Different implementations may disagree regarding the level of some functions.
+-For example, \fISCREEN\fP (returned by \fBnewterm\fP) and
+-\fI\%TERMINAL\fP (returned by \fBsetupterm\fP(3X)) hold file descriptors for
+-the output stream.
+-If an application switches screens using \fBset_term\fR,
+-or switches terminals using \fBset_curterm\fP(3X),
++For example, \fISCREEN\fP (returned by \fB\%newterm\fP) and
++\fI\%TERMINAL\fP (returned by \fB\%setupterm\fP(3X)) hold file
++descriptors for the output stream.
++If an application switches screens using \fB\%set_term\fR,
++or switches terminals using \fB\%set_curterm\fP(3X),
+ applications which use the output file descriptor can have different
+ behavior depending on which structure holds the corresponding descriptor.
+-.PP
+-For example
+ .bP
+-NetBSD's \fBbaudrate\fP(3X) function uses the descriptor in \fI\%TERMINAL\fP.
+-\fI\%ncurses\fP and SVr4 use the descriptor in \fISCREEN\fP.
++NetBSD's
++.I \%baudrate
++function uses the descriptor in
++.IR \%TERMINAL "."
++.I \%ncurses
++and SVr4
++.I curses
++use the descriptor in
++.IR SCREEN "."
+ .bP
+ NetBSD and \fI\%ncurses\fP use the descriptor
+ in \fI\%TERMINAL\fP
+ for terminal I/O modes,
+ e.g.,
+-\fBdef_shell_mode\fP(3X),
+-\fBdef_prog_mode\fP(3X).
++\fB\%def_shell_mode\fP(3X),
++\fB\%def_prog_mode\fP(3X).
+ SVr4 curses uses the descriptor in \fISCREEN\fP.
+-.SS "Unset \fITERM\fP Variable"
+-If the \fITERM\fP variable is missing or empty, \fBinitscr\fP uses the
++.SS "Unset \f(BITERM\fP Variable"
++If the \fITERM\fP variable is missing or empty, \fB\%initscr\fP uses the
+ value \*(``unknown\*('',
+-which normally corresponds to a terminal entry with the \fIgeneric\fP
+-(\fIgn\fP) capability.
+-Generic entries are detected by \fBsetupterm\fP(3X)
++which normally corresponds to a terminal entry with the
++.B \%generic
++.RB ( gn )
++capability.
++Generic entries are detected by \fB\%setupterm\fP(3X)
+ and cannot be used for full-screen operation.
+ Other implementations may handle
+ a missing/empty \fITERM\fP variable differently.
+@@ -271,7 +423,7 @@
+ .RE
+ .PP
+ This implementation establishes signal handlers during initialization,
+-e.g., \fBinitscr\fP or \fBnewterm\fP.
++e.g., \fB\%initscr\fP or \fB\%newterm\fP.
+ Applications which must handle these signals should set up the corresponding
+ handlers \fIafter\fP initializing the library:
+ .TP 5
+@@ -283,18 +435,18 @@
+ Walking the \fISCREEN\fP list is unsafe, since all list management
+ is done without any signal blocking.
+ .bP
+-On systems which have \fBREENTRANT\fP turned on, \fBset_term\fP uses
++On systems which have \fB\%REENTRANT\fP turned on, \fB\%set_term\fP uses
+ functions which could deadlock or misbehave in other ways.
+ .bP
+-\fBendwin\fP calls other functions,
++\fB\%endwin\fP calls other functions,
+ many of which use \fI\%stdio\fP(3) or other library functions which are
+ clearly unsafe.
+ .RE
+ .TP 5
+ .B SIGTERM
+-This uses the same handler as \fBSIGINT\fP, with the same limitations.
++This uses the same handler as \fB\%SIGINT\fP, with the same limitations.
+ It is not mentioned in X/Open Curses, but is more suitable for this
+-purpose than \fBSIGQUIT\fP (which is used in debugging).
++purpose than \fB\%SIGQUIT\fP (which is used in debugging).
+ .TP 5
+ .B SIGTSTP
+ This handles the \fIstop\fP signal, used in job control.
+@@ -324,8 +476,8 @@
+ .BR \%KEY_RESIZE "."
+ .RE
+ .IP
+-At the same time, \fI\%ncurses\fP calls \fBresizeterm\fP to adjust the
+-standard screen \fBstdscr\fP,
++At the same time, \fI\%ncurses\fP calls \fB\%resizeterm\fP to adjust the
++standard screen \fB\%stdscr\fP,
+ and update other data such as \fBLINES\fP and \fBCOLS\fP.
+ .SH SEE ALSO
+ \fB\%curses\fP(3X),
+Index: man/curs_inopts.3x
+Prereq: 1.77
+--- ncurses-6.5-20240914+/man/curs_inopts.3x 2024-09-14 20:06:50.000000000 +0000
++++ ncurses-6.5-20240922/man/curs_inopts.3x 2024-09-21 18:05:49.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_inopts.3x,v 1.77 2024/09/14 20:06:50 tom Exp $
+-.TH curs_inopts 3X 2024-09-14 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_inopts.3x,v 1.79 2024/09/21 18:05:49 tom Exp $
++.TH curs_inopts 3X 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -366,7 +366,7 @@
+ when it handles the interrupt,
+ suspend,
+ or quit characters under the normal (\*(``cooked\*('')
+-or cbreak line discplines on POSIX systems;
++or cbreak line disciplines on POSIX systems;
+ see \fI\%termios\fP(3).
+ The default behavior is inherited from the terminal driver settings.
+ Calling
+Index: man/curs_kernel.3x
+Prereq: 1.70
+--- ncurses-6.5-20240914+/man/curs_kernel.3x 2024-09-14 20:14:54.000000000 +0000
++++ ncurses-6.5-20240922/man/curs_kernel.3x 2024-09-21 18:05:20.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_kernel.3x,v 1.70 2024/09/14 20:14:54 tom Exp $
+-.TH curs_kernel 3X 2024-09-14 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_kernel.3x,v 1.72 2024/09/21 18:05:20 tom Exp $
++.TH curs_kernel 3X 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -297,8 +297,8 @@
+ .B \%ripoffline
+ returns
+ .B ERR
+-if the maximum number of ripped-off lines
+-exceeds the maximum (5).
++if the accumulated quantity of ripped-off lines
++would exceed the maximum (5).
+ .SH NOTES
+ .B \%getsyx
+ is a macro;
+Index: man/curs_move.3x
+Prereq: 1.44
+--- ncurses-6.5-20240914+/man/curs_move.3x 2024-07-27 20:11:42.000000000 +0000
++++ ncurses-6.5-20240922/man/curs_move.3x 2024-09-21 18:03:44.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_move.3x,v 1.44 2024/07/27 20:11:42 tom Exp $
+-.TH curs_move 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_move.3x,v 1.46 2024/09/21 18:03:44 tom Exp $
++.TH curs_move 3X 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -85,9 +85,9 @@
+ In
+ .IR \%ncurses ,
+ .B \%wmove
+-fails if its
+-.I \%WINDOW
+-pointer argument is
++fails if
++.I win
++is
+ .BR NULL .
+ .SH NOTES
+ .B \%move
+Index: man/curs_scr_dump.3x
+Prereq: 1.47
+--- ncurses-6.5-20240914+/man/curs_scr_dump.3x 2024-06-08 20:33:56.000000000 +0000
++++ ncurses-6.5-20240922/man/curs_scr_dump.3x 2024-09-21 09:30:22.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_scr_dump.3x,v 1.47 2024/06/08 20:33:56 tom Exp $
+-.TH curs_scr_dump 3X 2024-06-08 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_scr_dump.3x,v 1.49 2024/09/21 09:30:22 tom Exp $
++.TH curs_scr_dump 3X 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -202,6 +202,19 @@
+ such that the dump data is also considered invalid
+ \*(``if the time-stamp of the tty is old\*(''
+ but does not define \*(``old\*(''.
++.PP
++As of 2024, PDCurses provides these functions.
++NetBSD curses does not provide these functions,
++although it provides \fB\%getwin\fP.
++.PP
++Other implementations of curses store the window in binary form.
++One drawback to binary form is that this makes the dump dependent upon
++the curses library's internal data structures.
++Rather than do that, ncurses stores the dump in textual form,
++allowing more flexible use of the data.
++For instance, SVr4 curses \fB\%scr_restore\fP requires that the
++dumped window have the same dimensions as the restored window.
++ncurses uses \fB\%wresize\fP to adjust the restored window size.
+ .SH HISTORY
+ SVr3 (1987) introduced
+ .BR \%scr_dump ","
+@@ -211,10 +224,13 @@
+ SVr3.1 added
+ .BR \%scr_set "."
+ .SH SEE ALSO
++.na
+ \fB\%curses\fP(3X),
+ \fB\%curs_initscr\fP(3X),
+ \fB\%curs_refresh\fP(3X),
+ \fB\%curs_util\fP(3X),
+ \fB\%system\fP(3),
+ \fB\%scr_dump\fP(5),
+-\fB\%terminfo\fP(5)
++\fB\%terminfo\fP(5),
++\fB\%wresize\fP(3X)
++.ad
+Index: man/curs_scroll.3x
+Prereq: 1.47
+--- ncurses-6.5-20240914+/man/curs_scroll.3x 2024-09-14 20:06:50.000000000 +0000
++++ ncurses-6.5-20240922/man/curs_scroll.3x 2024-09-22 14:08:11.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_scroll.3x,v 1.47 2024/09/14 20:06:50 tom Exp $
+-.TH curs_scroll 3X 2024-09-14 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_scroll.3x,v 1.49 2024/09/22 14:08:11 tom Exp $
++.TH curs_scroll 3X 2024-09-22 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -67,7 +67,7 @@
+ becomes line
+ .IR i "\-1."
+ The text of the top line in the window disappears and the bottom line
+-is populated with blank characters;
++is populated with the background character;
+ see \fB\%bkgd\fP(3X)
+ (wide-character API users: \fB\%bkgrnd\fP(3X)).
+ As an optimization,
+@@ -158,7 +158,7 @@
+ Neither SVr4
+ .I curses
+ nor X/Open Curses specify whether these functions zero the attributes or
+-color pair identifier of the blank character.
++color pair identifier of the background character.
+ In
+ .IR \%ncurses ","
+ they do not.
+Index: man/curs_termcap.3x
+Prereq: 1.89
+--- ncurses-6.5-20240914+/man/curs_termcap.3x 2024-09-14 20:06:50.000000000 +0000
++++ ncurses-6.5-20240922/man/curs_termcap.3x 2024-09-21 18:00:03.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_termcap.3x,v 1.89 2024/09/14 20:06:50 tom Exp $
+-.TH curs_termcap 3X 2024-09-14 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_termcap.3x,v 1.91 2024/09/21 18:00:03 tom Exp $
++.TH curs_termcap 3X 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -40,6 +40,9 @@
+ .el .ds '' ""
+ .\}
+ .
++.ie \n(.g .ds : \:
++.el .ds : \" empty
++.
+ .de bP
+ .ie n .IP \(bu 4
+ .el .IP \(bu 2
+@@ -505,7 +508,7 @@
+ .\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/lib/\
+ .\" libtermlib/makefile
+ and added another test program.
+-The library remained much the same though 4.3BSD
++The library remained much the same through 4.3BSD
+ (June 1986).
+ 4.4BSD-Lite
+ (June 1994)
+@@ -677,11 +680,9 @@
+ the \fItermcap\fP interface to accommodate the latter's limitation in
+ this respect.
+ .SH "SEE ALSO"
+-.na
+-.UR https://invisible\-island.net/ncurses/tctest.html
+-\fITCTEST - A Termcap Test Utility\fP
++.UR https://\*:invisible\-\*:island\*:.net/\*:ncurses/\*:tctest\*:.html
++.I "TCTEST \(em A Termcap Test Utility"
+ .UE
+-.ad
+ .PP
+ \fB\%curses\fP(3X),
+ \fB\%curs_terminfo\fP(3X),
+Index: man/curs_util.3x
+Prereq: 1.116
+--- ncurses-6.5-20240914+/man/curs_util.3x 2024-09-11 21:02:40.000000000 +0000
++++ ncurses-6.5-20240922/man/curs_util.3x 2024-09-21 09:30:22.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_util.3x,v 1.116 2024/09/11 21:02:40 tom Exp $
+-.TH curs_util 3X 2024-09-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_util.3x,v 1.118 2024/09/21 09:30:22 tom Exp $
++.TH curs_util 3X 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -523,6 +523,7 @@
+ and 6.0 (2015)
+ .IR \%use_tioctl "." \" 20120714
+ .SH SEE ALSO
++.na
+ \fB\%curses\fP(3X),
+ \fB\%curs_initscr\fP(3X),
+ \fB\%curs_inopts\fP(3X),
+@@ -531,3 +532,4 @@
+ \fB\%curs_sp_funcs\fP(3X),
+ \fB\%curs_variables\fP(3X),
+ \fB\%legacy_coding\fP(3X)
++.ad
+Index: man/curs_variables.3x
+Prereq: 1.51
+--- ncurses-6.5-20240914+/man/curs_variables.3x 2024-09-14 20:06:50.000000000 +0000
++++ ncurses-6.5-20240922/man/curs_variables.3x 2024-09-21 18:01:56.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_variables.3x,v 1.51 2024/09/14 20:06:50 tom Exp $
+-.TH curs_variables 3X 2024-09-14 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_variables.3x,v 1.53 2024/09/21 18:01:56 tom Exp $
++.TH curs_variables 3X 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -361,12 +361,10 @@
+ most users have decided either to override the value,
+ or to rely upon its default.
+ .SH SEE ALSO
+-.na
+ .UR https://\*:unicode\*:.org/\*:reports/\*:tr29/
+ [UAX #29] \*(``Unicode Standard Annex #29: Unicode Text
+ Segmentation\*(''
+ .UE
+-.ad
+ .PP
+ \fB\%curses\fP(3X),
+ \fB\%curs_color\fP(3X),
+Index: man/infocmp.1m
+Prereq: 1.112
+--- ncurses-6.5-20240914+/man/infocmp.1m 2024-09-14 20:06:50.000000000 +0000
++++ ncurses-6.5-20240922/man/infocmp.1m 2024-09-21 18:04:29.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: infocmp.1m,v 1.112 2024/09/14 20:06:50 tom Exp $
+-.TH @INFOCMP@ 1M 2024-09-14 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
++.\" $Id: infocmp.1m,v 1.114 2024/09/21 18:04:29 tom Exp $
++.TH @INFOCMP@ 1M 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -53,7 +53,6 @@
+ \fB@INFOCMP@\fP \-
+ compare or print out \fIterminfo\fP descriptions
+ .SH SYNOPSIS
+-.na
+ .HP
+ .B @INFOCMP@
+ .RB [ \-\
+@@ -100,7 +99,6 @@
+ .IR width ]
+ .RI [ \%terminal\%-type
+ \&.\|.\|.\& ]
+-.ad
+ .SH DESCRIPTION
+ \fB@INFOCMP@\fP can be used to compare a binary \fBterminfo\fP entry with other
+ terminfo entries, rewrite a \fBterminfo\fP description to take advantage of the
+@@ -605,41 +603,58 @@
+ compiled terminal description database
+ .SH EXTENSIONS
+ The
+-\fB\-0\fP,
+-\fB\-1\fP,
+-\fB\-E\fP,
+-\fB\-F\fP,
+-\fB\-G\fP,
+-\fB\-Q\fP,
+-\fB\-R\fP,
+-\fB\-T\fP,
+-\fB\-V\fP,
+-\fB\-a\fP,
+-\fB\-e\fP,
+-\fB\-f\fP,
+-\fB\-g\fP,
+-\fB\-i\fP,
+-\fB\-l\fP,
+-\fB\-p\fP,
+-\fB\-q\fP and
+-\fB\-t\fP
+-options are not supported in SVr4 curses.
++.BR \-0 ","
++.BR \-1 ","
++.BR \-a ","
++.BR \-e ","
++.BR \-E ","
++.BR \-f ","
++.BR \-F ","
++.BR \-g ","
++.BR \-G ","
++.BR \-i ","
++.BR \-l ","
++.BR \-p ","
++.BR \-q ","
++.BR \-Q ","
++.BR \-R ","
++.BR \-t ","
++.BR \-T ","
++and
++.B \-V
++options are
++.I \%ncurses
++extensions.
++.SH PORTABILITY
++X/Open Curses, Issue 7 (2009) specifies
++.IR \%infocmp "."
++It does not mention options for producing descriptions in
++.I \%term\%cap
++format.
+ .PP
+ SVr4
+-infocmp does not distinguish between absent and canceled capabilities.
+-Also, it shows missing integer capabilities as \fB\-1\fP
+-(the internal value used to represent missing integers).
+-This implementation shows those as \*(``NULL\*('',
+-for consistency with missing strings.
+-.PP
+-The \fB\-r\fP option's notion of \*(``termcap\*('' capabilities
+-is System V Release 4's.
+-Actual BSD curses versions will have a more restricted set.
+-To see only the
+-4.4BSD set, use \fB\-r\fP \fB\-RBSD\fP.
+-.SH PORTABILITY
+-X/Open Curses, Issue 7 (2009) provides a description of \fBinfocmp\fP.
+-It does not mention the options used for converting to termcap format.
++.I \%infocmp
++does not distinguish between absent and canceled capabilities.
++It furthermore reports missing integer capabilities as
++.B \-1
++(its internal representation).
++.I \%ncurses
++shows these as \*(``NULL\*(''
++for consistency with missing string capabilities.
++.PP
++The
++.B \-r
++option
++of
++.I \%ncurses
++.I \%infocmp
++uses SVr4's notion of of \*(``termcap\*('' capabilities.
++BSD
++.I curses
++had a more restricted set.
++To see only those present in 4.4BSD,
++use
++.RB \*(`` "\-r \-RBSD" \*(''.
+ .SH HISTORY
+ Although System V Release 2 provided a terminfo library,
+ it had no documented tool for decompiling the terminal descriptions.
+Index: man/ncurses.3x
+Prereq: 1.231
+--- ncurses-6.5-20240914+/man/ncurses.3x 2024-09-14 20:06:50.000000000 +0000
++++ ncurses-6.5-20240922/man/ncurses.3x 2024-09-21 18:02:58.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: ncurses.3x,v 1.231 2024/09/14 20:06:50 tom Exp $
+-.TH ncurses 3X 2024-09-14 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: ncurses.3x,v 1.233 2024/09/21 18:02:58 tom Exp $
++.TH ncurses 3X 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -333,17 +333,19 @@
+ .I curses
+ is implemented using the operating system's terminal driver;
+ key events are received not as scan codes but as byte sequences.
+-Graphical keycaps
++The driver reports graphical keycaps
+ (alphanumeric and punctuation keys,
+ and the space)
+-appear as-is.
++as-is.
+ Everything else,
+ including the tab,
+ enter/return,
+ keypad,
+ arrow,
+ and function keys,
+-appears as a control character or a multibyte
++appears to
++.I curses
++as a control character or a multibyte
+ .I "escape sequence."
+ .I curses
+ can translate the latter into unique
+@@ -566,11 +568,11 @@
+ .I \%WINDOW
+ is stored as a
+ .IR \%cchar_t .
+-.PP
+ \fB\%setcchar\fP(3X) and \fB\%getcchar\fP(3X)
+ store and retrieve
+ .I \%cchar_t
+ data.
++.PP
+ The wide library API of
+ .I \%ncurses
+ depends on two data types standardized by ISO C95.
+@@ -597,11 +599,11 @@
+ can store a
+ .I \%wchar_t
+ or the constant
+-.BR \%WEOF ,
++.IR \%WEOF ,
+ analogously to the
+ .IR int -sized
+ character manipulation functions of ISO C and its constant
+-.BR \%EOF .
++.IR \%EOF .
+ .RE
+ .\"
+ .SS "Function Name Index"
+@@ -1578,7 +1580,7 @@
+ Descriptions in
+ .I \%term\%info
+ format are normally stored in a directory tree using subdirectories
+-named by the common first letters of the terminal types named therein.
++named for the common first letters of the terminal types named therein.
+ This is the scheme used in System\ V.
+ .bP
+ If
+Index: man/tabs.1
+Prereq: 1.63
+--- ncurses-6.5-20240914+/man/tabs.1 2024-09-14 20:06:50.000000000 +0000
++++ ncurses-6.5-20240922/man/tabs.1 2024-09-21 18:04:07.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: tabs.1,v 1.63 2024/09/14 20:06:50 tom Exp $
+-.TH @TABS@ 1 2024-09-14 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
++.\" $Id: tabs.1,v 1.65 2024/09/21 18:04:07 tom Exp $
++.TH @TABS@ 1 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -247,7 +247,8 @@
+ .RB \%( smglp )
+ capabilities needed to support the feature.
+ .bP
+-Unlike \fB@TPUT@\fP(1),
++Unlike
++.IR tput ,
+ .I tabs
+ has no specification in X/Open Curses Issue\ 7.
+ .PP
+@@ -276,7 +277,7 @@
+ That option is not specified by POSIX.
+ .PP
+ The PWB/Unix
+-.B tabs
++.I tabs
+ utility returned in System III (1980),
+ and used built-in tables
+ to support a half-dozen hardcopy terminal (printer) types.
+@@ -315,10 +316,10 @@
+ The
+ .B +m
+ option in
+-.I \%ncurses
+-.I tabs
+-(\fB\%@TABS@\fP) differs from the SVr4 feature by using terminal
+-capabilities rather than built-in tables.
++.IR \%ncurses 's
++implementation
++differs from the SVr4 feature by using terminal capabilities
++rather than built-in tables.
+ .PP
+ POSIX documents no limit on the number of tab stops.
+ Other implementations impose one;
+@@ -327,8 +328,8 @@
+ utility.
+ While some terminals may not accept an arbitrary number of tab stops,
+ .I \%ncurses
+-\fB\%@TABS@\fP attempts to set tab stops up to the right margin if the
+-list thereof is sufficiently long.
++attempts to set tab stops up to the right margin
++if the list thereof is sufficiently long.
+ .PP
+ The \*(``Rationale\*('' section of the Issue 6
+ .I tabs
+Index: man/terminfo.tail
+Prereq: 1.152
+--- ncurses-6.5-20240914+/man/terminfo.tail 2024-09-14 00:43:08.000000000 +0000
++++ ncurses-6.5-20240922/man/terminfo.tail 2024-09-21 17:54:42.000000000 +0000
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: terminfo.tail,v 1.152 2024/09/14 00:43:08 Branden.Robinson Exp $
++.\" $Id: terminfo.tail,v 1.153 2024/09/21 17:54:42 Branden.Robinson Exp $
+ .ps +1
+ .SS "User-Defined Capabilities"
+ .
+@@ -1629,8 +1629,8 @@
+ terminals have a predefined set of \fIN\fP colors
+ (where \fIN\fP is usually 8),
+ and can set
+-character-cell foreground and background characters independently, mixing them
+-into \fIN\fP\ *\ \fIN\fP color pairs.
++character-cell foreground and background colors independently,
++mixing them into \fIN\fP\ *\ \fIN\fP color pairs.
+ .bP
+ On HP-like terminals, the user must set each color
+ pair up separately (foreground and background are not independently settable).
+Index: man/wresize.3x
+Prereq: 1.40
+--- ncurses-6.5-20240914+/man/wresize.3x 2024-07-27 20:08:58.000000000 +0000
++++ ncurses-6.5-20240922/man/wresize.3x 2024-09-21 23:48:27.000000000 +0000
+@@ -29,8 +29,8 @@
+ .\"
+ .\" Author: Thomas E. Dickey 1996
+ .\"
+-.\" $Id: wresize.3x,v 1.40 2024/07/27 20:08:58 tom Exp $
+-.TH wresize 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: wresize.3x,v 1.42 2024/09/21 23:48:27 tom Exp $
++.TH wresize 3X 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .SH NAME
+ \fB\%wresize\fP \-
+ resize a \fIcurses\fR window
+@@ -55,9 +55,10 @@
+ .IR columns "."
+ If either dimension is larger than its current value,
+ .I \%ncurses
+-fills the expanded part of the window with the blank character
+-configured by \fB\%wbkgdset\fP(3X)
+-(wide-character API users: \fB\%wbkgrndset\fP(3X)).
++the expanded part of the window is filled with blanks merged with
++current background rendition
++(configured by \fB\%wbkgdset\fP(3X),
++or by wide-character API: \fB\%wbkgrndset\fP(3X)).
+ .SH RETURN VALUE
+ .B \%wresize
+ returns
+Index: misc/ncurses-config.in
+Prereq: 1.55
+--- ncurses-6.5-20240914+/misc/ncurses-config.in 2024-09-14 22:16:56.000000000 +0000
++++ ncurses-6.5-20240922/misc/ncurses-config.in 2024-09-21 17:24:52.000000000 +0000
+@@ -1,5 +1,5 @@
+ #!@SHELL@
+-# $Id: ncurses-config.in,v 1.55 2024/09/14 22:16:56 tom Exp $
++# $Id: ncurses-config.in,v 1.56 2024/09/21 17:24:52 tom Exp $
+ ##############################################################################
+ # Copyright 2018-2022,2024 Thomas E. Dickey #
+ # Copyright 2006-2015,2017 Free Software Foundation, Inc. #
+@@ -50,8 +50,6 @@
+ TINFO_LIB="@TINFO_ARG_SUFFIX@"
+ RPATH_LIST="@RPATH_LIST@"
+
+-includesubdir="@includedir@/${THIS}"
+-
+ # Ensure that RPATH_LIST contains only absolute pathnames, if it is nonempty.
+ # We cannot filter it out within the build-process since the variable is used
+ # in some special cases of installation using a relative path.
+@@ -80,11 +78,14 @@
+ # the headers to include like this:
+ # <ncurses@LIB_SUFFIX@/curses.h>
+ if [ x@WITH_OVERWRITE@ = xno ]; then
++ includesubdir="@includedir@/${THIS}"
+ case $includedir in
+ $prefix/include/ncurses@LIB_SUFFIX@@EXTRA_SUFFIX@)
+ includedir=`echo "$includedir" | sed -e 's,/[^/]*$,,'`
+ ;;
+ esac
++else
++ includesubdir="@includedir@"
+ fi
+
+ LIBS="@LIBS@"
+@@ -95,20 +96,10 @@
+ fi
+
+ CFLAGS="@PKG_CFLAGS@"
+-if [ "$includedir" != "/usr/include" ]; then
+- if [ "x@WITH_OVERWRITE@" = xno ]
+- then
+- [ -n "$CFLAGS" ] && CFLAGS="$CFLAGS "
+- CFLAGS="$CFLAGS -I${includesubdir}"
+- fi
+- [ -n "$CFLAGS" ] && CFLAGS="$CFLAGS "
+- CFLAGS="$CFLAGS-I${includedir}"
+- includetop=`echo "$includedir" | sed -e 's,/include/[^/]*$,/include,'`
+- [ "$includetop" = "/usr/include" ] && includetop="$includedir"
+- if [ "x$includetop" != "x$includedir" ]
+- then
+- [ -n "$CFLAGS" ] && CFLAGS="$CFLAGS "
+- CFLAGS="$CFLAGS-I$includetop"
++if [ "$includesubdir" != "/usr/include" ]; then
++ CFLAGS="$CFLAGS -I${includesubdir}"
++ if [ "$includedir" != "/usr/include" ]; then
++ [ x@WITH_OVERWRITE@ = xno ] && CFLAGS="$CFLAGS -I${includedir}"
+ fi
+ fi
+
+Index: ncurses/base/MKlib_gen.sh
+Prereq: 1.73
+--- ncurses-6.5-20240914+/ncurses/base/MKlib_gen.sh 2022-10-01 13:14:20.000000000 +0000
++++ ncurses-6.5-20240922/ncurses/base/MKlib_gen.sh 2024-09-22 20:41:58.000000000 +0000
+@@ -2,10 +2,10 @@
+ #
+ # MKlib_gen.sh -- generate sources from curses.h macro definitions
+ #
+-# ($Id: MKlib_gen.sh,v 1.73 2022/10/01 13:14:20 tom Exp $)
++# ($Id: MKlib_gen.sh,v 1.74 2024/09/22 20:41:58 tom Exp $)
+ #
+ ##############################################################################
+-# Copyright 2018-2021,2022 Thomas E. Dickey #
++# Copyright 2018-2022,2024 Thomas E. Dickey #
+ # Copyright 1998-2016,2017 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+@@ -464,8 +464,11 @@
+ }
+ END {
+ if ( "$USE" != "generated" ) {
+- print "int main(void)"
+- print "{"
++ print "static int link_test(int code)"
++ print "{"
++ print " switch(code)"
++ print " {"
++ casenum = 1;
+ for (n = 1; n < start; ++n) {
+ value = calls[n];
+ if ( value !~ /P_POUNDC/ ) {
+@@ -480,13 +483,15 @@
+ sub(/^/,"call_",value);
+ gsub(/ (a[0-9]|z) /, " 0 ", value);
+ gsub(/ int[ \t]*[(][^)]+[)][(][^)]+[)]/, "0", value);
+- printf "\t%s;\n", value;
++ printf " case %d: %s; break;\n", casenum++, value;
+ } else {
+ print value;
+ }
+ }
+- print " return 0;"
+- print "}"
++ print " default: return 0; /* case did not exist */"
++ print " }"
++ print " return 1; /* case exists */"
++ print "}"
+ }
+ }
+ EOF1
+@@ -527,3 +532,34 @@
+ -e '/#ident/d' \
+ -e '/#line/d' \
+ | sed -f $ED4
++
++# a simple test-driver checks one or all of the linkages
++if test "$USE" = "implemented"
++then
++cat <<"EOF"
++int main(int argc, char *argv[])
++{
++ int n;
++ int rc;
++ if (argc > 1)
++ {
++ rc = !link_test(atoi(argv[1]));
++ }
++ else
++ {
++ rc = 0;
++ for (n = 1; ; ++n)
++ {
++ printf("TEST %d\n", n);
++ fflush(stdout);
++ if (!link_test(n))
++ {
++ rc = 1;
++ break;
++ }
++ }
++ }
++ return rc;
++}
++EOF
++fi
+Index: ncurses/base/lib_refresh.c
+Prereq: 1.48
+--- ncurses-6.5-20240914+/ncurses/base/lib_refresh.c 2023-05-27 20:13:10.000000000 +0000
++++ ncurses-6.5-20240922/ncurses/base/lib_refresh.c 2024-09-22 20:17:40.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020-2021,2023 Thomas E. Dickey *
++ * Copyright 2020-2023,2024 Thomas E. Dickey *
+ * Copyright 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -43,7 +43,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_refresh.c,v 1.48 2023/05/27 20:13:10 tom Exp $")
++MODULE_ID("$Id: lib_refresh.c,v 1.49 2024/09/22 20:17:40 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ wrefresh(WINDOW *win)
+@@ -55,7 +55,7 @@
+
+ T((T_CALLED("wrefresh(%p)"), (void *) win));
+
+- if (win == 0) {
++ if (SP_PARM == NULL || win == NULL) {
+ code = ERR;
+ } else if (win == CurScreen(SP_PARM)) {
+ CurScreen(SP_PARM)->_clear = TRUE;
+@@ -92,7 +92,7 @@
+
+ T((T_CALLED("wnoutrefresh(%p)"), (void *) win));
+
+- if (win == NULL)
++ if (SP_PARM == NULL || win == NULL)
+ returnCode(ERR);
+
+ /*
+Index: ncurses/base/lib_screen.c
+Prereq: 1.106
+--- ncurses-6.5-20240914+/ncurses/base/lib_screen.c 2024-07-27 19:22:23.000000000 +0000
++++ ncurses-6.5-20240922/ncurses/base/lib_screen.c 2024-09-22 20:20:36.000000000 +0000
+@@ -42,7 +42,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_screen.c,v 1.106 2024/07/27 19:22:23 tom Exp $")
++MODULE_ID("$Id: lib_screen.c,v 1.108 2024/09/22 20:20:36 tom Exp $")
+
+ #define MAX_SIZE 0x3fff /* 16k is big enough for a window or pad */
+
+@@ -960,7 +960,6 @@
+ }
+ }
+ #endif
+- delwin(target);
+ return result;
+ }
+
+@@ -972,14 +971,17 @@
+
+ T((T_CALLED("scr_restore(%p,%s)"), (void *) SP_PARM, _nc_visbuf(file)));
+
+- if (_nc_access(file, R_OK) >= 0
++ if (SP_PARM != NULL
++ && _nc_access(file, R_OK) >= 0
+ && (fp = safe_fopen(file, BIN_R)) != 0) {
+- NewScreen(SP_PARM) = replace_window(NewScreen(SP_PARM), fp);
++ WINDOW *my_newscr = replace_window(NewScreen(SP_PARM), fp);
++ (void) fclose(fp);
++ if (my_newscr != NULL) {
++ delwin(NewScreen(SP_PARM));
++ NewScreen(SP_PARM) = my_newscr;
+ #if !USE_REENTRANT
+- newscr = NewScreen(SP_PARM);
++ newscr = my_newscr;
+ #endif
+- (void) fclose(fp);
+- if (NewScreen(SP_PARM) != 0) {
+ code = OK;
+ }
+ }
+@@ -1020,7 +1022,7 @@
+
+ T((T_CALLED("scr_init(%p,%s)"), (void *) SP_PARM, _nc_visbuf(file)));
+
+- if (SP_PARM != 0 &&
++ if (SP_PARM != NULL &&
+ #ifdef USE_TERM_DRIVER
+ InfoOf(SP_PARM).caninit
+ #else
+@@ -1031,12 +1033,14 @@
+
+ if (_nc_access(file, R_OK) >= 0
+ && (fp = safe_fopen(file, BIN_R)) != 0) {
+- CurScreen(SP_PARM) = replace_window(CurScreen(SP_PARM), fp);
++ WINDOW *my_curscr = replace_window(CurScreen(SP_PARM), fp);
++ (void) fclose(fp);
++ if (my_curscr != NULL) {
++ delwin(CurScreen(SP_PARM));
++ CurScreen(SP_PARM) = my_curscr;
+ #if !USE_REENTRANT
+- curscr = CurScreen(SP_PARM);
++ curscr = my_curscr;
+ #endif
+- (void) fclose(fp);
+- if (CurScreen(SP_PARM) != 0) {
+ code = OK;
+ }
+ }
+@@ -1059,7 +1063,8 @@
+
+ T((T_CALLED("scr_set(%p,%s)"), (void *) SP_PARM, _nc_visbuf(file)));
+
+- if (NCURSES_SP_NAME(scr_init) (NCURSES_SP_ARGx file) == OK) {
++ if (SP_PARM != NULL
++ && NCURSES_SP_NAME(scr_init) (NCURSES_SP_ARGx file) == OK) {
+ delwin(NewScreen(SP_PARM));
+ NewScreen(SP_PARM) = dupwin(curscr);
+ #if !USE_REENTRANT
+Index: ncurses/base/resizeterm.c
+Prereq: 1.55
+--- ncurses-6.5-20240914+/ncurses/base/resizeterm.c 2024-07-27 23:04:55.000000000 +0000
++++ ncurses-6.5-20240922/ncurses/base/resizeterm.c 2024-09-22 20:25:15.000000000 +0000
+@@ -46,7 +46,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: resizeterm.c,v 1.55 2024/07/27 23:04:55 tom Exp $")
++MODULE_ID("$Id: resizeterm.c,v 1.56 2024/09/22 20:25:15 tom Exp $")
+
+ /*
+ * If we're trying to be reentrant, do not want any local statics.
+@@ -105,6 +105,7 @@
+ T((T_CALLED("is_term_resized(%p, %d, %d)"), (void *) SP_PARM, ToLines, ToCols));
+ returnCode(ToLines > 0
+ && ToCols > 0
++ && SP_PARM != NULL
+ && (ToLines != screen_lines(SP_PARM)
+ || ToCols != screen_columns(SP_PARM)));
+ }
+@@ -354,10 +355,10 @@
+
+ T((T_CALLED("resize_term(%p,%d,%d) old(%d,%d)"),
+ (void *) SP_PARM, ToLines, ToCols,
+- (SP_PARM == 0) ? -1 : screen_lines(SP_PARM),
+- (SP_PARM == 0) ? -1 : screen_columns(SP_PARM)));
++ (SP_PARM == NULL) ? -1 : screen_lines(SP_PARM),
++ (SP_PARM == NULL) ? -1 : screen_columns(SP_PARM)));
+
+- if (SP_PARM == 0 || ToLines <= 0 || ToCols <= 0) {
++ if (SP_PARM == NULL || ToLines <= 0 || ToCols <= 0) {
+ returnCode(ERR);
+ }
+
+@@ -473,10 +474,10 @@
+
+ T((T_CALLED("resizeterm(%p, %d,%d) old(%d,%d)"),
+ (void *) SP_PARM, ToLines, ToCols,
+- (SP_PARM == 0) ? -1 : screen_lines(SP_PARM),
+- (SP_PARM == 0) ? -1 : screen_columns(SP_PARM)));
++ (SP_PARM == NULL) ? -1 : screen_lines(SP_PARM),
++ (SP_PARM == NULL) ? -1 : screen_columns(SP_PARM)));
+
+- if (SP_PARM != 0 && ToLines > 0 && ToCols > 0) {
++ if (SP_PARM != NULL && ToLines > 0 && ToCols > 0) {
+ result = OK;
+ SP_PARM->_sig_winch = FALSE;
+
+Index: ncurses/tinfo/access.c
+Prereq: 1.37
+--- ncurses-6.5-20240914+/ncurses/tinfo/access.c 2023-06-24 21:55:09.000000000 +0000
++++ ncurses-6.5-20240922/ncurses/tinfo/access.c 2024-09-21 15:12:56.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2019-2021,2023 Thomas E. Dickey *
++ * Copyright 2019-2023,2024 Thomas E. Dickey *
+ * Copyright 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -52,7 +52,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: access.c,v 1.37 2023/06/24 21:55:09 tom Exp $")
++MODULE_ID("$Id: access.c,v 1.39 2024/09/21 15:12:56 tom Exp $")
+
+ #define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c))
+
+@@ -247,6 +247,29 @@
+ }
+
+ #ifndef USE_ROOT_ACCESS
++static int
++is_a_file(int fd)
++{
++ int result = FALSE;
++ if (fd >= 0) {
++ struct stat sb;
++ if (fstat(fd, &sb) == 0) {
++ switch (sb.st_mode & S_IFMT) {
++ case S_IFBLK:
++ case S_IFCHR:
++ case S_IFDIR:
++ /* disallow devices and directories */
++ break;
++ default:
++ /* allow regular files, fifos and sockets */
++ result = TRUE;
++ break;
++ }
++ }
++ }
++ return result;
++}
++
+ /*
+ * Limit privileges if possible; otherwise disallow access for updating files.
+ */
+@@ -263,6 +286,12 @@
+ result = fopen(path, mode);
+ }
+ #endif
++ if (result != NULL) {
++ if (!is_a_file(fileno(result))) {
++ fclose(result);
++ result = NULL;
++ }
++ }
+ return result;
+ }
+
+@@ -279,6 +308,12 @@
+ result = open(path, flags, mode);
+ }
+ #endif
++ if (result >= 0) {
++ if (!is_a_file(result)) {
++ close(result);
++ result = -1;
++ }
++ }
+ return result;
+ }
+ #endif /* USE_ROOT_ACCESS */
+Index: ncurses/wcwidth.h
+Prereq: 1.6
+--- ncurses-6.5-20240914+/ncurses/wcwidth.h 2024-05-04 18:44:25.000000000 +0000
++++ ncurses-6.5-20240922/ncurses/wcwidth.h 2024-09-21 15:49:15.000000000 +0000
+@@ -1,4 +1,4 @@
+-/* $Id: wcwidth.h,v 1.6 2024/05/04 18:44:25 tom Exp $ */
++/* $Id: wcwidth.h,v 1.7 2024/09/21 15:49:15 tom Exp $ */
+
+ /*
+ * Copyright 2002-2023,2024 by Thomas E. Dickey
+@@ -124,6 +124,7 @@
+ #include <ncurses_dll.h>
+
+ #include <wchar.h>
++#include <stdint.h>
+
+ struct interval {
+ unsigned long first;
+Index: package/debian-mingw/changelog
+--- ncurses-6.5-20240914+/package/debian-mingw/changelog 2024-09-13 23:30:09.000000000 +0000
++++ ncurses-6.5-20240922/package/debian-mingw/changelog 2024-09-22 18:38:38.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6td (6.5+20240914) unstable; urgency=low
++ncurses6td (6.5+20240922) unstable; urgency=low
+
+ * latest weekly patch
+
+- -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 13 Sep 2024 19:30:09 -0400
++ -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 22 Sep 2024 14:38:38 -0400
+
+ ncurses6 (5.9+20131005) unstable; urgency=low
+
+Index: package/debian-mingw64/changelog
+--- ncurses-6.5-20240914+/package/debian-mingw64/changelog 2024-09-13 23:30:09.000000000 +0000
++++ ncurses-6.5-20240922/package/debian-mingw64/changelog 2024-09-22 18:38:38.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6td (6.5+20240914) unstable; urgency=low
++ncurses6td (6.5+20240922) unstable; urgency=low
+
+ * latest weekly patch
+
+- -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 13 Sep 2024 19:30:09 -0400
++ -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 22 Sep 2024 14:38:38 -0400
+
+ ncurses6 (5.9+20131005) unstable; urgency=low
+
+Index: package/debian/changelog
+--- ncurses-6.5-20240914+/package/debian/changelog 2024-09-13 23:30:09.000000000 +0000
++++ ncurses-6.5-20240922/package/debian/changelog 2024-09-22 18:38:38.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6td (6.5+20240914) unstable; urgency=low
++ncurses6td (6.5+20240922) unstable; urgency=low
+
+ * latest weekly patch
+
+- -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 13 Sep 2024 19:30:09 -0400
++ -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 22 Sep 2024 14:38:38 -0400
+
+ ncurses6 (5.9+20120608) unstable; urgency=low
+
+Index: package/mingw-ncurses.nsi
+Prereq: 1.666
+--- ncurses-6.5-20240914+/package/mingw-ncurses.nsi 2024-09-13 23:30:09.000000000 +0000
++++ ncurses-6.5-20240922/package/mingw-ncurses.nsi 2024-09-22 18:38:38.000000000 +0000
+@@ -1,4 +1,4 @@
+-; $Id: mingw-ncurses.nsi,v 1.666 2024/09/13 23:30:09 tom Exp $
++; $Id: mingw-ncurses.nsi,v 1.668 2024/09/22 18:38:38 tom Exp $
+
+ ; TODO add examples
+ ; TODO bump ABI to 6
+@@ -10,7 +10,7 @@
+ !define VERSION_MAJOR "6"
+ !define VERSION_MINOR "5"
+ !define VERSION_YYYY "2024"
+-!define VERSION_MMDD "0914"
++!define VERSION_MMDD "0922"
+ !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
+
+ !define MY_ABI "5"
+Index: package/mingw-ncurses.spec
+--- ncurses-6.5-20240914+/package/mingw-ncurses.spec 2024-09-13 23:30:09.000000000 +0000
++++ ncurses-6.5-20240922/package/mingw-ncurses.spec 2024-09-22 18:38:38.000000000 +0000
+@@ -3,7 +3,7 @@
+ Summary: shared libraries for terminal handling
+ Name: mingw32-ncurses6
+ Version: 6.5
+-Release: 20240914
++Release: 20240922
+ License: X11
+ Group: Development/Libraries
+ URL: https://invisible-island.net/ncurses/
+Index: package/ncurses.spec
+--- ncurses-6.5-20240914+/package/ncurses.spec 2024-09-13 23:30:09.000000000 +0000
++++ ncurses-6.5-20240922/package/ncurses.spec 2024-09-22 18:38:38.000000000 +0000
+@@ -1,7 +1,7 @@
+ Summary: shared libraries for terminal handling
+ Name: ncurses6
+ Version: 6.5
+-Release: 20240914
++Release: 20240922
+ License: X11
+ Group: Development/Libraries
+ URL: https://invisible-island.net/ncurses/
+Index: package/ncursest.spec
+--- ncurses-6.5-20240914+/package/ncursest.spec 2024-09-13 23:30:09.000000000 +0000
++++ ncurses-6.5-20240922/package/ncursest.spec 2024-09-22 18:38:38.000000000 +0000
+@@ -1,7 +1,7 @@
+ Summary: Curses library with POSIX thread support.
+ Name: ncursest6
+ Version: 6.5
+-Release: 20240914
++Release: 20240922
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: test/back_ground.c
+Prereq: 1.9
+--- ncurses-6.5-20240914+/test/back_ground.c 2022-12-10 22:28:50.000000000 +0000
++++ ncurses-6.5-20240922/test/back_ground.c 2024-09-22 21:33:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2021,2022 Thomas E. Dickey *
++ * Copyright 2021-2022,2024 Thomas E. Dickey *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: back_ground.c,v 1.9 2022/12/10 22:28:50 tom Exp $
++ * $Id: back_ground.c,v 1.11 2024/09/22 21:33:17 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -40,7 +40,7 @@
+
+ static int default_bg = COLOR_BLACK;
+ static int default_fg = COLOR_WHITE;
+-static wchar_t wide_fill = L' ';
++static wchar_t fill_char = L' ';
+
+ static wchar_t
+ decode_wchar(const char *value)
+@@ -78,7 +78,7 @@
+ }
+ dump_window(stdscr);
+
+- blank[0] = wide_fill;
++ blank[0] = fill_char;
+ blank[1] = L'\0';
+
+ printw("Initializing pair 1 to red/%s\n", color_name(default_bg));
+@@ -182,6 +182,7 @@
+ ," -a invoke assume_default_colors, repeat to use in init_pair"
+ #endif
+ ," -b XXX specify background color"
++ ," -c XXX specify background character"
+ #if HAVE_USE_DEFAULT_COLORS
+ ," -d invoke use_default_colors, repeat to use in init_pair"
+ #endif
+@@ -214,7 +215,7 @@
+
+ setlocale(LC_ALL, "");
+
+- while ((ch = getopt(argc, argv, OPTS_COMMON "ab:df:l:wW:")) != -1) {
++ while ((ch = getopt(argc, argv, OPTS_COMMON "ab:c:df:l:wW:")) != -1) {
+ switch (ch) {
+ #if HAVE_ASSUME_DEFAULT_COLORS
+ case 'a':
+@@ -224,6 +225,17 @@
+ case 'b':
+ default_bg = color_code(optarg);
+ break;
++ case 'c':
++ if (strlen(optarg) > 1) {
++ char *check = NULL;
++ long value = strtol(optarg, &check, 0);
++ if (*check != '\0')
++ usage(FALSE);
++ fill_char = (wchar_t) value;
++ } else {
++ fill_char = *optarg;
++ }
++ break;
+ #if HAVE_USE_DEFAULT_COLORS
+ case 'd':
+ ++d_option;
+@@ -237,10 +249,10 @@
+ usage(FALSE);
+ break;
+ case 'w':
+- wide_fill = L'\u2591';
++ fill_char = L'\u2591';
+ break;
+ case 'W':
+- wide_fill = decode_wchar(optarg);
++ fill_char = decode_wchar(optarg);
+ break;
+ case OPTS_VERSION:
+ show_version(argv);
+Index: test/background.c
+Prereq: 1.24
+--- ncurses-6.5-20240914+/test/background.c 2022-12-10 22:28:50.000000000 +0000
++++ ncurses-6.5-20240922/test/background.c 2024-09-22 22:34:49.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2021,2022 Thomas E. Dickey *
++ * Copyright 2018-2022,2024 Thomas E. Dickey *
+ * Copyright 2003-2014,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -27,7 +27,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: background.c,v 1.24 2022/12/10 22:28:50 tom Exp $
++ * $Id: background.c,v 1.27 2024/09/22 22:34:49 tom Exp $
+ */
+
+ #define NEED_COLOR_CODE 1
+@@ -37,6 +37,7 @@
+
+ static int default_bg = COLOR_BLACK;
+ static int default_fg = COLOR_WHITE;
++static unsigned char fill_char = ' ';
+
+ static void
+ test_background(void)
+@@ -45,6 +46,7 @@
+ int row;
+ int chr;
+
++ printw("Background character %#x\n", fill_char);
+ if (pair_content(0, &f, &b) == ERR) {
+ printw("pair 0 contains no data\n");
+ } else {
+@@ -54,13 +56,13 @@
+
+ printw("Initializing pair 1 to red/%s\n", color_name(default_bg));
+ init_pair(1, COLOR_RED, (NCURSES_COLOR_T) default_bg);
+- bkgdset((chtype) (' ' | COLOR_PAIR(1)));
++ bkgdset((chtype) (fill_char | COLOR_PAIR(1)));
+ printw("RED/BLACK\n");
+ dump_window(stdscr);
+
+ printw("Initializing pair 2 to %s/blue\n", color_name(default_fg));
+ init_pair(2, (NCURSES_COLOR_T) default_fg, COLOR_BLUE);
+- bkgdset((chtype) (' ' | COLOR_PAIR(2)));
++ bkgdset((chtype) (fill_char | COLOR_PAIR(2)));
+ printw("This line should be %s/blue\n", color_name(default_fg));
+ dump_window(stdscr);
+
+@@ -98,33 +100,33 @@
+ printw("j\n");
+ dump_window(stdscr);
+
+- bkgdset((chtype) (' ' | COLOR_PAIR(0)));
++ bkgdset((chtype) (fill_char | COLOR_PAIR(0)));
+ printw("Default Colors\n");
+ dump_window(stdscr);
+
+ printw("Resetting colors to pair 1\n");
+- bkgdset((chtype) (' ' | COLOR_PAIR(1)));
++ bkgdset((chtype) (fill_char | COLOR_PAIR(1)));
+ printw("This line should be red/%s\n", color_name(default_bg));
+ dump_window(stdscr);
+
+ printw("Setting screen to pair 0\n");
+- bkgd((chtype) (' ' | COLOR_PAIR(0)));
++ bkgd((chtype) (fill_char | COLOR_PAIR(0)));
+ dump_window(stdscr);
+
+ printw("Setting screen to pair 1\n");
+- bkgd((chtype) (' ' | COLOR_PAIR(1)));
++ bkgd((chtype) (fill_char | COLOR_PAIR(1)));
+ dump_window(stdscr);
+
+ printw("Setting screen to pair 2\n");
+- bkgd((chtype) (' ' | COLOR_PAIR(2)));
++ bkgd((chtype) (fill_char | COLOR_PAIR(2)));
+ dump_window(stdscr);
+
+ printw("Setting screen to pair 3\n");
+- bkgd((chtype) (' ' | COLOR_PAIR(3)));
++ bkgd((chtype) (fill_char | COLOR_PAIR(3)));
+ dump_window(stdscr);
+
+ printw("Setting screen to pair 0\n");
+- bkgd((chtype) (' ' | COLOR_PAIR(0)));
++ bkgd((chtype) (fill_char | COLOR_PAIR(0)));
+ dump_window(stdscr);
+ }
+
+@@ -141,6 +143,7 @@
+ ," -a invoke assume_default_colors, repeat to use in init_pair"
+ #endif
+ ," -b XXX specify background color"
++ ," -c XXX specify background character"
+ #if HAVE_USE_DEFAULT_COLORS
+ ," -d invoke use_default_colors, repeat to use in init_pair"
+ #endif
+@@ -171,7 +174,7 @@
+
+ setlocale(LC_ALL, "");
+
+- while ((ch = getopt(argc, argv, OPTS_COMMON "ab:df:l:")) != -1) {
++ while ((ch = getopt(argc, argv, OPTS_COMMON "ab:c:df:l:")) != -1) {
+ switch (ch) {
+ #if HAVE_ASSUME_DEFAULT_COLORS
+ case 'a':
+@@ -181,6 +184,17 @@
+ case 'b':
+ default_bg = color_code(optarg);
+ break;
++ case 'c':
++ if (strlen(optarg) > 1) {
++ char *check = NULL;
++ long value = strtol(optarg, &check, 0);
++ if (*check != '\0')
++ usage(FALSE);
++ fill_char = (unsigned char) value;
++ } else {
++ fill_char = (unsigned char) *optarg;
++ }
++ break;
+ #if HAVE_USE_DEFAULT_COLORS
+ case 'd':
+ ++d_option;