aboutsummaryrefslogtreecommitdiff
path: root/packages/ncurses/6.5/ncurses-6.5-20240511.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/ncurses/6.5/ncurses-6.5-20240511.patch')
-rw-r--r--packages/ncurses/6.5/ncurses-6.5-20240511.patch8153
1 files changed, 8153 insertions, 0 deletions
diff --git a/packages/ncurses/6.5/ncurses-6.5-20240511.patch b/packages/ncurses/6.5/ncurses-6.5-20240511.patch
new file mode 100644
index 00000000..88a9dc7a
--- /dev/null
+++ b/packages/ncurses/6.5/ncurses-6.5-20240511.patch
@@ -0,0 +1,8153 @@
+# ncurses 6.5 - patch 20240511 - 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-20240511.patch.gz
+# patch by Thomas E. Dickey <dickey@invisible-island.net>
+# created Sun May 12 00:16:58 UTC 2024
+# ------------------------------------------------------------------------------
+# NEWS | 9
+# VERSION | 2
+# dist.mk | 4
+# doc/html/man/curs_add_wch.3x.html | 270 +++++++------
+# doc/html/man/curs_add_wchstr.3x.html | 63 +--
+# doc/html/man/curs_addch.3x.html | 236 ++++++-----
+# doc/html/man/curs_addchstr.3x.html | 51 +-
+# doc/html/man/curs_attr.3x.html | 13
+# doc/html/man/curs_delch.3x.html | 30 -
+# doc/html/man/curs_get_wch.3x.html | 71 +--
+# doc/html/man/curs_getch.3x.html | 128 +++---
+# doc/html/man/curs_getstr.3x.html | 10
+# doc/html/man/curs_getyx.3x.html | 68 +--
+# doc/html/man/curs_inch.3x.html | 90 +---
+# doc/html/man/curs_mouse.3x.html | 20
+# doc/html/man/curs_outopts.3x.html | 32 -
+# doc/html/man/curs_sp_funcs.3x.html | 8
+# doc/html/man/curs_termattrs.3x.html | 12
+# doc/html/man/curs_util.3x.html | 165 ++++----
+# doc/html/man/infocmp.1m.html | 8
+# doc/html/man/infotocap.1m.html | 8
+# doc/html/man/ncurses.3x.html | 673 ++++++++++++++++-----------------
+# doc/html/man/ncursesw6-config.1.html | 8
+# doc/html/man/term.5.html | 233 +++++------
+# doc/html/man/term.7.html | 8
+# doc/html/man/terminfo.5.html | 10
+# doc/html/man/tic.1m.html | 8
+# doc/html/man/toe.1m.html | 8
+# doc/html/man/tput.1.html | 8
+# doc/html/man/tset.1.html | 8
+# man/MKncu_config.in | 4
+# man/curs_add_wch.3x | 312 +++++++++------
+# man/curs_add_wchstr.3x | 95 ++--
+# man/curs_addch.3x | 148 +++----
+# man/curs_addchstr.3x | 89 ++--
+# man/curs_attr.3x | 14
+# man/curs_delch.3x | 17
+# man/curs_get_wch.3x | 51 +-
+# man/curs_getch.3x | 120 +++--
+# man/curs_getstr.3x | 6
+# man/curs_getyx.3x | 139 ++++--
+# man/curs_inch.3x | 123 +++---
+# man/curs_mouse.3x | 13
+# man/curs_outopts.3x | 28 -
+# man/curs_sp_funcs.3x | 4
+# man/curs_termattrs.3x | 6
+# man/curs_util.3x | 9
+# man/infocmp.1m | 7
+# man/infotocap.1m | 7
+# man/man_db.renames.in | 6
+# man/manhtml.aliases | 7
+# man/manhtml.externs | 3
+# man/ncurses.3x | 188 +++++----
+# man/term.5 | 427 +++++++++++++-------
+# man/term.7 | 11
+# man/terminfo.head | 7
+# man/terminfo.tail | 8
+# man/tic.1m | 16
+# man/toe.1m | 7
+# man/tput.1 | 7
+# man/tset.1 | 7
+# ncurses/base/lib_newterm.c | 5
+# ncurses/curses.priv.h | 8
+# ncurses/tinfo/lib_setup.c | 6
+# ncurses/tinfo/tinfo_driver.c | 8
+# 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
+# 72 files changed, 2329 insertions(+), 1868 deletions(-)
+# ------------------------------------------------------------------------------
+Index: NEWS
+Prereq: 1.4117
+--- ncurses-6.5-20240504+/NEWS 2024-05-04 18:43:01.000000000 +0000
++++ ncurses-6.5-20240511/NEWS 2024-05-11 21:38:14.000000000 +0000
+@@ -26,7 +26,7 @@
+ -- sale, use or other dealings in this Software without prior written --
+ -- authorization. --
+ -------------------------------------------------------------------------------
+--- $Id: NEWS,v 1.4117 2024/05/04 18:43:01 tom Exp $
++-- $Id: NEWS,v 1.4119 2024/05/11 21:38:14 tom Exp $
+ -------------------------------------------------------------------------------
+
+ This is a log of changes that ncurses has gone through since Zeyd started
+@@ -46,6 +46,13 @@
+ Changes through 1.9.9e did not credit all contributions;
+ it is not possible to add this information.
+
++20240511
++ + improve formatting/style of manpages (patches by Branden Robinson).
++ + limit value from ESCDELAY environment variable to 30 seconds, like
++ other delay limits.
++ + limit values from LINES and COLUMNS environment variables to 512
++ (report by Miroslav Lichvar).
++
+ 20240504
+ + update ncurses/wcwidth.c, for MinGW ports, from xterm.
+ + trim obsolete comment about tack from INSTALL.
+Index: VERSION
+--- ncurses-6.5-20240504+/VERSION 2024-05-04 10:21:09.000000000 +0000
++++ ncurses-6.5-20240511/VERSION 2024-05-11 10:20:08.000000000 +0000
+@@ -1 +1 @@
+-5:0:10 6.5 20240504
++5:0:10 6.5 20240511
+Index: dist.mk
+Prereq: 1.1611
+--- ncurses-6.5-20240504+/dist.mk 2024-05-04 10:21:09.000000000 +0000
++++ ncurses-6.5-20240511/dist.mk 2024-05-11 10:20:08.000000000 +0000
+@@ -26,7 +26,7 @@
+ # use or other dealings in this Software without prior written #
+ # authorization. #
+ ##############################################################################
+-# $Id: dist.mk,v 1.1611 2024/05/04 10:21:09 tom Exp $
++# $Id: dist.mk,v 1.1612 2024/05/11 10:20:08 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 = 20240504
++NCURSES_PATCH = 20240511
+
+ # 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_add_wch.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_add_wch.3x.html 2024-04-27 18:38:45.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_add_wch.3x.html 2024-05-11 22:32:32.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_add_wch.3x,v 1.62 2024/04/20 21:20:07 tom Exp @
++ * @Id: curs_add_wch.3x,v 1.63 2024/05/11 21:31:45 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_add_wch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_add_wch 3x 2024-05-11 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_add_wch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_add_wch 3x 2024-05-11 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+
+@@ -49,7 +49,7 @@
+
+ </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, <STRONG>echo_wchar</STRONG>, <STRONG>wecho_wchar</STRONG> - add
+- a <EM>curses</EM> complex character to a window and advance the cursor
++ a <EM>curses</EM> complex character to a window, possibly advancing the cursor
+
+
+ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+@@ -66,55 +66,85 @@
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+-</PRE><H3><a name="h3-add_wch">add_wch</a></H3><PRE>
+- The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, and <STRONG>mvwadd_wch</STRONG> functions put the
+- complex character <EM>wch</EM> into the given window at its current position,
+- which is then advanced. These functions perform wrapping and special-
+- character processing as follows:
+-
+- <STRONG>o</STRONG> If <EM>wch</EM> refers to a spacing character, then any previous character
+- at that location is removed. A new character specified by <EM>wch</EM> is
+- placed at that location with rendition specified by <EM>wch</EM>. The
+- cursor then advances after this spacing character, to prepare for
+- writing the next character on the screen.
+-
+- The newly added spacing character is the base of the active complex
+- character. Subsequent non-spacing characters can be combined with
+- this base until another spacing character is written to the screen,
+- or the cursor is moved, e.g., using <STRONG>wmove</STRONG>.
+-
+- <STRONG>o</STRONG> If <EM>wch</EM> refers to a non-spacing character, it is appended to the
+- active complex character, retaining the previous characters at that
+- location. The rendition specified by <EM>wch</EM> is ignored.
++</PRE><H3><a name="h3-wadd_wch">wadd_wch</a></H3><PRE>
++ <STRONG>wadd_wch</STRONG> writes the complex character <EM>wch</EM> to the window <EM>win</EM>, then may
++ advance the cursor position, analogously to the standard C library's
++ <STRONG>putwchar(3)</STRONG>. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function.
++
++ Much behavior depends on whether the wide characters in <EM>wch</EM> are spacing
++ or non-spacing; see subsection "Complex Characters" below.
++
++ <STRONG>o</STRONG> If <EM>wch</EM> contains a spacing character, then any character at the
++ cursor is first removed. The complex character <EM>wch</EM>, with its
++ attributes and color pair identifier, becomes the <EM>base</EM> of the
++ <EM>active</EM> <EM>complex</EM> <EM>character</EM>.
++
++ <STRONG>o</STRONG> If <EM>wch</EM> contains only non-spacing characters, they are combined with
++ the active complex character. <EM>curses</EM> ignores its attributes and
++ color pair identifier, and does not advance the cursor.
++
++ Further non-spacing characters added with <STRONG>wadd_wch</STRONG> are not written at
++ the new cursor position but combine with the active complex character
++ until another spacing character is written to the window or the cursor
++ is moved.
++
++ If advancement occurs at the right margin,
++
++ <STRONG>o</STRONG> the cursor automatically wraps to the beginning of the next line,
++ then,
++
++ <STRONG>o</STRONG> if it was at the bottom of the scrolling region, and if
++ <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is enabled for <EM>win</EM>, the scrolling region scrolls up
++ one line.
++
++ If <EM>wch</EM> is a backspace, carriage return, line feed, or tab, the cursor
++ moves appropriately within the window.
++
++ <STRONG>o</STRONG> Backspace moves the cursor one character left; at the left margin
++ of a window, it does nothing.
++
++ <STRONG>o</STRONG> Carriage return moves the cursor to the left margin on the current
++ line of the window.
++
++ <STRONG>o</STRONG> Line feed does a <STRONG><A HREF="curs_clear.3x.html">clrtoeol(3x)</A></STRONG>, then advances as if from the right
++ margin.
++
++ <STRONG>o</STRONG> Tab advances the cursor to the next tab stop (possibly on the next
++ line); these are placed at every eighth column by default. Alter
++ the tab interval with the <STRONG>TABSIZE</STRONG> extension; see
++ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
++
++ If <EM>wch</EM> is any other nonprintable character, it is drawn in printable
++ form using the same convention as <STRONG><A HREF="curs_util.3x.html">wunctrl(3x)</A></STRONG>.
++
++ Calling <STRONG><A HREF="curs_in_wch.3x.html">win_wch(3x)</A></STRONG> on the location of a nonprintable character does
++ not return the character itself, but its <STRONG><A HREF="curs_util.3x.html">wunctrl(3x)</A></STRONG> representation.
++
++
++</PRE><H3><a name="h3-wecho_wchar">wecho_wchar</a></H3><PRE>
++ <STRONG>echo_wchar</STRONG> and <STRONG>wecho_wchar</STRONG> are equivalent to calling (<STRONG>w</STRONG>)<STRONG>add_wch</STRONG>
++ followed by (<STRONG>w</STRONG>)<STRONG>refresh</STRONG>. <EM>curses</EM> interprets these functions as a hint
++ that only a single (complex) character is being output; 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>WACS_</STRONG> that can be used with
++ <STRONG>wadd_wch</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 name "ACS" originates in the Alternate Character Set feature of the
++ DEC VT100 terminal.
+
+- The cursor is not advanced after adding a non-spacing character.
+- Subsequent calls to add non-spacing characters will update the same
+- position.
+-
+- <STRONG>o</STRONG> If the character part of <EM>wch</EM> is a tab, newline, backspace or other
+- control character, the window is updated and the cursor moves as if
+- <STRONG>addch</STRONG> were called.
+-
+-
+-</PRE><H3><a name="h3-echo_wchar">echo_wchar</a></H3><PRE>
+- The <STRONG>echo_wchar</STRONG> function is functionally equivalent to a call to <STRONG>add_wch</STRONG>
+- followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>. Similarly, the <STRONG>wecho_wchar</STRONG> is
+- functionally equivalent to a call to <STRONG>wadd_wch</STRONG> followed by a call to
+- <STRONG>wrefresh</STRONG>. The knowledge that only a single character is being output
+- is taken into consideration and, for non-control characters, a
+- considerable performance gain might be seen by using the *<STRONG>echo</STRONG>*
+- functions instead of their equivalents.
+-
+-
+-</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
+- Like <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>, <STRONG>addch_wch</STRONG> accepts symbols which make it simple to draw
+- lines and other frequently used special characters. These symbols
+- correspond to the same VT100 line-drawing set as <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>.
+-
+- <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG>
+-
+-
+- <STRONG>ACS</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
++ <STRONG>Unicode</STRONG> <STRONG>ACS</STRONG> <STRONG>acsc</STRONG>
++ <STRONG>Symbol</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
+ ------------------------------------------------------------------------
+ <STRONG>WACS_BLOCK</STRONG> 0x25ae # 0 solid square block
+ <STRONG>WACS_BOARD</STRONG> 0x2592 # h board of squares
+@@ -179,7 +209,6 @@
+ <STRONG>WACS_D_LTEE</STRONG> 0x2560 + F double tee pointing right
+ <STRONG>WACS_D_PLUS</STRONG> 0x256c + E double large plus
+ <STRONG>WACS_D_RTEE</STRONG> 0x2563 + G double tee pointing left
+-
+ <STRONG>WACS_D_TTEE</STRONG> 0x2566 + I double tee pointing down
+ <STRONG>WACS_D_ULCORNER</STRONG> 0x2554 + C double upper left corner
+ <STRONG>WACS_D_URCORNER</STRONG> 0x2557 + B double upper right corner
+@@ -198,124 +227,122 @@
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
++ These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. In <EM>ncurses</EM>,
++ <STRONG>wadd_wch</STRONG> returns <STRONG>ERR</STRONG> if
+
+- X/Open Curses does not specify any error conditions. This
+- implementation returns an error
++ <STRONG>o</STRONG> <EM>win</EM> is <STRONG>NULL</STRONG>,
+
+- <STRONG>o</STRONG> if the window pointer is null or
++ <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 writing to its bottom right location is
++ attempted, or
+
+- <STRONG>o</STRONG> if it is not possible to add a complete character in the window.
++ <STRONG>o</STRONG> it is not possible to add a complete character at the cursor
++ position.
+
+- The latter may be due to different causes:
++ Functions prefixed with "mv" first perform cursor movement and fail if
++ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+- <STRONG>o</STRONG> If <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is not enabled, writing a character at the lower
+- right margin succeeds. However, an error is returned because it is
+- not possible to wrap to a new line.
+
+- <STRONG>o</STRONG> If an error is detected when converting a multibyte character to a
+- sequence of bytes, or if it is not possible to add all of the
+- resulting bytes in the window, an error is returned.
++</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
++ <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, and <STRONG>echo_wchar</STRONG> may be implemented as
++ macros.
+
+- Functions prefixed with "mv" first perform cursor movement and fail if
+- the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
++</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+
+-</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+- Note that <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, and <STRONG>echo_wchar</STRONG> may be macros.
++</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
++ The <STRONG>TABSIZE</STRONG> variable is implemented in SVr4 and other versions of
++ <EM>curses</EM>, but is not specified by X/Open Curses (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>).
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- These functions are described in X/Open Curses, Issue 4. The defaults
+- specified for line-drawing characters apply in the POSIX locale.
++ These functions are described in X/Open Curses, Issue 4. It specifies
++ no error conditions for them.
+
++ SVr4 <EM>curses</EM> describes a successful return value only as "an integer
++ value other than <STRONG>ERR</STRONG>".
+
+-</PRE><H3><a name="h3-WACS-Symbols">WACS Symbols</a></H3><PRE>
+- X/Open Curses makes it clear that the WACS_ symbols should be defined
+- as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the discussion of <STRONG>border_set</STRONG>. A
+- few implementations are problematic:
++ The defaults specified for forms-drawing characters apply in the POSIX
++ locale. X/Open Curses makes it clear that the WACS_ symbols should be
++ defined as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the discussion of
++ <STRONG>border_set</STRONG>. A few implementations are problematic:
+
+ <STRONG>o</STRONG> NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG> within a <STRONG>cchar_t</STRONG>.
+
+- <STRONG>o</STRONG> HP-UX curses 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. The
+- misdefined symbols are the arrows and other symbols which are not
++ <STRONG>o</STRONG> HP-UX curses 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. The
++ misdefined symbols are the arrows and other symbols which are not
+ used for line-drawing.
+
+- X/Open Curses does not specify symbols for thick- or double-lines.
++ X/Open Curses does not specify symbols for thick- or double-lines.
+ SVr4 curses implementations defined their line-drawing symbols in terms
+- of intermediate symbols. This implementation extends those symbols,
++ of intermediate symbols. This implementation extends those symbols,
+ providing new definitions which are not in the SVr4 implementations.
+
+- Not all Unicode-capable terminals provide support for VT100-style
+- alternate character sets (i.e., the <STRONG>acsc</STRONG> capability), with their
+- corresponding line-drawing characters. X/Open Curses did not address
+- the aspect of integrating Unicode with line-drawing characters.
+- Existing implementations of Unix curses (AIX, HP-UX, Solaris) use only
++ Not all Unicode-capable terminals provide support for VT100-style
++ alternate character sets (i.e., the <STRONG>acsc</STRONG> capability), with their
++ corresponding line-drawing characters. X/Open Curses did not address
++ the aspect of integrating Unicode with line-drawing characters.
++ Existing implementations of Unix curses (AIX, HP-UX, Solaris) use only
+ the <STRONG>acsc</STRONG> character-mapping to provide this feature. As a result, those
+ implementations can only use single-byte line-drawing characters.
+- <EM>ncurses</EM> 5.3 (2002) provided a table of Unicode values to solve these
++ <EM>ncurses</EM> 5.3 (2002) provided a table of Unicode values to solve these
+ problems. NetBSD curses incorporated that table in 2010.
+
+- In this implementation, the Unicode values are used instead of the
++ In this implementation, the Unicode values are used instead of the
+ terminal description's <STRONG>acsc</STRONG> mapping as discussed in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> for the
+- environment variable <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>UTF8</EM><STRONG>_</STRONG><EM>ACS</EM>. In contrast, for the same
++ environment variable <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>UTF8</EM><STRONG>_</STRONG><EM>ACS</EM>. In contrast, for the same
+ cases, the line-drawing characters described in <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG> will use only
+ the ASCII default values.
+
+- Having Unicode available does not solve all of the problems with line-
++ Having Unicode available does not solve all of the problems with line-
+ drawing for curses:
+
+- <STRONG>o</STRONG> The closest Unicode equivalents to the VT100 graphics <EM>S1</EM>, <EM>S3</EM>, <EM>S7</EM>
+- and <EM>S9</EM> frequently are not displayed at the regular intervals which
++ <STRONG>o</STRONG> The closest Unicode equivalents to the VT100 graphics <EM>S1</EM>, <EM>S3</EM>, <EM>S7</EM>
++ and <EM>S9</EM> frequently are not displayed at the regular intervals which
+ the terminal used.
+
+- <STRONG>o</STRONG> The <EM>lantern</EM> is a special case. It originated with the AT&amp;T 4410
+- terminal in the early 1980s. There is no accessible documentation
++ <STRONG>o</STRONG> The <EM>lantern</EM> is a special case. It originated with the AT&amp;T 4410
++ terminal in the early 1980s. There is no accessible documentation
+ depicting the lantern symbol on the AT&amp;T terminal.
+
+ Lacking documentation, most readers assume that a <EM>storm</EM> <EM>lantern</EM> was
+ intended. But there are several possibilities, all with problems.
+
+- Unicode 6.0 (2010) does provide two lantern symbols: U+1F383 and
+- U+1F3EE. Those were not available in 2002, and are irrelevant
+- since they lie outside the BMP and as a result are not generally
++ Unicode 6.0 (2010) does provide two lantern symbols: U+1F383 and
++ U+1F3EE. Those were not available in 2002, and are irrelevant
++ since they lie outside the BMP and as a result are not generally
+ available in terminals. They are not storm lanterns, in any case.
+
+ Most <EM>storm</EM> <EM>lanterns</EM> have a tapering glass chimney (to guard against
+ tipping); some have a wire grid protecting the chimney.
+
+- For the tapering appearance, U+2603 was adequate. In use on a
++ For the tapering appearance, U+2603 was adequate. In use on a
+ terminal, no one can tell what the image represents. Unicode calls
+ it a snowman.
+
+ Others have suggested these alternatives: &lt;section&gt; U+00A7 (section
+- mark), &lt;Theta&gt; U+0398 (theta), &lt;Phi&gt; U+03A6 (phi), &lt;delta&gt; U+03B4
++ mark), &lt;Theta&gt; U+0398 (theta), &lt;Phi&gt; U+03A6 (phi), &lt;delta&gt; U+03B4
+ (delta), U+2327 (x in a rectangle), U+256C (forms double vertical
+ and horizontal), and U+2612 (ballot box with x).
+
+
+ </PRE><H3><a name="h3-Complex-Characters">Complex Characters</a></H3><PRE>
+- The complex character type <STRONG>cchar_t</STRONG> can store more than one wide
+- character (<STRONG>wchar_t</STRONG>). The X/Open Curses description does not mention
+- this possibility, describing only the cases where <EM>wch</EM> is a spacing
+- character or a non-spacing character.
++ The complex character type <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> can store more than one wide
++ character (<EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>). X/Open Curses does not mention this possibility,
++ specifying behavior only where <EM>wch</EM> is a single character, either
++ spacing or non-spacing.
+
+- This implementation assumes that <EM>wch</EM> is constructed using <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>,
+- and in turn that the result
++ <EM>ncurses</EM> assumes that <EM>wch</EM> is constructed using <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>, and in turn
++ that the result
+
+- <STRONG>o</STRONG> contains at most one spacing character in the beginning of its list
+- of wide characters, and zero or more non-spacing characters or
++ <STRONG>o</STRONG> contains at most one spacing character at the beginning of its list
++ of wide characters, and zero or more non-spacing characters, or
+
+- <STRONG>o</STRONG> may hold one non-spacing character.
++ <STRONG>o</STRONG> holds one non-spacing character.
+
+- In the latter case, <EM>ncurses</EM> adds the non-spacing character to the
+- active (base) spacing character.
+-
+-
+-</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
+- The <STRONG>TABSIZE</STRONG> variable is implemented in SVr4 and other versions of
+- <EM>curses</EM>, but is not specified by X/Open Curses (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>).
++ In the latter case, <EM>ncurses</EM> adds the non-spacing character to the
++ active complex character.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -328,7 +355,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -336,18 +363,21 @@
+ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+ <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+ <ul>
+-<li><a href="#h3-add_wch">add_wch</a></li>
+-<li><a href="#h3-echo_wchar">echo_wchar</a></li>
+-<li><a href="#h3-Line-Graphics">Line Graphics</a></li>
++<li><a href="#h3-wadd_wch">wadd_wch</a></li>
++<li><a href="#h3-wecho_wchar">wecho_wchar</a></li>
++<li><a href="#h3-Forms-Drawing-Characters">Forms-Drawing Characters</a></li>
+ </ul>
+ </li>
+ <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+ <li><a href="#h2-NOTES">NOTES</a></li>
++<li><a href="#h2-EXTENSIONS">EXTENSIONS</a>
++<ul>
++<li><a href="#h3-TABSIZE">TABSIZE</a></li>
++</ul>
++</li>
+ <li><a href="#h2-PORTABILITY">PORTABILITY</a>
+ <ul>
+-<li><a href="#h3-WACS-Symbols">WACS Symbols</a></li>
+ <li><a href="#h3-Complex-Characters">Complex Characters</a></li>
+-<li><a href="#h3-TABSIZE">TABSIZE</a></li>
+ </ul>
+ </li>
+ <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+Index: doc/html/man/curs_add_wchstr.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_add_wchstr.3x.html 2024-04-27 18:38:45.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_add_wchstr.3x.html 2024-05-11 22:32:32.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_add_wchstr.3x,v 1.39 2024/04/20 21:20:07 tom Exp @
++ * @Id: curs_add_wchstr.3x,v 1.40 2024/05/11 20:39:53 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_add_wchstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_add_wchstr 3x 2024-05-11 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_add_wchstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_add_wchstr 3x 2024-05-11 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+
+@@ -67,53 +67,50 @@
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+- These functions copy the (null-terminated) array of complex characters
+- <EM>wchstr</EM> into the window image structure starting at the current cursor
+- position.
++ <STRONG>wadd_wchstr</STRONG> copies the string of complex characters <EM>wchstr</EM> to the
++ window <EM>win</EM>. A null complex character terminates the string. If a
++ complex character does completely fit at the end of the line, <EM>curses</EM>
++ fills the remaining columns with the window background; see <STRONG><A HREF="curs_bkgrnd.3x.html">bkgrnd(3x)</A></STRONG>.
++ <STRONG>wadd_wchnstr</STRONG> does the same, but copies at most <EM>n</EM> characters, or as many
++ as possible if <EM>n</EM> is <STRONG>-1</STRONG>. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of these
++ functions.
++
++ Because these functions do not call <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> internally, they are
++ faster than <STRONG><A HREF="curs_addwstr.3x.html">waddwstr(3x)</A></STRONG> and <STRONG><A HREF="curs_addwstr.3x.html">waddnwstr(3x)</A></STRONG>. On the other hand, they
++
++ <STRONG>o</STRONG> do not treat the backspace, carriage return, or line feed
++ characters specially;
+
+- The four functions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements,
+- but no more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is
+- copied, to the maximum number of characters that will fit on the line.
++ <STRONG>o</STRONG> do not represent unprintable characters with <STRONG><A HREF="curs_util.3x.html">wunctrl(3x)</A></STRONG>;
+
+- The window cursor is <EM>not</EM> advanced. These functions are faster than
+- <STRONG>waddnstr</STRONG>. On the other hand:
++ <STRONG>o</STRONG> do not update the cursor position to follow the last character
++ written;
+
+- <STRONG>o</STRONG> they do not perform checking (such as for the newline, backspace,
+- or carriage return characters),
+-
+- <STRONG>o</STRONG> they do not advance the current cursor position,
+-
+- <STRONG>o</STRONG> they do not expand other control characters to ^-escapes, and
+-
+- <STRONG>o</STRONG> they truncate the string if it crosses the right margin, rather
+- than wrapping it around to the new line.
+-
+- These functions end successfully on encountering a null <STRONG>cchar_t</STRONG>, or
+- when they have filled the current line. If a complex character cannot
+- completely fit at the end of the current line, the remaining columns
+- are filled with the background character and rendition.
++ <STRONG>o</STRONG> truncate the string at the window's right margin, rather than
++ wrapping it to the next line and potentially scrolling.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
++ These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
+
+- X/Open Curses does not specify any error conditions. This
+- implementation returns an error
++ X/Open Curses does not specify any error conditions. <EM>ncurses</EM> returns
++ <STRONG>ERR</STRONG> if
+
+- <STRONG>o</STRONG> if the <EM>win</EM> parameter is null or
++ <STRONG>o</STRONG> <EM>win</EM> is <STRONG>NULL</STRONG> or
+
+- <STRONG>o</STRONG> if the <EM>wchstr</EM> parameter is null.
++ <STRONG>o</STRONG> <EM>wchstr</EM> is <STRONG>NULL</STRONG>.
+
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+- All functions except <STRONG>wadd_wchnstr</STRONG> may be macros.
++ All of these functions except <STRONG>wadd_wchnstr</STRONG> may be implemented as
++ macros.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- These functions are described in X/Open Curses, Issue 4.
++ X/Open Curses, Issue 4 describes these functions.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -124,7 +121,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_addch.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_addch.3x.html 2024-04-27 18:38:45.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_addch.3x.html 2024-05-11 21:39:56.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addch.3x,v 1.85 2024/04/20 19:03:47 tom Exp @
++ * @Id: curs_addch.3x,v 1.86 2024/05/11 20:39:53 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-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_addch 3x 2024-05-11 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-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_addch 3x 2024-05-11 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>
+
+@@ -66,71 +66,70 @@
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+-</PRE><H3><a name="h3-Adding-Characters">Adding Characters</a></H3><PRE>
+- <STRONG>waddch</STRONG> puts the character <EM>ch</EM> at the cursor position of window <EM>win</EM>, then
+- advances the cursor position, analogously to the standard C library's
++</PRE><H3><a name="h3-waddch">waddch</a></H3><PRE>
++ <STRONG>waddch</STRONG> writes the <EM>curses</EM> character <EM>ch</EM> to the window <EM>win</EM>, then advances
++ the cursor position, analogously to the standard C library's
+ <STRONG>putchar(3)</STRONG>. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function.
+
+ If advancement occurs at the right margin,
+
+- <STRONG>o</STRONG> the cursor automatically wraps to the beginning of the next line;
+- and
++ <STRONG>o</STRONG> the cursor automatically wraps to the beginning of the next line,
++ then,
+
+- <STRONG>o</STRONG> at the bottom of the current scrolling region, and if <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>
+- is enabled for <EM>win</EM>, the scrolling region scrolls up one line.
++ <STRONG>o</STRONG> if it was at the bottom of the scrolling region, and if
++ <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is enabled for <EM>win</EM>, the scrolling region scrolls up
++ one line.
+
+- If <EM>ch</EM> is a backspace, carriage return, line feed, or tab, the cursor
++ If <EM>ch</EM> is a backspace, carriage return, line feed, or tab, the cursor
+ moves appropriately within the window.
+
+- <STRONG>o</STRONG> Backspace moves the cursor one character left; at the left margin
++ <STRONG>o</STRONG> Backspace moves the cursor one character left; at the left margin
+ of a window, it does nothing.
+
+- <STRONG>o</STRONG> Carriage return moves the cursor to the left margin on the current
++ <STRONG>o</STRONG> Carriage return moves the cursor to the left margin on the current
+ line of the window.
+
+- <STRONG>o</STRONG> Line feed does a <STRONG><A HREF="curs_clear.3x.html">clrtoeol(3x)</A></STRONG>, then moves the cursor to the left
+- margin on the next line of the window, and if <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is
+- enabled for <EM>win</EM>, scrolls the window if the cursor was already on
+- the last line.
+-
+- <STRONG>o</STRONG> Tab advances the cursor to the next tab stop (possibly on the next
+- line); these are placed at every eighth column by default. Alter
+- the tab interval with the <STRONG>TABSIZE</STRONG> extension; see
++ <STRONG>o</STRONG> Line feed does a <STRONG><A HREF="curs_clear.3x.html">clrtoeol(3x)</A></STRONG>, then advances as if from the right
++ margin.
++
++ <STRONG>o</STRONG> Tab advances the cursor to the next tab stop (possibly on the next
++ line); these are placed at every eighth column by default. Alter
++ the tab interval with the <STRONG>TABSIZE</STRONG> extension; see
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+
+- If <EM>ch</EM> is any other nonprintable character, it is drawn in printable
+- form, using the same convention as <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>.
++ If <EM>ch</EM> is any other nonprintable character, it is drawn in printable
++ form using the same convention as <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>.
+
+- Calling <STRONG><A HREF="curs_inch.3x.html">winch(3x)</A></STRONG> on the location of a nonprintable character does not
++ Calling <STRONG><A HREF="curs_inch.3x.html">winch(3x)</A></STRONG> on the location of a nonprintable character does not
+ return the character itself, but its <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG> representation.
+
+- <EM>ch</EM> may contain rendering and/or color attributes, and others can be
+- combined with the parameter by logically "or"ing with it. (A character
+- with its attributes can be copied from place to place using <STRONG><A HREF="curs_inch.3x.html">winch(3x)</A></STRONG>
+- and <STRONG>waddch</STRONG>.) See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> for values of predefined video
+- attribute constants that can be usefully "or"ed with characters.
++ The object or expression <EM>ch</EM> may contain attributes and/or a color pair
++ identifier. (A character with its attributes can be copied from place
++ to place using <STRONG><A HREF="curs_inch.3x.html">winch(3x)</A></STRONG> and <STRONG>waddch</STRONG>.) See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> for values of
++ predefined video attribute constants that can be usefully "or"ed with
++ characters.
+
+
+-</PRE><H3><a name="h3-Echoing-Characters">Echoing Characters</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
++</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.
+
+
+ </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> string
+- capability, and the characters in it may appear on the screen if the
+- terminal's database entry incorrectly advertises ACS support. The name
+- "ACS" originates in the Alternate Character Set feature of the DEC
+- VT100 terminal.
++ 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 name "ACS" originates in the Alternate Character Set feature of the
++ DEC VT100 terminal.
+
+ <STRONG>ACS</STRONG> <STRONG>acsc</STRONG>
+ <STRONG>Symbol</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
+@@ -172,16 +171,25 @@
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
+
+- In <EM>ncurses</EM>, <STRONG>waddch</STRONG> returns <STRONG>ERR</STRONG> if it is not possible to add a complete
+- character at the cursor position, as when conversion of a multibyte
+- character to a byte sequence fails, or at least one of the resulting
+- bytes cannot be added to the window. See section "PORTABILITY" below
+- regarding the use of <STRONG>waddch</STRONG> with multibyte characters.
+-
+- <STRONG>waddch</STRONG> can successfully write a character at the bottom right location
+- of the window. However, <EM>ncurses</EM> returns <STRONG>ERR</STRONG> if <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is not
+- enabled in that event, because it is not possible to wrap to a new
+- line.
++ In <EM>ncurses</EM>, <STRONG>waddch</STRONG> returns <STRONG>ERR</STRONG> if
++
++ <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
++ attempted, or
++
++ <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 multibyte character to a byte sequence can fail, or
++
++ <STRONG>o</STRONG> at least one of the bytes resulting from conversion from a
++ multibyte sequence cannot be added to the window. See section
++ "PORTABILITY" below regarding the use of <STRONG>waddch</STRONG> with multibyte
++ characters.
+
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+@@ -191,14 +199,21 @@
+ <STRONG>addch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and <STRONG>echochar</STRONG> may be implemented as macros.
+
+
++</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
++ X/Open Curses does not specify it; see <STRONG><A HREF="curs_variables.3x.html">curs_variables(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>".
+
+- The defaults specified for forms-drawing characters apply in the POSIX
++ The defaults specified for forms-drawing characters apply in the POSIX
+ locale.
+
+
+@@ -207,89 +222,82 @@
+
+ Some implementations are problematic.
+
+- <STRONG>o</STRONG> Solaris <EM>curses</EM>, for example, define 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> strings in which their key characters <STRONG>(</STRONG>pryz{|}<STRONG>)</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
+- <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>).
++ 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. As discussed in <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, that character may
+- have been more than eight bits wide in an SVr3 or SVr4 implementation,
+- but in the X/Open Curses model, the details are not given. The
+- important distinction between SVr4 <EM>curses</EM> and X/Open Curses is that the
+- latter separates non-character information (attributes and color) from
+- the character code, which SVr4 packs into a <EM>chtype</EM> for passage to
+- <STRONG>waddch</STRONG>.
+-
+- In <EM>ncurses</EM>, <EM>chtype</EM> holds an eight-bit character. But the library
+- allows a multibyte character to be passed in 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.
+-
+- Depending on the locale settings, <EM>ncurses</EM> inspects the byte passed in
+- each <STRONG>waddch</STRONG> call, and checks whether the latest call continues a
+- multibyte sequence. 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
++ 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 to be passed in 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 sequence. 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> discards the incomplete character.
+
+- For portability to other implementations, do not rely upon this
+- behavior. Check whether a character can be represented as a single
+- byte in the current locale.
++ For portability to other implementations, do not rely upon the
++ 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 <STRONG>waddch</STRONG> or <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>.
+
+ <STRONG>o</STRONG> If it cannot, use only <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>.
+
+
+-</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
+- X/Open Curses does not specify it (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>).
+-
+-
+ </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
+ in its wide-character configuration (<EM>ncursesw</EM>).
+@@ -300,7 +308,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -308,18 +316,22 @@
+ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+ <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+ <ul>
+-<li><a href="#h3-Adding-Characters">Adding Characters</a></li>
+-<li><a href="#h3-Echoing-Characters">Echoing Characters</a></li>
++<li><a href="#h3-waddch">waddch</a></li>
++<li><a href="#h3-wechochar">wechochar</a></li>
+ <li><a href="#h3-Forms-Drawing-Characters">Forms-Drawing Characters</a></li>
+ </ul>
+ </li>
+ <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+ <li><a href="#h2-NOTES">NOTES</a></li>
++<li><a href="#h2-EXTENSIONS">EXTENSIONS</a>
++<ul>
++<li><a href="#h3-TABSIZE">TABSIZE</a></li>
++</ul>
++</li>
+ <li><a href="#h2-PORTABILITY">PORTABILITY</a>
+ <ul>
+ <li><a href="#h3-ACS-Symbols">ACS Symbols</a></li>
+ <li><a href="#h3-Character-Set">Character Set</a></li>
+-<li><a href="#h3-TABSIZE">TABSIZE</a></li>
+ </ul>
+ </li>
+ <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+Index: doc/html/man/curs_addchstr.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_addchstr.3x.html 2024-04-27 18:38:45.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_addchstr.3x.html 2024-05-11 22:32:32.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addchstr.3x,v 1.45 2024/04/20 21:20:07 tom Exp @
++ * @Id: curs_addchstr.3x,v 1.46 2024/05/11 20:39:53 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_addchstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_addchstr 3x 2024-05-11 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_addchstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_addchstr 3x 2024-05-11 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+
+@@ -66,47 +66,46 @@
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+- These functions copy the (null-terminated) <EM>chstr</EM> array into the window
+- image structure starting at the current cursor position.
++ <STRONG>waddchstr</STRONG> copies the string of <EM>curses</EM> characters <EM>chstr</EM> to the window
++ <EM>win</EM>. A null <EM>curses</EM> character terminates the string. <STRONG>waddchnstr</STRONG> does
++ the same, but copies at most <EM>n</EM> characters, or as many as possible if <EM>n</EM>
++ is <STRONG>-1</STRONG>. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of these functions.
+
+- The four functions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements,
+- but no more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is
+- copied, to the maximum number of characters that will fit on the line.
++ Because these functions do not call <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> internally, they are
++ faster than <STRONG><A HREF="curs_addstr.3x.html">waddstr(3x)</A></STRONG> and <STRONG><A HREF="curs_addstr.3x.html">waddnstr(3x)</A></STRONG>. On the other hand, they
+
+- The window cursor is <EM>not</EM> advanced. These functions are faster than
+- <STRONG>waddnstr</STRONG>. On the other hand:
++ <STRONG>o</STRONG> do not treat the backspace, carriage return, or line feed
++ characters specially;
+
+- <STRONG>o</STRONG> they do not perform checking (such as for the newline, backspace,
+- or carriage return characters),
++ <STRONG>o</STRONG> do not represent unprintable characters with <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>;
+
+- <STRONG>o</STRONG> they do not advance the current cursor position,
++ <STRONG>o</STRONG> do not update the cursor position to follow the last character
++ written;
+
+- <STRONG>o</STRONG> they do not expand other control characters to ^-escapes, and
+-
+- <STRONG>o</STRONG> they truncate the string if it crosses the right margin, rather
+- than wrapping it around to the new line.
++ <STRONG>o</STRONG> truncate the string at the window's right margin, rather than
++ wrapping it to the next line and potentially scrolling.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
++ These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
+
+- X/Open Curses does not specify any error conditions. This
+- implementation returns an error
++ X/Open Curses does not specify any error conditions. <EM>ncurses</EM> returns
++ <STRONG>ERR</STRONG> if
+
+- <STRONG>o</STRONG> if the <EM>win</EM> parameter is null or
++ <STRONG>o</STRONG> <EM>win</EM> is <STRONG>NULL</STRONG> or
+
+- <STRONG>o</STRONG> if the <EM>wchstr</EM> parameter is null.
++ <STRONG>o</STRONG> <EM>chstr</EM> is <STRONG>NULL</STRONG>.
+
+- 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.
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+- All functions except <STRONG>waddchnstr</STRONG> may be macros.
++ All of these functions except <STRONG>waddchnstr</STRONG> may be implemented as macros.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- These functions are described in X/Open Curses, Issue 4.
++ X/Open Curses, Issue 4 describes these functions.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -117,7 +116,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_attr.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_attr.3x.html 2024-04-27 18:38:46.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_attr.3x.html 2024-05-11 21:39:56.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_attr.3x,v 1.105 2024/04/27 17:54:42 tom Exp @
++ * @Id: curs_attr.3x,v 1.106 2024/05/11 20:39:53 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-04-27 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_attr 3x 2024-05-11 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-04-27 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_attr 3x 2024-05-11 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>
+
+@@ -220,6 +220,10 @@
+ <STRONG>A_CHARTEXT</STRONG> Bit-mask to extract a character
+ <STRONG>A_COLOR</STRONG> Bit-mask to extract a color (legacy routines)
+
++ You can thus use <STRONG>A_CHARTEXT</STRONG> to extract the character from a <EM>chtype</EM>,
++ <STRONG>A_ATTRIBUTES</STRONG> to obtain its rendering attributes, and <STRONG>A_COLOR</STRONG> to find
++ the color pair it uses.
++
+ These video attributes are supported by <STRONG>attr_on</STRONG> and related functions
+ (which also support the attributes recognized by <STRONG>attron</STRONG>, etc.):
+
+@@ -332,7 +336,6 @@
+ <STRONG>WA_BLINK</STRONG> Blinking
+ <STRONG>WA_DIM</STRONG> Half bright
+ <STRONG>WA_BOLD</STRONG> Extra bright or bold
+-
+ <STRONG>WA_ALTCHARSET</STRONG> Alternate character set
+
+ X/Open Curses does not assign values to these symbols, nor does it
+@@ -497,7 +500,7 @@
+
+
+
+-ncurses 6.5 2024-04-27 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_delch.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_delch.3x.html 2024-04-27 18:38:46.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_delch.3x.html 2024-05-11 21:39:56.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_delch.3x,v 1.34 2024/04/20 19:24:14 tom Exp @
++ * @Id: curs_delch.3x,v 1.35 2024/05/11 20:39:53 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-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_delch 3x 2024-05-11 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-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_delch 3x 2024-05-11 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>
+
+@@ -61,14 +61,13 @@
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+- <STRONG>wdelch</STRONG> deletes the character at the cursor position in <EM>win</EM>.
+- <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function.
+-
+- <STRONG>wdelch</STRONG> 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 may consult <STRONG><A HREF="curs_bkgrnd.3x.html">bkgrnd(3x)</A></STRONG> instead). The cursor
+- position does not change (after moving to (<EM>y</EM>, <EM>x</EM>), if specified).
++ <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.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+@@ -76,19 +75,20 @@
+
+ Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
+
+- 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.
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ <STRONG>delch</STRONG>, <STRONG>mvdelch</STRONG>, and <STRONG>mvwdelch</STRONG> may be implemented as macros.
+
+- A terminal's <STRONG>delete_character</STRONG> (<STRONG>dch1</STRONG>) capability is not necessarily
++ A terminal's <STRONG>delete_character</STRONG> (<STRONG>dch1</STRONG>) capability is not necessarily
+ employed.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- X/Open Curses, Issue 4 describes these functions.
++ 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
+ value other than <STRONG>ERR</STRONG>".
+@@ -99,7 +99,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_get_wch.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_get_wch.3x.html 2024-04-27 18:38:46.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_get_wch.3x.html 2024-05-11 21:39:56.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_get_wch.3x,v 1.40 2024/04/20 19:23:03 tom Exp @
++ * @Id: curs_get_wch.3x,v 1.41 2024/05/11 20:39:53 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_get_wch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_get_wch 3x 2024-05-11 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_get_wch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_get_wch 3x 2024-05-11 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+
+@@ -65,47 +65,49 @@
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+ </PRE><H3><a name="h3-Reading-Characters">Reading Characters</a></H3><PRE>
+- <STRONG>wget_wch</STRONG> gathers a key stroke <EM>wch</EM> from the terminal keyboard associated
+- with a <EM>curses</EM> window <EM>win</EM>, returning <STRONG>OK</STRONG> if a wide character is read,
++ <STRONG>wget_wch</STRONG> gathers a key event from the terminal keyboard associated with
++ a <EM>curses</EM> window <EM>win</EM>, returning <STRONG>OK</STRONG> if a wide character is read,
+ <STRONG>KEY_CODE_YES</STRONG> if a function key is read, and <STRONG>ERR</STRONG> if no key event is
+ available. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function.
+
+ When input is pending, <STRONG>wget_wch</STRONG> stores an integer identifying the key
+- stroke in <EM>wch</EM>; for alphanumeric and punctuation keys, this value
++ event in <EM>wch</EM>; for alphanumeric and punctuation keys, this value
+ corresponds to the character encoding used by the terminal. Use of the
+- control key as a modifier often results in a distinct code. The
+- behavior of other keys depends on whether <EM>win</EM> is in keypad mode; see
+- subsections "Keypad Mode" and "Predefined Key Codes" in <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
+-
+- If no input is pending, then if the no-delay flag is set in the window
+- (see <STRONG><A HREF="nodelay.3x.html">nodelay(3x)</A></STRONG>), the function returns <STRONG>ERR</STRONG>; otherwise, <EM>curses</EM> waits
+- until the terminal has input. If <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> has been called, this
+- happens after one character is read. If <STRONG><A HREF="curs_inopts.3x.html">nocbreak(3x)</A></STRONG> has been called,
+- it occurs when the next newline is read. If <STRONG><A HREF="curs_inopts.3x.html">halfdelay(3x)</A></STRONG> has been
+- called, <EM>curses</EM> waits until a character is typed or the specified delay
++ control key as a modifier, by holding it down while pressing and
++ releasing another key, often results in a distinct code. The behavior
++ of other keys depends on whether <EM>win</EM> is in keypad mode; see subsections
++ "Keypad Mode" and "Predefined Key Codes" in <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
++
++ If no input is pending, then if the no-delay flag is set in the window
++ (see <STRONG><A HREF="nodelay.3x.html">nodelay(3x)</A></STRONG>), the function returns <STRONG>ERR</STRONG>; otherwise, <EM>curses</EM> waits
++ until the terminal has input. If <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> has been called, this
++ happens after one character is read. If <STRONG><A HREF="curs_inopts.3x.html">nocbreak(3x)</A></STRONG> has been called,
++ it occurs when the next newline is read. If <STRONG><A HREF="curs_inopts.3x.html">halfdelay(3x)</A></STRONG> has been
++ called, <EM>curses</EM> waits until input is available or the specified delay
+ elapses.
+
+ If <STRONG><A HREF="curs_inopts.3x.html">echo(3x)</A></STRONG> has been called, and the window is not a pad, <EM>curses</EM> writes
+ <EM>wch</EM> to the window (at the cursor position) per the following rules.
+
+- <STRONG>o</STRONG> If <EM>wch</EM> matches the terminal's erase character, the cursor moves
+- leftward one position and the new position is erased as if
+- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and then <STRONG><A HREF="curs_delch.3x.html">wdelch(3x)</A></STRONG> were called. When the window's
+- keypad mode is enabled (see below), <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are
++ <STRONG>o</STRONG> If <EM>wch</EM> matches the terminal's erase character, the cursor moves
++ leftward one position and the new position is erased as if
++ <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and then <STRONG><A HREF="curs_delch.3x.html">wdelch(3x)</A></STRONG> were called. When the window's
++ keypad mode is enabled (see below), <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are
+ handled the same way.
+
+ <STRONG>o</STRONG> <EM>curses</EM> writes any other <EM>wch</EM> to the window, as with <STRONG><A HREF="curs_add_wch.3x.html">wecho_wchar(3x)</A></STRONG>.
+
+- <STRONG>o</STRONG> If the window has been moved or modified since the last call to
+- <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>, <EM>curses</EM> calls <STRONG>wrefresh</STRONG>.
++ <STRONG>o</STRONG> If the window <EM>win</EM> has been moved or modified since the last call to
++ <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>, <EM>curses</EM> calls <STRONG>wrefresh</STRONG> on it.
+
+- If <EM>wch</EM> is a carriage return and <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> stores
+- the the character code for newline (line feed) in <EM>wch</EM> instead.
++ If <EM>wch</EM> is a carriage return and <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> stores
++ the the character code for line feed in <EM>wch</EM> instead.
+
+
+ </PRE><H3><a name="h3-Ungetting-Characters">Ungetting Characters</a></H3><PRE>
+- <STRONG>unget_wch</STRONG> places <EM>wch</EM> into the input queue to be returned by the next
+- call to <STRONG>wget_wch</STRONG>. A single input queue serves all windows.
++ <STRONG>unget_wch</STRONG> places <EM>wch</EM> into the input queue to be returned by the next
++ call to <STRONG>wget_wch</STRONG>. A single input queue serves all windows associated
++ with the terminal.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+@@ -136,11 +138,10 @@
+ input character in an additional <EM>wch</EM> parameter instead of the return
+ value.
+
+- Unlike <STRONG>ungetch</STRONG>, <STRONG>unget_wch</STRONG> cannot distinguish function key codes
+- <STRONG>wget_wch</STRONG> from conventional character codes. An application can
+- overcome this limitation by pushing function key codes with <STRONG>ungetch</STRONG> and
+- subsequently checking the return value of <STRONG>wget_wch</STRONG> for a match with
+- <STRONG>KEY_CODE_YES</STRONG>.
++ Unlike <STRONG>ungetch</STRONG>, <STRONG>unget_wch</STRONG> cannot distinguish function key codes from
++ conventional character codes. An application can overcome this
++ limitation by pushing function key codes with <STRONG>ungetch</STRONG> and subsequently
++ checking the return value of <STRONG>wget_wch</STRONG> for a match with <STRONG>KEY_CODE_YES</STRONG>.
+
+
+ </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+@@ -151,10 +152,10 @@
+ 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.
+
+- See the "PORTABILITY" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> regarding the interaction
++ See the "PORTABILITY" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> regarding the interaction
+ of <STRONG>wget_wch</STRONG> with signal handlers.
+
+
+@@ -162,12 +163,12 @@
+ <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library in
+ its non-wide-character configuration.
+
+- <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_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,
++ <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_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_getch.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_getch.3x.html 2024-04-27 18:38:46.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_getch.3x.html 2024-05-11 21:39:56.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_getch.3x,v 1.87 2024/04/20 19:18:18 tom Exp @
++ * @Id: curs_getch.3x,v 1.88 2024/05/11 20:39:53 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_getch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_getch 3x 2024-05-11 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_getch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_getch 3x 2024-05-11 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+
+@@ -69,89 +69,91 @@
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+ </PRE><H3><a name="h3-Reading-Characters">Reading Characters</a></H3><PRE>
+- <STRONG>wgetch</STRONG> gathers a key stroke from the terminal keyboard associated with
+- a <EM>curses</EM> window <EM>win</EM>. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this
++ <STRONG>wgetch</STRONG> gathers a key event from the terminal keyboard associated with a
++ <EM>curses</EM> window <EM>win</EM>. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this
+ function.
+
+ When input is pending, <STRONG>wgetch</STRONG> returns an integer identifying the key
+- stroke; for alphanumeric and punctuation keys, this value corresponds
+- to the character encoding used by the terminal. Use of the control key
+- as a modifier often results in a distinct code. The behavior of other
+- keys depends on whether <EM>win</EM> is in keypad mode; see subsection "Keypad
+- Mode" below.
+-
+- If no input is pending, then if the no-delay flag is set in the window
+- (see <STRONG><A HREF="nodelay.3x.html">nodelay(3x)</A></STRONG>), the function returns <STRONG>ERR</STRONG>; otherwise, <EM>curses</EM> waits
+- until the terminal has input. If <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> has been called, this
+- happens after one character is read. If <STRONG><A HREF="curs_inopts.3x.html">nocbreak(3x)</A></STRONG> has been called,
+- it occurs when the next newline is read. If <STRONG><A HREF="curs_inopts.3x.html">halfdelay(3x)</A></STRONG> has been
+- called, <EM>curses</EM> waits until a character is typed or the specified delay
++ event; for alphanumeric and punctuation keys, this value corresponds to
++ the character encoding used by the terminal. Use of the control key as
++ a modifier, by holding it down while pressing and releasing another
++ key, often results in a distinct code. The behavior of other keys
++ depends on whether <EM>win</EM> is in keypad mode; see subsection "Keypad Mode"
++ below.
++
++ If no input is pending, then if the no-delay flag is set in the window
++ (see <STRONG><A HREF="nodelay.3x.html">nodelay(3x)</A></STRONG>), the function returns <STRONG>ERR</STRONG>; otherwise, <EM>curses</EM> waits
++ until the terminal has input. If <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> has been called, this
++ happens after one character is read. If <STRONG><A HREF="curs_inopts.3x.html">nocbreak(3x)</A></STRONG> has been called,
++ it occurs when the next newline is read. If <STRONG><A HREF="curs_inopts.3x.html">halfdelay(3x)</A></STRONG> has been
++ called, <EM>curses</EM> waits until input is available or the specified delay
+ elapses.
+
+ If <STRONG><A HREF="curs_inopts.3x.html">echo(3x)</A></STRONG> has been called, and the window is not a pad, <EM>curses</EM> writes
+ the returned character <EM>c</EM> to the window (at the cursor position) per the
+ following rules.
+
+- <STRONG>o</STRONG> If <EM>c</EM> matches the terminal's erase character, the cursor moves
+- leftward one position and the new position is erased as if
+- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and then <STRONG><A HREF="curs_delch.3x.html">wdelch(3x)</A></STRONG> were called. When the window's
+- keypad mode is enabled (see below), <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are
++ <STRONG>o</STRONG> If <EM>c</EM> matches the terminal's erase character, the cursor moves
++ leftward one position and the new position is erased as if
++ <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and then <STRONG><A HREF="curs_delch.3x.html">wdelch(3x)</A></STRONG> were called. When the window's
++ keypad mode is enabled (see below), <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are
+ handled the same way.
+
+ <STRONG>o</STRONG> <EM>curses</EM> writes any other <EM>c</EM> to the window, as with <STRONG><A HREF="curs_addch.3x.html">wechochar(3x)</A></STRONG>.
+
+- <STRONG>o</STRONG> If the window has been moved or modified since the last call to
+- <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>, <EM>curses</EM> calls <STRONG>wrefresh</STRONG>.
++ <STRONG>o</STRONG> If the window <EM>win</EM> has been moved or modified since the last call to
++ <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>, <EM>curses</EM> calls <STRONG>wrefresh</STRONG> on it.
+
+- If <EM>c</EM> is a carriage return and <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> returns
++ If <EM>c</EM> is a carriage return and <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> returns
+ the character code for line feed instead.
+
+
+ </PRE><H3><a name="h3-Keypad-Mode">Keypad Mode</a></H3><PRE>
+- To <EM>curses</EM>, key strokes not from the alphabetic section of the keyboard
++ To <EM>curses</EM>, key strokes not from the alphabetic section of the keyboard
+ (those corresponding to the ECMA-6 character set--see
+- <STRONG>ascii(7)</STRONG>--optionally modified by either the control or shift keys) are
++ <STRONG>ascii(7)</STRONG>--optionally modified by either the control or shift keys) are
+ treated as <EM>function</EM> keys. (In <EM>curses</EM>, the term "function key" includes
+- but is not limited to keycaps engraved with "F1", "PF1", and so on.)
+- If the window is in keypad mode, these produce a numeric code
+- corresponding to the <STRONG>KEY_</STRONG> symbols listed in subsection "Predefined Key
+- Codes" below; otherwise, they transmit a sequence of codes typically
+- starting with the escape character, and which must be collected with
++ but is not limited to keycaps engraved with "F1", "PF1", and so on.)
++ If the window is in keypad mode, these produce a numeric code
++ corresponding to the <STRONG>KEY_</STRONG> symbols listed in subsection "Predefined Key
++ Codes" below; otherwise, they transmit a sequence of codes typically
++ starting with the escape character, and which must be collected with
+ multiple <STRONG>wgetch</STRONG> calls.
+
+- <STRONG>o</STRONG> The <EM>curses.h</EM> header file declares many <EM>predefined</EM> <EM>function</EM> <EM>keys</EM>
+- whose names begin with <STRONG>KEY_</STRONG>; these object-like macros have values
++ <STRONG>o</STRONG> The <EM>curses.h</EM> header file declares many <EM>predefined</EM> <EM>function</EM> <EM>keys</EM>
++ whose names begin with <STRONG>KEY_</STRONG>; these object-like macros have values
+ outside the range of eight-bit character codes.
+
+- <STRONG>o</STRONG> In <EM>ncurses</EM>, <EM>user-defined</EM> <EM>function</EM> <EM>keys</EM> are configured with
+- <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>; they have no names, but are also expected to have
++ <STRONG>o</STRONG> In <EM>ncurses</EM>, <EM>user-defined</EM> <EM>function</EM> <EM>keys</EM> are configured with
++ <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>; they have no names, but are also expected to have
+ values outside the range of eight-bit codes.
+
+- A variable intended to hold a function key code must thus be of type
++ A variable intended to hold a function key code must thus be of type
+ <EM>short</EM> or larger.
+
+- Most terminals one encounters follow the ECMA-48 standard insofar as
+- their function keys produce character sequences prefixed with the
+- escape character ESC. This fact implies that <EM>curses</EM> cannot know
+- whether the terminal has sent an ESC key stroke or the beginning of a
+- function key's character sequence without waiting to see if, and how
+- soon, further input arrives. When <EM>curses</EM> reads such an ambiguous
+- character, it sets a timer. If the remainder of the sequence does not
+- arrive within the designated time, <STRONG>wgetch</STRONG> returns the prefix character;
+- otherwise, it returns the function key code corresponding to the unique
+- sequence defined by the terminal. Consequently, a user of a <EM>curses</EM>
+- application may experience a delay after pressing ESC while <EM>curses</EM>
+- disambiguates the input; see section "EXTENSIONS" below. If the window
+- is in "no time-out" mode, the timer does not expire; it is an infinite
+- (or very large) value. See <STRONG><A HREF="notimeout.3x.html">notimeout(3x)</A></STRONG>. Because function key
+- sequences usually begin with an escape character, the terminal may
+- appear to hang in no time-out mode after the user has pressed ESC.
+- Generally, further typing "awakens" <EM>curses</EM>.
++ Most terminals one encounters follow the ECMA-48 standard insofar as
++ their function keys produce character sequences prefixed with the
++ escape character ESC. This fact implies that <EM>curses</EM> cannot distinguish
++ a user's press of the escape key (assuming it sends ESC) from the
++ beginning of a function key's character sequence without waiting to see
++ if, and how soon, further input arrives. When <EM>curses</EM> reads such an
++ ambiguous character, it sets a timer. If the remainder of the sequence
++ does not arrive within the designated time, <STRONG>wgetch</STRONG> returns the prefix
++ character; otherwise, it returns the function key code corresponding to
++ the unique sequence defined by the terminal. Consequently, a user of a
++ <EM>curses</EM> application may experience a delay after they escape key is
++ pressed while <EM>curses</EM> disambiguates the input; see section "EXTENSIONS"
++ below. If the window is in "no time-out" mode, the timer does not
++ expire; it is an infinite (or very large) value. See <STRONG><A HREF="notimeout.3x.html">notimeout(3x)</A></STRONG>.
++ Because function key sequences usually begin with ESC, the terminal may
++ appear to hang in no time-out mode after the user presses the escape
++ key. Generally, further typing "awakens" <EM>curses</EM>.
+
+
+ </PRE><H3><a name="h3-Ungetting-Characters">Ungetting Characters</a></H3><PRE>
+- <STRONG>ungetch</STRONG> places <EM>c</EM> into the input queue to be returned by the next call
+- to <STRONG>wgetch</STRONG>. A single input queue serves all windows.
++ <STRONG>ungetch</STRONG> places <EM>c</EM> into the input queue to be returned by the next call
++ to <STRONG>wgetch</STRONG>. A single input queue serves all windows associated with the
++ terminal.
+
+
+ </PRE><H3><a name="h3-Predefined-Key-Codes">Predefined Key Codes</a></H3><PRE>
+@@ -178,9 +180,9 @@
+ <STRONG>KEY_RIGHT</STRONG>
+ <STRONG>KEY_HOME</STRONG> Home key (upward+left arrow)
+ <STRONG>KEY_BACKSPACE</STRONG> Backspace
++
+ <STRONG>KEY_F0</STRONG> Function keys; space for 64 keys is reserved
+ <STRONG>KEY_F(</STRONG><EM>n</EM><STRONG>)</STRONG> Function key <EM>n</EM> where 0 &lt;= <EM>n</EM> &lt;= 63
+-
+ <STRONG>KEY_DL</STRONG> Delete line
+ <STRONG>KEY_IL</STRONG> Insert line
+ <STRONG>KEY_DC</STRONG> Delete character
+@@ -244,9 +246,9 @@
+ <STRONG>KEY_SCREATE</STRONG> Shifted create key
+ <STRONG>KEY_SDC</STRONG> Shifted delete character key
+ <STRONG>KEY_SDL</STRONG> Shifted delete line key
++
+ <STRONG>KEY_SEND</STRONG> Shifted end key
+ <STRONG>KEY_SEOL</STRONG> Shifted clear line key
+-
+ <STRONG>KEY_SEXIT</STRONG> Shifted exit key
+ <STRONG>KEY_SFIND</STRONG> Shifted find key
+ <STRONG>KEY_SHELP</STRONG> Shifted help key
+@@ -332,7 +334,7 @@
+ <EM>curses</EM> distinguishes the Enter keys in the alphabetic and numeric
+ keypad sections of a keyboard because (most) terminals do. <STRONG>KEY_ENTER</STRONG>
+ refers to the key on the numeric keypad and, like other function keys,
+- and is reliably recognized only if the window's keypad mode is enabled.
++ is reliably recognized only if the window's keypad mode is enabled.
+
+ <STRONG>o</STRONG> The <EM>terminfo</EM> <STRONG>key_enter</STRONG> (<STRONG>kent</STRONG>) capability describes the character
+ (sequence) sent by the Enter key of a terminal's numeric (or
+@@ -372,8 +374,8 @@
+ function key character sequence from a series of key strokes beginning
+ with ESC typed by the user; see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+
+- <STRONG>has_key</STRONG> was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and is not found in SVr4 <EM>curses</EM>,
+- 4.4BSD <EM>curses</EM>, or any other previous curses implementation.
++ <STRONG>has_key</STRONG> was designed for <EM>ncurses</EM>, and is not found in SVr4 <EM>curses</EM>,
++ 4.4BSD <EM>curses</EM>, or any other previous <EM>curses</EM> implementation.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+@@ -392,9 +394,9 @@
+ The behavior of <STRONG>wgetch</STRONG> in the presence of signal handlers is
+ unspecified in the SVr4 documentation and X/Open Curses. In historical
+ <EM>curses</EM> implementations, it varied depending on whether the operating
+- system's dispatch of a signal to a handler interrupting a <STRONG>read(2)</STRONG> call
++ system's dispatch of a signal to a handler interrupted a <STRONG>read(2)</STRONG> call
+ in progress, and also (in some implementations) whether an input
+- timeout or non-blocking mode has been set. Programmers concerned about
++ timeout or non-blocking mode had been set. Programmers concerned about
+ portability should be prepared for either of two cases: (a) signal
+ receipt does not interrupt <STRONG>wgetch</STRONG>; or (b) signal receipt interrupts
+ <STRONG>wgetch</STRONG> and causes it to return <STRONG>ERR</STRONG> with <STRONG>errno</STRONG> set to <STRONG>EINTR</STRONG>.
+@@ -424,7 +426,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_getstr.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_getstr.3x.html 2024-04-27 18:38:46.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_getstr.3x.html 2024-05-11 21:39:56.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_getstr.3x,v 1.58 2024/04/20 19:18:18 tom Exp @
++ * @Id: curs_getstr.3x,v 1.59 2024/05/11 20:39:53 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_getstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_getstr 3x 2024-05-11 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_getstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_getstr 3x 2024-05-11 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+
+@@ -156,7 +156,7 @@
+ documented in SVr4.
+
+ X/Open Curses, Issue 5 (2007) stated that these functions "read at most
+- <EM>n</EM> bytes" but did not state whether the terminating NUL is counted in
++ <EM>n</EM> bytes" but did not state whether the terminating NUL counted toward
+ that limit. X/Open Curses, Issue 7 (2009) changed that to say they
+ "read at most <EM>n</EM>-1 bytes" to allow for the terminating NUL. As of 2018,
+ some implementations count it, some do not:
+@@ -242,7 +242,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_getyx.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_getyx.3x.html 2024-04-27 18:38:46.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_getyx.3x.html 2024-05-11 21:39:56.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_getyx.3x,v 1.44 2024/04/20 21:20:07 tom Exp @
++ * @Id: curs_getyx.3x,v 1.45 2024/05/11 20:39:53 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_getyx 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_getyx 3x 2024-05-11 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_getyx 3x 2024-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_getyx 3x 2024-05-11 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+
+@@ -55,53 +55,53 @@
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+ <STRONG>void</STRONG> <STRONG>getyx(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+- <STRONG>void</STRONG> <STRONG>getparyx(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>getbegyx(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>getmaxyx(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+
++ <STRONG>void</STRONG> <STRONG>getparyx(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+
+-</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+- The <STRONG>getyx</STRONG> macro places the current cursor position of the given window
+- in the two integer variables <EM>y</EM> and <EM>x</EM>.
+-
+- If <EM>win</EM> is a subwindow, the <STRONG>getparyx</STRONG> macro places the beginning
+- coordinates of the subwindow relative to the parent window into two
+- integer variables <EM>y</EM> and <EM>x</EM>. Otherwise, <STRONG>-1</STRONG> is placed into <EM>y</EM> and <EM>x</EM>.
+
+- Like <STRONG>getyx</STRONG>, the <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros store the current
+- beginning coordinates and size of the specified window.
++</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
++ These macros obtain the cursor position and bounds information of a
++ <EM>curses</EM> window <EM>win</EM>. <STRONG>getyx</STRONG> stores <EM>win</EM>'s cursor position in the variables
++ <EM>y</EM> and <EM>x</EM>. <STRONG>getmaxyx</STRONG> stores <EM>win</EM>'s maximum valid row and column numbers in
++ <EM>y</EM> and <EM>x</EM>, respectively. <STRONG>getbegyx</STRONG> similarly stores the position of <EM>win</EM>'s
++ origin relative to that of the screen (for <STRONG>stdscr</STRONG>, these coordinates
++ are always <STRONG>0</STRONG>).
++
++ If <EM>win</EM> is a subwindow (see <STRONG><A HREF="subwin.3x.html">subwin(3x)</A></STRONG>), the <STRONG>getparyx</STRONG> macro places the
++ coordinates of its origin relative to its parent window into <EM>y</EM> and <EM>x</EM>,
++ and <STRONG>-1</STRONG> into both if it is not.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+- The return values of these macros are undefined (i.e., they should not
+- be used as the right-hand side of assignment statements).
++ No return values are defined for macros. Do not use them as the right-
++ hand side of assignment statements.
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+- All of these interfaces are macros. A "&amp;" is not necessary before the
+- variables <EM>y</EM> and <EM>x</EM>.
++ All of these interfaces are implemented as macros. An "&amp;" operator is
++ not necessary before the variables <EM>y</EM> and <EM>x</EM>.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- The <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros are described in
+- X/Open Curses, Issue 4.
++ These macros are described in X/Open Curses, Issue 4.
+
+- This implementation also provides functions <STRONG>getbegx</STRONG>, <STRONG>getbegy</STRONG>, <STRONG>getcurx</STRONG>,
+- <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>getpary</STRONG> for compatibility with
+- older versions of <EM>curses</EM>; see <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>.
+-
+- Although X/Open Curses does not address this, many implementations
+- provide members of the <STRONG>WINDOW</STRONG> structure containing values corresponding
+- to these macros. For best portability, do not rely on using the data
+- in <STRONG>WINDOW</STRONG>, since some implementations make <STRONG>WINDOW</STRONG> opaque (do not allow
+- direct use of its members).
++ <EM>ncurses</EM> also provides functions <STRONG>getbegx</STRONG>, <STRONG>getbegy</STRONG>, <STRONG>getcurx</STRONG>, <STRONG>getcury</STRONG>,
++ <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG>, and <STRONG>getpary</STRONG> for compatibility with older
++ versions of <EM>curses</EM>; see <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>.
++
++ Although X/Open Curses does not address the issue, many implementations
++ expose members of the <EM>WINDOW</EM> structure containing values corresponding
++ to these macros. Do not rely on their availability; some
++ implementations make <EM>WINDOW</EM> opaque (that is, they do not allow direct
++ access to its members).
+
+ Besides the problem of opaque structures, the data stored in like-named
+- members may not have like-values in different implementations. For
+- example, the <STRONG>WINDOW._maxx</STRONG> and <STRONG>WINDOW._maxy</STRONG> values in <EM>ncurses</EM> have (at
+- least since release 1.8.1) differed by one from some other
+- implementations. The difference is hidden by means of the macro
+- <STRONG>getmaxyx</STRONG>.
++ members may not have values of the same meaning different
++ implementations. For example, the values of <STRONG>WINDOW._maxx</STRONG> and
++ <STRONG>WINDOW._maxy</STRONG> in <EM>ncurses</EM> have long differed by one from some other
++ implementations. The <STRONG>getmaxyx</STRONG> macro hides this difference.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -109,7 +109,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_inch.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_inch.3x.html 2024-04-27 18:38:46.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_inch.3x.html 2024-05-11 21:39:56.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_inch.3x,v 1.51 2024/04/20 21:20:07 tom Exp @
++ * @Id: curs_inch.3x,v 1.52 2024/05/11 20:39:53 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_inch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_inch 3x 2024-05-11 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_inch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_inch 3x 2024-05-11 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+
+@@ -56,67 +56,56 @@
+
+ <STRONG>chtype</STRONG> <STRONG>inch(void);</STRONG>
+ <STRONG>chtype</STRONG> <STRONG>winch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+-
+ <STRONG>chtype</STRONG> <STRONG>mvinch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>chtype</STRONG> <STRONG>mvwinch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+- These routines return the character, of type <STRONG>chtype</STRONG>, at the current
+- position in the named window. If any attributes are set for that
+- position, their values are OR'ed into the value returned. Constants
+- defined in <STRONG>&lt;curses.h&gt;</STRONG> can be used with the <STRONG>&amp;</STRONG> (logical AND) operator to
+- extract the character or attributes alone.
+-
+-
+-</PRE><H3><a name="h3-Attributes">Attributes</a></H3><PRE>
+- The following bit masks may be AND-ed with characters returned by
+- <STRONG>winch</STRONG>.
+-
+- <STRONG>Name</STRONG> <STRONG>Description</STRONG>
+- ------------------------------------------------------------------------
+- <STRONG>A_CHARTEXT</STRONG> Extract character
+- <STRONG>A_ATTRIBUTES</STRONG> Extract attributes
+- <STRONG>A_COLOR</STRONG> Extract color pair information
++ <STRONG>winch</STRONG> returns the <EM>curses</EM> character, including rendering attributes and
++ color pair identifier, at the cursor position in the window <EM>win</EM>.
++ Subsection "Video Attributes" of <STRONG><A HREF="curs_attr.3x.html">attron(3x)</A></STRONG> explains how to extract
++ these data from a <EM>chtype</EM>. <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>
+- 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.
+
+- The <STRONG>winch</STRONG> function does not return an error if the window contains
+- characters larger than 8-bits (255). Only the low-order 8 bits of the
+- character are used by <STRONG>winch</STRONG>.
++ These functions do not return an error if the window comprises cells of
++ <EM>curses</EM> complex characters (that is, they contain characters with codes
++ wider than eight bits, or greater than 255 as an unsigned decimal
++ integer). They instead extract only the low-order eight bits of
++ character data in the cell.
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+- Note that all of these routines may be macros.
++ <STRONG>inch</STRONG>, <STRONG>mvinch</STRONG>, and <STRONG>mvwinch</STRONG> may be implemented as macros.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- These functions are described in X/Open Curses, Issue 4.
+-
+- Very old systems (before standardization) provide a different function
+- with the same name:
+-
+- <STRONG>o</STRONG> The <STRONG>winch</STRONG> function was part of the original BSD curses library,
+- which stored a 7-bit character combined with the <EM>standout</EM>
+- attribute.
+-
+- In BSD curses, <STRONG>winch</STRONG> returned only the character (as an integer)
+- with the <EM>standout</EM> attribute removed.
++ X/Open Curses, Issue 4 describes these functions. It specifies no
++ error conditions for them.
+
+- <STRONG>o</STRONG> System V curses added support for several video attributes which
+- could be combined with characters in the window.
+
+- Reflecting this improvement, the function was altered to return the
+- character combined with all video attributes in a <STRONG>chtype</STRONG> value.
+-
+- X/Open Curses does not specify the size and layout of attributes, color
+- and character values in <STRONG>chtype</STRONG>; it is implementation-dependent. This
+- implementation uses 8 bits for character values. An application using
+- more bits, e.g., a Unicode value, should use the wide-character
+- equivalents to these functions.
++</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
++ <STRONG>winch</STRONG> was implemented in the original 4BSD <EM>curses</EM> library (November
++ 1980). It returned only the character code (as an integer) with the
++ "standout" attribute bit (the only one it supported) cleared. Because
++ 7-bit ASCII was the only character encoding supported, 4BSD's <STRONG>winch</STRONG>
++ returned a <EM>char</EM> type.
++
++ System V <EM>curses</EM> (1983) permitted several rendering attributes to be
++ combined with a character in a window. Reflecting this improvement,
++ <STRONG>winch</STRONG> returned an <EM>int</EM> in SVr3.2 (1988) and switched to <EM>chtype</EM> in SVr4
++ (1989).
++
++ X/Open Curses does not specify the sizes of the character code or color
++ pair identifier, nor the quantity of rendering attribute bits, in
++ <EM>chtype</EM>; these are implementation-dependent. <EM>ncurses</EM> uses eight bits
++ for the character code. An application requiring a wider character
++ type, for instance to handle Unicode, should use the wide-character
++ counterparts of these functions.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -127,20 +116,17 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+ <li><a href="#h2-NAME">NAME</a></li>
+ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+-<ul>
+-<li><a href="#h3-Attributes">Attributes</a></li>
+-</ul>
+-</li>
++<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+ <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+ <li><a href="#h2-NOTES">NOTES</a></li>
+ <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
++<li><a href="#h2-HISTORY">HISTORY</a></li>
+ <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+ </ul>
+ </div>
+Index: doc/html/man/curs_mouse.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_mouse.3x.html 2024-04-27 18:38:46.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_mouse.3x.html 2024-05-11 21:39:57.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_mouse.3x,v 1.98 2024/04/20 19:02:07 tom Exp @
++ * @Id: curs_mouse.3x,v 1.99 2024/05/11 20:39:53 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_mouse 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_mouse 3x 2024-05-11 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_mouse 3x 2024-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_mouse 3x 2024-05-11 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+
+@@ -373,12 +373,12 @@
+ been enabled by <STRONG>mousemask</STRONG>. Instead, the <EM>xterm</EM> mouse report sequence
+ appears in the string read.
+
+- Mouse event reports from <EM>xterm</EM> are not detected correctly in a window
+- with keypad application mode disabled, since they are interpreted as a
+- variety of function key. Set the terminal's <EM>terminfo</EM> capability <STRONG>kmous</STRONG>
+- to "\E[M" (the beginning of the response from <EM>xterm</EM> for mouse clicks).
+- Other values of <STRONG>kmous</STRONG> are permitted under the same assumption, that is,
+- the report begins with that sequence.
++ An <EM>ncurses</EM> window must enable <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> to correctly receive mouse
++ event reports from <EM>xterm</EM> since they are encoded like function keys.
++ Set the terminal's <EM>terminfo</EM> capability <STRONG>kmous</STRONG> to "\E[M" (the beginning
++ of the response from <EM>xterm</EM> for mouse clicks). Other values of <STRONG>kmous</STRONG>
++ are permitted under the same assumption, that is, the report begins
++ with that sequence.
+
+ Because there are no standard response sequences that serve to identify
+ terminals supporting the <EM>xterm</EM> mouse protocol, <EM>ncurses</EM> assumes that if
+@@ -394,7 +394,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_outopts.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_outopts.3x.html 2024-04-27 18:38:46.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_outopts.3x.html 2024-05-11 21:39:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_outopts.3x,v 1.64 2024/04/20 21:24:19 tom Exp @
++ * @Id: curs_outopts.3x,v 1.65 2024/05/11 20:39:53 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_outopts 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_outopts 3x 2024-05-11 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_outopts 3x 2024-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_outopts 3x 2024-05-11 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+
+@@ -47,16 +47,16 @@
+
+
+ </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+- <STRONG>clearok</STRONG>, <STRONG>idlok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>immedok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>,
+- <STRONG>scrollok</STRONG> - set <EM>curses</EM> output options
++ <STRONG>clearok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>idlok</STRONG>, <STRONG>immedok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>setscrreg</STRONG>,
++ <STRONG>wsetscrreg</STRONG> - set <EM>curses</EM> output options
+
+
+ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>clearok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>idlok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>idcok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>idlok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>immedok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>leaveok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scrollok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+@@ -81,6 +81,14 @@
+ repainted from scratch.
+
+
++</PRE><H3><a name="h3-idcok">idcok</a></H3><PRE>
++ If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second argument, <STRONG>curses</STRONG> no longer
++ considers using the hardware insert/delete character feature of
++ terminals so equipped. Use of character insert/delete is enabled by
++ default. Calling <STRONG>idcok</STRONG> with <STRONG>TRUE</STRONG> as second argument re-enables use of
++ character insertion and deletion.
++
++
+ </PRE><H3><a name="h3-idlok">idlok</a></H3><PRE>
+ If <STRONG>idlok</STRONG> is called with <STRONG>TRUE</STRONG> as second argument, <STRONG>curses</STRONG> considers using
+ the hardware insert/delete line feature of terminals so equipped.
+@@ -93,14 +101,6 @@
+ changed portions of all lines.
+
+
+-</PRE><H3><a name="h3-idcok">idcok</a></H3><PRE>
+- If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second argument, <STRONG>curses</STRONG> no longer
+- considers using the hardware insert/delete character feature of
+- terminals so equipped. Use of character insert/delete is enabled by
+- default. Calling <STRONG>idcok</STRONG> with <STRONG>TRUE</STRONG> as second argument re-enables use of
+- character insertion and deletion.
+-
+-
+ </PRE><H3><a name="h3-immedok">immedok</a></H3><PRE>
+ If <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> as second argument, any change in the
+ window image, such as the ones caused by <STRONG>waddch,</STRONG> <STRONG>wclrtobot,</STRONG> <STRONG>wscrl</STRONG>,
+@@ -196,7 +196,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -205,8 +205,8 @@
+ <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+ <ul>
+ <li><a href="#h3-clearok">clearok</a></li>
+-<li><a href="#h3-idlok">idlok</a></li>
+ <li><a href="#h3-idcok">idcok</a></li>
++<li><a href="#h3-idlok">idlok</a></li>
+ <li><a href="#h3-immedok">immedok</a></li>
+ <li><a href="#h3-leaveok">leaveok</a></li>
+ <li><a href="#h3-scrollok">scrollok</a></li>
+Index: doc/html/man/curs_sp_funcs.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_sp_funcs.3x.html 2024-04-27 18:38:47.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_sp_funcs.3x.html 2024-05-11 21:39:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_sp_funcs.3x,v 1.50 2024/04/20 18:56:31 tom Exp @
++ * @Id: curs_sp_funcs.3x,v 1.51 2024/05/11 20:39:53 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_sp_funcs 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_sp_funcs 3x 2024-05-11 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_sp_funcs 3x 2024-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_sp_funcs 3x 2024-05-11 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+
+@@ -294,7 +294,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_termattrs.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_termattrs.3x.html 2024-04-27 18:38:47.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_termattrs.3x.html 2024-05-11 21:39:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_termattrs.3x,v 1.41 2024/04/20 21:20:07 tom Exp @
++ * @Id: curs_termattrs.3x,v 1.42 2024/05/11 20:39:53 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_termattrs 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_termattrs 3x 2024-05-11 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_termattrs 3x 2024-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_termattrs 3x 2024-05-11 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+
+@@ -48,8 +48,8 @@
+
+ </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>baudrate</STRONG>, <STRONG>erasechar</STRONG>, <STRONG>erasewchar</STRONG>, <STRONG>has_ic</STRONG>, <STRONG>has_il</STRONG>, <STRONG>killchar</STRONG>, <STRONG>killwchar</STRONG>,
+- <STRONG>longname</STRONG>, <STRONG>term_attrs</STRONG>, <STRONG>termattrs</STRONG>, <STRONG>termname</STRONG> - <EM>curses</EM> environment query
+- routines
++ <STRONG>longname</STRONG>, <STRONG>term_attrs</STRONG>, <STRONG>termattrs</STRONG>, <STRONG>termname</STRONG> - get and set terminal
++ attributes with <EM>curses</EM>
+
+
+ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+@@ -149,7 +149,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_util.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/curs_util.3x.html 2024-04-27 18:38:47.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/curs_util.3x.html 2024-05-11 21:39:57.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_util.3x,v 1.101 2024/04/20 21:20:07 tom Exp @
++ * @Id: curs_util.3x,v 1.102 2024/05/11 20:39:53 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-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_util 3x 2024-05-11 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-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_util 3x 2024-05-11 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>
+
+@@ -64,7 +64,7 @@
+
+ <STRONG>void</STRONG> <STRONG>filter(void);</STRONG>
+
+- <STRONG>void</STRONG> <STRONG>use_env(bool</STRONG> <EM>f</EM><STRONG>);</STRONG>
++ <STRONG>void</STRONG> <STRONG>use_env(bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>putwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>filep</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*getwin(FILE</STRONG> <STRONG>*</STRONG><EM>filep</EM><STRONG>);</STRONG>
+@@ -74,7 +74,7 @@
+
+ <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM>
+ <STRONG>void</STRONG> <STRONG>nofilter(void);</STRONG>
+- <STRONG>void</STRONG> <STRONG>use_tioctl(bool</STRONG> <EM>f</EM><STRONG>);</STRONG>
++ <STRONG>void</STRONG> <STRONG>use_tioctl(bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+@@ -192,159 +192,158 @@
+
+ <STRONG>use_env</STRONG> <STRONG>use_tioctl</STRONG> <STRONG>Summary</STRONG>
+ -----------------------------------------------------------------
+- <STRONG>TRUE</STRONG> <STRONG>FALSE</STRONG> This is the default behavior. <EM>ncurses</EM>
+- uses operating system calls unless
+- overridden by <EM>LINES</EM> or <EM>COLUMNS</EM>
++ <STRONG>TRUE</STRONG> <STRONG>FALSE</STRONG> <EM>ncurses</EM> uses operating system calls
++ unless overridden by <EM>LINES</EM> or <EM>COLUMNS</EM>
+ environment variables; default.
+- <STRONG>TRUE</STRONG> <STRONG>TRUE</STRONG> <EM>ncurses</EM> updates <EM>LINES</EM> and <EM>COLUMNS</EM> based
++ <STRONG>TRUE</STRONG> <STRONG>TRUE</STRONG> <EM>ncurses</EM> updates <EM>LINES</EM> and <EM>COLUMNS</EM> based
+ on operating system calls.
+- <STRONG>FALSE</STRONG> <STRONG>TRUE</STRONG> <EM>ncurses</EM> ignores <EM>LINES</EM> and <EM>COLUMNS</EM>, using
++ <STRONG>FALSE</STRONG> <STRONG>TRUE</STRONG> <EM>ncurses</EM> ignores <EM>LINES</EM> and <EM>COLUMNS</EM>, using
+ operating system calls to obtain size.
+
+
+ </PRE><H3><a name="h3-putwin_getwin">putwin, getwin</a></H3><PRE>
+- The <STRONG>putwin</STRONG> routine writes all data associated with window (or pad) <EM>win</EM>
+- into the file to which <EM>filep</EM> points. This information can be later
++ The <STRONG>putwin</STRONG> routine writes all data associated with window (or pad) <EM>win</EM>
++ into the file to which <EM>filep</EM> points. This information can be later
+ retrieved using the <STRONG>getwin</STRONG> function.
+
+- The <STRONG>getwin</STRONG> routine reads window related data stored in the file by
+- <STRONG>putwin</STRONG>. The routine then creates and initializes a new window using
+- that data. It returns a pointer to the new window. There are a few
++ The <STRONG>getwin</STRONG> routine reads window related data stored in the file by
++ <STRONG>putwin</STRONG>. The routine then creates and initializes a new window using
++ that data. It returns a pointer to the new window. There are a few
+ caveats:
+
+- <STRONG>o</STRONG> the data written is a copy of the <EM>WINDOW</EM> structure, and its
+- associated character cells. The format differs between the wide-
+- character (<EM>ncursesw</EM>) and non-wide (<EM>ncurses</EM>) libraries. You can
++ <STRONG>o</STRONG> the data written is a copy of the <EM>WINDOW</EM> structure, and its
++ associated character cells. The format differs between the wide-
++ character (<EM>ncursesw</EM>) and non-wide (<EM>ncurses</EM>) libraries. You can
+ transfer data between the two, however.
+
+- <STRONG>o</STRONG> the retrieved window is always created as a top-level window (or
++ <STRONG>o</STRONG> the retrieved window is always created as a top-level window (or
+ pad), rather than a subwindow.
+
+- <STRONG>o</STRONG> the window's character cells contain the color pair <EM>value</EM>, but not
+- the actual color <EM>numbers</EM>. If cells in the retrieved window use
+- color pairs which have not been created in the application using
++ <STRONG>o</STRONG> the window's character cells contain the color pair <EM>value</EM>, but not
++ the actual color <EM>numbers</EM>. If cells in the retrieved window use
++ color pairs which have not been created in the application using
+ <STRONG>init_pair</STRONG>, they will not be colored when the window is refreshed.
+
+
+ </PRE><H3><a name="h3-delay_output">delay_output</a></H3><PRE>
+- The <STRONG>delay_output</STRONG> routine inserts an <EM>ms</EM> millisecond pause in output.
+- Employ this function judiciously when terminal output uses padding,
+- because <EM>ncurses</EM> transmits null characters (consuming CPU and I/O
+- resources) instead of sleeping and requesting resumption from the
++ The <STRONG>delay_output</STRONG> routine inserts an <EM>ms</EM> millisecond pause in output.
++ Employ this function judiciously when terminal output uses padding,
++ because <EM>ncurses</EM> transmits null characters (consuming CPU and I/O
++ resources) instead of sleeping and requesting resumption from the
+ operating system. Padding is used unless:
+
+ <STRONG>o</STRONG> the terminal description has <STRONG>npc</STRONG> (<STRONG>no_pad_char</STRONG>) capability, or
+
+ <STRONG>o</STRONG> the environment variable <STRONG>NCURSES_NO_PADDING</STRONG> is set.
+
+- If padding is not in use, <EM>ncurses</EM> uses <STRONG>napms</STRONG> to perform the delay. If
+- the value of <EM>ms</EM> exceeds 30,000 (thirty seconds), it is capped at that
++ If padding is not in use, <EM>ncurses</EM> uses <STRONG>napms</STRONG> to perform the delay. If
++ the value of <EM>ms</EM> exceeds 30,000 (thirty seconds), it is capped at that
+ value.
+
+
+ </PRE><H3><a name="h3-flushinp">flushinp</a></H3><PRE>
+- The <STRONG>flushinp</STRONG> routine throws away any typeahead that has been typed by
++ The <STRONG>flushinp</STRONG> routine throws away any typeahead that has been typed by
+ the user and has not yet been read by the program.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+- Except for <STRONG>flushinp</STRONG>, routines that return an integer return <STRONG>ERR</STRONG> upon
+- failure and <STRONG>OK</STRONG> (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>")
++ Except for <STRONG>flushinp</STRONG>, routines that return an integer return <STRONG>ERR</STRONG> upon
++ failure and <STRONG>OK</STRONG> (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>")
+ upon successful completion.
+
+ Routines that return pointers return <STRONG>NULL</STRONG> on error.
+
+- X/Open Curses does not specify any error conditions. In this
++ X/Open Curses does not specify any error conditions. In this
+ implementation
+
+ <STRONG>flushinp</STRONG>
+ returns an error if the terminal was not initialized.
+
+ <STRONG>putwin</STRONG>
+- returns an error if the associated <STRONG>fwrite</STRONG> calls return an
++ returns an error if the associated <STRONG>fwrite</STRONG> calls return an
+ error.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+
+ </PRE><H3><a name="h3-filter">filter</a></H3><PRE>
+- The SVr4 documentation describes the action of <STRONG>filter</STRONG> only in the
+- vaguest terms. The description here is adapted from X/Open Curses
++ The SVr4 documentation describes the action of <STRONG>filter</STRONG> only in the
++ vaguest terms. The description here is adapted from X/Open Curses
+ (which erroneously fails to describe the disabling of <STRONG>cuu</STRONG>).
+
+
+ </PRE><H3><a name="h3-delay_output-padding">delay_output padding</a></H3><PRE>
+- The limitation to 30 seconds and the use of <STRONG>napms</STRONG> differ from other
++ The limitation to 30 seconds and the use of <STRONG>napms</STRONG> differ from other
+ implementations.
+
+ <STRONG>o</STRONG> SVr4 curses does not delay if no padding character is available.
+
+- <STRONG>o</STRONG> NetBSD curses uses <STRONG>napms</STRONG> when no padding character is available,
+- but does not take timing into account when using the padding
++ <STRONG>o</STRONG> NetBSD curses uses <STRONG>napms</STRONG> when no padding character is available,
++ but does not take timing into account when using the padding
+ character.
+
+ Neither limits the delay.
+
+
+ </PRE><H3><a name="h3-keyname">keyname</a></H3><PRE>
+- The <STRONG>keyname</STRONG> function may return the names of user-defined string
+- capabilities which are defined in the terminfo entry via the <STRONG>-x</STRONG> option
++ The <STRONG>keyname</STRONG> function may return the names of user-defined string
++ capabilities which are defined in the terminfo entry via the <STRONG>-x</STRONG> option
+ of <STRONG>tic</STRONG>. This implementation automatically assigns at run-time keycodes
+- to user-defined strings which begin with "k". The keycodes start at
++ to user-defined strings which begin with "k". The keycodes start at
+ KEY_MAX, but are not guaranteed to be the same value for different runs
+- because user-defined codes are merged from all terminal descriptions
+- which have been loaded. The <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function controls
+- whether this data is loaded when the terminal description is read by
++ because user-defined codes are merged from all terminal descriptions
++ which have been loaded. The <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function controls
++ whether this data is loaded when the terminal description is read by
+ the library.
+
+
+ </PRE><H3><a name="h3-nofilter_use_tioctl">nofilter, use_tioctl</a></H3><PRE>
+- The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are specific to <EM>ncurses</EM>. They
+- were not supported on Version 7, BSD or System V implementations. It
+- is recommended that any code depending on <EM>ncurses</EM> extensions be
++ The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are specific to <EM>ncurses</EM>. They
++ were not supported on Version 7, BSD or System V implementations. It
++ is recommended that any code depending on <EM>ncurses</EM> extensions be
+ conditioned using <STRONG>NCURSES_VERSION</STRONG>.
+
+
+ </PRE><H3><a name="h3-putwin_getwin-file-format">putwin/getwin file-format</a></H3><PRE>
+ The <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG> functions have several issues with portability:
+
+- <STRONG>o</STRONG> The files written and read by these functions use an
+- implementation-specific format. Although the format is an obvious
++ <STRONG>o</STRONG> The files written and read by these functions use an
++ implementation-specific format. Although the format is an obvious
+ target for standardization, it has been overlooked.
+
+- Interestingly enough, according to the copyright dates in Solaris
+- source, the functions (along with <STRONG>scr_init</STRONG>, etc.) originated with
++ Interestingly enough, according to the copyright dates in Solaris
++ source, the functions (along with <STRONG>scr_init</STRONG>, etc.) originated with
+ the University of California, Berkeley (in 1982) and were later (in
+- 1988) incorporated into SVr4. Oddly, there are no such functions
++ 1988) incorporated into SVr4. Oddly, there are no such functions
+ in the 4.3BSD curses sources.
+
+ <STRONG>o</STRONG> Most implementations simply dump the binary <EM>WINDOW</EM> structure to the
+- file. These include SVr4 curses, NetBSD and PDCurses, as well as
++ file. These include SVr4 curses, NetBSD and PDCurses, as well as
+ older <EM>ncurses</EM> versions. This implementation (as well as the X/Open
+ variant of Solaris curses, dated 1995) uses textual dumps.
+
+- The implementations which use binary dumps use block-I/O (the
+- <STRONG>fwrite</STRONG> and <STRONG>fread</STRONG> functions). Those that use textual dumps use
++ The implementations which use binary dumps use block-I/O (the
++ <STRONG>fwrite</STRONG> and <STRONG>fread</STRONG> functions). Those that use textual dumps use
+ buffered-I/O. A few applications may happen to write extra data in
+- the file using these functions. Doing that can run into problems
+- mixing block- and buffered-I/O. This implementation reduces the
+- problem on writes by flushing the output. However, reading from a
++ the file using these functions. Doing that can run into problems
++ mixing block- and buffered-I/O. This implementation reduces the
++ problem on writes by flushing the output. However, reading from a
+ file written using mixed schemes may not be successful.
+
+
+ </PRE><H3><a name="h3-unctrl_wunctrl">unctrl, wunctrl</a></H3><PRE>
+- X/Open Curses, Issue 4 describes these functions. It states that
++ X/Open Curses, Issue 4 describes these functions. It states that
+ <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a null pointer if unsuccessful, but does
+- not define any error conditions. This implementation checks for three
++ not define any error conditions. This implementation checks for three
+ cases:
+
+- <STRONG>o</STRONG> the parameter is a 7-bit US-ASCII code. This is the case that
++ <STRONG>o</STRONG> the parameter is a 7-bit US-ASCII code. This is the case that
+ X/Open Curses documented.
+
+ <STRONG>o</STRONG> the parameter is in the range 128-159, i.e., a C1 control code. If
+- <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> has been called with a <STRONG>2</STRONG> parameter, <STRONG>unctrl</STRONG>
+- returns the parameter, i.e., a one-character string with the
+- parameter as the first character. Otherwise, it returns "~@",
++ <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> has been called with a <STRONG>2</STRONG> parameter, <STRONG>unctrl</STRONG>
++ returns the parameter, i.e., a one-character string with the
++ parameter as the first character. Otherwise, it returns "~@",
+ "~A", etc., analogous to "^@", "^A", C0 controls.
+
+ X/Open Curses does not document whether <STRONG>unctrl</STRONG> can be called before
+@@ -355,44 +354,44 @@
+ pointer.
+
+ The strings returned by <STRONG>unctrl</STRONG> in this implementation are determined at
+- compile time, showing C1 controls from the upper-128 codes with a "~"
+- prefix rather than "^". Other implementations have different
+- conventions. For example, they may show both sets of control
+- characters with "^", and strip the parameter to 7 bits. Or they may
+- ignore C1 controls and treat all of the upper-128 codes as printable.
+- This implementation uses 8 bits but does not modify the string to
+- reflect locale. The <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> function allows the caller
++ compile time, showing C1 controls from the upper-128 codes with a "~"
++ prefix rather than "^". Other implementations have different
++ conventions. For example, they may show both sets of control
++ characters with "^", and strip the parameter to 7 bits. Or they may
++ ignore C1 controls and treat all of the upper-128 codes as printable.
++ This implementation uses 8 bits but does not modify the string to
++ reflect locale. The <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> function allows the caller
+ to change the output of <STRONG>unctrl</STRONG>.
+
+- Likewise, the <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> function allows the caller to change the output
+- of <STRONG>keyname</STRONG>, i.e., it determines whether to use the "M-" prefix for
+- "meta" keys (codes in the range 128 to 255). Both
+- <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> succeed only after curses is
+- initialized. X/Open Curses does not document the treatment of codes
++ Likewise, the <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> function allows the caller to change the output
++ of <STRONG>keyname</STRONG>, i.e., it determines whether to use the "M-" prefix for
++ "meta" keys (codes in the range 128 to 255). Both
++ <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> succeed only after curses is
++ initialized. X/Open Curses does not document the treatment of codes
+ 128 to 159. When treating them as "meta" keys (or if <STRONG>keyname</STRONG> is called
+- before initializing curses), this implementation returns strings
++ before initializing curses), this implementation returns strings
+ "M-^@", "M-^A", etc.
+
+ X/Open Curses documents <STRONG>unctrl</STRONG> as declared in <STRONG>&lt;unctrl.h&gt;</STRONG>, which <EM>ncurses</EM>
+- does. However, <EM>ncurses</EM>' <STRONG>&lt;curses.h&gt;</STRONG> includes <STRONG>&lt;unctrl.h&gt;</STRONG>, matching the
++ does. However, <EM>ncurses</EM>' <STRONG>&lt;curses.h&gt;</STRONG> includes <STRONG>&lt;unctrl.h&gt;</STRONG>, matching the
+ behavior of SVr4 curses. Other implementations may not do that.
+
+
+ </PRE><H3><a name="h3-use_env_use_tioctl">use_env, use_tioctl</a></H3><PRE>
+- If <EM>ncurses</EM> is configured to provide the sp-functions extension, the
+- state of <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> may be updated before creating each
+- <EM>screen</EM> rather than once only (<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>). This feature of
++ If <EM>ncurses</EM> is configured to provide the sp-functions extension, the
++ state of <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> may be updated before creating each
++ <EM>screen</EM> rather than once only (<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>). This feature of
+ <STRONG>use_env</STRONG> is not provided by other implementations of curses.
+
+
+ </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="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-04-20 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/infocmp.1m.html
+--- ncurses-6.5-20240504+/doc/html/man/infocmp.1m.html 2024-04-27 18:38:48.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/infocmp.1m.html 2024-05-11 21:39:58.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: infocmp.1m,v 1.109 2024/03/16 15:35:01 tom Exp @
++ * @Id: infocmp.1m,v 1.110 2024/05/11 20:39:53 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-03-16 ncurses 6.5 User commands</TITLE>
++<TITLE>infocmp 1m 2024-05-11 ncurses 6.5 User commands</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">infocmp 1m 2024-03-16 ncurses 6.5 User commands</H1>
++<H1 class="no-header">infocmp 1m 2024-05-11 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>
+
+@@ -531,7 +531,7 @@
+
+
+
+-ncurses 6.5 2024-03-16 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/infotocap.1m.html
+--- ncurses-6.5-20240504+/doc/html/man/infotocap.1m.html 2024-04-27 18:38:48.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/infotocap.1m.html 2024-05-11 21:39:58.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: infotocap.1m,v 1.41 2024/03/16 15:35:01 tom Exp @
++ * @Id: infotocap.1m,v 1.42 2024/05/11 20:39:53 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>infotocap 1m 2024-03-16 ncurses 6.5 User commands</TITLE>
++<TITLE>infotocap 1m 2024-05-11 ncurses 6.5 User commands</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">infotocap 1m 2024-03-16 ncurses 6.5 User commands</H1>
++<H1 class="no-header">infotocap 1m 2024-05-11 ncurses 6.5 User commands</H1>
+ <PRE>
+ <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG> User commands <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+
+@@ -90,7 +90,7 @@
+
+
+
+-ncurses 6.5 2024-03-16 <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/ncurses.3x.html
+--- ncurses-6.5-20240504+/doc/html/man/ncurses.3x.html 2024-04-27 18:38:49.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/ncurses.3x.html 2024-05-11 21:39:59.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: ncurses.3x,v 1.214 2024/04/27 17:55:43 tom Exp @
++ * @Id: ncurses.3x,v 1.215 2024/05/11 20:39:53 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-04-27 ncurses 6.5 Library calls</TITLE>
++<TITLE>ncurses 3x 2024-05-11 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">ncurses 3x 2024-04-27 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">ncurses 3x 2024-05-11 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,20 +61,20 @@
+ terminals 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 20240427).
++ document describes <EM>ncurses</EM> version 6.5 (patch 20240511).
+
+ <EM>ncurses</EM> permits control of the terminal screen's contents; abstraction
+- and subdivision thereof with <EM>windows</EM> and <EM>pads</EM>; the reading of terminal
+- input; control of terminal input and output options; environment query
+- routines; color manipulation; the definition and use of <EM>soft</EM> <EM>label</EM>
+- keys; <EM>terminfo</EM> capability access; a <EM>termcap</EM> compatibility interface;
+- and an abstraction of the system's API for manipulating the terminal
+- (such as <STRONG>termios(3)</STRONG>).
+-
+- <EM>ncurses</EM> implements the standard interface described by X/Open Curses
+- Issue 7. In many behavioral details not standardized by X/Open,
+- <EM>ncurses</EM> emulates the <EM>curses</EM> library of SVr4 and provides numerous
+- useful extensions.
++ and subdivision thereof with <EM>windows</EM> and <EM>pads</EM>; acquisition of keyboard
++ and mouse events; control of terminal input and output options;
++ selection of color and rendering attributes (such as bold or
++ underline); the definition and use of <EM>soft</EM> <EM>label</EM> keys; access to the
++ <EM>terminfo</EM> terminal capability database; a <EM>termcap</EM> compatibility
++ interface; and an abstraction of the system's API for manipulating the
++ terminal (such as <STRONG>termios(3)</STRONG>).
++
++ <EM>ncurses</EM> implements the interface described by X/Open Curses Issue 7.
++ In many behavioral details not standardized by X/Open, <EM>ncurses</EM> emulates
++ the <EM>curses</EM> library of SVr4 and provides numerous useful extensions.
+
+ <EM>ncurses</EM> man pages employ several sections to clarify matters of usage
+ and interoperability with other <EM>curses</EM> implementations.
+@@ -160,63 +160,63 @@
+ cursor and write a character to <STRONG>stdscr</STRONG>, respectively.
+
+ Frequent changes to the terminal screen can cause unpleasant flicker or
+- inefficient use of the communication channel to the device, so the
+- library does not generally update it automatically. Therefore, after
++ inefficient use of the communication channel to the device, so as a
++ rule the library does not update it automatically. Therefore, after
+ using <EM>curses</EM> functions to accumulate a set of desired updates that make
+ sense to present together, call <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> to tell the library to make
+ the user's screen look like <STRONG>stdscr</STRONG>. The library <EM>optimizes</EM> its output
+- by computing a minimal number of operations to mutate the screen from
++ by computing a minimal volume of operations to mutate the screen from
+ its state at the previous refresh to the new one. Effective
+ optimization demands accurate information about the terminal device:
+ the management of such information is the province of the <STRONG><A HREF="curs_terminfo.3x.html">terminfo(3x)</A></STRONG>
+ API, a feature of every standard <EM>curses</EM> implementation.
+
+- Special windows called <EM>pads</EM> may also be manipulated. These are windows
+- that are not constrained to the size of the terminal screen and whose
+- contents need not be completely displayed. See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>.
+-
+- In addition to drawing characters on the screen, rendering attributes
+- and colors may be supported, causing the characters to show up in such
+- modes as underlined, in reverse video, or in color on terminals that
+- support such display enhancements. See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>.
++ Special windows called <EM>pads</EM> may also be manipulated. These are not
++ constrained to the size of the terminal screen and their contents need
++ not be completely displayed. See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>.
++
++ Many terminals support configuration of character cell foreground and
++ background colors as well as rendering <EM>attributes</EM> <EM>,</EM> which cause
++ characters to show up in such modes as boldfaced, underlined, or in
++ reverse video. See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>.
+
+ <EM>curses</EM> predefines constants for a small set of forms-drawing graphics
+ corresponding to the DEC Alternate Character Set (ACS), a feature of
+- VT100 and other terminals. See <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG>.
++ 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;
+- keystroke 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> translates these into unique <EM>key</EM>
+- <EM>codes.</EM> See <STRONG><A HREF="curs_getch.3x.html">getch(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> translates the latter into unique <EM>key</EM> <EM>codes.</EM> See
++ <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 to ease construction of user interfaces with <EM>curses</EM>.
++ <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> libraries; they permit overlapping windows and ease
++ construction of user interfaces with <EM>curses</EM>.
+
+
+ </PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+- The selection of an appropriate value of <EM>TERM</EM> in the process
++ The selection of an appropriate value of <EM>TERM</EM> in the process
+ environment is essential to correct <EM>curses</EM> and <EM>terminfo</EM> library
+- operation. A well-configured system selects a correct <EM>TERM</EM> value
+- automatically; <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> may assist with troubleshooting exotic
++ operation. A well-configured system selects a correct <EM>TERM</EM> value
++ automatically; <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> may assist with troubleshooting exotic
+ situations.
+
+- If you change the terminal type, export the <EM>TERM</EM> environment variable
+- in the shell, then run <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> or the "<STRONG>tput</STRONG> <STRONG>init</STRONG>" command. See
+- subsection "Tabs and Initialization" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+-
+- If the environment variables <EM>LINES</EM> and <EM>COLUMNS</EM> are set, or if the
+- <EM>curses</EM> program is executing in a graphical windowing environment, the
+- information obtained thence overrides that obtained by <EM>terminfo</EM>. An
++ If you change the terminal type, export the shell's <EM>TERM</EM> variable, then
++ run <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> or the "<STRONG>tput</STRONG> <STRONG>init</STRONG>" command. See subsection "Tabs and
++ Initialization" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
++
++ If the environment variables <EM>LINES</EM> and <EM>COLUMNS</EM> are set, or if the
++ <EM>curses</EM> program is executing in a graphical windowing environment, the
++ information obtained thence overrides that obtained by <EM>terminfo</EM>. An
+ <EM>ncurses</EM> extension supports resizable terminals; see <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
+
+- If the environment variable <EM>TERMINFO</EM> is defined, a <EM>curses</EM> program
+- checks first for a terminal type description in the location it
+- identifies. <EM>TERMINFO</EM> is useful for developing experimental type
+- descriptions or when write permission to <EM>/usr/share/terminfo</EM> is not
+- available.
++ If the environment variable <EM>TERMINFO</EM> is defined, a <EM>curses</EM> program
++ checks first for a terminal type description in the location it
++ identifies. <EM>TERMINFO</EM> is useful for developing type descriptions or
++ when write permission to <EM>/usr/share/terminfo</EM> is not available.
+
+ See section "ENVIRONMENT" below.
+
+@@ -234,7 +234,7 @@
+ In function synopses, <EM>ncurses</EM> man pages apply the following names to
+ parameters.
+
+- <EM>bf</EM> <EM>bool</EM> (<STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>)
++ <EM>bf</EM> a <EM>bool</EM> (<STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>)
+ <EM>c</EM> a <EM>char</EM> or <EM>int</EM>
+ <EM>ch</EM> a <EM>chtype</EM>
+ <EM>wc</EM> a <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> or <EM>wint</EM><STRONG>_</STRONG><EM>t</EM>
+@@ -244,17 +244,21 @@
+
+
+ </PRE><H3><a name="h3-Wide-and-Non-wide-Character-Configurations">Wide and Non-wide Character Configurations</a></H3><PRE>
+- This manual page describes functions that appear in any configuration
+- of the library. There are two common configurations; see section
+- "ALTERNATE CONFIGURATIONS" below.
++ This man page primarily surveys functions that appear in any
++ configuration of the library. There are two common configurations; see
++ section "ALTERNATE CONFIGURATIONS" below.
+
+ <EM>ncurses</EM> is the library in its "non-wide" configuration, handling only
+ eight-bit characters. It stores a character combined with
+- attributes in a <EM>chtype</EM> datum, which is often an alias of <EM>int</EM>.
+-
+- Attributes alone (with no corresponding character) can be
+- stored in variables of <EM>chtype</EM> or <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> type. In either
+- case, they are represented as an integral bit mask.
++ attributes and a color pair in a <EM>chtype</EM> datum, which is often
++ an alias of <EM>int</EM>. A string of <EM>curses</EM> characters is similar to
++ a C <EM>char</EM> string; a <EM>chtype</EM> string ends with an integral <STRONG>0</STRONG>, the
++ null <EM>curses</EM> character.
++
++ Attributes and a color pair selection (with no corresponding
++ character) can be stored in variables of <EM>chtype</EM> or <EM>attr</EM><STRONG>_</STRONG><EM>t</EM>
++ type. In either case, they are accessed via an integral bit
++ mask.
+
+ Each cell of a <EM>WINDOW</EM> is stored as a <EM>chtype</EM>.
+
+@@ -272,53 +276,56 @@
+ cell (as with accent marks and other diacritics).
+ Each character is of type <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>; a complex
+ character contains one spacing character and zero or
+- more non-spacing characters (see below). Attributes
+- and color data are stored in separate fields of the
+- structure, not combined as in <EM>chtype</EM>.
++ more non-spacing characters (see below). A string
++ of complex characters ends with a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> whose
++ <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> member is the null wide character.
++ Attributes and a color pair selection are stored in
++ separate fields of the 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>.
+
+- <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
++ <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.
+
+- <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,
+- a wide character may be <EM>spacing</EM>, meaning that it
+- occupies a character cell by itself and typically
+- accompanies cursor advancement, or <EM>non-spacing</EM>,
+- meaning that it occupies the same cell as a spacing
+- character, is often regarded as a "modifier" of the
+- base glyph with which it combines, and typically
++ <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,
++ a wide character may be <EM>spacing</EM>, meaning that it
++ occupies a character cell by itself and typically
++ accompanies cursor advancement, or <EM>non-spacing</EM>,
++ meaning that it occupies the same cell as a spacing
++ character, is often regarded as a "modifier" of the
++ 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>,
+- analogously to the <EM>int</EM>-sized character manipulation
++ <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>,
++ analogously to the <EM>int</EM>-sized character manipulation
+ functions of ISO C and its constant <STRONG>EOF</STRONG>.
+
+- The wide library provides additional functions that
+- complement those in the non-wide library where the size of
+- the underlying character type is significant. A somewhat
+- regular naming convention relates many of the wide variants
+- to their non-wide counterparts; where a non-wide function
+- name contains "ch" or "str", prefix it with "_w" to obtain
+- the wide counterpart. For example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>.
+- (Exceptions that add only "w" comprise <STRONG>addwstr</STRONG>, <STRONG>inwstr</STRONG>, and
++ The wide library provides additional functions that
++ complement those in the non-wide library where the size of
++ the underlying character type is significant. A somewhat
++ regular naming convention relates many of the wide variants
++ to their non-wide counterparts; where a non-wide function
++ name contains "ch" or "str", prefix it with "_w" to obtain
++ the wide counterpart. For example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>.
++ (Exceptions that add only "w" comprise <STRONG>addwstr</STRONG>, <STRONG>inwstr</STRONG>, and
+ their variants.)
+
+- This convention is inapplicable to some non-wide function
++ This convention is inapplicable to some non-wide function
+ names, so other transformations are used for the wide
+ configuration: the window background management function
+- "bkgd" becomes "bkgrnd"; the window border-drawing and
+- -clearing functions are suffixed with "_set"; and character
+- attribute manipulation functions like "attron" become
++ "bkgd" becomes "bkgrnd"; the window border-drawing and
++ -clearing functions are suffixed with "_set"; and character
++ attribute manipulation functions like "attron" become
+ "attr_on".
+
+
+ </PRE><H3><a name="h3-Function-Name-Index">Function Name Index</a></H3><PRE>
+ The following table lists the <EM>curses</EM> functions provided in the non-wide
+- and wide APIs and the corresponding man pages that describe them.
+- Those flagged with "*" are <EM>ncurses</EM>-specific, neither described by
++ and wide APIs and the corresponding man pages that describe them.
++ Those flagged with "*" are <EM>ncurses</EM>-specific, neither described by
+ X/Open Curses nor present in SVr4.
+
+ <STRONG><EM>curses</EM></STRONG> Function Name Man Page
+@@ -375,12 +382,12 @@
+ delch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ deleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ delscreen <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
++
+ delwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ derwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ doupdate <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ dupwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+-
+ echo_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ echochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+@@ -442,11 +449,11 @@
+ inchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ init_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ init_extended_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
++
+ init_extended_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+ init_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ initscr <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ innstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+-
+ innwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ ins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ ins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+@@ -509,10 +516,10 @@
+ mvcur <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ mvdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ mvderwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
++
+ mvget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ mvget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ mvgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+-
+ mvgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ mvgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ mvgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+@@ -576,9 +583,9 @@
+ mvwinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ mvwinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ mvwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
++
+ mvwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ mvwvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+-
+ mvwvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ napms <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ newpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+@@ -643,8 +650,8 @@
+ slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_init <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_label <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+- slk_noutrefresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+
++ slk_noutrefresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_refresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_restore <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+@@ -776,8 +783,8 @@
+ wscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ wscrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ wsetscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+-
+ wstandend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
++
+ wstandout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wsyncdown <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ wsyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+@@ -787,235 +794,235 @@
+ wvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ wvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+
+- <EM>ncurses</EM>'s <EM>screen-pointer</EM> <EM>extension</EM> adds additional functions
+- corresponding to many of the above, each with an "_sp" suffix; see
++ <EM>ncurses</EM>'s <EM>screen-pointer</EM> <EM>extension</EM> adds additional functions
++ corresponding to many of the above, each with an "_sp" suffix; see
+ <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>.
+
+- The availability of some extensions is configurable when <EM>ncurses</EM> is
+- compiled; see sections "ALTERNATE CONFIGURATIONS" and "EXTENSIONS"
++ The availability of some extensions is configurable when <EM>ncurses</EM> is
++ compiled; see sections "ALTERNATE CONFIGURATIONS" and "EXTENSIONS"
+ below.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+- Unless otherwise noted, functions that return an integer return <STRONG>OK</STRONG> on
+- success and <STRONG>ERR</STRONG> on failure. Functions that return pointers return <STRONG>NULL</STRONG>
+- on failure. Typically, <EM>ncurses</EM> treats a null pointer passed as a
+- function parameter as a failure. Functions prefixed with "mv" first
+- perform cursor movement and fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the
+- window boundaries.
++ Unless otherwise noted, functions that return integers return the
++ constants <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure; see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
++ Functions that return pointers return <STRONG>NULL</STRONG> on failure. Typically,
++ <EM>ncurses</EM> treats a null pointer passed as a function parameter as a
++ failure. Functions prefixed with "mv" first perform cursor movement
++ and fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+
+ </PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
+- The following symbols from the process environment customize the
+- runtime behavior of <EM>ncurses</EM> applications. The library may be
+- configured to disregard the variables <EM>TERMINFO</EM>, <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>,
+- <EM>TERMPATH</EM>, and <EM>HOME</EM>, if the user is the superuser (root), or the
++ The following symbols from the process environment customize the
++ runtime behavior of <EM>ncurses</EM> applications. The library may be
++ configured to disregard the variables <EM>TERMINFO</EM>, <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>,
++ <EM>TERMPATH</EM>, and <EM>HOME</EM>, if the user is the superuser (root), or the
+ application uses <STRONG>setuid(2)</STRONG> or <STRONG>setgid(2)</STRONG>.
+
+
+ </PRE><H3><a name="h3-BAUDRATE"><EM>BAUDRATE</EM></a></H3><PRE>
+- The debugging library checks this variable when the application has
+- redirected output to a file. Its integral value is used for the baud
+- rate. If that value is absent or invalid, <EM>ncurses</EM> uses 9600. This
+- feature allows testers to construct repeatable test cases that take
++ The debugging library checks this variable when the application has
++ redirected output to a file. Its integral value is used for the baud
++ rate. If that value is absent or invalid, <EM>ncurses</EM> uses 9600. This
++ feature allows developers to construct repeatable test cases that take
+ into account optimization decisions that depend on baud rate.
+
+
+ </PRE><H3><a name="h3-CC-_command-character_"><EM>CC</EM> (command character)</a></H3><PRE>
+- When set, the <STRONG>command_character</STRONG> (<STRONG>cmdch</STRONG>) capability value of loaded
++ When set, the <STRONG>command_character</STRONG> (<STRONG>cmdch</STRONG>) capability value of loaded
+ <EM>terminfo</EM> entries changes to the value of this variable. Very few <EM>term-</EM>
+ <EM>info</EM> entries provide this feature.
+
+ Because this name is also used in development environments to represent
+- the C compiler's name, <EM>ncurses</EM> ignores its value if it is not one
++ the C compiler's name, <EM>ncurses</EM> ignores its value if it is not one
+ character in length.
+
+
+ </PRE><H3><a name="h3-COLUMNS"><EM>COLUMNS</EM></a></H3><PRE>
+ This variable specifies the width of the screen in characters.
+- Applications running in a windowing environment usually are able to
++ Applications running in a windowing environment usually are able to
+ obtain the width of the window in which they are executing. If <EM>COLUMNS</EM>
+ is not defined and the terminal's screen size is not available from the
+- terminal driver, <EM>ncurses</EM> uses the size specified by the <STRONG>columns</STRONG> (<STRONG>cols</STRONG>)
+- capability of the terminal type's entry in the <EM>terminfo</EM> database, if
++ terminal driver, <EM>ncurses</EM> uses the size specified by the <STRONG>columns</STRONG> (<STRONG>cols</STRONG>)
++ capability of the terminal type's entry in the <EM>terminfo</EM> database, if
+ any.
+
+- It is important that your application use the correct screen size.
+- Automatic detection thereof is not always possible because an
+- application may be running on a host that does not honor NAWS
+- (Negotiations About Window Size) or as a different user ID than the
+- owner of the terminal device file. Setting <EM>COLUMNS</EM> and/or <EM>LINES</EM>
+- overrides the library's use of the screen size obtained from the
++ It is important that your application use the correct screen size.
++ Automatic detection thereof is not always possible because an
++ application may be running on a host that does not honor NAWS
++ (Negotiations About Window Size) or as a different user ID than the
++ owner of the terminal device file. Setting <EM>COLUMNS</EM> and/or <EM>LINES</EM>
++ overrides the library's use of the screen size obtained from the
+ operating system.
+
+- The <EM>COLUMNS</EM> and <EM>LINES</EM> variables may be specified independently. This
+- property is useful to circumvent misfeatures of legacy terminal type
+- descriptions; <STRONG>xterm(1)</STRONG> descriptions specifying 65 lines were once
+- notorious. For best results, avoid specifying <STRONG>cols</STRONG> and <STRONG>lines</STRONG>
++ The <EM>COLUMNS</EM> and <EM>LINES</EM> variables may be specified independently. This
++ property is useful to circumvent misfeatures of legacy terminal type
++ descriptions; <STRONG>xterm(1)</STRONG> descriptions specifying 65 lines were once
++ notorious. For best results, avoid specifying <STRONG>cols</STRONG> and <STRONG>lines</STRONG>
+ capability codes in <EM>terminfo</EM> descriptions of terminal emulators.
+
+- <STRONG><A HREF="curs_util.3x.html">use_env(3x)</A></STRONG> can disable use of the process environment in determining
+- the screen size. <STRONG><A HREF="curs_util.3x.html">use_tioctl(3x)</A></STRONG> can update <EM>COLUMNS</EM> and <EM>LINES</EM> to match
++ <STRONG><A HREF="curs_util.3x.html">use_env(3x)</A></STRONG> can disable use of the process environment in determining
++ the screen size. <STRONG><A HREF="curs_util.3x.html">use_tioctl(3x)</A></STRONG> can update <EM>COLUMNS</EM> and <EM>LINES</EM> to match
+ the screen size obtained from system calls or the terminal database.
+
+
+ </PRE><H3><a name="h3-ESCDELAY"><EM>ESCDELAY</EM></a></H3><PRE>
+- For <EM>curses</EM> to distinguish the ESC character resulting from a user's
+- press of the "Escape" key on the input device from one beginning an
++ For <EM>curses</EM> to distinguish the ESC character resulting from a user's
++ press of the "Escape" key on the input device from one beginning an
+ <EM>escape</EM> <EM>sequence</EM> (as commonly produced by function keys), it waits after
+- receiving the escape character to see if further characters are
+- available on the input stream within a short interval. A global
+- variable <STRONG>ESCDELAY</STRONG> stores this interval in milliseconds. The default
++ receiving the escape character to see if further characters are
++ available on the input stream within a short interval. A global
++ variable <STRONG>ESCDELAY</STRONG> stores this interval in milliseconds. The default
+ value of 1000 (one second) is adequate for most uses. This environment
+ variable overrides it.
+
+- The most common instance where you may wish to change this value is to
++ The most common instance where you may wish to change this value is to
+ work with a remote host over a slow communication channel. If the host
+- running a <EM>curses</EM> application does not receive the characters of an
+- escape sequence in a timely manner, the library can interpret them as
++ running a <EM>curses</EM> application does not receive the characters of an
++ escape sequence in a timely manner, the library can interpret them as
+ multiple key stroke events.
+
+ <STRONG>xterm(1)</STRONG> mouse events are a form of escape sequence; therefore, if your
+- application makes heavy use of multiple-clicking, you may wish to
+- lengthen the default value because the delay applies to the composite
++ application makes heavy use of multiple-clicking, you may wish to
++ lengthen the default value because the delay applies to the composite
+ multi-click event as well as the individual clicks.
+
+- Portable applications should not rely upon the presence of <STRONG>ESCDELAY</STRONG> in
+- either form, but setting the environment variable rather than the
++ Portable applications should not rely upon the presence of <STRONG>ESCDELAY</STRONG> in
++ either form, but setting the environment variable rather than the
+ global variable does not create problems when compiling an application.
+
+- If <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> is disabled for the <EM>curses</EM> window receiving input, a
++ If <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> is disabled for the <EM>curses</EM> window receiving input, a
+ program must disambiguate escape sequences itself.
+
+
+ </PRE><H3><a name="h3-HOME"><EM>HOME</EM></a></H3><PRE>
+- <EM>ncurses</EM> may read and write auxiliary terminal descriptions in <EM>.termcap</EM>
++ <EM>ncurses</EM> may read and write auxiliary terminal descriptions in <EM>.termcap</EM>
+ and <EM>.terminfo</EM> files in the user's home directory.
+
+
+ </PRE><H3><a name="h3-LINES"><EM>LINES</EM></a></H3><PRE>
+- This counterpart to <EM>COLUMNS</EM> specifies the height of the screen in
+- characters. The corresponding <EM>terminfo</EM> capability and code is <STRONG>lines</STRONG>.
++ This counterpart to <EM>COLUMNS</EM> specifies the height of the screen in
++ characters. The corresponding <EM>terminfo</EM> capability and code is <STRONG>lines</STRONG>.
+ See the description of the <EM>COLUMNS</EM> variable above.
+
+
+ </PRE><H3><a name="h3-MOUSE_BUTTONS_123"><EM>MOUSE_BUTTONS_123</EM></a></H3><PRE>
+- (OS/2 EMX port only) OS/2 numbers a three-button mouse inconsistently
+- with other platforms, such that 1 is the left button, 2 the right, and
+- 3 the middle. This variable customizes the mouse button numbering.
+- Its value must be three digits 1-3 in any order. By default, <EM>ncurses</EM>
++ (OS/2 EMX port only) OS/2 numbers a three-button mouse inconsistently
++ with other platforms, such that 1 is the left button, 2 the right, and
++ 3 the middle. This variable customizes the mouse button numbering.
++ Its value must be three digits 1-3 in any order. By default, <EM>ncurses</EM>
+ assumes a numbering of "132".
+
+
+ </PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS"><EM>NCURSES_ASSUMED_COLORS</EM></a></H3><PRE>
+- If set, this variable overrides the <EM>ncurses</EM> library's compiled-in
+- assumption that the terminal's default colors are white on black; see
+- <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>. Set the foreground and background color values
+- with this environment variable by assigning it two integer values
++ If set, this variable overrides the <EM>ncurses</EM> library's compiled-in
++ assumption that the terminal's default colors are white on black; see
++ <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>. Set the foreground and background color values
++ with this environment variable by assigning it two integer values
+ separated by a comma, indicating foregound and background color
+ numbers, respectively.
+
+- For example, to tell <EM>ncurses</EM> not to assume anything about the colors,
+- use a value of "-1,-1". To make the default color scheme green on
+- black, use "2,0". <EM>ncurses</EM> accepts integral values from -1 up to the
++ For example, to tell <EM>ncurses</EM> not to assume anything about the colors,
++ use a value of "-1,-1". To make the default color scheme green on
++ black, use "2,0". <EM>ncurses</EM> accepts integral values from -1 up to the
+ value of the <EM>terminfo</EM> <STRONG>max_colors</STRONG> (<STRONG>colors</STRONG>) capability.
+
+
+ </PRE><H3><a name="h3-NCURSES_CONSOLE2"><EM>NCURSES_CONSOLE2</EM></a></H3><PRE>
+- (MinGW port only) The <EM>Console2</EM> program defectively handles the
+- Microsoft Console API call <EM>CreateConsoleScreenBuffer</EM>. Applications
+- that use it will hang. However, it is possible to simulate the action
+- of this call by mapping coordinates, explicitly saving and restoring
+- the original screen contents. Setting the environment variable <EM>NCGDB</EM>
++ (MinGW port only) The <EM>Console2</EM> program defectively handles the
++ Microsoft Console API call <EM>CreateConsoleScreenBuffer</EM>. Applications
++ that use it will hang. However, it is possible to simulate the action
++ of this call by mapping coordinates, explicitly saving and restoring
++ the original screen contents. Setting the environment variable <EM>NCGDB</EM>
+ has the same effect.
+
+
+ </PRE><H3><a name="h3-NCURSES_GPM_TERMS"><EM>NCURSES_GPM_TERMS</EM></a></H3><PRE>
+- (Linux only) When <EM>ncurses</EM> is configured to use the GPM interface, this
+- variable may list one or more terminal names against which the <EM>TERM</EM>
+- variable (see below) is matched. An empty value disables the GPM
+- interface, using <EM>ncurses</EM>'s built-in support for <STRONG>xterm(1)</STRONG> mouse
++ (Linux only) When <EM>ncurses</EM> is configured to use the GPM interface, this
++ variable may list one or more terminal type names against which the
++ <EM>TERM</EM> variable (see below) is matched. An empty value disables the GPM
++ interface, using <EM>ncurses</EM>'s built-in support for <STRONG>xterm(1)</STRONG> mouse
+ protocols instead. If the variable is absent, <EM>ncurses</EM> attempts to open
+ GPM if <EM>TERM</EM> contains "linux".
+
+
+ </PRE><H3><a name="h3-NCURSES_NO_HARD_TABS"><EM>NCURSES_NO_HARD_TABS</EM></a></H3><PRE>
+- <EM>ncurses</EM> may use tab characters in cursor movement optimization. In
+- some cases, your terminal driver may not handle them properly. Set
++ <EM>ncurses</EM> may use tab characters in cursor movement optimization. In
++ some cases, your terminal driver may not handle them properly. Set
+ this environment variable to any value to disable the feature. You can
+ also adjust your <STRONG>stty(1)</STRONG> settings to avoid the problem.
+
+
+ </PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE"><EM>NCURSES_NO_MAGIC_COOKIE</EM></a></H3><PRE>
+- Many terminals store video attributes as a property of a character
+- cell, as <EM>curses</EM> does. Historically, some recorded changes in video
+- attributes as data that logically <EM>occupies</EM> character cells on the
+- display, switching attributes on or off, similarly to tags in a markup
+- language; these are termed "magic cookies", and must be subsequently
+- overprinted. If the <EM>terminfo</EM> entry for your terminal type does not
++ Many terminals store video attributes as a property of a character
++ cell, as <EM>curses</EM> does. Historically, some recorded changes in video
++ attributes as data that logically <EM>occupies</EM> character cells on the
++ display, switching attributes on or off, similarly to tags in a markup
++ language; these are termed "magic cookies", and must be subsequently
++ overprinted. If the <EM>terminfo</EM> entry for your terminal type does not
+ adequately describe its handling of magic cookies, set this variable to
+ any value to instruct <EM>ncurses</EM> to disable attributes entirely.
+
+
+ </PRE><H3><a name="h3-NCURSES_NO_PADDING"><EM>NCURSES_NO_PADDING</EM></a></H3><PRE>
+ Most terminal type descriptions in the <EM>terminfo</EM> database detail
+- hardware devices. Many people use <EM>curses</EM>-based applications in
+- terminal emulator programs that run in a windowing environment. These
+- programs can duplicate all of the important features of a hardware
+- terminal, but often lack their limitations. Chief among these absent
++ hardware devices. Many people use <EM>curses</EM>-based applications in
++ terminal emulator programs that run in a windowing environment. These
++ programs can duplicate all of the important features of a hardware
++ terminal, but often lack their limitations. Chief among these absent
+ drawbacks is the problem of data flow management; that is, limiting the
+- speed of communication to what the hardware could handle. Unless a
+- hardware terminal is interfaced into a terminal concentrator (which
+- does flow control), an application must manage flow control itself to
+- prevent overruns and data loss.
+-
+- A solution that comes at no hardware cost is for an application to
+- pause after directing a terminal to execute an operation that it
+- performs slowly, such as clearing the display. Many terminal type
+- descriptions, including that for the VT100, embed delay specifications
+- in capabilities. You may wish to use these terminal descriptions
+- without paying the performance penalty. Set <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>PADDING</EM> to any
+- value to disable all but mandatory padding. Mandatory padding is used
++ speed of communication to what the hardware could handle. Unless a
++ hardware terminal is interfaced into a terminal concentrator (which
++ does flow control), an application must manage flow itself to prevent
++ overruns and data loss.
++
++ A solution that comes at no hardware cost is for an application to
++ pause after directing a terminal to execute an operation that it
++ performs slowly, such as clearing the display. Many terminal type
++ descriptions, including that for the VT100, embed delay specifications
++ in capabilities. You may wish to use these terminal descriptions
++ without paying the performance penalty. Set <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>PADDING</EM> to any
++ value to disable all but mandatory padding. Mandatory padding is used
+ by such terminal capabilities as <STRONG>flash_screen</STRONG> (<STRONG>flash</STRONG>).
+
+
+ </PRE><H3><a name="h3-NCURSES_NO_SETBUF"><EM>NCURSES_NO_SETBUF</EM></a></H3><PRE>
+- (Obsolete) Prior to internal changes developed in <EM>ncurses</EM> 5.9 (patches
+- 20120825 through 20130126), the library used <STRONG>setbuf(3)</STRONG> to enable fully
+- buffered output when initializing the terminal. This was done, as in
+- SVr4 <EM>curses</EM>, to increase performance. For testing purposes, both of
+- <EM>ncurses</EM> and of certain applications, this feature was made optional.
+- Setting this variable disabled output buffering, leaving the output
++ (Obsolete) Prior to internal changes developed in <EM>ncurses</EM> 5.9 (patches
++ 20120825 through 20130126), the library used <STRONG>setbuf(3)</STRONG> to enable fully
++ buffered output when initializing the terminal. This was done, as in
++ SVr4 <EM>curses</EM>, to increase performance. For testing purposes, both of
++ <EM>ncurses</EM> and of certain applications, this feature was made optional.
++ Setting this variable disabled output buffering, leaving the output
+ stream in the original (usually line-buffered) mode.
+
+- Nowadays, <EM>ncurses</EM> performs its own buffering and does not require this
+- workaround; it does not modify the buffering of the standard output
+- stream. This approach makes signal handling, as for interrupts, more
+- robust. A drawback is that certain unconventional programs mixed
+- <STRONG>stdio(3)</STRONG> calls with <EM>ncurses</EM> calls and (usually) got the behavior they
+- expected. This is no longer the case; <EM>ncurses</EM> does not write to the
++ Nowadays, <EM>ncurses</EM> performs its own buffering and does not require this
++ workaround; it does not modify the buffering of the standard output
++ stream. This approach makes signal handling, as for interrupts, more
++ robust. A drawback is that certain unconventional programs mixed
++ <STRONG>stdio(3)</STRONG> calls with <EM>ncurses</EM> calls and (usually) got the behavior they
++ expected. This is no longer the case; <EM>ncurses</EM> does not write to the
+ standard output file descriptor through a <EM>stdio</EM>-buffered stream.
+
+- As a special case, low-level API calls such as <STRONG><A HREF="curs_terminfo.3x.html">putp(3x)</A></STRONG> still use the
+- standard output stream. High-level <EM>curses</EM> calls such as <STRONG><A HREF="curs_printw.3x.html">printw(3x)</A></STRONG> do
++ As a special case, low-level API calls such as <STRONG><A HREF="curs_terminfo.3x.html">putp(3x)</A></STRONG> still use the
++ standard output stream. High-level <EM>curses</EM> calls such as <STRONG><A HREF="curs_printw.3x.html">printw(3x)</A></STRONG> do
+ not.
+
+
+ </PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS"><EM>NCURSES_NO_UTF8_ACS</EM></a></H3><PRE>
+- At initialization, <EM>ncurses</EM> inspects the <EM>TERM</EM> environment variable for
+- special cases where VT100 forms-drawing characters (and the
+- corresponding alternate character set <EM>terminfo</EM> capabilities) are known
++ At initialization, <EM>ncurses</EM> inspects the <EM>TERM</EM> environment variable for
++ special cases where VT100 forms-drawing characters (and the
++ corresponding alternate character set <EM>terminfo</EM> capabilities) are known
+ to be unsupported by terminal types that otherwise claim VT100
+ compatibility. Specifically, when running in a UTF-8 locale, the Linux
+- virtual console device and the GNU <STRONG>screen(1)</STRONG> program ignore them. Set
++ virtual console device and the GNU <STRONG>screen(1)</STRONG> program ignore them. Set
+ this variable to a nonzero value to instruct <EM>ncurses</EM> that the
+ terminal's ACS support is broken; the library then outputs Unicode code
+ points that correspond to the forms-drawing characters. Set it to zero
+ (or a non-integer) to disable the special check for terminal type names
+- matching "linux" or "screen", directing <EM>ncurses</EM> to assume that the ACS
++ matching "linux" or "screen", directing <EM>ncurses</EM> to assume that the ACS
+ feature works if the terminal type description advertises it.
+
+- As an alternative to use of this variable, <EM>ncurses</EM> checks for an
++ As an alternative to use of this variable, <EM>ncurses</EM> checks for an
+ extended <EM>terminfo</EM> numeric capability <STRONG>U8</STRONG> that can be compiled using "<STRONG>tic</STRONG>
+ <STRONG>-x</STRONG>". Examples follow.
+
+@@ -1028,62 +1035,62 @@
+ xterm-utf8|xterm relying on UTF-8 line-graphics,
+ U8#1, use=xterm,
+
+- The two-character name "U8" was chosen to permit its use via <EM>ncurses</EM>'s
++ The two-character name "U8" was chosen to permit its use via <EM>ncurses</EM>'s
+ <EM>termcap</EM> interface.
+
+
+ </PRE><H3><a name="h3-NCURSES_TRACE"><EM>NCURSES_TRACE</EM></a></H3><PRE>
+- At initialization, <EM>ncurses</EM> (in its debugging configuration) checks for
+- this variable's presence. If defined with an integral value, the
++ At initialization, <EM>ncurses</EM> (in its debugging configuration) checks for
++ this variable's presence. If defined with an integral value, the
+ library calls <STRONG><A HREF="curs_trace.3x.html">curses_trace(3x)</A></STRONG> with that value as the argument.
+
+
+ </PRE><H3><a name="h3-TERM"><EM>TERM</EM></a></H3><PRE>
+- The <EM>TERM</EM> variable denotes the terminal type. Each is distinct, though
+- many are similar. It is commonly set by terminal emulators to help
+- applications find a workable terminal description. Some choose a
+- popular approximation such as "ansi", "vt100", or "xterm" rather than
+- an exact fit to their capabilities. Not infrequently, an application
+- will have problems with that approach; for example, a key stroke may
+- not operate correctly, or produce no effect but seeming garbage
++ The <EM>TERM</EM> variable denotes the terminal type. Each is distinct, though
++ many are similar. It is commonly set by terminal emulators to help
++ applications find a workable terminal description. Some choose a
++ popular approximation such as "ansi", "vt100", or "xterm" rather than
++ an exact fit to their capabilities. Not infrequently, an application
++ will have problems with that approach; for example, a key stroke may
++ not operate correctly, or produce no effect but seeming garbage
+ characters on the screen.
+
+- Setting <EM>TERM</EM> has no effect on hardware operation; it affects the way
+- applications communicate with the terminal. Likewise, as a general
+- rule (<STRONG>xterm(1)</STRONG> being a rare exception), terminal emulators that allow
++ Setting <EM>TERM</EM> has no effect on hardware operation; it affects the way
++ applications communicate with the terminal. Likewise, as a general
++ rule (<STRONG>xterm(1)</STRONG> being a rare exception), terminal emulators that allow
+ you to specify <EM>TERM</EM> as a parameter or configuration value do not change
+ their behavior to match that setting.
+
+
+ </PRE><H3><a name="h3-TERMCAP"><EM>TERMCAP</EM></a></H3><PRE>
+ If <EM>ncurses</EM> is configured with <EM>termcap</EM> support, it checks for a terminal
+- type description in <EM>termcap</EM> format if one in <EM>terminfo</EM> format is not
+- available. Setting this variable directs <EM>ncurses</EM> to ignore the usual
+- <EM>termcap</EM> database location, <EM>/etc/termcap</EM>; see <EM>TERMPATH</EM> below. <EM>TERMCAP</EM>
+- should contain either a terminal description (with newlines stripped
+- out), or a file name indicating where the information required by the
++ type description in <EM>termcap</EM> format if one in <EM>terminfo</EM> format is not
++ available. Setting this variable directs <EM>ncurses</EM> to ignore the usual
++ <EM>termcap</EM> database location, <EM>/etc/termcap</EM>; see <EM>TERMPATH</EM> below. <EM>TERMCAP</EM>
++ should contain either a terminal description (with newlines stripped
++ out), or a file name indicating where the information required by the
+ <EM>TERM</EM> environment variable is stored.
+
+
+ </PRE><H3><a name="h3-TERMINFO"><EM>TERMINFO</EM></a></H3><PRE>
+- <EM>ncurses</EM> can be configured to read terminal type description databases
+- in various locations using different formats. This variable overrides
++ <EM>ncurses</EM> can be configured to read terminal type description databases
++ in various locations using different formats. This variable overrides
+ 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
++ <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
+ 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
+- name its location, such as <EM>/usr/share/terminfo.db</EM>, rather than
++ name its location, such as <EM>/usr/share/terminfo.db</EM>, rather than
+ <EM>/usr/share/terminfo/</EM>.
+
+- The hashed database uses less disk space and is a little faster than
++ The hashed database uses less disk space and is a little faster than
+ the directory tree. However, some applications assume the existence of
+ the directory tree, and read it directly rather than using the <EM>terminfo</EM>
+ API.
+
+- <STRONG>o</STRONG> If <EM>ncurses</EM> is configured with <EM>termcap</EM> support, this variable may
++ <STRONG>o</STRONG> If <EM>ncurses</EM> is configured with <EM>termcap</EM> support, this variable may
+ contain the location of a <EM>termcap</EM> file.
+
+ <STRONG>o</STRONG> If the value of <EM>TERMINFO</EM> begins with "hex:" or "b64:", <EM>ncurses</EM> uses
+@@ -1093,10 +1100,10 @@
+ TERMINFO=$(infocmp -0 -Q2 -q)
+ export TERMINFO
+
+- The compiled description is used only if it corresponds to the
++ The compiled description is used only if it corresponds to the
+ terminal type identified by <EM>TERM</EM>.
+
+- Setting <EM>TERMINFO</EM> is the simplest, but not the only, way to direct
++ Setting <EM>TERMINFO</EM> is the simplest, but not the only, way to direct
+ <EM>ncurses</EM> to a terminal database. The search path is as follows.
+
+ <STRONG>o</STRONG> the last terminal database to which the running <EM>ncurses</EM> application
+@@ -1110,20 +1117,20 @@
+
+ <STRONG>o</STRONG> location(s) configured and compiled into <EM>ncurses</EM>
+
+- <STRONG>o</STRONG> <EM>/usr/share/terminfo</EM>
++ <STRONG>o</STRONG> <EM>/usr/share/terminfo</EM>
+
+
+ </PRE><H3><a name="h3-TERMINFO_DIRS"><EM>TERMINFO_DIRS</EM></a></H3><PRE>
+- This variable specifies a list of locations, akin to <EM>PATH</EM>, in which
+- <EM>ncurses</EM> searches for the terminal type descriptions described by
+- <EM>TERMINFO</EM> above. The list items are separated by colons on Unix and
+- semicolons on OS/2 EMX. System V <EM>terminfo</EM> lacks a corresponding
++ This variable specifies a list of locations, akin to <EM>PATH</EM>, in which
++ <EM>ncurses</EM> searches for the terminal type descriptions described by
++ <EM>TERMINFO</EM> above. The list items are separated by colons on Unix and
++ semicolons on OS/2 EMX. System V <EM>terminfo</EM> lacks a corresponding
+ feature; <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> is an <EM>ncurses</EM> extension.
+
+
+ </PRE><H3><a name="h3-TERMPATH"><EM>TERMPATH</EM></a></H3><PRE>
+ If <EM>TERMCAP</EM> does not hold a terminal type description or file name, then
+- <EM>ncurses</EM> checks the contents of <EM>TERMPATH</EM>, a list of locations, akin to
++ <EM>ncurses</EM> checks the contents of <EM>TERMPATH</EM>, a list of locations, akin to
+ <EM>PATH</EM>, in which it searches for <EM>termcap</EM> terminal type descriptions. The
+ list items are separated by colons on Unix and semicolons on OS/2 EMX.
+
+@@ -1133,25 +1140,30 @@
+
+
+ </PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
+- Many different <EM>ncurses</EM> configurations are possible, determined by the
+- options given to the <EM>configure</EM> script when building the library. Run
+- the script with the <STRONG>--help</STRONG> option to peruse them all. A few are of
++ Many different <EM>ncurses</EM> configurations are possible, determined by the
++ options given to the <EM>configure</EM> script when building the library. Run
++ the script with the <STRONG>--help</STRONG> option to peruse them all. A few are of
+ particular significance to the application developer employing <EM>ncurses</EM>.
+
+ <STRONG>--disable-overwrite</STRONG>
+- The standard include for <EM>ncurses</EM> is as noted in <STRONG>SYNOPSIS</STRONG>:
++ The standard C preprocessor inclusion for the <EM>curses</EM> library is as
++ follows.
+
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+- This option is used to avoid filename conflicts when <EM>ncurses</EM> is
+- not the main implementation of curses of the computer. If <EM>ncurses</EM>
+- is installed disabling overwrite, it puts its headers in a
+- subdirectory, e.g.,
++ This option is used to avoid file name conflicts between <EM>ncurses</EM>
++ and an existing <EM>curses</EM> installation on the system. If <EM>ncurses</EM> is
++ installed disabling overwrite, it puts its header files in a
++ subdirectory. Here is an example.
+
+ <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
+
+- It also omits a symbolic link which would allow you to use
+- <STRONG>-lcurses</STRONG> to build executables.
++ Installation also omits a symbolic link that would cause the
++ compiler's <STRONG>-lcurses</STRONG> option to link object files with <EM>ncurses</EM>
++ instead of the system <EM>curses</EM> library.
++
++ The directory used by this configuration of <EM>ncurses</EM> is shown in
++ section "SYNOPSIS" above.
+
+ <STRONG>--enable-widec</STRONG>
+ The configure script renames the library and (if the
+@@ -1265,7 +1277,7 @@
+ <STRONG>o</STRONG> to reuse functions (for example, those that move the cursor before
+ another operation), and
+
+- <STRONG>o</STRONG> a few special cases.
++ <STRONG>o</STRONG> in a few special cases.
+
+ If the standard output file descriptor of an <EM>ncurses</EM> program is
+ redirected to something that is not a terminal device, the library
+@@ -1302,8 +1314,8 @@
+ An <EM>ncurses</EM> application can eschew knowledge of <EM>WINDOW</EM> structure
+ internals, instead using accessor functions such as <STRONG><A HREF="curs_opaque.3x.html">is_scrollok(3x)</A></STRONG>.
+
+- <EM>ncurses</EM> enables an application to direct application output to a
+- printer attached to the terminal device; see <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>.
++ <EM>ncurses</EM> enables an application to direct its output to a printer
++ attached to the terminal device; see <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>.
+
+ <EM>ncurses</EM> offers <STRONG><A HREF="curs_slk.3x.html">slk_attr(3x)</A></STRONG> as a counterpart of <STRONG><A HREF="curs_attr.3x.html">attr_get(3x)</A></STRONG> for soft-
+ label key lines, and <STRONG><A HREF="curs_slk.3x.html">extended_slk_color(3x)</A></STRONG> as a form of <STRONG><A HREF="curs_slk.3x.html">slk_color(3x)</A></STRONG>
+@@ -1314,155 +1326,158 @@
+ <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>'s behavior; see <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG>. <EM>ncurses</EM> is compiled
+ to support them; section "ALTERNATE CONFIGURATIONS" describes how.
+
+- <STRONG>o</STRONG> Rudimentary support for multi-threaded applications may be
+- available; see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>.
++ <EM>ncurses</EM> permits modification of <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>'s behavior; see
++ <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG>.
++
++ Rudimentary support for multi-threaded applications may be available;
++ see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>.
+
+- <STRONG>o</STRONG> Functions that ease the management of multiple screens can be
+- exposed; see <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>.
++ Functions that ease the management of multiple screens can be exposed;
++ see <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>.
+
+- <STRONG>o</STRONG> To aid applications to debug their memory usage, <EM>ncurses</EM> optionally
+- offers functions to more aggressively free memory it dynamically
+- allocates itself; see <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>.
+-
+- <STRONG>o</STRONG> The library facilitates auditing and troubleshooting of its
+- behavior; see <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>.
+-
+- <STRONG>o</STRONG> The compiler option <STRONG>-DUSE_GETCAP</STRONG> causes the library to fall back to
+- reading <EM>/etc/termcap</EM> if the terminal setup code cannot find a <EM>term-</EM>
+- <EM>info</EM> entry corresponding to <EM>TERM</EM>. Use of this feature is not
+- recommended, as it essentially includes an entire <EM>termcap</EM> compiler
+- in the <EM>ncurses</EM> startup code, at a cost in memory usage and
+- application launch latency.
++ To aid applications to debug their memory usage, <EM>ncurses</EM> optionally
++ offers functions to more aggressively free memory it dynamically
++ allocates itself; see <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>.
++
++ The library facilitates auditing and troubleshooting of its behavior;
++ see <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>.
++
++ Compiling <EM>ncurses</EM> with the option <STRONG>-DUSE_GETCAP</STRONG> causes it to fall back
++ to reading <EM>/etc/termcap</EM> if the terminal setup code cannot find a <EM>term-</EM>
++ <EM>info</EM> entry corresponding to <EM>TERM</EM>. Use of this feature is not
++ recommended, as it essentially includes an entire <EM>termcap</EM> compiler in
++ the <EM>ncurses</EM> startup code, at a cost in memory usage and application
++ launch latency.
+
+- <EM>PDCurses</EM> and NetBSD <EM>curses</EM> incorporate some <EM>ncurses</EM> extensions.
++ <EM>PDCurses</EM> and NetBSD <EM>curses</EM> incorporate some <EM>ncurses</EM> extensions.
+ Individual man pages indicate where this is the case.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ X/Open Curses defines two levels of conformance, "base" and "enhanced".
+ The latter includes several additional features, such as wide-character
+- and color support. <EM>ncurses</EM> intends base-level conformance with X/Open
+- Curses, and supports all features of its enhanced level except the
++ and color support. <EM>ncurses</EM> intends base-level conformance with X/Open
++ Curses, and supports all features of its enhanced level except the
+ <STRONG>untic</STRONG> utility.
+
+- Differences between X/Open Curses and <EM>ncurses</EM> are documented in the
++ Differences between X/Open Curses and <EM>ncurses</EM> are documented in the
+ "PORTABILITY" sections of applicable man pages.
+
+
+ </PRE><H3><a name="h3-Error-Checking">Error Checking</a></H3><PRE>
+- In many cases, X/Open Curses is vague about error conditions, omitting
++ In many cases, X/Open Curses is vague about error conditions, omitting
+ some of the SVr4 documentation.
+
+- Unlike other implementations, <EM>ncurses</EM> checks pointer parameters, such
+- as those to <EM>WINDOW</EM> structures, to ensure that they are not null. This
+- is done primarily to guard against programmer error. The standard
++ Unlike other implementations, <EM>ncurses</EM> checks pointer parameters, such
++ as those to <EM>WINDOW</EM> structures, to ensure that they are not null. This
++ is done primarily to guard against programmer error. The standard
+ interface does not provide a way for the library to tell an application
+- which of several possible errors occurred. Relying on this (or some
+- other) extension adversely affects the portability of <EM>curses</EM>
+- applications.
++ which of several possible errors occurred. An application that relies
++ on <EM>ncurses</EM> to check its function parameters for validity limits its
++ portability and robustness.
+
+
+ </PRE><H3><a name="h3-Padding-Differences">Padding Differences</a></H3><PRE>
+- In historical <EM>curses</EM> implementations, delays embedded in the <EM>terminfo</EM>
+- capabilities <STRONG>carriage_return</STRONG> (<STRONG>cr</STRONG>), <STRONG>scroll_forward</STRONG> (<STRONG>ind</STRONG>), <STRONG>cursor_left</STRONG>
++ In historical <EM>curses</EM> implementations, delays embedded in the <EM>terminfo</EM>
++ capabilities <STRONG>carriage_return</STRONG> (<STRONG>cr</STRONG>), <STRONG>scroll_forward</STRONG> (<STRONG>ind</STRONG>), <STRONG>cursor_left</STRONG>
+ (<STRONG>cub1</STRONG>), <STRONG>form_feed</STRONG> (<STRONG>ff</STRONG>), and <STRONG>tab</STRONG> (<STRONG>ht</STRONG>) activated corresponding delay bits
+- in the Unix terminal driver. <EM>ncurses</EM> performs all padding by sending
+- NUL bytes to the device. This method is slightly more expensive, but
+- narrows the interface to the Unix kernel significantly and
++ in the Unix terminal driver. <EM>ncurses</EM> performs all padding by sending
++ NUL bytes to the device. This method is slightly more expensive, but
++ narrows the interface to the Unix kernel significantly and
+ correspondingly increases the package's portability.
+
+
+ </PRE><H3><a name="h3-Header-Files">Header Files</a></H3><PRE>
+- The header file <EM>curses.h</EM> itself includes the header files <EM>stdio.h</EM> and
++ The header file <EM>curses.h</EM> itself includes the header files <EM>stdio.h</EM> and
+ <EM>unctrl.h</EM>.
+
+ X/Open Curses has more to say,
+
+- The inclusion of <EM>curses.h</EM> may make visible all symbols from the
++ The inclusion of <EM>curses.h</EM> may make visible all symbols from the
+ headers <EM>stdio.h</EM>, <EM>term.h</EM>, <EM>termios.h</EM>, and <EM>wchar.h</EM>.
+
+ but does not finish the story. A more complete account follows.
+
+- <STRONG>o</STRONG> Starting with 4BSD <EM>curses</EM> (1980) all implementations have provided
++ <STRONG>o</STRONG> Starting with 4BSD <EM>curses</EM> (1980) all implementations have provided
+ a <EM>curses.h</EM> file.
+
+- BSD <EM>curses</EM> code included <EM>curses.h</EM> and <EM>unctrl.h</EM> from an internal
++ BSD <EM>curses</EM> code included <EM>curses.h</EM> and <EM>unctrl.h</EM> from an internal
+ header file <EM>curses.ext</EM>, where "ext" abbreviated "externs".
+
+- The implementations of <EM>printw</EM> and <EM>scanw</EM> used undocumented internal
+- functions of the standard I/O library (<STRONG>_</STRONG><EM>doprnt</EM> and <STRONG>_</STRONG><EM>doscan</EM>), but
++ The implementations of <EM>printw</EM> and <EM>scanw</EM> used undocumented internal
++ functions of the standard I/O library (<STRONG>_</STRONG><EM>doprnt</EM> and <STRONG>_</STRONG><EM>doscan</EM>), but
+ nothing in <EM>curses.h</EM> itself relied upon <EM>stdio.h</EM>.
+
+- <STRONG>o</STRONG> SVr2 <EM>curses</EM> added <EM>newterm</EM>, which relies upon <EM>stdio.h</EM> because its
++ <STRONG>o</STRONG> SVr2 <EM>curses</EM> added <EM>newterm</EM>, which relies upon <EM>stdio.h</EM> because its
+ function prototype employs the <EM>FILE</EM> type.
+
+ SVr4 <EM>curses</EM> added <EM>putwin</EM> and <EM>getwin</EM>, which also use <EM>stdio.h</EM>.
+
+ X/Open Curses specifies all three of these functions.
+
+- SVr4 <EM>curses</EM> and X/Open Curses do not require the developer to
+- include <EM>stdio.h</EM> before <EM>curses.h</EM>. Both document use of <EM>curses</EM> as
++ SVr4 <EM>curses</EM> and X/Open Curses do not require the developer to
++ include <EM>stdio.h</EM> before <EM>curses.h</EM>. Both document use of <EM>curses</EM> as
+ requiring only <EM>curses.h</EM>.
+
+ As a result, standard <EM>curses.h</EM> always includes <EM>stdio.h</EM>.
+
+- <STRONG>o</STRONG> X/Open Curses and SVr4 <EM>curses</EM> are inconsistent with respect to
++ <STRONG>o</STRONG> X/Open Curses and SVr4 <EM>curses</EM> are inconsistent with respect to
+ <EM>unctrl.h</EM>.
+
+- As noted in <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <EM>ncurses</EM> includes <EM>unctrl.h</EM> from <EM>curses.h</EM>
++ As noted in <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <EM>ncurses</EM> includes <EM>unctrl.h</EM> from <EM>curses.h</EM>
+ (as SVr4 does).
+
+- <STRONG>o</STRONG> X/Open Curses's comments about <EM>term.h</EM> and <EM>termios.h</EM> may refer to
++ <STRONG>o</STRONG> X/Open Curses's comments about <EM>term.h</EM> and <EM>termios.h</EM> may refer to
+ HP-UX and AIX.
+
+- HP-UX <EM>curses</EM> includes <EM>term.h</EM> from <EM>curses.h</EM> to declare <EM>setupterm</EM> in
++ HP-UX <EM>curses</EM> includes <EM>term.h</EM> from <EM>curses.h</EM> to declare <EM>setupterm</EM> in
+ <EM>curses.h</EM>, but <EM>ncurses</EM> and Solaris <EM>curses</EM> do not.
+
+- AIX <EM>curses</EM> includes <EM>term.h</EM> and termios.h<EM>.</EM> Again, <EM>ncurses</EM> and
++ AIX <EM>curses</EM> includes <EM>term.h</EM> and <EM>termios.h</EM>. Again, <EM>ncurses</EM> and
+ Solaris <EM>curses</EM> do not.
+
+- <STRONG>o</STRONG> X/Open Curses says that <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>term.h</EM>, but does not
++ <STRONG>o</STRONG> X/Open Curses says that <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>term.h</EM>, but does not
+ require it to do so.
+
+- Some programs use functions declared in both <EM>curses.h</EM> and <EM>term.h</EM>,
+- and must include both header files in the same module. Very old
+- versions of AIX <EM>curses</EM> required inclusion of <EM>curses.h</EM> before
++ Some programs use functions declared in both <EM>curses.h</EM> and <EM>term.h</EM>,
++ and must include both header files in the same module. Very old
++ versions of AIX <EM>curses</EM> required inclusion of <EM>curses.h</EM> before
+ <EM>term.h</EM>.
+
+- The header files supplied by <EM>ncurses</EM> include the standard library
+- headers required for its declarations, so <EM>ncurses</EM>'s own header
+- files can be included in any order. But for portability, you
++ The header files supplied by <EM>ncurses</EM> include the standard library
++ headers required for its declarations, so <EM>ncurses</EM>'s own header
++ files can be included in any order. But for portability, you
+ should include <EM>curses.h</EM> before <EM>term.h</EM>.
+
+- <STRONG>o</STRONG> X/Open Curses says "may make visible" because including a header
+- file does not necessarily make visible all of the symbols in it
++ <STRONG>o</STRONG> X/Open Curses says "may make visible" because including a header
++ file does not necessarily make visible all of the symbols in it
+ (consider <STRONG>#ifdef</STRONG> and similar).
+
+- For instance, <EM>ncurses</EM>'s <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>wchar.h</EM> if the proper
+- symbol is defined, and if <EM>ncurses</EM> is configured for wide-character
+- support. If <EM>wchar.h</EM> is included, its symbols <STRONG>may</STRONG> be made visible
++ For instance, <EM>ncurses</EM>'s <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>wchar.h</EM> if the proper
++ symbol is defined, and if <EM>ncurses</EM> is configured for wide-character
++ support. If <EM>wchar.h</EM> is included, its symbols <STRONG>may</STRONG> be made visible
+ depending on the value of the <STRONG>_XOPEN_SOURCE</STRONG> feature test macro.
+
+ <STRONG>o</STRONG> X/Open Curses mandates an application's inclusion of one standard C
+- library header in a special case: <EM>stdarg.h</EM> before <EM>curses.h</EM> to
+- prototype the functions <EM>vw</EM><STRONG>_</STRONG><EM>printw</EM> and <EM>vw</EM><STRONG>_</STRONG><EM>scanw</EM> (as well as the
+- obsolete <EM>vwprintw</EM> and <EM>vwscanw</EM>). Each of these takes a variadic
++ library header in a special case: <EM>stdarg.h</EM> before <EM>curses.h</EM> to
++ prototype the functions <EM>vw</EM><STRONG>_</STRONG><EM>printw</EM> and <EM>vw</EM><STRONG>_</STRONG><EM>scanw</EM> (as well as the
++ obsolete <EM>vwprintw</EM> and <EM>vwscanw</EM>). Each of these takes a variadic
+ argument list, a <EM>va</EM><STRONG>_</STRONG><EM>list</EM> parameter, like that of <STRONG>printf(3)</STRONG>.
+
+- SVr3 <EM>curses</EM> introduced the two obsolete functions, and X/Open
+- Curses the others. In between, SVr4 <EM>curses</EM> provided for the
+- possibility that an application might include either <EM>varargs.h</EM> or
+- <EM>stdarg.h</EM>. These represented contrasting approaches to handling
+- variadic argument lists. The older interface, <EM>varargs.h</EM>, used a
+- pointer to <EM>char</EM> for variadic functions' <EM>va</EM><STRONG>_</STRONG><EM>list</EM> parameter. Later,
+- the list acquired its own standard data type, <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, defined in
+- <EM>stdarg.h</EM>, empowering the compiler to check the types of a function
+- call's actual parameters against the formal ones declared in its
++ SVr3 <EM>curses</EM> introduced the two obsolete functions, and X/Open
++ Curses the others. In between, SVr4 <EM>curses</EM> provided for the
++ possibility that an application might include either <EM>varargs.h</EM> or
++ <EM>stdarg.h</EM>. These represented contrasting approaches to handling
++ variadic argument lists. The older interface, <EM>varargs.h</EM>, used a
++ pointer to <EM>char</EM> for variadic functions' <EM>va</EM><STRONG>_</STRONG><EM>list</EM> parameter. Later,
++ the list acquired its own standard data type, <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, defined in
++ <EM>stdarg.h</EM>, empowering the compiler to check the types of a function
++ call's actual parameters against the formal ones declared in its
+ prototype.
+
+- No conforming implementations of X/Open Curses require an
++ No conforming implementations of X/Open Curses require an
+ application to include <EM>stdarg.h</EM> before <EM>curses.h</EM> because they either
+- have allowed for a special type, or, like <EM>ncurses</EM>, they include
++ have allowed for a special type, or, like <EM>ncurses</EM>, they include
+ <EM>stdarg.h</EM> themselves to provide a portable interface.
+
+
+@@ -1476,7 +1491,7 @@
+
+
+
+-ncurses 6.5 2024-04-27 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/ncursesw6-config.1.html
+--- ncurses-6.5-20240504+/doc/html/man/ncursesw6-config.1.html 2024-04-27 18:38:49.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/ncursesw6-config.1.html 2024-05-11 21:39:59.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: MKncu_config.in,v 1.24 2024/04/20 21:13:38 tom Exp @
++ * @Id: MKncu_config.in,v 1.25 2024/05/11 20:39:53 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>ncursesw6-config 1 2024-04-20 ncurses 6.5 User commands</TITLE>
++<TITLE>ncursesw6\-config 1 2024-05-11 ncurses 6.5 User commands</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">ncursesw6-config 1 2024-04-20 ncurses 6.5 User commands</H1>
++<H1 class="no-header">ncursesw6\-config 1 2024-05-11 ncurses 6.5 User commands</H1>
+ <PRE>
+ <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG> User commands <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>
+
+@@ -112,7 +112,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/term.5.html
+--- ncurses-6.5-20240504+/doc/html/man/term.5.html 2024-04-27 18:38:49.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/term.5.html 2024-05-11 22:32:35.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: term.5,v 1.77 2024/04/20 21:24:19 tom Exp @
++ * @Id: term.5,v 1.78 2024/05/11 20:39:53 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>term 5 2024-04-20 ncurses 6.5 File formats</TITLE>
++<TITLE>term 5 2024-05-11 ncurses 6.5 File formats</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">term 5 2024-04-20 ncurses 6.5 File formats</H1>
++<H1 class="no-header">term 5 2024-05-11 ncurses 6.5 File formats</H1>
+ <PRE>
+ <STRONG><A HREF="term.5.html">term(5)</A></STRONG> File formats <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+
+@@ -51,103 +51,103 @@
+ term - compiled <EM>terminfo</EM> terminal description
+
+
+-</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+- <STRONG>term</STRONG>
+-
+-
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
++ <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> compiles a <EM>terminfo</EM> terminal type description, and <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>
++ reads it. A compiled description may be stored in a file or in a
++ database of, potentially, many such descriptions. Further, a compiled
++ description may be in one of two formats: one similar to that used by
++ System V, and a newer, extensible format employed exclusively by
++ <EM>ncurses</EM>.
++
+
+ </PRE><H3><a name="h3-Storage-Location">Storage Location</a></H3><PRE>
+- Compiled terminfo descriptions are placed under the directory
+- <STRONG>/usr/share/terminfo</STRONG>. Two configurations are supported (when building
+- the <EM>ncurses</EM> libraries):
++ Compiled <EM>terminfo</EM> <EM>descriptions</EM> <EM>are</EM> <EM>placed</EM> under the directory
++ <EM>/usr/share/terminfo</EM>. One of two configurations is selected when
++ building the <EM>ncurses</EM> libraries.
+
+ <STRONG>directory</STRONG> <STRONG>tree</STRONG>
+ A two-level scheme is used to avoid a linear search of a huge Unix
+- system directory: <STRONG>/usr/share/terminfo/c/name</STRONG> where <EM>name</EM> is the
++ system directory: <EM>/usr/share/terminfo/</EM>c<EM>/</EM>name where <EM>name</EM> is the
+ name of the terminal, and <EM>c</EM> is the first character of <EM>name</EM>. Thus,
+- <EM>act4</EM> can be found in the file <STRONG>/usr/share/terminfo/a/act4</STRONG>.
+- Synonyms for the same terminal are implemented by multiple links
+- to the same compiled file.
++ the compiled description of terminal type "act4" is found in the
++ file <EM>/usr/share/terminfo/a/act4</EM>. Synonyms for the same terminal
++ are implemented by multiple links to the same compiled file.
+
+ <STRONG>hashed</STRONG> <STRONG>database</STRONG>
+- Using Berkeley database, two types of records are stored: the
+- terminfo data in the same format as stored in a directory tree
+- with the terminfo's primary name as a key, and records containing
+- only aliases pointing to the primary name.
+-
+- If built to write hashed databases, <EM>ncurses</EM> can still read
+- terminfo databases organized as a directory tree, but cannot write
+- entries into the directory tree. It can write (or rewrite)
++ Using the Berkeley database API, two types of records are stored:
++ the <EM>terminfo</EM> data in the same format as that stored in a directory
++ tree with the terminal's primary type name as a key, and records
++ containing only aliases pointing to the primary name.
++
++ If built to write hashed databases, <EM>ncurses</EM> can still read <EM>term-</EM>
++ <EM>info</EM> databases organized as a directory tree, but cannot write
++ entries into the directory tree. It can write (or rewrite)
+ entries in the hashed database.
+
+- <EM>ncurses</EM> distinguishes the two cases in the <EM>TERMINFO</EM> and
+- <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variable by assuming a directory tree
+- for entries that correspond to an existing directory, and hashed
++ <EM>ncurses</EM> distinguishes the two cases in the <EM>TERMINFO</EM> and
++ <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variable by assuming a directory tree
++ for entries that correspond to an existing directory, and a hashed
+ database otherwise.
+
+
+ </PRE><H3><a name="h3-Legacy-Storage-Format">Legacy Storage Format</a></H3><PRE>
+ The format has been chosen so that it will be the same on all hardware.
+- An 8 or more bit byte is assumed, but no assumptions about byte
+- ordering or sign extension are made.
++ A byte of at least eight bits' width is assumed, but no assumptions
++ about bit ordering or sign extension are made.
+
+- The compiled file is created with the <STRONG>tic</STRONG> program, and read by the
+- routine <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>. The file is divided into six parts:
++ The file is divided into six parts:
+
+- a) <EM>header</EM>,
++ (a) <EM>header</EM>,
+
+- b) <EM>terminal</EM> <EM>names</EM>,
++ (b) <EM>terminal</EM> <EM>names</EM>,
+
+- c) <EM>Boolean</EM> <EM>flags</EM>,
++ (c) <EM>Boolean</EM> <EM>flags</EM>,
+
+- d) <EM>numbers</EM>,
++ (d) <EM>numbers</EM>,
+
+- e) <EM>strings</EM>, and
++ (e) <EM>strings</EM>, and
+
+- f) <EM>string</EM> <EM>table</EM>.
++ (f) a <EM>string</EM> <EM>table</EM>.
+
+ The <EM>header</EM> section begins the file. This section contains six short
+ integers in the format described below. These integers are
+
+- (1) the <EM>magic</EM> <EM>number</EM> (octal 0432);
++ (1) the <EM>magic</EM> <EM>number</EM>
++ (octal 0432);
+
+- (2) the size, in bytes, of the <EM>terminal</EM> <EM>names</EM> section;
++ (2) the size,
++ in bytes, of the <EM>terminal</EM> <EM>names</EM> section;
+
+ (3) the number of bytes in the <EM>Boolean</EM> <EM>flags</EM> section;
+
+ (4) the number of short integers in the <EM>numbers</EM> section;
+
+- (5) the number of offsets (short integers) in the <EM>strings</EM> section;
++ (5) the number of offsets
++ (short integers) in the <EM>strings</EM> section;
+
+- (6) the size, in bytes, of the <EM>string</EM> <EM>table</EM>.
++ (6) the size,
++ in bytes, of the <EM>string</EM> <EM>table</EM>.
+
+ The capabilities in the <EM>Boolean</EM> <EM>flags</EM>, <EM>numbers</EM>, and <EM>strings</EM> sections
+- are in the same order as the file &lt;term.h&gt;.
++ are in the same order as in the header file <EM>term.h</EM>.
+
+- Short integers are signed, in the range -32768 to 32767. They are
+- stored as two 8-bit bytes. The first byte contains the least
+- significant 8 bits of the value, and the second byte contains the most
+- significant 8 bits. (Thus, the value represented is 256*second+first.)
+- This format corresponds to the hardware of the VAX and PDP-11 (that is,
+- little-endian machines). Machines where this does not correspond to
+- the hardware must read the integers as two bytes and compute the
+- little-endian value.
++ Short integers are signed, in the range -32768 to 32767, and stored in
++ little-endian format.
+
+ Numbers in a terminal description, whether they are entries in the
+ <EM>numbers</EM> or <EM>strings</EM> table, are positive integers. Boolean flags are
+ treated as positive one-byte integers. In each case, those positive
+- integers represent a terminal capability. The terminal compiler tic
++ integers represent a terminal capability. The terminal compiler <EM>tic</EM>
+ uses negative integers to handle the cases where a capability is not
+ available:
+
+- <STRONG>o</STRONG> If a capability is absent from this terminal, tic stores a -1 in
++ <STRONG>o</STRONG> If a capability is absent from this terminal, <EM>tic</EM> stores a -1 in
+ the corresponding table.
+
+ The integer value -1 is represented by two bytes 0377, 0377.
+ Absent Boolean values are represented by the byte 0 (false).
+
+- <STRONG>o</STRONG> If a capability has been canceled from this terminal, tic stores a
++ <STRONG>o</STRONG> If a capability has been canceled from this terminal, <EM>tic</EM> stores a
+ -2 in the corresponding table.
+
+ The integer value -2 is represented by two bytes 0377, 0376.
+@@ -156,7 +156,7 @@
+ <STRONG>o</STRONG> Other negative values are illegal.
+
+ The <EM>terminal</EM> <EM>names</EM> section comes after the <EM>header</EM>. It contains the
+- first line of the terminfo description, listing the various names for
++ first line of the <EM>terminfo</EM> description, listing the various names for
+ the terminal, separated by the "|" character. The <EM>terminal</EM> <EM>names</EM>
+ section is terminated with an ASCII NUL character.
+
+@@ -182,23 +182,23 @@
+ string capabilities referenced in the <EM>strings</EM> section. Each string is
+ null-terminated. Special characters in ^X or \c notation are stored in
+ their interpreted form, not the printing representation. Padding
+- information $&lt;nn&gt; and parameter information %x are stored intact in
++ information <STRONG>$&lt;</STRONG><EM>nn</EM><STRONG>&gt;</STRONG> and parameter information <STRONG>%x</STRONG> are stored intact in
+ uninterpreted form.
+
+
+ </PRE><H3><a name="h3-Extended-Storage-Format">Extended Storage Format</a></H3><PRE>
+- The previous section describes the conventional terminfo binary format.
++ The previous section describes the conventional <EM>terminfo</EM> binary format.
+ With some minor variations of the offsets (see PORTABILITY), the same
+ binary format is used in all modern Unix systems. Each system uses a
+ predefined set of Boolean, number or string capabilities.
+
+- The <EM>ncurses</EM> libraries and applications support extended terminfo binary
+- format, allowing users to define capabilities which are loaded at
++ The <EM>ncurses</EM> libraries and applications support extended <EM>terminfo</EM> binary
++ format, allowing users to define capabilities that are loaded at
+ runtime. This extension is made possible by using the fact that the
+- other implementations stop reading the terminfo data when they have
+- reached the end of the size given in the header. <EM>ncurses</EM> checks the
+- size, and if it exceeds that due to the predefined data, continues to
+- parse according to its own scheme.
++ other implementations stop reading the <EM>terminfo</EM> data when they reach
++ the end of the size given in the header. <EM>ncurses</EM> checks the size, and
++ if it exceeds that due to the predefined data, continues to parse
++ according to its own scheme.
+
+ First, it reads the extended header (5 short integers):
+
+@@ -220,24 +220,22 @@
+
+ The extended string table contains values for string capabilities.
+ After the end of these values, it contains the names for each of the
+- extended capabilities in order, e.g., Booleans, then numbers and
+- finally strings.
++ extended capabilities in order: Boolean, numeric, and string.
+
+- By storing terminal descriptions in this way, <EM>ncurses</EM> is able to
++ By storing terminal descriptions in this way, <EM>ncurses</EM> is able to
+ provide a database useful with legacy applications, as well as
+- providing data for applications which need more than the predefined
+- capabilities. See <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> for an overview of the way <EM>ncurses</EM> uses
+- this extended information.
+-
+- Applications which manipulate terminal data can use the definitions
+- described in <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> which associate the long capability
+- names with members of a <STRONG>TERMTYPE</STRONG> structure.
++ providing data for applications that require more information about a
++ terminal type than was anticipated by X/Open Curses. See <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
++ for an overview of the way <EM>ncurses</EM> uses this extended information.
++
++ Applications that manipulate terminal data can use the definitions
++ described in <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> associating the long capability names
++ with members of a <EM>TERMTYPE</EM> structure.
+
+
+ </PRE><H3><a name="h3-Extended-Number-Format">Extended Number Format</a></H3><PRE>
+- On occasion, 16-bit signed integers are not large enough. With <EM>ncurses</EM>
+- 6.1, a new format was introduced by making a few changes to the legacy
+- format:
++ On occasion, 16-bit signed integers are not large enough. <EM>ncurses</EM> 6.1
++ introduced a new format by making a few changes to the legacy format:
+
+ <STRONG>o</STRONG> a different magic number (octal 01036)
+
+@@ -245,10 +243,10 @@
+ to signed 32-bit integers.
+
+ To maintain compatibility, the library presents the same data
+- structures to direct users of the <STRONG>TERMTYPE</STRONG> structure as in previous
++ structures to direct users of the <EM>TERMTYPE</EM> structure as in previous
+ formats. However, that cannot provide callers with the extended
+ numbers. The library uses a similar but hidden data structure
+- <STRONG>TERMTYPE2</STRONG> to provide data for the terminfo functions.
++ <EM>TERMTYPE2</EM> to provide data for the <EM>terminfo</EM> functions.
+
+
+ </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+@@ -271,85 +269,84 @@
+
+
+ </PRE><H3><a name="h3-Binary-Format">Binary Format</a></H3><PRE>
+- X/Open Curses does not specify a format for the terminfo database.
+- System V curses used a directory-tree of binary files, one per terminal
++ X/Open Curses does not specify a format for the <EM>terminfo</EM> database.
++ System V <EM>curses</EM> used a directory-tree of binary files, one per terminal
+ description.
+
+- Despite the consistent use of little-endian for numbers and the
+- otherwise self-describing format, it is not wise to count on
+- portability of binary terminfo entries between commercial Unix
+- versions. The problem is that there are at least three versions of
+- terminfo (under HP-UX, AIX, and OSF/1) which diverged from System V
+- terminfo after SVr1, and have added extension capabilities to the
+- string table that (in the binary format) collide with System V and
+- X/Open Curses extensions. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for detailed discussion of
+- terminfo source compatibility issues.
++ Despite the consistent use of little-endian numbers and the otherwise
++ self-describing format, it is not wise to count on portability of
++ binary <EM>terminfo</EM> entries between commercial Unix versions. The problem
++ is that there are at least three versions of <EM>terminfo</EM> (under HP-UX,
++ AIX, and OSF/1) each of which diverged from System V <EM>terminfo</EM> after
++ SVr1, and added extension capabilities to the string table that (in the
++ binary format) collide with System V and X/Open Curses extensions. See
++ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for detailed discussion of <EM>terminfo</EM> source compatibility
++ issues.
+
+- This implementation is by default compatible with the binary terminfo
+- format used by Solaris curses, except in a few less-used details where
++ This implementation is by default compatible with the binary <EM>terminfo</EM>
++ format used by Solaris <EM>curses</EM>, except in a few less-used details where
+ it was found that the latter did not match X/Open Curses. The format
+ used by the other Unix versions can be matched by building <EM>ncurses</EM> with
+ different configuration options.
+
+
+ </PRE><H3><a name="h3-Magic-Codes">Magic Codes</a></H3><PRE>
+- The magic number in a binary terminfo file is the first 16-bits (two
++ The magic number in a binary <EM>terminfo</EM> file is the first 16 bits (two
+ bytes). Besides making it more reliable for the library to check that
+- a file is terminfo, utilities such as <STRONG>file(1)</STRONG> also use that to tell
++ a file is <EM>terminfo</EM>, utilities such as <STRONG>file(1)</STRONG> also use that to tell
+ what the file-format is. System V defined more than one magic number,
+ with 0433, 0435 as screen-dumps (see <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>). This implementation
+ uses 01036 as a continuation of that sequence, but with a different
+ high-order byte to avoid confusion.
+
+ <STRONG>The</STRONG> <EM>TERMTYPE</EM> <STRONG>Structure</STRONG>
+- Direct access to the <STRONG>TERMTYPE</STRONG> structure is provided for legacy
+- applications. Portable applications should use the <STRONG>tigetflag</STRONG> and
+- related functions described in <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> for reading terminal
+- capabilities.
++ Direct access to the <EM>TERMTYPE</EM> structure is provided for legacy
++ applications. Portable applications should use <STRONG><A HREF="curs_terminfo.3x.html">tigetflag(3x)</A></STRONG> and
++ related functions to read terminal capabilities.
+
+
+ </PRE><H3><a name="h3-Mixed-case-Terminal-Names">Mixed-case Terminal Names</a></H3><PRE>
+- A small number of terminal descriptions use uppercase characters in
+- their names. If the underlying filesystem ignores the difference
+- between uppercase and lowercase, <EM>ncurses</EM> represents the "first
+- character" of the terminal name used as the intermediate level of a
++ A small number of terminal descriptions use uppercase characters in
++ their names. If the underlying file system ignores the difference
++ between uppercase and lowercase, <EM>ncurses</EM> represents the "first
++ character" of the terminal name used as the intermediate level of a
+ directory tree in (two-character) hexadecimal form.
+
+
+ </PRE><H3><a name="h3-Limits">Limits</a></H3><PRE>
+ <EM>ncurses</EM> stores compiled terminal descriptions in three related formats,
+- described in the sections
++ described in the subsections
+
+- <STRONG>o</STRONG> <STRONG>LEGACY</STRONG> <STRONG>STORAGE</STRONG> <STRONG>FORMAT</STRONG>, and
++ <STRONG>o</STRONG> <STRONG>Legacy</STRONG> <STRONG>Storage</STRONG> <STRONG>Format</STRONG>, and
+
+- <STRONG>o</STRONG> <STRONG>EXTENDED</STRONG> <STRONG>STORAGE</STRONG> <STRONG>FORMAT</STRONG>, and
++ <STRONG>o</STRONG> <STRONG>Extended</STRONG> <STRONG>Storage</STRONG> <STRONG>Format</STRONG>, and
+
+- <STRONG>o</STRONG> <STRONG>EXTENDED</STRONG> <STRONG>NUMBER</STRONG> <STRONG>FORMAT</STRONG>.
++ <STRONG>o</STRONG> <STRONG>Extended</STRONG> <STRONG>Number</STRONG> <STRONG>Format</STRONG>.
+
+- The legacy storage format and the extended number format differ by the
+- types of numeric capability which they can store (i.e., 16-bit versus
+- 32-bit integers). The extended storage format introduced by <EM>ncurses</EM>
+- 5.0 adds data to either of these formats.
++ The legacy storage format and the extended number format differ by the
++ types of numeric capability that they can store (for example, 16-
++ versus 32-bit integers). The extended storage format introduced by
++ <EM>ncurses</EM> 5.0 adds data to either of these formats.
+
+ Some limitations apply:
+
+- <STRONG>o</STRONG> total compiled entries cannot exceed 4096 bytes in the legacy
++ <STRONG>o</STRONG> total compiled entries cannot exceed 4096 bytes in the legacy
+ format.
+
+- <STRONG>o</STRONG> total compiled entries cannot exceed 32768 bytes in the extended
++ <STRONG>o</STRONG> total compiled entries cannot exceed 32768 bytes in the extended
+ format.
+
+ <STRONG>o</STRONG> the name field cannot exceed 128 bytes.
+
+- Compiled entries are limited to 32768 bytes because offsets into the
+- <EM>strings</EM> <EM>table</EM> use two-byte integers. The legacy format could have
+- supported 32768-byte entries, but was limited to a virtual memory
++ Compiled entries are limited to 32768 bytes because offsets into the
++ <EM>strings</EM> <EM>table</EM> use two-byte integers. The legacy format could have
++ supported 32768-byte entries, but was limited to a virtual memory
+ page's 4096 bytes.
+
+
+ </PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
+- As an example, here is a description for the Lear-Siegler ADM-3, a
+- popular though rather stupid early terminal:
++ Here is a <EM>terminfo</EM> description of the Lear-Siegler ADM-3, a popular
++ though rather stupid early terminal.
+
+ adm3a|lsi adm3a,
+ am,
+@@ -358,7 +355,8 @@
+ cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+ home=^^, ind=^J,
+
+- and a hexadecimal dump of the compiled terminal description:
++ A hexadecimal dump of its compiled terminal description (in legacy
++ format) follows.
+
+ 0000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3
+ 0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P.
+@@ -386,12 +384,12 @@
+
+ </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Thomas E. Dickey
+- extended terminfo format for <EM>ncurses</EM> 5.0
++ extended <EM>terminfo</EM> format for <EM>ncurses</EM> 5.0
+ hashed database support for <EM>ncurses</EM> 5.6
+ extended number support for <EM>ncurses</EM> 6.1
+
+ Eric S. Raymond
+- documented legacy terminfo format, e.g., from <EM>pcurses</EM>.
++ documented legacy <EM>terminfo</EM> format (that used by <EM>pcurses</EM>).
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -399,12 +397,11 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+ <li><a href="#h2-NAME">NAME</a></li>
+-<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+ <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+ <ul>
+ <li><a href="#h3-Storage-Location">Storage Location</a></li>
+Index: doc/html/man/term.7.html
+--- ncurses-6.5-20240504+/doc/html/man/term.7.html 2024-04-27 18:38:49.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/term.7.html 2024-05-11 21:39:59.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: term.7,v 1.48 2024/03/16 15:35:01 tom Exp @
++ * @Id: term.7,v 1.49 2024/05/11 20:39:53 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>term 7 2024-03-16 ncurses 6.5 Miscellaneous</TITLE>
++<TITLE>term 7 2024-05-11 ncurses 6.5 Miscellaneous</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">term 7 2024-03-16 ncurses 6.5 Miscellaneous</H1>
++<H1 class="no-header">term 7 2024-05-11 ncurses 6.5 Miscellaneous</H1>
+ <PRE>
+ <STRONG><A HREF="term.7.html">term(7)</A></STRONG> Miscellaneous <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
+
+@@ -216,7 +216,7 @@
+
+
+
+-ncurses 6.5 2024-03-16 <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/terminfo.5.html
+--- ncurses-6.5-20240504+/doc/html/man/terminfo.5.html 2024-04-27 18:38:49.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/terminfo.5.html 2024-05-11 21:39:59.000000000 +0000
+@@ -32,19 +32,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: terminfo.head,v 1.65 2024/04/20 21:14:00 tom Exp @
++ * @Id: terminfo.head,v 1.66 2024/05/11 20:39:53 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>terminfo 5 2024-04-20 ncurses 6.5 File formats</TITLE>
++<TITLE>terminfo 5 2024-05-11 ncurses 6.5 File formats</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">terminfo 5 2024-04-20 ncurses 6.5 File formats</H1>
++<H1 class="no-header">terminfo 5 2024-05-11 ncurses 6.5 File formats</H1>
+ <PRE>
+ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> File formats <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+
+@@ -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 20240427).
++ This document describes <EM>ncurses</EM> version 6.5 (patch 20240511).
+
+
+ </PRE><H3><a name="h3-terminfo-Entry-Syntax"><EM>terminfo</EM> Entry Syntax</a></H3><PRE>
+@@ -2487,7 +2487,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/tic.1m.html
+--- ncurses-6.5-20240504+/doc/html/man/tic.1m.html 2024-04-27 18:38:49.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/tic.1m.html 2024-05-11 21:39:59.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: tic.1m,v 1.110 2024/04/27 17:57:06 tom Exp @
++ * @Id: tic.1m,v 1.111 2024/05/11 20:39:53 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>tic 1m 2024-04-27 ncurses 6.5 User commands</TITLE>
++<TITLE>tic 1m 2024-05-11 ncurses 6.5 User commands</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">tic 1m 2024-04-27 ncurses 6.5 User commands</H1>
++<H1 class="no-header">tic 1m 2024-05-11 ncurses 6.5 User commands</H1>
+ <PRE>
+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> User commands <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+
+@@ -482,7 +482,7 @@
+
+
+
+-ncurses 6.5 2024-04-27 <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/toe.1m.html
+--- ncurses-6.5-20240504+/doc/html/man/toe.1m.html 2024-04-27 18:38:49.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/toe.1m.html 2024-05-11 21:39:59.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: toe.1m,v 1.68 2024/04/20 18:59:26 tom Exp @
++ * @Id: toe.1m,v 1.69 2024/05/11 20:39:53 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>toe 1m 2024-04-20 ncurses 6.5 User commands</TITLE>
++<TITLE>toe 1m 2024-05-11 ncurses 6.5 User commands</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">toe 1m 2024-04-20 ncurses 6.5 User commands</H1>
++<H1 class="no-header">toe 1m 2024-05-11 ncurses 6.5 User commands</H1>
+ <PRE>
+ <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> User commands <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+
+@@ -185,7 +185,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/tput.1.html
+--- ncurses-6.5-20240504+/doc/html/man/tput.1.html 2024-04-27 18:38:49.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/tput.1.html 2024-05-11 21:39:59.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: tput.1,v 1.113 2024/04/20 19:58:50 tom Exp @
++ * @Id: tput.1,v 1.114 2024/05/11 20:39:53 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>tput 1 2024-04-20 ncurses 6.5 User commands</TITLE>
++<TITLE>tput 1 2024-05-11 ncurses 6.5 User commands</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">tput 1 2024-04-20 ncurses 6.5 User commands</H1>
++<H1 class="no-header">tput 1 2024-05-11 ncurses 6.5 User commands</H1>
+ <PRE>
+ <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> User commands <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+
+@@ -555,7 +555,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/tset.1.html
+--- ncurses-6.5-20240504+/doc/html/man/tset.1.html 2024-04-27 18:38:49.000000000 +0000
++++ ncurses-6.5-20240511/doc/html/man/tset.1.html 2024-05-11 21:39:59.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: tset.1,v 1.85 2024/04/27 17:57:47 tom Exp @
++ * @Id: tset.1,v 1.86 2024/05/11 20:39:53 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>tset 1 2024-04-27 ncurses 6.5 User commands</TITLE>
++<TITLE>tset 1 2024-05-11 ncurses 6.5 User commands</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">tset 1 2024-04-27 ncurses 6.5 User commands</H1>
++<H1 class="no-header">tset 1 2024-05-11 ncurses 6.5 User commands</H1>
+ <PRE>
+ <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> User commands <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+
+@@ -393,7 +393,7 @@
+
+
+
+-ncurses 6.5 2024-04-27 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
++ncurses 6.5 2024-05-11 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: man/MKncu_config.in
+Prereq: 1.24
+--- ncurses-6.5-20240504+/man/MKncu_config.in 2024-04-20 21:13:38.000000000 +0000
++++ ncurses-6.5-20240511/man/MKncu_config.in 2024-05-11 20:39:53.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: MKncu_config.in,v 1.24 2024/04/20 21:13:38 tom Exp $
+-.TH @LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config 1 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
++.\" $Id: MKncu_config.in,v 1.25 2024/05/11 20:39:53 tom Exp $
++.TH @LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@\-config 1 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+ .SH NAME
+ \fB\%@LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config\fP \-
+ configuration helper for \fI\%ncurses\fP libraries
+Index: man/curs_add_wch.3x
+Prereq: 1.62
+--- ncurses-6.5-20240504+/man/curs_add_wch.3x 2024-04-20 21:20:07.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_add_wch.3x 2024-05-11 21:31:45.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_add_wch.3x,v 1.62 2024/04/20 21:20:07 tom Exp $
+-.TH curs_add_wch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_add_wch.3x,v 1.63 2024/05/11 21:31:45 tom Exp $
++.TH curs_add_wch 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -52,7 +52,7 @@
+ \fB\%mvwadd_wch\fP,
+ \fB\%echo_wchar\fP,
+ \fB\%wecho_wchar\fP \-
+-add a \fIcurses\fR complex character to a window and advance the cursor
++add a \fIcurses\fR complex character to a window, possibly advancing the cursor
+ .SH SYNOPSIS
+ .nf
+ \fB#include <curses.h>
+@@ -66,70 +66,143 @@
+ \fBint wecho_wchar(WINDOW *\fIwin\fP, const cchar_t *\fIwch\fP);
+ .fi
+ .SH DESCRIPTION
+-.SS add_wch
+-The
+-\fBadd_wch\fP,
+-\fBwadd_wch\fP,
+-\fBmvadd_wch\fP, and
+-\fBmvwadd_wch\fP
+-functions put the complex character \fIwch\fP into the given
+-window at its current position,
+-which is then advanced.
+-These functions perform
+-wrapping and special-character processing as follows:
+-.bP
+-If \fIwch\fP refers to a spacing character,
+-then any previous character at that location is removed.
+-A new character specified by \fIwch\fP is
+-placed at that location with rendition specified by \fIwch\fP.
+-The cursor then advances after this spacing character,
+-to prepare for writing the next character on the screen.
+-.IP
+-The newly added spacing character is the base of the active complex character.
+-Subsequent non-spacing characters can be combined with this base
+-until another spacing character is written to the screen,
+-or the cursor is moved, e.g., using \fBwmove\fP.
+-.bP
+-If \fIwch\fP refers to a non-spacing character,
+-it is appended to the active complex character,
+-retaining the previous characters at that location.
+-The rendition specified by \fIwch\fP is ignored.
+-.IP
+-The cursor is not advanced after adding a non-spacing character.
+-Subsequent calls to add non-spacing characters will update the same position.
++.SS wadd_wch
++.B \%wadd_wch
++writes the complex character
++.I wch
++to the window
++.IR win ","
++then may advance the cursor position,
++analogously to the standard C library's \fI\%putwchar\fP(3).
++\fB\%ncurses\fP(3X) describes the variants of this function.
++.PP
++Much behavior depends on whether the wide characters in
++.I wch
++are spacing or non-spacing;
++see subsection \*(``Complex Characters\*('' below.
++.bP
++If
++.I wch
++contains a spacing character,
++then any character at the cursor is first removed.
++The complex character
++.IR wch ","
++with its attributes and color pair identifier,
++becomes the
++.I base
++of the
++.IR "active complex character" "."
++.bP
++If
++.I wch
++contains only non-spacing characters,
++.\" XXX: see wadd_wch_literal (the beginning of the array may be nonspacing)
++they are combined with the active complex character.
++.I curses
++ignores its attributes and color pair identifier,
++and does not advance the cursor.
++.PP
++Further non-spacing characters added with
++.B \%wadd_wch
++are not written at the new cursor position but combine with the active
++complex character until another spacing character is written to the
++window or the cursor is moved.
++.PP
++If advancement occurs at the right margin,
++.bP
++the cursor automatically wraps to the beginning of the next line,
++then,
++.bP
++if it was at the bottom of the scrolling region,
++and if \fB\%scrollok\fP(3X) is enabled for
++.IR win ,
++the scrolling region scrolls up one line.
++.PP
++If
++.I wch
++is a
++backspace,
++carriage return,
++line feed,
++or
++tab,
++the cursor moves appropriately within the window.
+ .bP
+-If the character part of \fIwch\fP is
+-a tab, newline, backspace or other control character,
+-the window is updated and the cursor moves as if \fBaddch\fP were called.
+-.SS echo_wchar
+-The \fBecho_wchar\fP
+-function is functionally equivalent to a call to
+-\fBadd_wch\fP
+-followed by a call to
+-\fB\%refresh\fP(3X).
+-Similarly, the
+-\fBwecho_wchar\fP
+-is functionally equivalent to a call to
+-\fBwadd_wch\fP
+-followed by a call to
+-\fBwrefresh\fP.
+-The knowledge
+-that only a single character is being output is taken into consideration and,
+-for non-control characters, a considerable performance gain might be seen
+-by using the *\fBecho\fP* functions instead of their equivalents.
+-.SS "Line Graphics"
+-Like \fB\%addch\fP(3X),
+-\fBaddch_wch\fP accepts symbols which make it simple to draw lines and other
+-frequently used special characters.
+-These symbols correspond to the same VT100 line-drawing set as
+-\fB\%addch\fP(3X).
++Backspace moves the cursor one character left;
++at the left margin of a window,
++it does nothing.
++.bP
++Carriage return moves the cursor to the left margin on the current line
++of the window.
++.bP
++Line feed does a \fB\%clrtoeol\fP(3X),
++then advances as if from the right margin.
++.bP
++Tab advances the cursor to the next tab stop
++(possibly on the next line);
++these are placed at every eighth column by default.
++Alter the tab interval with the
++.B \%TABSIZE
++extension;
++see \fB\%curs_variables\fP(3X).
++.PP
++If
++.I wch
++is any other nonprintable character,
++it is drawn in printable form using the same convention as
++\fB\%wunctrl\fP(3X).
++.PP
++Calling \fB\%win_wch\fP(3X) on the location of a nonprintable character
++does not return the character itself,
++but its \fB\%wunctrl\fP(3X) representation.
++.SS wecho_wchar
++.B \%echo_wchar
++and
++.B \%wecho_wchar
++are equivalent to calling
++.RB \%( w ) add_wch
++followed by
++.RB \%( w ) refresh .
++.I curses
++interprets these functions as a hint that only a single (complex)
++character is being output;
++for non-control characters,
++a considerable performance gain may be enjoyed by employing them.
++.\" TODO: Combine the following with the "Line Drawing" subsection of
++.\" terminfo(5) and replace this with a cross reference there.
++.SS "Forms-Drawing Characters"
++.I curses
++defines macros starting with
++.B \%WACS_
++that can be used with
++.B \%wadd_wch
++to write line-drawing and other special characters to the screen.
++.I \%ncurses
++terms these
++.I "forms-drawing characters."
++The ACS default listed below is used if the
++.B \%acs_chars
++.RB ( \%acsc )
++.I \%term\%info
++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
++.B \%acs_chars
++.RB ( \%acsc )
++string capability,
++and the characters in it may appear on the screen if 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.
+ .PP
+ .TS
+ Lb Lb Lb Lb Lb
+ Lb Lb Lb Lb Lb
+ Lb L L L Lx.
+-\& Unicode ASCII acsc \&
+-ACS Name Default Default Char Glyph Name
++\& Unicode ACS acsc \&
++Symbol Default Default char Glyph Name
+ _
+ WACS_BLOCK 0x25ae # 0 T{
+ solid square block
+@@ -291,26 +364,29 @@
+ .bP
+ U+2550 BOX DRAWINGS DOUBLE HORIZONTAL
+ .SH RETURN VALUE
+-All routines return the integer \fBERR\fP upon failure and \fBOK\fP on success.
+-.PP
+-X/Open Curses does not specify any error conditions.
+-This implementation returns an error
+-.bP
+-if the window pointer is null or
+-.bP
+-if it is not possible to add a complete character in the window.
+-.PP
+-The latter may be due to different causes:
+-.bP
+-If \fB\%scrollok\fP(3X) is not enabled,
+-writing a character at the lower right margin succeeds.
+-However,
+-an error is returned because it is not possible to wrap to a new line.
++These functions return
++.B OK
++on success and
++.B ERR
++on failure.
++In
++.IR \%ncurses ,
++.B \%wadd_wch
++returns
++.B ERR
++if
++.bP
++.I win
++is
++.BR NULL ","
++.bP
++wrapping to a new line is impossible because \fB\%scrollok\fP(3X) has
++not been called on
++.I win
++when writing to its bottom right location is attempted,
++or
+ .bP
+-If an error is detected when converting a multibyte character to a sequence
+-of bytes,
+-or if it is not possible to add all of the resulting bytes in the window,
+-an error is returned.
++it is not possible to add a complete character at the cursor position.
+ .PP
+ Functions prefixed with \*(``mv\*('' first perform cursor movement and
+ fail if the position
+@@ -318,16 +394,32 @@
+ .IR x )
+ is outside the window boundaries.
+ .SH NOTES
+-Note that
+-\fBadd_wch\fP,
+-\fBmvadd_wch\fP,
+-\fBmvwadd_wch\fP, and
+-\fBecho_wchar\fP
+-may be macros.
++.BR add_wch ","
++.BR mvadd_wch ","
++.BR mvwadd_wch ","
++and
++.B echo_wchar
++may be implemented as macros.
++.SH EXTENSIONS
++.SS TABSIZE
++The
++.B TABSIZE
++variable is implemented in SVr4 and other versions of
++.IR curses ,
++but is not specified by X/Open Curses
++(see \fBcurs_variables\fP(3X)).
+ .SH PORTABILITY
+ These functions are described in X/Open Curses, Issue 4.
+-The defaults specified for line-drawing characters apply in the POSIX locale.
+-.SS "WACS Symbols"
++It specifies no error conditions for them.
++.PP
++SVr4
++.I curses
++describes a successful return value only as
++\*(``an integer value other than
++.BR ERR \*(''.
++.PP
++The defaults specified for forms-drawing characters apply in the POSIX
++locale.
+ X/Open Curses makes it clear that the WACS_ symbols should be defined as
+ a pointer to \fBcchar_t\fP data, e.g., in the discussion of \fBborder_set\fP.
+ A few implementations are problematic:
+@@ -406,32 +498,32 @@
+ \[u256C] U+256C (forms double vertical and horizontal), and
+ \[u2612] U+2612 (ballot box with x).
+ .SS "Complex Characters"
+-The complex character type \fBcchar_t\fR
+-can store more than one wide character (\fBwchar_t\fR).
+-The X/Open Curses description does not mention this possibility,
+-describing only the cases where \fIwch\fP is a spacing character
+-or a non-spacing character.
+-.PP
+-This implementation assumes that \fIwch\fP is constructed using
+-\fB\%setcchar\fP(3X), and in turn that the result
+-.bP
+-contains at most one spacing character in the beginning of its list of wide
+-characters,
+-and zero or more non-spacing characters
++The complex character type
++.I \%cchar_t
++can store more than one wide character
++.RI ( \%wchar_t ).
++X/Open Curses does not mention this possibility,
++specifying behavior only where
++.I wch
++is a single character,
++either spacing or non-spacing.
++.PP
++.I \%ncurses
++assumes that
++.I wch
++is constructed using \fB\%setcchar\fP(3X),
++and in turn that the result
++.bP
++contains at most one spacing character at the beginning of its list of
++wide characters,
++and zero or more non-spacing characters,
+ or
+ .bP
+-may hold one non-spacing character.
++holds one non-spacing character.
+ .PP
+ In the latter case,
+-\fI\%ncurses\fP adds the non-spacing character to the active
+-(base) spacing character.
+-.SS TABSIZE
+-The
+-.B TABSIZE
+-variable is implemented in SVr4 and other versions of
+-.IR curses ,
+-but is not specified by X/Open Curses
+-(see \fBcurs_variables\fP(3X)).
++.I \%ncurses
++adds the non-spacing character to the active complex character.
+ .SH SEE ALSO
+ \fB\%curs_addch\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_add_wchstr.3x
+Prereq: 1.39
+--- ncurses-6.5-20240504+/man/curs_add_wchstr.3x 2024-04-20 21:20:07.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_add_wchstr.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_add_wchstr.3x,v 1.39 2024/04/20 21:20:07 tom Exp $
+-.TH curs_add_wchstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_add_wchstr.3x,v 1.40 2024/05/11 20:39:53 tom Exp $
++.TH curs_add_wchstr 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -69,45 +69,63 @@
+ \fBint mvwadd_wchnstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const cchar_t *\fIwchstr\fP, int \fIn\fP);
+ .fi
+ .SH DESCRIPTION
+-These functions copy the (null-terminated)
+-array of complex characters \fIwchstr\fP
+-into the window image structure
+-starting at the current cursor position.
+-.PP
+-The four functions with \fIn\fP as the last
+-argument copy at most \fIn\fP elements,
+-but no more than will fit on the line.
+-If \fBn\fP=\fB\-1\fP then the whole array is copied,
+-to the maximum number of characters that will fit on the line.
+-.PP
+-The window cursor is \fInot\fP advanced.
+-These functions are faster than \fBwaddnstr\fP.
+-On the other hand:
++.B \%wadd_wchstr
++copies the string of complex characters
++.I \%wchstr
++to the window
++.IR win "."
++A null complex character terminates the string.
++If a complex character does completely fit at the end of the line,
++.I curses
++fills the remaining columns with the window background;
++see \fB\%bkgrnd\fP(3X).
++.B \%wadd_wchnstr
++does the same,
++but copies at most
++.I n
++characters,
++or as many as possible if
++.I n
++is
++.BR \-1 "."
++\fB\%ncurses\fP(3X) describes the variants of these functions.
++.PP
++Because these functions do not call \fB\%wadd_wch\fP(3X) internally,
++they are faster than \fB\%waddwstr\fP(3X) and \fB\%waddnwstr\fP(3X).
++On the other hand,
++they
++.bP
++do not treat the backspace,
++carriage return,
++or line feed characters specially;
+ .bP
+-they do not perform checking
+-(such as for the newline, backspace, or carriage return characters),
++do not represent unprintable characters with \fB\%wunctrl\fP(3X);
+ .bP
+-they do not advance the current cursor position,
++do not update the cursor position to follow the last character written;
+ .bP
+-they do not expand other control characters to ^-escapes, and
+-.bP
+-they truncate the string if it crosses the right margin,
+-rather than wrapping it around to the new line.
+-.PP
+-These functions end successfully
+-on encountering a null \fBcchar_t\fP, or
+-when they have filled the current line.
+-If a complex character cannot completely fit at the end of the current line,
+-the remaining columns are filled with the background character and rendition.
++truncate the string at the window's right margin,
++rather than wrapping it to the next line and potentially scrolling.
+ .SH RETURN VALUE
+-All functions return the integer \fBERR\fP upon failure and \fBOK\fP on success.
++These functions return
++.B OK
++on success and
++.B ERR
++on failure.
+ .PP
+ X/Open Curses does not specify any error conditions.
+-This implementation returns an error
+-.bP
+-if the \fIwin\fP parameter is null or
+-.bP
+-if the \fIwchstr\fP parameter is null.
++.I \%ncurses
++returns
++.B ERR
++if
++.bP
++.I win
++is
++.B NULL
++or
++.bP
++.I wchstr
++is
++.BR NULL "."
+ .PP
+ Functions prefixed with \*(``mv\*('' first perform cursor movement and
+ fail if the position
+@@ -115,9 +133,12 @@
+ .IR x )
+ is outside the window boundaries.
+ .SH NOTES
+-All functions except \fBwadd_wchnstr\fP may be macros.
++All of these functions except
++.B \%wadd_wchnstr
++may be implemented as macros.
+ .SH PORTABILITY
+-These functions are described in X/Open Curses, Issue 4.
++X/Open Curses,
++Issue 4 describes these functions.
+ .SH SEE ALSO
+ \fB\%curs_addchstr\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_addch.3x
+Prereq: 1.85
+--- ncurses-6.5-20240504+/man/curs_addch.3x 2024-04-20 19:03:47.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_addch.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addch.3x,v 1.85 2024/04/20 19:03:47 tom Exp $
+-.TH curs_addch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_addch.3x,v 1.86 2024/05/11 20:39:53 tom Exp $
++.TH curs_addch 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -72,22 +72,24 @@
+ \fBint wechochar(WINDOW *\fIwin\fP, const chtype \fIch\fP);
+ .fi
+ .SH DESCRIPTION
+-.SS "Adding Characters"
++.SS waddch
+ .B \%waddch
+-puts the character
++writes the
++.I curses
++character
+ .I ch
+-at the cursor position of window
+-.IR win ,
++to the window
++.IR win ","
+ then advances the cursor position,
+ analogously to the standard C library's \fI\%putchar\fP(3).
+ \fB\%ncurses\fP(3X) describes the variants of this function.
+ .PP
+ If advancement occurs at the right margin,
+ .bP
+-the cursor automatically wraps to the beginning of the next line;
+-and
++the cursor automatically wraps to the beginning of the next line,
++then,
+ .bP
+-at the bottom of the current scrolling region,
++if it was at the bottom of the scrolling region,
+ and if \fB\%scrollok\fP(3X) is enabled for
+ .IR win ,
+ the scrolling region scrolls up one line.
+@@ -110,10 +112,7 @@
+ of the window.
+ .bP
+ Line feed does a \fB\%clrtoeol\fP(3X),
+-then moves the cursor to the left margin on the next line of the window,
+-and if \fB\%scrollok\fP(3X) is enabled for
+-.IR win ,
+-scrolls the window if the cursor was already on the last line.
++then advances as if from the right margin.
+ .bP
+ Tab advances the cursor to the next tab stop
+ (possibly on the next line);
+@@ -126,23 +125,22 @@
+ If
+ .I ch
+ is any other nonprintable character,
+-it is drawn in printable form,
+-using the same convention as \fB\%unctrl\fP(3X).
++it is drawn in printable form using the same convention as
++\fB\%unctrl\fP(3X).
+ .PP
+ Calling \fB\%winch\fP(3X) on the location of a nonprintable character
+ does not return the character itself,
+ but its \fB\%unctrl\fP(3X) representation.
+ .PP
++The object or expression
+ .I ch
+-may contain rendering and/or color attributes,
+-and others can be combined with the parameter
+-by logically \*(``or\*(''ing with it.
++may contain attributes and/or a color pair identifier.
+ (A character with its attributes can be copied from place to place
+ using \fB\%winch\fP(3X) and
+ .BR \%waddch .)
+ See \fB\%curs_attr\fP(3X) for values of predefined video attribute
+ constants that can be usefully \*(``or\*(''ed with characters.
+-.SS "Echoing Characters"
++.SS wechochar
+ .B \%echochar
+ and
+ .B \%wechochar
+@@ -177,8 +175,9 @@
+ The \*(``acsc char\*('' column corresponds to how the characters are
+ specified in the
+ .B \%acs_chars
++.RB ( \%acsc )
+ string capability,
+-and the characters in it may appear on the screen if the terminal's
++and the characters in it may appear on the screen if 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.
+@@ -235,36 +234,52 @@
+ .B \%waddch
+ returns
+ .B ERR
+-if it is not possible to add a complete character at the cursor
+-position,
+-as when conversion of a multibyte character to a byte sequence fails,
+-or at least one of the resulting bytes cannot be added to the window.
++if
++.bP
++.I win
++is
++.BR NULL ","
++.bP
++wrapping to a new line is impossible because \fB\%scrollok\fP(3X) has
++not been called on
++.I win
++when a write to its bottom right location is attempted,
++or
++.bP
++it is not possible to add a complete character at the cursor position.
++.PP
++The last may be due to different causes:
++.bP
++conversion of a multibyte character to a byte sequence can fail,
++or
++.bP
++at least one of the bytes resulting from conversion from a multibyte
++sequence cannot be added to the window.
+ See section \*(``PORTABILITY\*('' below regarding the use of
+ .B \%waddch
+ with multibyte characters.
+ .PP
+-.B \%waddch
+-can successfully write a character at the bottom right location of the
+-window.
+-However,
+-.I \%ncurses
+-returns
+-.B ERR
+-if \fB\%scrollok\fP(3X) is not enabled in that event,
+-because it is not possible to wrap to a new line.
+-.PP
+ Functions prefixed with \*(``mv\*('' first perform cursor movement and
+ fail if the position
+ .RI ( y ,
+ .IR x )
+ is outside the window boundaries.
+ .SH NOTES
+-.BR \%addch ,
+-.BR \%mvaddch ,
+-.BR \%mvwaddch ,
++.BR \%addch ","
++.BR \%mvaddch ","
++.BR \%mvwaddch ","
+ and
+ .B \%echochar
+ may be implemented as macros.
++.SH EXTENSIONS
++.SS TABSIZE
++SVr4 and other versions of
++.I curses
++implement the
++.B \%TABSIZE
++variable,
++but X/Open Curses does not specify it;
++see \fB\%curs_variables\fP(3X).
+ .SH PORTABILITY
+ X/Open Curses,
+ Issue 4 describes these functions.
+@@ -290,7 +305,7 @@
+ Solaris
+ .IR curses ,
+ for example,
+-define the ACS symbols as constants;
++defines the ACS symbols as constants;
+ others define them as elements of an array.
+ .IP
+ This implementation uses an array,
+@@ -356,8 +371,8 @@
+ .I \%term\%info
+ entries include
+ .B \%acsc
+-strings in which their key characters
+-.BR ( pryz{|} )
++capabilities in which their key characters
++.RB ( pryz{|} )
+ are embedded,
+ and a second-hand list of their character descriptions has come to
+ light.
+@@ -386,51 +401,50 @@
+ by using UTF-8;
+ see the discussion of the
+ .I \%NCURSES_NO_UTF8_ACS
+-environment variable in \fB\%ncurses\fP(3X)).
++environment variable in \fB\%ncurses\fP(3X).
+ .SS "Character Set"
+ X/Open Curses assumes that the parameter passed to
+ .B \%waddch
+ contains a single character.
+-As discussed in \fB\%curs_attr\fP(3X),
+-that character may have been more than eight bits wide in an SVr3 or
++That character may have been more than eight bits wide in an SVr3 or
+ SVr4 implementation,
+-but in the X/Open Curses model,
+-the details are not given.
+-The important distinction between SVr4
+-.I curses
+-and X/Open Curses is that the latter separates non-character information
+-(attributes and color)
+-from the character code,
+-which SVr4 packs into a
++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
++.IR chtype ","
++though the use of bit operations to combine the character code with
++attributes and a color pair identifier into a
+ .I \%chtype
+ for passage to
+-.BR \%waddch .
++.B \%waddch
++is common.
++A portable application uses only the macros discussed in
++\fB\%curs_attr\fP(3X) to manipulate a
++.IR \%chtype "."
+ .PP
+ In
+ .IR \%ncurses ,
+ .I \%chtype
+-holds an eight-bit character.
+-But the library allows a multibyte character to be passed in a
++holds an eight-bit character,
++but the library allows a multibyte character to be passed in a
+ succession of calls to
+-.BR \%waddch .
++.BR \%waddch "."
+ Other implementations do not;
+ a
+ .B \%waddch
+ call transmits exactly one character,
+ which may be rendered in one or more screen locations depending on
+-whether it is printable.
+-.PP
+-Depending on the locale settings,
++whether it is printable
++(see \fB\%unctrl\fP(3X)).
++Depending on the locale,
+ .I \%ncurses
+ inspects the byte passed in each
+ .B \%waddch
+-call,
+-and checks whether the latest call continues a multibyte sequence.
++call and checks whether the latest call continues a multibyte sequence.
+ When a character is
+-.IR complete ,
++.IR complete ","
+ .I \%ncurses
+ displays the character and advances the cursor.
+-.PP
+ If the calling application interrupts the succession of bytes in
+ a multibyte character sequence by changing the current location\(emfor
+ example,
+@@ -439,7 +453,7 @@
+ discards the incomplete character.
+ .PP
+ For portability to other implementations,
+-do not rely upon this behavior.
++do not rely upon the foregoing behavior.
+ Check whether a character can be represented as a single byte in the
+ current locale.
+ .bP
+@@ -451,14 +465,6 @@
+ If it cannot,
+ use only
+ \fB\%wadd_wch\fP(3X).
+-.SS TABSIZE
+-SVr4 and other versions of
+-.I curses
+-implement the
+-.B \%TABSIZE
+-variable,
+-but X/Open Curses does not specify it
+-(see \fB\%curs_variables\fP(3X)).
+ .SH SEE ALSO
+ \fB\%curs_add_wch\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_addchstr.3x
+Prereq: 1.45
+--- ncurses-6.5-20240504+/man/curs_addchstr.3x 2024-04-20 21:20:07.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_addchstr.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addchstr.3x,v 1.45 2024/04/20 21:20:07 tom Exp $
+-.TH curs_addchstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_addchstr.3x,v 1.46 2024/05/11 20:39:53 tom Exp $
++.TH curs_addchstr 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -69,39 +69,63 @@
+ \fBint mvwaddchnstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const chtype *\fIchstr\fP, int \fIn\fP);
+ .fi
+ .SH DESCRIPTION
+-These functions copy the (null-terminated)
+-\fIchstr\fP array
+-into the window image structure
+-starting at the current cursor position.
+-.PP
+-The four functions with \fIn\fP as the last
+-argument copy at most \fIn\fP elements,
+-but no more than will fit on the line.
+-If \fBn\fP=\fB\-1\fP then the whole array is copied,
+-to the maximum number of characters that will fit on the line.
+-.PP
+-The window cursor is \fInot\fP advanced.
+-These functions are faster than \fBwaddnstr\fP.
+-On the other hand:
+-.bP
+-they do not perform checking
+-(such as for the newline, backspace, or carriage return characters),
++.B \%waddchstr
++copies the string of
++.I curses
++characters
++.I \%chstr
++to the window
++.IR win "."
++A null
++.I curses
++character terminates the string.
++.B \%waddchnstr
++does the same,
++but copies at most
++.I n
++characters,
++or as many as possible if
++.I n
++is
++.BR \-1 "."
++\fB\%ncurses\fP(3X) describes the variants of these functions.
++.PP
++Because these functions do not call \fB\%waddch\fP(3X) internally,
++they are faster than \fB\%waddstr\fP(3X) and \fB\%waddnstr\fP(3X).
++On the other hand,
++they
++.bP
++do not treat the backspace,
++carriage return,
++or line feed characters specially;
+ .bP
+-they do not advance the current cursor position,
++do not represent unprintable characters with \fB\%unctrl\fP(3X);
+ .bP
+-they do not expand other control characters to ^-escapes, and
++do not update the cursor position to follow the last character written;
+ .bP
+-they truncate the string if it crosses the right margin,
+-rather than wrapping it around to the new line.
++truncate the string at the window's right margin,
++rather than wrapping it to the next line and potentially scrolling.
+ .SH RETURN VALUE
+-All functions return the integer \fBERR\fP upon failure and \fBOK\fP on success.
++These functions return
++.B OK
++on success and
++.B ERR
++on failure.
+ .PP
+ X/Open Curses does not specify any error conditions.
+-This implementation returns an error
+-.bP
+-if the \fIwin\fP parameter is null or
+-.bP
+-if the \fIwchstr\fP parameter is null.
++.I \%ncurses
++returns
++.B ERR
++if
++.bP
++.I win
++is
++.B NULL
++or
++.bP
++.I chstr
++is
++.BR NULL "."
+ .PP
+ Functions prefixed with \*(``mv\*('' first perform cursor movement and
+ fail if the position
+@@ -109,9 +133,12 @@
+ .IR x )
+ is outside the window boundaries.
+ .SH NOTES
+-All functions except \fBwaddchnstr\fP may be macros.
++All of these functions except
++.B \%waddchnstr
++may be implemented as macros.
+ .SH PORTABILITY
+-These functions are described in X/Open Curses, Issue 4.
++X/Open Curses,
++Issue 4 describes these functions.
+ .SH SEE ALSO
+ \fB\%curs_add_wchstr\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_attr.3x
+Prereq: 1.105
+--- ncurses-6.5-20240504+/man/curs_attr.3x 2024-04-27 17:54:42.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_attr.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_attr.3x,v 1.105 2024/04/27 17:54:42 tom Exp $
+-.TH curs_attr 3X 2024-04-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_attr.3x,v 1.106 2024/05/11 20:39:53 tom Exp $
++.TH curs_attr 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -271,6 +271,16 @@
+ .TE
+ .RE
+ .PP
++You can thus use
++.B \%A_CHARTEXT
++to extract the character from a
++.IR chtype ","
++.B \%A_ATTRIBUTES
++to obtain its rendering attributes,
++and
++.B \%A_COLOR
++to find the color pair it uses.
++.PP
+ These video attributes are supported by \fBattr_on\fP and related functions
+ (which also support the attributes recognized by \fBattron\fP, etc.):
+ .PP
+Index: man/curs_delch.3x
+Prereq: 1.34
+--- ncurses-6.5-20240504+/man/curs_delch.3x 2024-04-20 19:24:14.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_delch.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_delch.3x,v 1.34 2024/04/20 19:24:14 tom Exp $
+-.TH curs_delch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_delch.3x,v 1.35 2024/05/11 20:39:53 tom Exp $
++.TH curs_delch 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -58,19 +58,17 @@
+ .B \%wdelch
+ deletes the character at the cursor position in
+ .IR win .
+-\fB\%ncurses\fP(3X) describes the variants of this function.
+-.PP
+-.B \%wdelch
+-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;
++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 \fB\%bkgd\fP(3X)
+-(wide-character API users may consult \fB\%bkgrnd\fP(3X) instead).
++(wide-character API users: \fB\%bkgrnd\fP(3X)).
+ The cursor position does not change
+ (after moving to
+ .RI ( y ,
+ .IR x ),
+ if specified).
++\fB\%ncurses\fP(3X) describes the variants of this function.
+ .SH RETURN VALUE
+ These functions return
+ .B OK
+@@ -103,6 +101,7 @@
+ .SH PORTABILITY
+ X/Open Curses,
+ Issue 4 describes these functions.
++It specifies no error conditions for them.
+ .PP
+ SVr4
+ .I curses
+Index: man/curs_get_wch.3x
+Prereq: 1.40
+--- ncurses-6.5-20240504+/man/curs_get_wch.3x 2024-04-20 19:23:03.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_get_wch.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_get_wch.3x,v 1.40 2024/04/20 19:23:03 tom Exp $
+-.TH curs_get_wch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_get_wch.3x,v 1.41 2024/05/11 20:39:53 tom Exp $
++.TH curs_get_wch 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -65,12 +65,10 @@
+ .SH DESCRIPTION
+ .SS "Reading Characters"
+ .B \%wget_wch
+-gathers a key stroke
+-.I wch
+-from the terminal keyboard associated with a
++gathers a key event from the terminal keyboard associated with a
+ .I curses
+ window
+-.IR win ,
++.IR win ","
+ returning
+ .B OK
+ if a wide character is read,
+@@ -84,11 +82,13 @@
+ When input is pending,
+ .B \%wget_wch
+ stores an integer
+-identifying the key stroke in
+-.IR wch ;
++identifying the key event in
++.IR wch ";"
+ for alphanumeric and punctuation keys,
+ this value corresponds to the character encoding used by the terminal.
+-Use of the control key as a modifier often results in a distinct code.
++Use of the control key as a modifier,
++by holding it down while pressing and releasing another key,
++often results in a distinct code.
+ The behavior of other keys depends on whether
+ .I win
+ is in keypad mode;
+@@ -99,7 +99,7 @@
+ then if the no-delay flag is set in the window
+ (see \fB\%nodelay\fP(3X)),
+ the function returns
+-.BR ERR ;
++.BR ERR ";"
+ otherwise,
+ .I curses
+ waits until the terminal has input.
+@@ -112,7 +112,7 @@
+ If \fB\%halfdelay\fP(3X)
+ has been called,
+ .I curses
+-waits until a character is typed or the specified delay elapses.
++waits until input is available or the specified delay elapses.
+ .PP
+ If \fB\%echo\fP(3X) has been called,
+ and the window is not a pad,
+@@ -142,19 +142,20 @@
+ to the window,
+ as with \fB\%wecho_wchar\fP(3X).
+ .bP
+-If the window has been moved or modified since the last call to
++If the window
++.I win
++has been moved or modified since the last call to
+ \fB\%wrefresh\fP(3X),
+ .I curses
+ calls
+-.BR \%wrefresh .
++.B \%wrefresh
++on it.
+ .PP
+ If
+ .I wch
+ is a carriage return and \fBnl\fP(3X) has been called,
+ .B \%wgetch
+-stores the the character code for newline
+-(line feed)
+-in
++stores the the character code for line feed in
+ .I wch
+ instead.
+ .SS "Ungetting Characters"
+@@ -162,8 +163,8 @@
+ places
+ .I wch
+ into the input queue to be returned by the next call to
+-.BR \%wget_wch .
+-A single input queue serves all windows.
++.BR \%wget_wch "."
++A single input queue serves all windows associated with the terminal.
+ .SH RETURN VALUE
+ .B \%wget_wch
+ returns
+@@ -178,7 +179,7 @@
+ the
+ .I \%WINDOW
+ pointer is
+-.BR NULL ,
++.BR NULL ","
+ or
+ .bP
+ its timeout expires without any data arriving,
+@@ -188,12 +189,12 @@
+ in which case
+ .B \%errno
+ is set to
+-.BR \%EINTR .
++.BR \%EINTR "."
+ .PP
+ Functions prefixed with \*(``mv\*('' first perform cursor movement and
+ fail if the position
+ .RI ( y ,
+-.IR x )
++.IR x ")"
+ is outside the window boundaries.
+ .PP
+ .B \%unget_wch
+@@ -218,18 +219,16 @@
+ parameter instead of the return value.
+ .PP
+ Unlike
+-.BR \%ungetch ,
++.BR \%ungetch ","
+ .B \%unget_wch
+-cannot distinguish function key codes
+-.B \%wget_wch
+-from conventional character codes.
++cannot distinguish function key codes from conventional character codes.
+ An application can overcome this limitation by pushing function key
+ codes with
+ .B \%ungetch
+ and subsequently checking the return value of
+ .B \%wget_wch
+ for a match with
+-.BR \%KEY_CODE_YES .
++.BR \%KEY_CODE_YES "."
+ .SH EXTENSIONS
+ See the \*(``EXTENSIONS\*('' section of \fB\%wgetch\fP(3X).
+ .SH PORTABILITY
+Index: man/curs_getch.3x
+Prereq: 1.87
+--- ncurses-6.5-20240504+/man/curs_getch.3x 2024-04-20 19:18:18.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_getch.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getch.3x,v 1.87 2024/04/20 19:18:18 tom Exp $
+-.TH curs_getch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_getch.3x,v 1.88 2024/05/11 20:39:53 tom Exp $
++.TH curs_getch 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -76,18 +76,20 @@
+ .SH DESCRIPTION
+ .SS "Reading Characters"
+ .B \%wgetch
+-gathers a key stroke from the terminal keyboard associated with a
++gathers a key event from the terminal keyboard associated with a
+ .I curses
+ window
+-.IR win .
++.IR win "."
+ \fB\%ncurses\fP(3X) describes the variants of this function.
+ .PP
+ When input is pending,
+ .B \%wgetch
+-returns an integer identifying the key stroke;
++returns an integer identifying the key event;
+ for alphanumeric and punctuation keys,
+ this value corresponds to the character encoding used by the terminal.
+-Use of the control key as a modifier often results in a distinct code.
++Use of the control key as a modifier,
++by holding it down while pressing and releasing another key,
++often results in a distinct code.
+ The behavior of other keys depends on whether
+ .I win
+ is in keypad mode;
+@@ -97,7 +99,7 @@
+ then if the no-delay flag is set in the window
+ (see \fB\%nodelay\fP(3X)),
+ the function returns
+-.BR ERR ;
++.BR ERR ";"
+ otherwise,
+ .I curses
+ waits until the terminal has input.
+@@ -110,7 +112,7 @@
+ If \fB\%halfdelay\fP(3X)
+ has been called,
+ .I curses
+-waits until a character is typed or the specified delay elapses.
++waits until input is available or the specified delay elapses.
+ .PP
+ If \fB\%echo\fP(3X) has been called,
+ and the window is not a pad,
+@@ -140,11 +142,14 @@
+ to the window,
+ as with \fB\%wechochar\fP(3X).
+ .bP
+-If the window has been moved or modified since the last call to
++If the window
++.I win
++has been moved or modified since the last call to
+ \fB\%wrefresh\fP(3X),
+ .I curses
+ calls
+-.BR \%wrefresh .
++.B \%wrefresh
++on it.
+ .PP
+ If
+ .I c
+@@ -153,7 +158,7 @@
+ returns the character code for line feed instead.
+ .SS "Keypad Mode"
+ To
+-.IR curses ,
++.IR curses ","
+ key strokes not from the alphabetic section of the keyboard
+ (those corresponding to the ECMA-6 character set\(emsee
+ \fIascii\fP(7)\(emoptionally modified by either the control or shift
+@@ -162,7 +167,7 @@
+ .I function
+ keys.
+ (In
+-.IR curses ,
++.IR curses ","
+ the term \*(``function key\*('' includes but is not limited to keycaps
+ engraved with \*(``F1\*('',
+ \*(``PF1\*('',
+@@ -183,12 +188,12 @@
+ header file declares many
+ .I "predefined function keys"
+ whose names begin with
+-.BR KEY_ ;
++.BR KEY_ ";"
+ these object-like macros have values outside the range of eight-bit
+ character codes.
+ .bP
+ In
+-.IR \%ncurses ,
++.IR \%ncurses ","
+ .I "user-defined function keys"
+ are configured with \fB\%define_key\fP(3X);
+ they have no names,
+@@ -204,9 +209,10 @@
+ escape character ESC.
+ This fact implies that
+ .I curses
+-cannot know whether the terminal has sent an ESC key stroke or the
+-beginning of a function key's character sequence without waiting to see
+-if,
++cannot distinguish a user's press of the escape key
++(assuming it sends ESC)
++from the beginning of a function key's character sequence without
++waiting to see if,
+ and how soon,
+ further input arrives.
+ When
+@@ -223,7 +229,8 @@
+ Consequently,
+ a user of a
+ .I curses
+-application may experience a delay after pressing ESC while
++application may experience a delay after they escape key is pressed
++while
+ .I curses
+ disambiguates the input;
+ see section \*(``EXTENSIONS\*('' below.
+@@ -233,26 +240,26 @@
+ (or very large)
+ value.
+ See \fB\%notimeout\fP(3X).
+-Because function key sequences usually begin with an escape character,
+-the terminal may appear to hang in no time-out mode after the user has
+-pressed ESC.
++Because function key sequences usually begin with ESC,
++the terminal may appear to hang in no time-out mode after the user
++presses the escape key.
+ Generally,
+ further typing \*(``awakens\*(''
+-.IR curses .
++.IR curses "."
+ .SS "Ungetting Characters"
+ .B \%ungetch
+ places
+ .I c
+ into the input queue to be returned by the next call to
+-.BR \%wgetch .
+-A single input queue serves all windows.
++.BR \%wgetch "."
++A single input queue serves all windows associated with the terminal.
+ .SS "Predefined Key Codes"
+ The header file
+ .I \%curses.h
+ defines the following function key codes.
+ .bP
+ Except for the special case of
+-.BR \%KEY_RESIZE ,
++.BR \%KEY_RESIZE ","
+ a window's keypad mode must be enabled for
+ .B \%wgetch
+ to read these codes from it.
+@@ -394,7 +401,7 @@
+ .bP
+ .B \%wgetch
+ returns
+-.BR \%KEY_RESIZE ,
++.BR \%KEY_RESIZE ","
+ even if the window's keypad mode is disabled,
+ when
+ .I \%ncurses
+@@ -416,7 +423,7 @@
+ as with a function key.
+ .SS "Testing Key Codes"
+ In
+-.IR \%ncurses ,
++.IR \%ncurses ","
+ .B \%has_key
+ returns a Boolean value indicating whether the terminal type recognizes
+ its parameter as a key code value.
+@@ -424,7 +431,7 @@
+ \fB\%define_key\fP(3X) and \fB\%key_defined\fP(3X).
+ .SH RETURN VALUE
+ Except for
+-.BR \%has_key ,
++.BR \%has_key ","
+ these functions return
+ .B OK
+ on success and
+@@ -434,12 +441,12 @@
+ Functions taking a
+ .I \%WINDOW
+ pointer argument fail if the pointer is
+-.BR NULL .
++.BR NULL "."
+ .PP
+ Functions prefixed with \*(``mv\*('' first perform cursor movement and
+ fail if the position
+ .RI ( y ,
+-.IR x )
++.IR x ")"
+ is outside the window boundaries.
+ .PP
+ .B \%wgetch
+@@ -452,7 +459,7 @@
+ in which case
+ .B \%errno
+ is set to
+-.BR \%EINTR .
++.BR \%EINTR "."
+ .PP
+ .B \%ungetch
+ fails if there is no more room in the input queue.
+@@ -461,7 +468,7 @@
+ returns
+ .B TRUE
+ or
+-.BR FALSE .
++.BR FALSE "."
+ .SH NOTES
+ .I curses
+ discourages assignment of the ESC key to a discrete function by the
+@@ -472,7 +479,7 @@
+ for example,
+ .B \%KEY_ENTER
+ may be the same as
+-.BR \*^M ,
++.BR \*^M ","
+ .\" as with att630 or pccon+keys
+ and
+ .B \%KEY_BACKSPACE
+@@ -480,7 +487,7 @@
+ .B \*^H
+ .\" as with att505 or vt52-basic
+ or
+-.BR \*^? .
++.BR \*^? "."
+ .\" as with pccon+keys or vt320
+ Consult the terminal's
+ .I \%term\%info
+@@ -490,7 +497,7 @@
+ .I curses
+ implementations,
+ including
+-.IR \%ncurses ,
++.IR \%ncurses ","
+ honor the
+ .I \%term\%info
+ key definitions;
+@@ -502,7 +509,7 @@
+ .B \%KEY_ENTER
+ refers to the key on the numeric keypad and,
+ like other function keys,
+-and is reliably recognized only if the window's keypad mode is enabled.
++is reliably recognized only if the window's keypad mode is enabled.
+ .bP
+ The
+ .I \%term\%info
+@@ -551,12 +558,12 @@
+ A
+ .I curses
+ application can expect such a keyboard to transmit key codes
+-.BR \%KEY_UP ,
+-.BR \%KEY_DOWN ,
+-.BR \%KEY_LEFT ,
+-.BR \%KEY_RIGHT ,
+-.BR \%KEY_HOME ,
+-.BR \%KEY_END ,
++.BR \%KEY_UP ","
++.BR \%KEY_DOWN ","
++.BR \%KEY_LEFT ","
++.BR \%KEY_RIGHT ","
++.BR \%KEY_HOME ","
++.BR \%KEY_END ","
+ .B \%KEY_PPAGE
+ (Page Up),
+ .B \%KEY_NPAGE
+@@ -571,14 +578,14 @@
+ .I n
+ \(<= 12.
+ .PP
+-.BR \%getch ,
+-.BR \%mvgetch ,
++.BR \%getch ","
++.BR \%mvgetch ","
+ and
+ .B \%mvwgetch
+ may be implemented as macros.
+ .SH EXTENSIONS
+ In
+-.IR \%ncurses ,
++.IR \%ncurses ","
+ when a window's \*(``no time-out\*('' mode is
+ .I not
+ set,
+@@ -590,12 +597,15 @@
+ see
+ \fB\%curs_variables\fP(3X).
+ .PP
+-\fB\%has_key\fP was designed for \fB\%ncurses\fP(3X),
++\fB\%has_key\fP was designed for
++.IR \%ncurses ","
+ and is not found in SVr4
+-.IR curses ,
++.IR curses ","
+ 4.4BSD
+-.IR curses ,
+-or any other previous curses implementation.
++.IR curses ","
++or any other previous
++.I curses
++implementation.
+ .SH PORTABILITY
+ Applications employing
+ .I \%ncurses
+@@ -629,14 +639,14 @@
+ .I curses
+ implementations,
+ it varied depending on whether the operating system's dispatch of a
+-signal to a handler interrupting a \fIread\fP(2) call in progress,
++signal to a handler interrupted a \fIread\fP(2) call in progress,
+ and also
+ (in some implementations)
+-whether an input timeout or non-blocking mode has been set.
++whether an input timeout or non-blocking mode had been set.
+ Programmers concerned about portability should be prepared for either of
+ two cases:
+ (a) signal receipt does not interrupt
+-.BR \%wgetch ;
++.BR \%wgetch ";"
+ or
+ (b) signal receipt interrupts
+ .B \%wgetch
+@@ -645,7 +655,7 @@
+ with
+ .B \%errno
+ set to
+-.BR \%EINTR .
++.BR \%EINTR "."
+ .PP
+ .B \%KEY_MOUSE
+ is mentioned in X/Open Curses,
+@@ -661,7 +671,7 @@
+ and
+ .B \%has_key
+ are extensions first implemented for
+-.IR \%ncurses .
++.IR \%ncurses "."
+ By 2022,
+ .I \%PDCurses
+ .\" https://web.archive.org/web/20220117232009/https://pdcurses.org/docs/MANUAL.html
+@@ -670,7 +680,7 @@
+ .I curses
+ .\" https://web.archive.org/web/20200923185647/https://man.netbsd.org/curses_input.3
+ had added them along with
+-.BR \%KEY_MOUSE .
++.BR \%KEY_MOUSE "."
+ .SH SEE ALSO
+ \fB\%curs_get_wch\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_getstr.3x
+Prereq: 1.58
+--- ncurses-6.5-20240504+/man/curs_getstr.3x 2024-04-20 19:18:18.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_getstr.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getstr.3x,v 1.58 2024/04/20 19:18:18 tom Exp $
+-.TH curs_getstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_getstr.3x,v 1.59 2024/05/11 20:39:53 tom Exp $
++.TH curs_getstr 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -199,7 +199,7 @@
+ .PP
+ X/Open Curses, Issue 5 (2007) stated that these functions
+ \*(``read at most \fIn\fP bytes\*(''
+-but did not state whether the terminating NUL is counted in that limit.
++but did not state whether the terminating NUL counted toward that limit.
+ X/Open Curses, Issue 7 (2009) changed that to say they
+ \*(``read at most \fIn\fP\-1 bytes\*(''
+ to allow for the terminating NUL.
+Index: man/curs_getyx.3x
+Prereq: 1.44
+--- ncurses-6.5-20240504+/man/curs_getyx.3x 2024-04-20 21:20:07.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_getyx.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getyx.3x,v 1.44 2024/04/20 21:20:07 tom Exp $
+-.TH curs_getyx 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_getyx.3x,v 1.45 2024/05/11 20:39:53 tom Exp $
++.TH curs_getyx 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -51,62 +51,109 @@
+ \fB#include <curses.h>
+ .PP
+ \fBvoid getyx(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
+-\fBvoid getparyx(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
+ \fBvoid getbegyx(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
+ \fBvoid getmaxyx(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
++.PP
++\fBvoid getparyx(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
+ .fi
+ .SH DESCRIPTION
+-The \fB\%getyx\fP macro places the current cursor position
+-of the given window in the two integer variables \fIy\fP and \fIx\fP.
+-.PP
+-If \fIwin\fP is a subwindow, the \fB\%getparyx\fP macro places the beginning
+-coordinates of the subwindow relative to the parent window into two integer
+-variables \fIy\fP and \fIx\fP.
+-Otherwise, \fB\-1\fP is placed into \fIy\fP and \fIx\fP.
+-.PP
+-Like \fB\%getyx\fP, the \fB\%getbegyx\fP and \fB\%getmaxyx\fP macros store
+-the current beginning coordinates and size of the specified window.
++These macros obtain the cursor position and bounds information of a
++.I curses
++window
++.IR win "."
++.B \%getyx
++stores
++.IR win "'s"
++cursor position in the variables
++.I y
++and
++.IR x "."
++.B \%getmaxyx
++stores
++.IR win "'s"
++maximum valid row and column numbers in
++.I y
++and
++.IR x ","
++respectively.
++.B \%getbegyx
++similarly stores the position of
++.IR win "'s"
++origin relative to that of the screen
++(for
++.BR stdscr ","
++these coordinates are always
++.BR 0 ")."
++.PP
++If
++.I win
++is a subwindow
++(see \fB\%subwin\fP(3X)),
++the
++.B \%getparyx
++macro places the coordinates of its origin relative to its parent window
++into
++.I y
++and
++.IR x ","
++and
++.B \-1
++into both if it is not.
+ .SH RETURN VALUE
+-The return values of these macros are undefined (i.e.,
+-they should not be used as the right-hand side of assignment statements).
++No return values are defined for macros.
++Do not use them as the right-hand side of assignment statements.
+ .SH NOTES
+-All of these interfaces are macros.
+-A \*(``&\*('' is not necessary before the variables \fIy\fP and \fIx\fP.
++All of these interfaces are implemented as macros.
++An \*(``&\*('' operator is not necessary before the variables
++.I y
++and
++.IR x "."
+ .SH PORTABILITY
+-The
+-\fB\%getyx\fP,
+-\fB\%getparyx\fP,
+-\fB\%getbegyx\fP and
+-\fB\%getmaxyx\fP
+-macros are described in X/Open Curses, Issue 4.
+-.PP
+-This implementation also provides functions
+-\fB\%getbegx\fP,
+-\fB\%getbegy\fP,
+-\fB\%getcurx\fP,
+-\fB\%getcury\fP,
+-\fB\%getmaxx\fP,
+-\fB\%getmaxy\fP,
+-\fB\%getparx\fP and
+-\fB\%getpary\fP
+-for compatibility with older versions of \fIcurses\fP;
++These macros are described in X/Open Curses,
++Issue 4.
++.PP
++.I \%ncurses
++also provides functions
++.BR \%getbegx ","
++.BR \%getbegy ","
++.BR \%getcurx ","
++.BR \%getcury ","
++.BR \%getmaxx ","
++.BR \%getmaxy ","
++.BR \%getparx ","
++and
++.B \%getpary
++for compatibility with older versions of
++.IR curses ";"
+ see \fB\%curs_legacy\fP(3X).
+ .PP
+-Although X/Open Curses does not address this,
+-many implementations provide members of the \fB\%WINDOW\fP structure
+-containing values corresponding to these macros.
+-For best portability, do not rely on using the data in \fB\%WINDOW\fP,
+-since some implementations make \fB\%WINDOW\fP opaque (do not allow
+-direct use of its members).
++Although X/Open Curses does not address the issue,
++many implementations expose members of the
++.I \%WINDOW
++structure containing values corresponding to these macros.
++Do not rely on their availability;
++some implementations make
++.I \%WINDOW
++opaque
++(that is,
++they do not allow direct access to its members).
+ .PP
+ Besides the problem of opaque structures,
+-the data stored in like-named members may not have like-values in
+-different implementations.
+-For example, the \fB\%WINDOW._maxx\fP and \fB\%WINDOW._maxy\fP values
+-in \fI\%ncurses\fP have
+-(at least since release 1.8.1)
++the data stored in like-named members may not have values of the same
++meaning different implementations.
++For example,
++the values of
++.B \%WINDOW._maxx
++and
++.B \%WINDOW._maxy
++in
++.I \%ncurses
++have long
++.\" (at least since its initial release, 1.8.1)
+ differed by one from some other implementations.
+-The difference is hidden by means of the macro \fB\%getmaxyx\fP.
++The
++.B \%getmaxyx
++macro hides this difference.
+ .SH SEE ALSO
+ \fB\%curses\fP(3X),
+ \fB\%curs_legacy\fP(3X),
+Index: man/curs_inch.3x
+Prereq: 1.51
+--- ncurses-6.5-20240504+/man/curs_inch.3x 2024-04-20 21:20:07.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_inch.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_inch.3x,v 1.51 2024/04/20 21:20:07 tom Exp $
+-.TH curs_inch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_inch.3x,v 1.52 2024/05/11 20:39:53 tom Exp $
++.TH curs_inch 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -57,31 +57,21 @@
+ .PP
+ \fBchtype inch(void);
+ \fBchtype winch(WINDOW *\fIwin\fP);
+-.PP
+ \fBchtype mvinch(int \fIy\fP, int \fIx\fP);
+ \fBchtype mvwinch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
+ .fi
+ .SH DESCRIPTION
+-These routines return the character, of type \fBchtype\fP, at the current
+-position in the named window.
+-If any attributes are set for that position,
+-their values are OR'ed into the value returned.
+-Constants defined in
+-\fB<curses.h>\fP can be used with the \fB&\fP (logical AND) operator to
+-extract the character or attributes alone.
+-.
+-.SS Attributes
+-The following bit masks may be AND-ed with characters returned by \fBwinch\fP.
+-.PP
+-.TS
+-Lb Lb
+-Lb Lx.
+-Name Description
+-_
+-A_CHARTEXT Extract character
+-A_ATTRIBUTES Extract attributes
+-A_COLOR Extract color pair information
+-.TE
++.B \%winch
++returns the
++.I curses
++character,
++including rendering attributes and color pair identifier,
++at the cursor position in the window
++.IR win "."
++Subsection \*(``Video Attributes\*('' of \fB\%attron\fP(3X) explains
++how to extract these data from a
++.IR chtype "."
++\fB\%ncurses\fP(3X) describes the variants of this function.
+ .SH RETURN VALUE
+ Functions prefixed with \*(``mv\*('' first perform cursor movement and
+ fail if the position
+@@ -89,35 +79,68 @@
+ .IR x )
+ is outside the window boundaries.
+ .PP
+-The \fBwinch\fP function does not return an error if the window contains
+-characters larger than 8-bits (255).
+-Only the low-order 8 bits of the character are used by \fBwinch\fP.
++These functions do not return an error if the window comprises cells of
++.I curses
++complex characters
++(that is,
++they contain characters with codes wider than eight bits,
++or greater than 255 as an unsigned decimal integer).
++They instead extract only the low-order eight bits of character data
++in the cell.
+ .SH NOTES
+-Note that all of these routines may be macros.
++.BR \%inch ,
++.BR \%mvinch ,
++and
++.B \%mvwinch
++may be implemented as macros.
+ .SH PORTABILITY
+-These functions are described in X/Open Curses, Issue 4.
+-.PP
+-Very old systems (before standardization) provide a different function
+-with the same name:
+-.bP
+-The \fBwinch\fP function was part of the original BSD curses library,
+-which stored a 7-bit character combined with the \fIstandout\fP attribute.
+-.IP
+-In BSD curses, \fBwinch\fP returned only the character (as an integer)
+-with the \fIstandout\fP attribute removed.
+-.bP
+-System V curses added support for several video attributes which
+-could be combined with characters in the window.
+-.IP
+-Reflecting this improvement, the function was altered to return the
+-character combined with all video attributes in a \fBchtype\fP value.
+-.PP
+-X/Open Curses does not specify
+-the size and layout of attributes, color and character values in
+-\fBchtype\fP; it is implementation-dependent.
+-This implementation uses 8 bits for character values.
+-An application using more bits, e.g., a Unicode value,
+-should use the wide-character equivalents to these functions.
++X/Open Curses,
++Issue 4 describes these functions.
++It specifies no error conditions for them.
++.SH HISTORY
++.B \%winch
++was implemented in the original 4BSD
++.I curses
++library
++(November 1980).
++It returned only the character code
++(as an integer)
++with the \*(``standout\*(`` attribute bit
++(the only one it supported)
++cleared.
++Because 7-bit ASCII was the only character encoding supported,
++4BSD's
++.B \%winch
++returned a
++.I char
++type.
++.\" Through macros, it directly accessed a `char` structure member.
++.PP
++System\ V
++.I curses
++(1983) permitted several rendering attributes to be combined with a
++character in a window.
++Reflecting this improvement,
++.B \%winch
++.\" XXX: possibly returned a `short` in SVr1 through SVr3 --GBR
++returned an
++.I int
++in SVr3.2 (1988)
++and switched to
++.I chtype
++in SVr4 (1989).
++.PP
++X/Open Curses does not specify the sizes of the character code or
++color pair identifier,
++nor the quantity of rendering attribute bits,
++in
++.IR chtype ";"
++these are implementation-dependent.
++.I \%ncurses
++uses eight bits for the character code.
++An application requiring a wider character type,
++for instance to handle Unicode,
++should use the wide-character counterparts of these functions.
+ .SH SEE ALSO
+ \fB\%curs_in_wch\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_mouse.3x
+Prereq: 1.98
+--- ncurses-6.5-20240504+/man/curs_mouse.3x 2024-04-20 19:02:07.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_mouse.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_mouse.3x,v 1.98 2024/04/20 19:02:07 tom Exp $
+-.TH curs_mouse 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_mouse.3x,v 1.99 2024/05/11 20:39:53 tom Exp $
++.TH curs_mouse 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -487,11 +487,12 @@
+ .I \%xterm
+ mouse report sequence appears in the string read.
+ .PP
+-Mouse event reports from
++An
++.I \%ncurses
++window must enable \fB\%keypad\fP(3X) to correctly receive mouse event
++reports from
+ .I \%xterm
+-are not detected correctly in a window with keypad application mode
+-disabled,
+-since they are interpreted as a variety of function key.
++since they are encoded like function keys.
+ Set the terminal's
+ .I \%term\%info
+ capability \fB\%kmous\fP to \*(``\eE[M\*(''
+Index: man/curs_outopts.3x
+Prereq: 1.64
+--- ncurses-6.5-20240504+/man/curs_outopts.3x 2024-04-20 21:24:19.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_outopts.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -27,29 +27,29 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_outopts.3x,v 1.64 2024/04/20 21:24:19 tom Exp $
+-.TH curs_outopts 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_outopts.3x,v 1.65 2024/05/11 20:39:53 tom Exp $
++.TH curs_outopts 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .de bP
+ .ie n .IP \(bu 4
+ .el .IP \(bu 2
+ ..
+ .SH NAME
+ \fB\%clearok\fP,
+-\fB\%idlok\fP,
+ \fB\%idcok\fP,
++\fB\%idlok\fP,
+ \fB\%immedok\fP,
+ \fB\%leaveok\fP,
++\fB\%scrollok\fP,
+ \fB\%setscrreg\fP,
+-\fB\%wsetscrreg\fP,
+-\fB\%scrollok\fP \-
++\fB\%wsetscrreg\fP \-
+ set \fIcurses\fR output options
+ .SH SYNOPSIS
+ .nf
+ \fB#include <curses.h>
+ .PP
+ \fBint clearok(WINDOW *\fIwin\fP, bool \fIbf\fP);
+-\fBint idlok(WINDOW *\fIwin\fP, bool \fIbf\fP);
+ \fBvoid idcok(WINDOW *\fIwin\fP, bool \fIbf\fP);
++\fBint idlok(WINDOW *\fIwin\fP, bool \fIbf\fP);
+ \fBvoid immedok(WINDOW *\fIwin\fP, bool \fIbf\fP);
+ \fBint leaveok(WINDOW *\fIwin\fP, bool \fIbf\fP);
+ \fBint scrollok(WINDOW *\fIwin\fP, bool \fIbf\fP);
+@@ -72,6 +72,13 @@
+ the \fIwin\fP argument to \fBclearok\fP is the global variable \fBcurscr\fP,
+ the next call to \fBwrefresh\fP with any window causes the screen to be cleared
+ and repainted from scratch.
++.SS idcok
++If \fBidcok\fP is called with \fBFALSE\fP as second argument, \fBcurses\fP
++no longer considers using the hardware insert/delete character feature of
++terminals so equipped.
++Use of character insert/delete is enabled by default.
++Calling \fBidcok\fP with \fBTRUE\fP as second argument re-enables use
++of character insertion and deletion.
+ .SS idlok
+ If \fBidlok\fP is called with \fBTRUE\fP as second argument, \fBcurses\fP
+ considers using the hardware insert/delete line feature of terminals so
+@@ -85,13 +92,6 @@
+ when used in applications where it is not really needed.
+ If insert/delete line
+ cannot be used, \fBcurses\fP redraws the changed portions of all lines.
+-.SS idcok
+-If \fBidcok\fP is called with \fBFALSE\fP as second argument, \fBcurses\fP
+-no longer considers using the hardware insert/delete character feature of
+-terminals so equipped.
+-Use of character insert/delete is enabled by default.
+-Calling \fBidcok\fP with \fBTRUE\fP as second argument re-enables use
+-of character insertion and deletion.
+ .SS immedok
+ If \fBimmedok\fP is called with \fBTRUE\fP as second argument,
+ any change in the window image,
+@@ -119,7 +119,7 @@
+ If enabled, (\fIbf\fP is \fBTRUE\fP), the window is scrolled up one line
+ (Note that to get the physical scrolling effect on the terminal, it is
+ also necessary to call \fBidlok\fP).
+-.SS "setscrreg, wsetscrreg"
++.SS "setscrreg, wsetscrreg"
+ The \fBsetscrreg\fP and \fBwsetscrreg\fP routines allow the application
+ programmer to set a software scrolling region in a window.
+ The \fItop\fP and
+Index: man/curs_sp_funcs.3x
+Prereq: 1.50
+--- ncurses-6.5-20240504+/man/curs_sp_funcs.3x 2024-04-20 18:56:31.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_sp_funcs.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_sp_funcs.3x,v 1.50 2024/04/20 18:56:31 tom Exp $
+-.TH curs_sp_funcs 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_sp_funcs.3x,v 1.51 2024/05/11 20:39:53 tom Exp $
++.TH curs_sp_funcs 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+Index: man/curs_termattrs.3x
+Prereq: 1.41
+--- ncurses-6.5-20240504+/man/curs_termattrs.3x 2024-04-20 21:20:07.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_termattrs.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_termattrs.3x,v 1.41 2024/04/20 21:20:07 tom Exp $
+-.TH curs_termattrs 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_termattrs.3x,v 1.42 2024/05/11 20:39:53 tom Exp $
++.TH curs_termattrs 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .SH NAME
+ \fB\%baudrate\fP,
+ \fB\%erasechar\fP,
+@@ -41,7 +41,7 @@
+ \fB\%term_attrs\fP,
+ \fB\%termattrs\fP,
+ \fB\%termname\fP \-
+-\fIcurses\fR environment query routines
++get and set terminal attributes with \fIcurses\fP
+ .SH SYNOPSIS
+ .nf
+ \fB#include <curses.h>
+Index: man/curs_util.3x
+Prereq: 1.101
+--- ncurses-6.5-20240504+/man/curs_util.3x 2024-04-20 21:20:07.000000000 +0000
++++ ncurses-6.5-20240511/man/curs_util.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_util.3x,v 1.101 2024/04/20 21:20:07 tom Exp $
+-.TH curs_util 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_util.3x,v 1.102 2024/05/11 20:39:53 tom Exp $
++.TH curs_util 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -71,7 +71,7 @@
+ .PP
+ \fBvoid filter(void);
+ .PP
+-\fBvoid use_env(bool \fIf\fP);
++\fBvoid use_env(bool \fIbf\fP);
+ .PP
+ \fBint putwin(WINDOW *\fIwin\fP, FILE *\fIfilep\fP);
+ \fBWINDOW *getwin(FILE *\fIfilep\fP);
+@@ -81,7 +81,7 @@
+ .PP
+ \fI/* extensions */
+ \fBvoid nofilter(void);
+-\fBvoid use_tioctl(bool \fIf\fP);
++\fBvoid use_tioctl(bool \fIbf\fP);
+ .fi
+ .SH DESCRIPTION
+ .SS unctrl
+@@ -217,7 +217,6 @@
+ use_env use_tioctl Summary
+ _
+ TRUE FALSE T{
+-This is the default behavior.
+ \fI\%ncurses\fP uses operating system calls
+ unless overridden by \fILINES\fP or \fI\%COLUMNS\fP environment
+ variables;
+Index: man/infocmp.1m
+Prereq: 1.109
+--- ncurses-6.5-20240504+/man/infocmp.1m 2024-03-16 15:35:01.000000000 +0000
++++ ncurses-6.5-20240511/man/infocmp.1m 2024-05-11 20:39:53.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: infocmp.1m,v 1.109 2024/03/16 15:35:01 tom Exp $
+-.TH @INFOCMP@ 1M 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
++.\" $Id: infocmp.1m,v 1.110 2024/05/11 20:39:53 tom Exp $
++.TH @INFOCMP@ 1M 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -49,7 +49,6 @@
+ .el .IP \(bu 2
+ ..
+ .
+-.ds d @TERMINFO@
+ .SH NAME
+ \fB@INFOCMP@\fP \-
+ compare or print out \fIterminfo\fP descriptions
+@@ -584,7 +583,7 @@
+ using the \fB\-x\fP option of \fB@TIC@\fP.
+ .SH FILES
+ .TP
+-.I \*d
++.I @TERMINFO@
+ compiled terminal description database
+ .SH EXTENSIONS
+ The
+Index: man/infotocap.1m
+Prereq: 1.41
+--- ncurses-6.5-20240504+/man/infotocap.1m 2024-03-16 15:35:01.000000000 +0000
++++ ncurses-6.5-20240511/man/infotocap.1m 2024-05-11 20:39:53.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: infotocap.1m,v 1.41 2024/03/16 15:35:01 tom Exp $
+-.TH @INFOTOCAP@ 1M 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
++.\" $Id: infotocap.1m,v 1.42 2024/05/11 20:39:53 tom Exp $
++.TH @INFOTOCAP@ 1M 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -40,7 +40,6 @@
+ .el .ds '' ""
+ .\}
+ .
+-.ds d @TERMINFO@
+ .SH NAME
+ \fB\%@INFOTOCAP@\fP \-
+ convert a \fI\%terminfo\fR description into a \fI\%termcap\fR description
+@@ -78,7 +77,7 @@
+ with this program and exits with a successful status.
+ .SH FILES
+ .TP
+-.I \*d
++.I @TERMINFO@
+ compiled terminal description database
+ .SH PORTABILITY
+ None of X/Open Curses,
+Index: man/man_db.renames.in
+Prereq: 1.73
+--- ncurses-6.5-20240504+/man/man_db.renames.in 2024-04-13 23:39:11.000000000 +0000
++++ ncurses-6.5-20240511/man/man_db.renames.in 2024-05-11 20:30:32.000000000 +0000
+@@ -26,7 +26,7 @@
+ # use or other dealings in this Software without prior written #
+ # authorization. #
+ ##############################################################################
+-# $Id: man_db.renames.in,v 1.73 2024/04/13 23:39:11 tom Exp $
++# $Id: man_db.renames.in,v 1.74 2024/05/11 20:30:32 tom Exp $
+ # Manual-page renamings for the man_db program
+ #
+ # Files:
+@@ -251,6 +251,7 @@
+ subwin.3x subwin.3ncurses
+ syncok.3x syncok.3ncurses
+ terminfo.3x terminfo.3ncurses
++tigetflag.3x tigetflag.3ncurses
+ tigetstr.3x tigetstr.3ncurses
+ touchline.3x touchline.3ncurses
+ touchwin.3x touchwin.3ncurses
+@@ -266,6 +267,8 @@
+ vidputs.3x vidputs.3ncurses
+ wadd_wch.3x wadd_wch.3ncurses
+ waddch.3x waddch.3ncurses
++waddnstr.3x waddnstr.3ncurses
++waddnwstr.3x waddnwstr.3ncurses
+ waddstr.3x waddstr.3ncurses
+ waddwstr.3x waddwstr.3ncurses
+ wattr_set.3x wattr_set.3ncurses
+@@ -286,6 +289,7 @@
+ wrefresh.3x wrefresh.3ncurses
+ wsetscrreg.3x wsetscrreg.3ncurses
+ wtimeout.3x wtimeout.3ncurses
++wunctrl.3x wunctrl.3ncurses
+ #
+ # Other:
+ getty.8 getty.8
+Index: man/manhtml.aliases
+Prereq: 1.35
+--- ncurses-6.5-20240504+/man/manhtml.aliases 2024-04-14 00:36:21.000000000 +0000
++++ ncurses-6.5-20240511/man/manhtml.aliases 2024-05-11 21:52:17.000000000 +0000
+@@ -1,4 +1,4 @@
+-# $Id: manhtml.aliases,v 1.35 2024/04/14 00:36:21 tom Exp $
++# $Id: manhtml.aliases,v 1.36 2024/05/11 21:52:17 tom Exp $
+ #***************************************************************************
+ # Copyright 2019-2023,2024 Thomas E. Dickey *
+ # Copyright 2013,2017 Free Software Foundation, Inc. *
+@@ -99,6 +99,7 @@
+ start_color(3X) curs_color(3X)
+ terminfo(3X) curs_terminfo(3X)
+ tic(1) tic(1M)
++tigetflag(3X) curs_terminfo(3X)
+ tigetstr(3X) curs_terminfo(3X)
+ touchline(3X) curs_touch(3X)
+ touchwin(3X) curs_touch(3X)
+@@ -112,6 +113,8 @@
+ vidputs(3X) curs_terminfo(3X)
+ wadd_wch(3X) curs_add_wch(3X)
+ waddch(3X) curs_addch(3X)
++waddnstr(3X) curs_addstr(3X)
++waddnwstr(3X) curs_addwstr(3X)
+ waddstr(3X) curs_addstr(3X)
+ waddwstr(3X) curs_addwstr(3X)
+ wattr_set(3X) curs_attr(3X)
+@@ -124,6 +127,7 @@
+ wget_wch(3X) curs_get_wch(3X)
+ wgetch(3X) curs_getch(3X)
+ wgetstr(3X) curs_getstr(3X)
++win_wch(3X) curs_in_wch(3X)
+ winch(3X) curs_inch(3X)
+ wins_wch(3X) curs_ins_wch(3X)
+ winsch(3X) curs_insch(3X)
+@@ -131,3 +135,4 @@
+ wnoutrefresh(3X) curs_refresh(3X)
+ wrefresh(3X) curs_refresh(3X)
+ wsetscrreg(3X) curs_outopts(3X)
++wunctrl(3X) curs_util(3X)
+Index: man/manhtml.externs
+Prereq: 1.25
+--- ncurses-6.5-20240504+/man/manhtml.externs 2024-04-20 19:26:05.000000000 +0000
++++ ncurses-6.5-20240511/man/manhtml.externs 2024-05-11 20:35:15.000000000 +0000
+@@ -1,4 +1,4 @@
+-# $Id: manhtml.externs,v 1.25 2024/04/20 19:26:05 tom Exp $
++# $Id: manhtml.externs,v 1.26 2024/05/11 20:35:15 tom Exp $
+ # Items in this list will not be linked by man2html
+ #***************************************************************************
+ # Copyright 2019-2023,2024 Thomas E. Dickey *
+@@ -53,6 +53,7 @@
+ profile(5)
+ putc(3)
+ putchar(3)
++putwchar(3)
+ putwc(3)
+ read(2)
+ readline(3)
+Index: man/ncurses.3x
+Prereq: 1.214
+--- ncurses-6.5-20240504+/man/ncurses.3x 2024-04-27 17:55:43.000000000 +0000
++++ ncurses-6.5-20240511/man/ncurses.3x 2024-05-11 20:39:53.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: ncurses.3x,v 1.214 2024/04/27 17:55:43 tom Exp $
+-.TH ncurses 3X 2024-04-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: ncurses.3x,v 1.215 2024/05/11 20:39:53 tom Exp $
++.TH ncurses 3X 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -54,7 +54,6 @@
+ . TP
+ ..
+ .
+-.ds d @TERMINFO@
+ .SH NAME
+ \fB\%ncurses\fP \-
+ character-cell terminal interface with optimized output
+@@ -86,15 +85,16 @@
+ .I windows
+ and
+ .IR pads ;
+-the reading of terminal input;
++acquisition of keyboard and mouse events;
+ control of terminal input and output options;
+-environment query routines;
+-color manipulation;
++selection of color and rendering attributes
++(such as bold or underline);
+ the definition and use of
+ .I "soft label"
+ keys;
++access to the
+ .I \%term\%info
+-capability access;
++terminal capability database;
+ a
+ .I termcap
+ compatibility interface;
+@@ -102,8 +102,7 @@
+ (such as \fI\%termios\fP(3)).
+ .PP
+ .I \%ncurses
+-implements the standard interface described by
+-X/Open Curses Issue\ 7.
++implements the interface described by X/Open Curses Issue\ 7.
+ In many behavioral details not standardized by X/Open,
+ .I \%ncurses
+ emulates the
+@@ -272,7 +271,7 @@
+ .PP
+ Frequent changes to the terminal screen can cause unpleasant flicker or
+ inefficient use of the communication channel to the device,
+-so the library does not generally update it automatically.
++so as a rule the library does not update it automatically.
+ Therefore,
+ after using
+ .I curses
+@@ -284,7 +283,7 @@
+ .\" X/Open Curses Issue 7 assumes some optimization will be done, but
+ .\" does not mandate it in any way.
+ .I optimizes
+-its output by computing a minimal number of operations to mutate the
++its output by computing a minimal volume of operations to mutate the
+ screen from its state at the previous refresh to the new one.
+ Effective optimization demands accurate information about the terminal
+ device:
+@@ -297,26 +296,28 @@
+ Special windows called
+ .I pads
+ may also be manipulated.
+-These are windows that are not constrained to the size of the terminal
+-screen and whose contents need not be completely displayed.
++These are not constrained to the size of the terminal screen and their
++contents need not be completely displayed.
+ See \fB\%curs_pad\fP(3X).
+ .PP
+-In addition to drawing characters on the screen,
+-rendering attributes and colors may be supported,
+-causing the characters to show up in such modes as underlined,
+-in reverse video,
+-or in color on terminals that support such display enhancements.
++Many terminals support configuration of character cell foreground and
++background colors as well as rendering
++.I attributes ,
++which cause characters to show up in such modes as
++boldfaced,
++underlined,
++or in reverse video.
+ See \fB\%curs_attr\fP(3X).
+ .PP
+ .I curses
+ predefines constants for a small set of forms-drawing graphics
+ corresponding to the DEC Alternate Character Set (ACS),
+ a feature of VT100 and other terminals.
+-See \fB\%waddch\fP(3X).
++See \fB\%addch\fP(3X).
+ .PP
+ .I curses
+ is implemented using the operating system's terminal driver;
+-keystroke events are received not as scan codes but as byte sequences.
++key events are received not as scan codes but as byte sequences.
+ Graphical keycaps
+ (alphanumeric and punctuation keys,
+ and the space)
+@@ -330,13 +331,14 @@
+ appears as a control character or a multibyte
+ .I "escape sequence."
+ .I curses
+-translates these into unique
++translates the latter into unique
+ .I "key codes."
+ See \fB\%getch\fP(3X).
+ .PP
+ .I \%ncurses
+ provides reimplementations of the SVr4 \fBpanel\fP(3X), \fBform\fP(3X),
+-and \fBmenu\fP(3X) libraries to ease construction of user interfaces
++and \fBmenu\fP(3X) libraries;
++they permit overlapping windows and ease construction of user interfaces
+ with
+ .IR curses .
+ .SS "Initialization"
+@@ -353,9 +355,9 @@
+ \fB\%tset\fP(1) may assist with troubleshooting exotic situations.
+ .PP
+ If you change the terminal type,
+-export the
++export the shell's
+ .I TERM
+-environment variable in the shell,
++variable,
+ then run \fB\%tset\fP(1) or the
+ .RB \*(`` "@TPUT@ init" \*(''
+ command.
+@@ -384,9 +386,8 @@
+ program checks first for a terminal type description in the location it
+ identifies.
+ .I \%TERMINFO
+-is useful for developing experimental type descriptions or when write
+-permission to
+-.I \%\*d
++is useful for developing type descriptions or when write permission to
++.I \%@TERMINFO@
+ is not available.
+ .PP
+ See section \*(``ENVIRONMENT\*('' below.
+@@ -413,7 +414,7 @@
+ .TS
+ center;
+ Li L.
+-bf \fIbool\fP (\fBTRUE\fP or \fBFALSE\fP)
++bf a \fIbool\fP (\fBTRUE\fP or \fBFALSE\fP)
+ c a \fIchar\fP or \fIint\fP
+ ch a \fIchtype\fP
+ wc a \fIwchar_t\fP or \fIwint_t\fP
+@@ -422,21 +423,33 @@
+ pad pointer to a \fIWINDOW\fP that is a pad
+ .TE
+ .SS "Wide and Non-wide Character Configurations"
+-This manual page describes functions that appear in any configuration
+-of the library.
++This man page primarily surveys functions that appear in any
++configuration of the library.
+ There are two common configurations;
+ see section \*(``ALTERNATE CONFIGURATIONS\*('' below.
+ .TP 10 \" "ncursesw" + 2n
+ .I \%ncurses
+ is the library in its \*(``non-wide\*('' configuration,
+ handling only eight-bit characters.
+-It stores a character combined with attributes in a
++It stores a character combined with attributes and a color pair in a
+ .I \%chtype
+ datum,
+ which is often an alias of
+ .IR int .
++A string of
++.I curses
++characters is similar to a C
++.I char
++string;
++a
++.I chtype
++string ends with an integral
++.BR 0 ","
++the null
++.I curses
++character.
+ .IP
+-Attributes alone
++Attributes and a color pair selection
+ (with no corresponding character)
+ can be stored in variables of
+ .I \%chtype
+@@ -444,7 +457,7 @@
+ .I \%attr_t
+ type.
+ In either case,
+-they are represented as an integral bit mask.
++they are accessed via an integral bit mask.
+ .IP
+ Each cell of a
+ .I \%WINDOW
+@@ -477,9 +490,14 @@
+ a complex character contains one spacing character and zero or more
+ non-spacing characters
+ (see below).
+-Attributes and color data are stored in separate fields of the
+-structure,
+-not combined as in
++A string of complex characters ends with a
++.I \%cchar_t
++whose
++.I \%wchar_t
++member is the null wide character.
++Attributes and a color pair selection are stored in separate fields of
++the structure,
++not combined into an integer as in
+ .IR \%chtype .
+ .PP
+ Each cell of a
+@@ -1033,11 +1051,12 @@
+ below.
+ .SH RETURN VALUE
+ Unless otherwise noted,
+-functions that return an integer return
++functions that return integers return the constants
+ .B OK
+ on success and
+ .B ERR
+-on failure.
++on failure;
++see \fB\%curs_variables\fP(3X).
+ Functions that return pointers return
+ .B NULL
+ on failure.
+@@ -1069,7 +1088,7 @@
+ If that value is absent or invalid,
+ .I \%ncurses
+ uses 9600.
+-This feature allows testers to construct repeatable test cases
++This feature allows developers to construct repeatable test cases
+ that take into account optimization decisions that depend on baud rate.
+ .SS "\fICC\fP (command character)"
+ When set,
+@@ -1256,7 +1275,7 @@
+ When
+ .I \%ncurses
+ is configured to use the GPM interface,
+-this variable may list one or more terminal names
++this variable may list one or more terminal type names
+ against which the
+ .I TERM
+ variable
+@@ -1265,7 +1284,7 @@
+ An empty value disables the GPM interface,
+ using
+ .IR \%ncurses 's
+-built-in support for \fIxterm\fP(1) mouse protocols instead.
++built-in support for \fI\%xterm\fP(1) mouse protocols instead.
+ If the variable is absent,
+ .I \%ncurses
+ attempts to open GPM if
+@@ -1315,8 +1334,8 @@
+ limiting the speed of communication to what the hardware could handle.
+ Unless a hardware terminal is interfaced into a terminal concentrator
+ (which does flow control),
+-an application must manage flow control itself to prevent overruns and
+-data loss.
++an application must manage flow itself to prevent overruns and data
++loss.
+ .PP
+ A solution that comes at no hardware cost is for an application to pause
+ after directing a terminal to execute an operation that it performs
+@@ -1588,7 +1607,7 @@
+ .bP
+ location(s) configured and compiled into
+ .I \%ncurses
+-.RS 3
++.RS
+ .if !'\*(td'' \{\
+ .bP
+ .I \%@TERMINFO_DIRS@
+@@ -1661,29 +1680,49 @@
+ .IR \%ncurses .
+ .TP 5
+ .B \-\-disable\-overwrite
+-The standard include for \fI\%ncurses\fP is as noted in \fBSYNOPSIS\fP:
++The standard C preprocessor inclusion for the
++.I curses
++library is as follows.
+ .RS 5
+ .PP
+ .RS 4
+ .EX
+-\fB#include <curses.h>\fP
++.\" The dummy character prevents undesired rewriting of the next line on
++.\" installation of the man page.
++\fB#\&include <curses.h>\fP
+ .EE
+ .RE
+ .PP
+-This option is used to avoid filename conflicts when \fI\%ncurses\fP
+-is not the main implementation of curses of the computer.
+-If \fI\%ncurses\fP is installed disabling overwrite,
+-it puts its headers in a subdirectory,
+-e.g.,
++This option is used to avoid file name conflicts between
++.I \%ncurses
++and an existing
++.I curses
++installation on the system.
++If
++.I \%ncurses
++is installed disabling overwrite,
++it puts its header files in a subdirectory.
++Here is an example.
+ .PP
+ .RS 4
+ .EX
+-\fB#include <ncurses/curses.h>\fP
++.\" The dummy character prevents undesired rewriting of the next line on
++.\" installation of the man page.
++\fB#\&include <ncurses/curses.h>\fP
+ .EE
+ .RE
+ .PP
+-It also omits a symbolic link which would allow you to use \fB\-lcurses\fP
+-to build executables.
++Installation also omits a symbolic link that would cause the compiler's
++.B \-lcurses
++option to link object files with
++.I \%ncurses
++instead of the system
++.I curses
++library.
++.PP
++The directory used by this configuration of
++.I \%ncurses
++is shown in section \*(``SYNOPSIS\*('' above.
+ .RE
+ .TP 5
+ .B \-\-enable\-widec
+@@ -1801,7 +1840,7 @@
+ .I @DATADIR@/tabset
+ tab stop initialization database
+ .TP
+-.I \*d
++.I @TERMINFO@
+ compiled terminal capability database
+ .SH NOTES
+ X/Open Curses permits most functions it specifies to be made available
+@@ -1819,7 +1858,7 @@
+ those that move the cursor before another operation),
+ and
+ .bP
+-a few special cases.
++in a few special cases.
+ .PP
+ If the standard output file descriptor of an
+ .I \%ncurses
+@@ -1878,8 +1917,8 @@
+ \fB\%is_scrollok\fP(3X).
+ .PP
+ .I \%ncurses
+-enables an application to direct application output to a printer
+-attached to the terminal device;
++enables an application to direct its output to a printer attached to the
++terminal device;
+ see \fB\%curs_print\fP(3X).
+ .PP
+ .I \%ncurses
+@@ -1896,25 +1935,31 @@
+ .I \%ncurses
+ is compiled to support them;
+ section \*(``ALTERNATE CONFIGURATIONS\*('' describes how.
+-.bP
++.PP
++.I \%ncurses
++permits modification of \fB\%unctrl\fP(3X)'s behavior;
++see \fB\%use_legacy_coding\fP(3X).
++.PP
+ Rudimentary support for multi-threaded applications may be available;
+ see \fBcurs_threads\fP(3X).
+-.bP
++.PP
+ Functions that ease the management of multiple screens can be exposed;
+ see \fBcurs_sp_funcs\fP(3X).
+-.bP
++.PP
+ To aid applications to debug their memory usage,
+-.I ncurses
++.I \%ncurses
+ optionally offers functions to more aggressively free memory it
+ dynamically allocates itself;
+ see \fBcurs_memleaks\fP(3X).
+-.bP
++.PP
+ The library facilitates auditing and troubleshooting of its behavior;
+ see \fBcurs_trace\fP(3X).
+-.bP
+-The compiler option
++.PP
++Compiling
++.I \%ncurses
++with the option
+ .B \%\-DUSE_GETCAP
+-causes the library to fall back to reading
++causes it to fall back to reading
+ .I \%/etc/termcap
+ if the terminal setup code cannot find a
+ .I \%term\%info
+@@ -1963,11 +2008,10 @@
+ This is done primarily to guard against programmer error.
+ The standard interface does not provide a way for the library
+ to tell an application which of several possible errors occurred.
+-Relying on this
+-(or some other)
+-extension adversely affects the portability of
+-.I curses
+-applications.
++An application that relies on
++.I \%ncurses
++to check its function parameters for validity limits its portability and
++robustness.
+ .SS "Padding Differences"
+ In historical
+ .I curses
+@@ -2125,7 +2169,7 @@
+ includes
+ .I \%term.h
+ and
+-.IR \% termios.h .
++.IR \%termios.h .
+ Again,
+ .I \%ncurses
+ and Solaris
+Index: man/term.5
+Prereq: 1.77
+--- ncurses-6.5-20240504+/man/term.5 2024-04-20 21:24:19.000000000 +0000
++++ ncurses-6.5-20240511/man/term.5 2024-05-11 20:39:53.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: term.5,v 1.77 2024/04/20 21:24:19 tom Exp $
+-.TH term 5 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
++.\" $Id: term.5,v 1.78 2024/05/11 20:39:53 tom Exp $
++.TH term 5 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -55,69 +55,101 @@
+ .el .IP \(bu 2
+ ..
+ .
+-.ds d @TERMINFO@
+ .SH NAME
+ term \-
+-compiled \fIterminfo\fR terminal description
+-.SH SYNOPSIS
+-.B term
++compiled \fI\%term\%info\fP terminal description
+ .SH DESCRIPTION
++\fB\%@TIC@\fP(1) compiles a
++.I \%term\%info
++terminal type description,
++and \fB\%setupterm\fP(3X) reads it.
++A compiled description may be stored in a file or in a database of,
++potentially,
++many such descriptions.
++Further,
++a compiled description may be in one of two formats:
++one similar to that used by System\ V,
++and a newer,
++extensible format employed exclusively by
++.IR \%ncurses .
+ .SS "Storage Location"
+-Compiled terminfo descriptions are placed under the directory \fB\*d\fP.
+-Two configurations are supported
+-(when building the \fI\%ncurses\fP libraries):
++Compiled
++.I \%term\%info descriptions are placed
++under the directory
++.IR \%@TERMINFO@ .
++One of two configurations is selected
++when building the
++.I \%ncurses
++libraries.
+ .TP 5
+ .B directory tree
+ A two-level scheme is used to avoid a linear search
+-of a huge Unix system directory: \fB\*d/c/name\fP where
++of a huge Unix system directory:
++.IR \%@TERMINFO@/ c / name
++where
+ .I name
+-is the name of the terminal, and
++is the name of the terminal,
++and
+ .I c
+ is the first character of
+ .IR name .
+ Thus,
+-.I act4
+-can be found in the file \fB\*d/a/act4\fP.
++the compiled description of terminal type \*(``act4\*(''
++is found in the file
++.IR \%@TERMINFO@/a/act4 .
+ Synonyms for the same terminal are implemented by multiple
+ links to the same compiled file.
+ .TP 5
+ .B hashed database
+-Using Berkeley database, two types of records are stored:
+-the terminfo data in the same format as stored in a directory tree with
+-the terminfo's primary name as a key,
++Using the Berkeley database API,
++two types of records are stored:
++the
++.I \%term\%info
++data in the same format as that stored in a directory tree with
++the terminal's primary type name as a key,
+ and records containing only aliases pointing to the primary name.
+ .IP
+ If built to write hashed databases,
+-\fI\%ncurses\fP can still read terminfo databases organized as a
++.I \%ncurses
++can still read
++.I \%term\%info
++databases organized as a
+ directory tree,
+ but cannot write entries into the directory tree.
+-It can write (or rewrite) entries in the hashed database.
++It can write
++(or rewrite)
++entries in the hashed database.
+ .IP
+-\fI\%ncurses\fP distinguishes the two cases in the \fI\%TERMINFO\fP and
+-\fI\%TERMINFO_DIRS\fP environment variable by assuming a directory tree
+-for entries that correspond to an existing directory,
+-and hashed database otherwise.
++.I \%ncurses
++distinguishes the two cases in the
++.I \%TERMINFO
++and
++.I \%TERMINFO_DIRS
++environment variable by assuming a directory tree for entries that
++correspond to an existing directory,
++and a hashed database otherwise.
+ .SS "Legacy Storage Format"
+ The format has been chosen so that it will be the same on all hardware.
+-An 8 or more bit byte is assumed, but no assumptions about byte ordering
++A byte of at least eight bits' width is assumed,
++but no assumptions about bit ordering
+ or sign extension are made.
+ .PP
+-The compiled file is created with the \fB@TIC@\fP program,
+-and read by the routine \fBsetupterm\fP(3X).
+ The file is divided into six parts:
+ .RS 5
+-.TP 3
+-a) \fIheader\fP,
+-.TP 3
+-b) \fIterminal names\fP,
+-.TP 3
+-c) \fIBoolean flags\fP,
+-.TP 3
+-d) \fInumbers\fP,
+-.TP 3
+-e) \fIstrings\fP, and
+-.TP 3
+-f) \fIstring table\fP.
++.IP (a) 4
++.IR header ,
++.IP (b)
++.IR "terminal names" ,
++.IP (c)
++.IR "Boolean flags" ,
++.IP (d)
++.IR numbers ,
++.IP (e)
++.IR strings ,
++and
++.IP (f)
++a
++.IR "string table" .
+ .RE
+ .PP
+ The \fIheader\fP section begins the file.
+@@ -126,54 +158,64 @@
+ These integers are
+ .RS 5
+ .TP 5
+-(1) the \fImagic number\fP (octal 0432);
++(1) the \fImagic number\fP
++(octal 0432);
+ .TP 5
+-(2) the size, in bytes, of the \fIterminal names\fP section;
++(2) the size,
++in bytes,
++of the \fIterminal names\fP section;
+ .TP 5
+ (3) the number of bytes in the \fIBoolean flags\fP section;
+ .TP 5
+ (4) the number of short integers in the \fInumbers\fP section;
+ .TP 5
+-(5) the number of offsets (short integers) in the \fIstrings\fP section;
+-.TP 5
+-(6) the size, in bytes, of the \fIstring table\fP.
++(5) the number of offsets
++(short integers)
++in the \fIstrings\fP section;
++.TP 5
++(6) the size,
++in bytes,
++of the \fIstring table\fP.
+ .RE
+ .PP
+ The capabilities in the
+ \fIBoolean flags\fP,
+-\fInumbers\fP, and
++\fInumbers\fP,
++and
+ \fIstrings\fP
+-sections are in the same order as the file <term.h>.
++sections are in the same order as in the header file
++.IR term.h .
+ .PP
+-Short integers are signed, in the range \-32768 to 32767.
+-They are stored as two 8-bit bytes.
+-The first byte contains the least significant 8 bits of the value,
+-and the second byte contains the most significant 8 bits.
+-(Thus, the value represented is 256*second+first.)
+-This format corresponds to the hardware of the \s-1VAX\s+1
+-and \s-1PDP\s+1-11 (that is, little-endian machines).
+-Machines where this does not correspond to the hardware must read the
+-integers as two bytes and compute the little-endian value.
++Short integers are signed,
++in the range \-32768 to 32767,
++and stored in little-endian format.
+ .PP
+ Numbers in a terminal description,
+ whether they are entries in the \fInumbers\fP or \fIstrings\fP table,
+ are positive integers.
+ Boolean flags are treated as positive one-byte integers.
+-In each case, those positive integers represent a terminal capability.
+-The terminal compiler @TIC@ uses negative integers to handle the cases where
+-a capability is not available:
++In each case,
++those positive integers represent a terminal capability.
++The terminal compiler
++.I \%@TIC@
++uses negative integers to handle the cases where a capability is not
++available:
+ .bP
+ If a capability is absent from this terminal,
+-@TIC@ stores a \-1 in the corresponding table.
++.I \%@TIC@
++stores a \-1 in the corresponding table.
+ .IP
+-The integer value \-1 is represented by two bytes 0377, 0377.
++The integer value \-1 is represented by two bytes 0377,
++0377.
+ .br
+ Absent Boolean values are represented by the byte 0 (false).
+ .bP
+ If a capability has been canceled from this terminal,
+-@TIC@ stores a \-2 in the corresponding table.
++.I \%@TIC@
++stores a \-2 in the corresponding table.
+ .IP
+-The integer value \-2 is represented by two bytes 0377, 0376.
++The integer value \-2 is represented by two bytes 0377,
++0376.
+ .br
+ The Boolean value \-2 is represented by the byte 0376.
+ .br
+@@ -181,18 +223,22 @@
+ Other negative values are illegal.
+ .PP
+ The \fIterminal names\fP section comes after the \fIheader\fP.
+-It contains the first line of the terminfo description,
++It contains the first line of the
++.I \%term\%info
++description,
+ listing the various names for the terminal,
+ separated by the \*(``|\*('' character.
+ The \fIterminal names\fP section is terminated
+ with an \s-1ASCII NUL\s+1 character.
+ .PP
+ The \fIBoolean flags\fP section has one byte for each flag.
+-Boolean capabilities are either 1 or 0 (true or false)
++Boolean capabilities are either 1 or 0
++(true or false)
+ according to whether the terminal supports the given capability or not.
+ .PP
+ Between the \fIBoolean flags\fP section and the \fInumber\fP section,
+-a null byte will be inserted, if necessary,
++a null byte will be inserted,
++if necessary,
+ to ensure that the \fInumber\fP section begins on an even byte
+ This is a relic of the PDP\-11's word-addressed architecture,
+ originally designed to avoid traps induced
+@@ -212,27 +258,41 @@
+ the \fIstrings\fP section.
+ Each string is null-terminated.
+ Special characters in \*^X or \ec notation are stored in their
+-interpreted form, not the printing representation.
+-Padding information $<nn> and parameter information %x are
+-stored intact in uninterpreted form.
++interpreted form,
++not the printing representation.
++Padding information
++.BI $< nn >
++and parameter information
++.B %x
++are stored intact in uninterpreted form.
+ .SS "Extended Storage Format"
+-The previous section describes the conventional terminfo binary format.
+-With some minor variations of the offsets (see PORTABILITY),
++The previous section describes the conventional
++.I \%term\%info
++binary format.
++With some minor variations of the offsets
++(see PORTABILITY),
+ the same binary format is used in all modern Unix systems.
+-Each system uses a predefined set of Boolean, number or string capabilities.
++Each system uses a predefined set of Boolean,
++number or string capabilities.
+ .PP
+-The \fI\%ncurses\fP libraries and applications support
+-extended terminfo binary format,
+-allowing users to define capabilities which are loaded at runtime.
+-This
+-extension is made possible by using the fact that the other implementations
+-stop reading the terminfo data when they have reached the end of the size given
+-in the header.
+-\fI\%ncurses\fP checks the size,
++The
++.I \%ncurses
++libraries and applications support extended
++.I \%term\%info
++binary format,
++allowing users to define capabilities that are loaded at runtime.
++This extension is made possible by using the fact that the other
++implementations stop reading the
++.I \%term\%info
++data when they reach the end of the size given in the header.
++.I \%ncurses
++checks the size,
+ and if it exceeds that due to the predefined data,
+ continues to parse according to its own scheme.
+ .PP
+-First, it reads the extended header (5 short integers):
++First,
++it reads the extended header
++(5 short integers):
+ .RS 5
+ .TP 5
+ (1)
+@@ -256,45 +316,62 @@
+ extended capability \fIvalues\fP.
+ .PP
+ Using the counts and sizes,
+-\fI\%ncurses\fP allocates arrays and reads data for the extended
+-capabilities in the same order as the header information.
++.I \%ncurses
++allocates arrays and reads data for the extended capabilities in the
++same order as the header information.
+ .PP
+ The extended string table contains values for string capabilities.
+-After the end of these values, it contains the names for each of
+-the extended capabilities in order, e.g., Booleans, then numbers and
+-finally strings.
++After the end of these values,
++it contains the names for each of
++the extended capabilities in order:
++Boolean,
++numeric,
++and string.
+ .PP
+ By storing terminal descriptions in this way,
+-\fI\%ncurses\fP is able to provide a database useful with legacy
+-applications,
+-as well as providing data for applications which need more than the
+-predefined capabilities.
+-See \fBuser_caps\fP(5) for an overview
+-of the way \fI\%ncurses\fP uses this extended information.
+-.PP
+-Applications which manipulate terminal data can use the definitions
+-described in \fBterm_variables\fP(3X) which associate the long capability
+-names with members of a \fBTERMTYPE\fP structure.
++.I \%ncurses
++is able to provide a database useful with legacy applications,
++as well as providing data for applications that require more information
++about a terminal type than was anticipated
++by X/Open Curses.
++See \fB\%user_caps\fP(5) for an overview of the way
++.I \%ncurses
++uses this extended information.
++.PP
++Applications that manipulate terminal data can use the definitions
++described in \fB\%term_variables\fP(3X) associating the long capability
++names with members of a
++.I \%TERMTYPE
++structure.
+ .
+ .SS "Extended Number Format"
+-On occasion, 16-bit signed integers are not large enough.
+-With \fI\%ncurses\fP 6.1,
+-a new format was introduced by making a few changes
+-to the legacy format:
++On occasion,
++16-bit signed integers are not large enough.
++.I \%ncurses
++6.1 introduced a new format
++by making a few changes to the legacy format:
+ .bP
+-a different magic number (octal 01036)
++a different magic number
++(octal 01036)
+ .bP
+ changing the type for the \fInumber\fP array from signed 16-bit integers
+ to signed 32-bit integers.
+ .PP
+-To maintain compatibility, the library presents the same data structures
+-to direct users of the \fBTERMTYPE\fP structure as in previous formats.
+-However, that cannot provide callers with the extended numbers.
+-The library uses a similar but hidden data structure \fBTERMTYPE2\fP
+-to provide data for the terminfo functions.
++To maintain compatibility,
++the library presents the same data structures
++to direct users of the
++.I \%TERMTYPE
++structure as in previous formats.
++However,
++that cannot provide callers with the extended numbers.
++The library uses a similar but hidden data structure
++.I \%TERMTYPE2
++to provide data for the
++.I \%term\%info
++functions.
+ .SH FILES
+ .TP
+-.I \*d
++.I @TERMINFO@
+ compiled terminal description database
+ .SH PORTABILITY
+ .SS setupterm
+@@ -313,69 +390,101 @@
+ .B setupterm
+ must be prepared for both possibilities \-
+ this is why the numbers and sizes are included.
+-Also, new capabilities must always be added at the end of the lists
+-of Boolean, number, and string capabilities.
++Also,
++new capabilities must always be added at the end of the lists
++of Boolean,
++number,
++and string capabilities.
+ .SS "Binary Format"
+-X/Open Curses does not specify a format for the terminfo database.
+-System V curses used a directory-tree of binary files,
++X/Open Curses does not specify a format for the
++.I \%term\%info
++database.
++System\ V
++.I curses
++used a directory-tree of binary files,
+ one per terminal description.
+ .PP
+-Despite the consistent use of little-endian for numbers and the otherwise
+-self-describing format, it is not wise to count on portability of binary
+-terminfo entries between commercial Unix versions.
+-The problem is that there
+-are at least three versions of terminfo (under HP\-UX, AIX, and OSF/1) which
+-diverged from System V terminfo after SVr1, and have added extension
+-capabilities to the string table that (in the binary format) collide with
+-System V and X/Open Curses extensions.
+-See \fBterminfo\fP(5) for detailed
+-discussion of terminfo source compatibility issues.
++Despite the consistent use of little-endian numbers and the otherwise
++self-describing format,
++it is not wise to count on portability of binary
++.I \%term\%info
++entries between commercial Unix versions.
++The problem is that there are at least three versions of
++.I \%term\%info
++(under HP\-UX,
++AIX,
++and OSF/1)
++each of which diverged from System\ V
++.I \%term\%info
++after SVr1,
++and added extension capabilities to the string table that
++(in the binary format)
++collide with System\ V and X/Open Curses extensions.
++See \fB\%terminfo\fP(5) for detailed
++discussion of
++.I \%term\%info
++source compatibility issues.
+ .PP
+ This implementation is by default compatible with the binary
+-terminfo format used by Solaris curses,
++.I \%term\%info
++format used by Solaris
++.IR curses ,
+ except in a few less-used details
+ where it was found that the latter did not match X/Open Curses.
+ The format used by the other Unix versions
+-can be matched by building \fI\%ncurses\fP
++can be matched by building
++.I \%ncurses
+ with different configuration options.
+ .SS "Magic Codes"
+-The magic number in a binary terminfo file is the first 16-bits (two bytes).
+-Besides making it more reliable for the library to check that a file
+-is terminfo,
+-utilities such as \fBfile\fP(1) also use that to tell what the file-format is.
+-System V defined more than one magic number,
+-with 0433, 0435 as screen-dumps (see \fBscr_dump\fP(5)).
++The magic number in a binary
++.I \%term\%info
++file is the first 16 bits
++(two bytes).
++Besides making it more reliable for the library to check that a file is
++.IR \%term\%info ,
++utilities such as \fIfile\fP(1) also use that to tell what the
++file-format is.
++System\ V defined more than one magic number,
++with 0433,
++0435 as screen-dumps
++(see \fB\%scr_dump\fP(5)).
+ This implementation uses 01036 as a continuation of that sequence,
+ but with a different high-order byte to avoid confusion.
+ .SS "The \fITERMTYPE\fP Structure"
+-Direct access to the \fBTERMTYPE\fP structure is provided for legacy
+-applications.
+-Portable applications should use the \fBtigetflag\fP and related functions
+-described in \fBcurs_terminfo\fP(3X) for reading terminal capabilities.
++Direct access to the
++.I \%TERMTYPE
++structure is provided for legacy applications.
++Portable applications should use \fB\%tigetflag\fP(3X) and related
++functions to read terminal capabilities.
+ .SS "Mixed-case Terminal Names"
+ A small number of terminal descriptions use uppercase characters in
+ their names.
+-If the underlying filesystem ignores the difference between
++If the underlying file system ignores the difference between
+ uppercase and lowercase,
+-\fI\%ncurses\fP represents the \*(``first character\*(''
+-of the terminal name used as
+-the intermediate level of a directory tree in (two-character) hexadecimal form.
++.I \%ncurses
++represents the \*(``first character\*('' of the terminal name used as
++the intermediate level of a directory tree in (two-character)
++hexadecimal form.
+ .SS Limits
+-\fI\%ncurses\fP stores compiled terminal descriptions
+-in three related formats,
+-described in the sections
++.I \%ncurses
++stores compiled terminal descriptions in three related formats,
++described in the subsections
+ .bP
+-\fBLEGACY STORAGE FORMAT\fP, and
++.BR "Legacy Storage Format" ,
++and
+ .bP
+-\fBEXTENDED STORAGE FORMAT\fP, and
++.BR "Extended Storage Format" ,
++and
+ .bP
+-\fBEXTENDED NUMBER FORMAT\fP.
++.BR "Extended Number Format" .
+ .PP
+ The legacy storage format and the extended number format differ by
+-the types of numeric capability which they can store
+-(i.e., 16-bit versus 32-bit integers).
+-The extended storage format introduced by \fI\%ncurses\fP 5.0 adds data
+-to either of these formats.
++the types of numeric capability that they can store
++(for example,
++16- versus 32-bit integers).
++The extended storage format introduced by
++.I \%ncurses
++5.0 adds data to either of these formats.
+ .PP
+ Some limitations apply:
+ .bP
+@@ -390,8 +499,10 @@
+ The legacy format could have supported 32768-byte entries,
+ but was limited to a virtual memory page's 4096 bytes.
+ .SH EXAMPLES
+-As an example, here is a description for the Lear-Siegler
+-ADM\-3, a popular though rather stupid early terminal:
++Here is a
++.I \%term\%info
++description of the Lear-Siegler ADM-3,
++a popular though rather stupid early terminal.
+ .PP
+ .EX
+ adm3a|lsi adm3a,
+@@ -402,7 +513,9 @@
+ home=\*^\*^, ind=\*^J,
+ .EE
+ .PP
+-and a hexadecimal dump of the compiled terminal description:
++A hexadecimal dump of its compiled terminal description
++(in legacy format)
++follows.
+ .PP
+ .if t .in +4n
+ .ft \*(CW
+@@ -436,15 +549,27 @@
+ .SH AUTHORS
+ Thomas E. Dickey
+ .br
+-extended terminfo format for \fI\%ncurses\fP 5.0
++extended
++.I \%term\%info
++format for
++.I \%ncurses
++5.0
+ .br
+-hashed database support for \fI\%ncurses\fP 5.6
++hashed database support for
++.I \%ncurses
++5.6
+ .br
+-extended number support for \fI\%ncurses\fP 6.1
++extended number support for
++.I \%ncurses
++6.1
+ .sp
+ Eric S. Raymond
+ .br
+-documented legacy terminfo format, e.g., from \fIpcurses\fP.
++documented legacy
++.I \%term\%info
++format
++(that used by
++.IR \%pcurses ).
+ .SH SEE ALSO
+ \fB\%curses\fP(3X),
+ \fB\%curs_terminfo\fP(3X),
+Index: man/term.7
+Prereq: 1.48
+--- ncurses-6.5-20240504+/man/term.7 2024-03-16 15:35:01.000000000 +0000
++++ ncurses-6.5-20240511/man/term.7 2024-05-11 20:39:53.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: term.7,v 1.48 2024/03/16 15:35:01 tom Exp $
+-.TH term 7 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" Miscellaneous
++.\" $Id: term.7,v 1.49 2024/05/11 20:39:53 tom Exp $
++.TH term 7 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" Miscellaneous
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -40,7 +40,6 @@
+ .el .ds '' ""
+ .\}
+ .
+-.ds d @TERMINFO@
+ .SH NAME
+ term \-
+ conventions for naming terminal types
+@@ -83,7 +82,7 @@
+ which you wish to override the system default type for your line.
+ .PP
+ Terminal type descriptions are stored as files of capability data underneath
+-\*d.
++@TERMINFO@.
+ To browse a list of all terminal names recognized by the system, do
+ .sp
+ @TOE@ | more
+@@ -97,7 +96,7 @@
+ @INFOCMP@ \fIentry_name\fP
+ .sp
+ where \fIentry_name\fP is the name of the type you wish to examine (and the
+-name of its capability file the subdirectory of \*d named for its first
++name of its capability file the subdirectory of @TERMINFO@ named for its first
+ letter).
+ This command dumps a capability file in the text format described by
+ \fBterminfo\fP(5).
+@@ -221,7 +220,7 @@
+ on the \fITERM\fP environment variable when no \-T option is specified.
+ .SH FILES
+ .TP
+-.I \*d
++.I @TERMINFO@
+ compiled terminal description database
+ .TP
+ .I /etc/inittab
+Index: man/terminfo.head
+Prereq: 1.65
+--- ncurses-6.5-20240504+/man/terminfo.head 2024-04-20 21:14:00.000000000 +0000
++++ ncurses-6.5-20240511/man/terminfo.head 2024-05-11 20:39:53.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: terminfo.head,v 1.65 2024/04/20 21:14:00 tom Exp $
+-.TH terminfo 5 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
++.\" $Id: terminfo.head,v 1.66 2024/05/11 20:39:53 tom Exp $
++.TH terminfo 5 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -51,12 +51,11 @@
+ .el .IP \(bu 2
+ ..
+ .
+-.ds d @TERMINFO@
+ .SH NAME
+ \fB\%terminfo\fP \-
+ terminal capability database
+ .SH SYNOPSIS
+-\*d/*/*
++@TERMINFO@/*/*
+ .SH DESCRIPTION
+ .I Terminfo
+ is a database describing terminals,
+Index: man/terminfo.tail
+Prereq: 1.148
+--- ncurses-6.5-20240504+/man/terminfo.tail 2024-04-20 21:24:19.000000000 +0000
++++ ncurses-6.5-20240511/man/terminfo.tail 2024-05-11 20:28:54.000000000 +0000
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: terminfo.tail,v 1.148 2024/04/20 21:24:19 tom Exp $
++.\" $Id: terminfo.tail,v 1.149 2024/05/11 20:28:54 tom Exp $
+ .ps +1
+ .SS "User-Defined Capabilities"
+ .
+@@ -277,14 +277,14 @@
+ .IP
+ An empty pathname (i.e., if the variable begins or ends
+ with a colon, or contains adjacent colons)
+-is interpreted as the system location \fI\*d\fP.
++is interpreted as the system location \fI@TERMINFO@\fP.
+ .bP
+ Finally, \fI\%ncurses\fP searches these compiled-in locations:
+ .RS
+ .bP
+ a list of directories (@TERMINFO_DIRS@), and
+ .bP
+-the system terminfo directory, \fI\*d\fP
++the system terminfo directory, \fI@TERMINFO@\fP
+ .RE
+ .PP
+ The \fBTERMINFO\fP variable can contain a terminal description instead
+@@ -2019,7 +2019,7 @@
+ expansion) lengths.
+ .SH FILES
+ .TP
+-.I \*d
++.I @TERMINFO@
+ compiled terminal description database directory
+ .SH EXTENSIONS
+ Searching for terminal descriptions in
+Index: man/tic.1m
+Prereq: 1.110
+--- ncurses-6.5-20240504+/man/tic.1m 2024-04-27 17:57:06.000000000 +0000
++++ ncurses-6.5-20240511/man/tic.1m 2024-05-11 20:39:53.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: tic.1m,v 1.110 2024/04/27 17:57:06 tom Exp $
+-.TH @TIC@ 1M 2024-04-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
++.\" $Id: tic.1m,v 1.111 2024/05/11 20:39:53 tom Exp $
++.TH @TIC@ 1M 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -45,7 +45,6 @@
+ .el .IP \(bu 2
+ ..
+ .
+-.ds d @TERMINFO@
+ .SH NAME
+ \fB\%@TIC@\fP \-
+ compile terminal descriptions for \fIterminfo\fR or \fItermcap\fR
+@@ -109,7 +108,8 @@
+ For a directory, this would be the \*(``terminfo\*('' leaf,
+ versus a "terminfo.db" file.
+ .PP
+-The results are normally placed in the system terminfo database \fB\*d\fP.
++The results are normally placed
++in the system terminfo database \fB@TERMINFO@\fP.
+ The compiled terminal description can be placed
+ in a different terminfo database.
+ There are two ways to achieve this:
+@@ -119,7 +119,7 @@
+ or by setting the variable \fI\%TERMINFO\fP
+ in your shell environment to a valid database location.
+ .bP
+-Secondly, if \fB@TIC@\fP cannot write in \fI\*d\fP
++Secondly, if \fB@TIC@\fP cannot write in \fI@TERMINFO@\fP
+ or the location specified using your \fI\%TERMINFO\fP variable,
+ it looks for the directory \fI$HOME/.terminfo\fP
+ (or hashed database \fI$HOME/.terminfo.db)\fP;
+@@ -135,7 +135,7 @@
+ .bP
+ a compiled-in list of directories (@TERMINFO_DIRS@), and
+ .bP
+-the system terminfo database (\fI\*d\fP).
++the system terminfo database (\fI@TERMINFO@\fP).
+ .PP
+ The \fIFetching Compiled Descriptions\fP section in the \fBterminfo\fR(5)
+ manual goes into further detail.
+@@ -419,7 +419,7 @@
+ .PP
+ When a \fBuse\fP=\fIentry\fP\-\fIname\fP field is discovered in a
+ terminal entry currently being compiled, \fB@TIC@\fP reads in the binary
+-from \fB\*d\fP to complete the entry.
++from \fB@TERMINFO@\fP to complete the entry.
+ (Entries created from
+ \fIfile\fP will be used first.
+ \fB@TIC@\fP duplicates the capabilities in
+@@ -443,7 +443,7 @@
+ and a warning message will be printed.
+ .SH FILES
+ .TP
+-.I \*d
++.I @TERMINFO@
+ compiled terminal description database
+ .SH NOTES
+ There is some evidence that historic \fB@TIC@\fP implementations treated
+Index: man/toe.1m
+Prereq: 1.68
+--- ncurses-6.5-20240504+/man/toe.1m 2024-04-20 18:59:26.000000000 +0000
++++ ncurses-6.5-20240511/man/toe.1m 2024-05-11 20:39:53.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: toe.1m,v 1.68 2024/04/20 18:59:26 tom Exp $
+-.TH @TOE@ 1M 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
++.\" $Id: toe.1m,v 1.69 2024/05/11 20:39:53 tom Exp $
++.TH @TOE@ 1M 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -50,7 +50,6 @@
+ .ie n .IP \(bu 4
+ .el .IP \(bu 2
+ ..
+-.ds d @TERMINFO@
+ .SH NAME
+ \fB\%@TOE@\fP \-
+ list table of entries of \fIterminfo\fR terminal types
+@@ -143,7 +142,7 @@
+ with this program and exits with a successful status.
+ .SH FILES
+ .TP
+-.I \*d
++.I @TERMINFO@
+ compiled terminal description database
+ .SH PORTABILITY
+ \fB\%@TOE@\fP is not provided by other implementations.
+Index: man/tput.1
+Prereq: 1.113
+--- ncurses-6.5-20240504+/man/tput.1 2024-04-20 19:58:50.000000000 +0000
++++ ncurses-6.5-20240511/man/tput.1 2024-05-11 20:39:53.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: tput.1,v 1.113 2024/04/20 19:58:50 tom Exp $
+-.TH @TPUT@ 1 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
++.\" $Id: tput.1,v 1.114 2024/05/11 20:39:53 tom Exp $
++.TH @TPUT@ 1 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -45,7 +45,6 @@
+ .ie n .IP \(bu 4
+ .el .IP \(bu 2
+ ..
+-.ds d @TERMINFO@
+ .SH NAME
+ \fB\%@TPUT@\fP \-
+ initialize a terminal, exercise its capabilities, or query \fI\%term\%info\fP database
+@@ -434,7 +433,7 @@
+ .I @DATADIR@/tabset
+ tab stop initialization database
+ .TP
+-.I \*d
++.I @TERMINFO@
+ compiled terminal description database
+ .SH PORTABILITY
+ Over time
+Index: man/tset.1
+Prereq: 1.85
+--- ncurses-6.5-20240504+/man/tset.1 2024-04-27 17:57:47.000000000 +0000
++++ ncurses-6.5-20240511/man/tset.1 2024-05-11 20:39:53.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: tset.1,v 1.85 2024/04/27 17:57:47 tom Exp $
+-.TH @TSET@ 1 2024-04-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
++.\" $Id: tset.1,v 1.86 2024/05/11 20:39:53 tom Exp $
++.TH @TSET@ 1 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -47,7 +47,6 @@
+ .el .IP \(bu 2
+ ..
+ .
+-.ds d @TERMINFO@
+ .SH NAME
+ \fB\%@TSET@\fP,
+ \fB\%@RESET@\fP \-
+@@ -314,7 +313,7 @@
+ .I /etc/ttys
+ system port name to terminal type mapping database (BSD versions only).
+ .TP
+-.I \*d
++.I @TERMINFO@
+ compiled terminal description database directory
+ .SH PORTABILITY
+ Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7
+Index: ncurses/base/lib_newterm.c
+Prereq: 1.104
+--- ncurses-6.5-20240504+/ncurses/base/lib_newterm.c 2022-07-09 18:58:58.000000000 +0000
++++ ncurses-6.5-20240511/ncurses/base/lib_newterm.c 2024-05-11 19:06:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2020,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 *
+@@ -49,7 +49,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: lib_newterm.c,v 1.104 2022/07/09 18:58:58 tom Exp $")
++MODULE_ID("$Id: lib_newterm.c,v 1.105 2024/05/11 19:06:59 tom Exp $")
+
+ #ifdef USE_TERM_DRIVER
+ #define NumLabels InfoOf(SP_PARM).numlabels
+@@ -279,6 +279,7 @@
+
+ /* allow user to set maximum escape delay from the environment */
+ if ((value = _nc_getenv_num("ESCDELAY")) >= 0) {
++ value = Min(value, MAX_DELAY_MSECS);
+ #if NCURSES_EXT_FUNCS
+ NCURSES_SP_NAME(set_escdelay) (NCURSES_SP_ARGx value);
+ #else
+Index: ncurses/curses.priv.h
+Prereq: 1.688
+--- ncurses-6.5-20240504+/ncurses/curses.priv.h 2024-05-04 18:30:25.000000000 +0000
++++ ncurses-6.5-20240511/ncurses/curses.priv.h 2024-05-11 19:05:45.000000000 +0000
+@@ -35,7 +35,7 @@
+ ****************************************************************************/
+
+ /*
+- * $Id: curses.priv.h,v 1.688 2024/05/04 18:30:25 tom Exp $
++ * $Id: curses.priv.h,v 1.689 2024/05/11 19:05:45 tom Exp $
+ *
+ * curses.priv.h
+ *
+@@ -877,6 +877,12 @@
+ #define MAX_DELAY_MSECS 30000
+
+ /*
++ * Limit screen dimensions read from environment variables.
++ */
++#define MAX_ENV_LINES 512
++#define MAX_ENV_COLUMNS 512
++
++/*
+ * When converting from terminfo to termcap, check for cases where we can trim
+ * octal escapes down to 2-character form. It is useful for terminfo format
+ * also, but not as important.
+Index: ncurses/tinfo/lib_setup.c
+Prereq: 1.240
+--- ncurses-6.5-20240504+/ncurses/tinfo/lib_setup.c 2024-04-20 17:04:05.000000000 +0000
++++ ncurses-6.5-20240511/ncurses/tinfo/lib_setup.c 2024-05-11 19:07:34.000000000 +0000
+@@ -49,7 +49,7 @@
+ #include <locale.h>
+ #endif
+
+-MODULE_ID("$Id: lib_setup.c,v 1.240 2024/04/20 17:04:05 tom Exp $")
++MODULE_ID("$Id: lib_setup.c,v 1.241 2024/05/11 19:07:34 tom Exp $")
+
+ /****************************************************************************
+ *
+@@ -569,11 +569,11 @@
+ * variable.
+ */
+ if ((value = _nc_getenv_num("LINES")) > 0) {
+- *linep = value;
++ *linep = Min(value, MAX_ENV_LINES);
+ T(("screen size: environment LINES = %d", *linep));
+ }
+ if ((value = _nc_getenv_num("COLUMNS")) > 0) {
+- *colp = value;
++ *colp = Min(value, MAX_ENV_COLUMNS);
+ T(("screen size: environment COLUMNS = %d", *colp));
+ }
+
+Index: ncurses/tinfo/tinfo_driver.c
+Prereq: 1.74
+--- ncurses-6.5-20240504+/ncurses/tinfo/tinfo_driver.c 2023-09-16 10:44:33.000000000 +0000
++++ ncurses-6.5-20240511/ncurses/tinfo/tinfo_driver.c 2024-05-11 19:20:44.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2022,2023 Thomas E. Dickey *
++ * Copyright 2018-2023,2024 Thomas E. Dickey *
+ * Copyright 2008-2016,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -52,7 +52,7 @@
+ # endif
+ #endif
+
+-MODULE_ID("$Id: tinfo_driver.c,v 1.74 2023/09/16 10:44:33 tom Exp $")
++MODULE_ID("$Id: tinfo_driver.c,v 1.75 2024/05/11 19:20:44 tom Exp $")
+
+ /*
+ * SCO defines TIOCGSIZE and the corresponding struct. Other systems (SunOS,
+@@ -504,11 +504,11 @@
+ * variable.
+ */
+ if ((value = _nc_getenv_num("LINES")) > 0) {
+- *linep = value;
++ *linep = Min(value, MAX_ENV_LINES);
+ T(("screen size: environment LINES = %d", *linep));
+ }
+ if ((value = _nc_getenv_num("COLUMNS")) > 0) {
+- *colp = value;
++ *colp = Min(value, MAX_ENV_COLUMNS);
+ T(("screen size: environment COLUMNS = %d", *colp));
+ }
+ }
+Index: package/debian-mingw/changelog
+--- ncurses-6.5-20240504+/package/debian-mingw/changelog 2024-05-04 10:21:09.000000000 +0000
++++ ncurses-6.5-20240511/package/debian-mingw/changelog 2024-05-11 10:20:08.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.5+20240504) unstable; urgency=low
++ncurses6 (6.5+20240511) unstable; urgency=low
+
+ * latest weekly patch
+
+- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 04 May 2024 06:21:09 -0400
++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 11 May 2024 06:20:08 -0400
+
+ ncurses6 (5.9+20131005) unstable; urgency=low
+
+Index: package/debian-mingw64/changelog
+--- ncurses-6.5-20240504+/package/debian-mingw64/changelog 2024-05-04 10:21:09.000000000 +0000
++++ ncurses-6.5-20240511/package/debian-mingw64/changelog 2024-05-11 10:20:08.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.5+20240504) unstable; urgency=low
++ncurses6 (6.5+20240511) unstable; urgency=low
+
+ * latest weekly patch
+
+- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 04 May 2024 06:21:09 -0400
++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 11 May 2024 06:20:08 -0400
+
+ ncurses6 (5.9+20131005) unstable; urgency=low
+
+Index: package/debian/changelog
+--- ncurses-6.5-20240504+/package/debian/changelog 2024-05-04 10:21:09.000000000 +0000
++++ ncurses-6.5-20240511/package/debian/changelog 2024-05-11 10:20:08.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.5+20240504) unstable; urgency=low
++ncurses6 (6.5+20240511) unstable; urgency=low
+
+ * latest weekly patch
+
+- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 04 May 2024 06:21:09 -0400
++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 11 May 2024 06:20:08 -0400
+
+ ncurses6 (5.9+20120608) unstable; urgency=low
+
+Index: package/mingw-ncurses.nsi
+Prereq: 1.646
+--- ncurses-6.5-20240504+/package/mingw-ncurses.nsi 2024-05-04 10:21:09.000000000 +0000
++++ ncurses-6.5-20240511/package/mingw-ncurses.nsi 2024-05-11 10:20:08.000000000 +0000
+@@ -1,4 +1,4 @@
+-; $Id: mingw-ncurses.nsi,v 1.646 2024/05/04 10:21:09 tom Exp $
++; $Id: mingw-ncurses.nsi,v 1.647 2024/05/11 10:20:08 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 "0504"
++!define VERSION_MMDD "0511"
+ !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
+
+ !define MY_ABI "5"
+Index: package/mingw-ncurses.spec
+--- ncurses-6.5-20240504+/package/mingw-ncurses.spec 2024-05-04 10:21:09.000000000 +0000
++++ ncurses-6.5-20240511/package/mingw-ncurses.spec 2024-05-11 10:20:08.000000000 +0000
+@@ -3,7 +3,7 @@
+ Summary: shared libraries for terminal handling
+ Name: mingw32-ncurses6
+ Version: 6.5
+-Release: 20240504
++Release: 20240511
+ License: X11
+ Group: Development/Libraries
+ URL: https://invisible-island.net/ncurses/
+Index: package/ncurses.spec
+--- ncurses-6.5-20240504+/package/ncurses.spec 2024-05-04 10:21:09.000000000 +0000
++++ ncurses-6.5-20240511/package/ncurses.spec 2024-05-11 10:20:08.000000000 +0000
+@@ -1,7 +1,7 @@
+ Summary: shared libraries for terminal handling
+ Name: ncurses6
+ Version: 6.5
+-Release: 20240504
++Release: 20240511
+ License: X11
+ Group: Development/Libraries
+ URL: https://invisible-island.net/ncurses/
+Index: package/ncursest.spec
+--- ncurses-6.5-20240504+/package/ncursest.spec 2024-05-04 10:21:09.000000000 +0000
++++ ncurses-6.5-20240511/package/ncursest.spec 2024-05-11 10:20:08.000000000 +0000
+@@ -1,7 +1,7 @@
+ Summary: Curses library with POSIX thread support.
+ Name: ncursest6
+ Version: 6.5
+-Release: 20240504
++Release: 20240511
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz