aboutsummaryrefslogtreecommitdiff
path: root/packages/ncurses/6.5/ncurses-6.5-20240727.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/ncurses/6.5/ncurses-6.5-20240727.patch')
-rw-r--r--packages/ncurses/6.5/ncurses-6.5-20240727.patch7988
1 files changed, 7988 insertions, 0 deletions
diff --git a/packages/ncurses/6.5/ncurses-6.5-20240727.patch b/packages/ncurses/6.5/ncurses-6.5-20240727.patch
new file mode 100644
index 00000000..bafe608f
--- /dev/null
+++ b/packages/ncurses/6.5/ncurses-6.5-20240727.patch
@@ -0,0 +1,7988 @@
+# ncurses 6.5 - patch 20240727 - 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-20240727.patch.gz
+# patch by Thomas E. Dickey <dickey@invisible-island.net>
+# created Sun Jul 28 00:35:55 UTC 2024
+# ------------------------------------------------------------------------------
+# NEWS | 15 +-
+# VERSION | 2
+# dist.mk | 4
+# doc/html/man/curs_add_wch.3x.html | 12 -
+# doc/html/man/curs_add_wchstr.3x.html | 54 +++----
+# doc/html/man/curs_addch.3x.html | 12 -
+# doc/html/man/curs_addchstr.3x.html | 43 +++--
+# doc/html/man/curs_addstr.3x.html | 14 -
+# doc/html/man/curs_addwstr.3x.html | 20 +-
+# doc/html/man/curs_attr.3x.html | 121 ++++++++--------
+# doc/html/man/curs_border.3x.html | 18 +-
+# doc/html/man/curs_delch.3x.html | 19 +-
+# doc/html/man/curs_deleteln.3x.html | 76 +++++-----
+# doc/html/man/curs_extend.3x.html | 58 ++++---
+# doc/html/man/curs_in_wch.3x.html | 24 ++-
+# doc/html/man/curs_inch.3x.html | 10 -
+# doc/html/man/curs_ins_wch.3x.html | 26 ++-
+# doc/html/man/curs_ins_wstr.3x.html | 87 ++++++-----
+# doc/html/man/curs_insch.3x.html | 17 +-
+# doc/html/man/curs_insstr.3x.html | 90 ++++++------
+# doc/html/man/curs_move.3x.html | 21 +-
+# doc/html/man/curs_outopts.3x.html | 29 +--
+# doc/html/man/curs_pad.3x.html | 69 ++++-----
+# doc/html/man/curs_print.3x.html | 63 ++++----
+# doc/html/man/curs_refresh.3x.html | 16 +-
+# doc/html/man/curs_touch.3x.html | 29 +--
+# doc/html/man/curs_util.3x.html | 117 +++++++---------
+# doc/html/man/define_key.3x.html | 10 -
+# doc/html/man/infotocap.1m.html | 10 -
+# doc/html/man/keyok.3x.html | 14 -
+# doc/html/man/legacy_coding.3x.html | 33 ++--
+# doc/html/man/ncurses.3x.html | 40 ++---
+# doc/html/man/terminfo.5.html | 2
+# doc/html/man/wresize.3x.html | 12 -
+# form/frm_data.c | 8 -
+# form/frm_driver.c | 65 ++++----
+# form/frm_post.c | 6
+# form/frm_sub.c | 15 --
+# form/frm_win.c | 16 --
+# form/fty_enum.c | 48 +++---
+# form/fty_generic.c | 6
+# form/fty_int.c | 8 -
+# form/fty_num.c | 10 -
+# include/capdefaults.c | 6
+# man/curs_add_wch.3x | 7
+# man/curs_add_wchstr.3x | 38 ++---
+# man/curs_addch.3x | 11 -
+# man/curs_addchstr.3x | 39 +++--
+# man/curs_addstr.3x | 14 -
+# man/curs_addwstr.3x | 26 ++-
+# man/curs_attr.3x | 240 +++++++++++++++++++++++----------
+# man/curs_border.3x | 6
+# man/curs_delch.3x | 23 ++-
+# man/curs_deleteln.3x | 125 +++++++++++------
+# man/curs_extend.3x | 72 ++++++---
+# man/curs_in_wch.3x | 29 +++
+# man/curs_inch.3x | 8 -
+# man/curs_ins_wch.3x | 39 +++--
+# man/curs_ins_wstr.3x | 123 +++++++++++-----
+# man/curs_insch.3x | 11 -
+# man/curs_insstr.3x | 117 ++++++++++------
+# man/curs_move.3x | 23 ++-
+# man/curs_outopts.3x | 7
+# man/curs_pad.3x | 7
+# man/curs_print.3x | 113 +++++++++++----
+# man/curs_refresh.3x | 6
+# man/curs_touch.3x | 9 -
+# man/curs_util.3x | 9 -
+# man/define_key.3x | 6
+# man/infotocap.1m | 6
+# man/keyok.3x | 8 -
+# man/legacy_coding.3x | 29 ++-
+# man/manhtml.externs | 3
+# man/ncurses.3x | 16 +-
+# man/wresize.3x | 8 -
+# menu/m_driver.c | 8 -
+# menu/m_item_vis.c | 6
+# menu/m_post.c | 42 ++---
+# misc/terminfo.src | 45 +++++-
+# ncurses/base/lib_addch.c | 6
+# ncurses/base/lib_delch.c | 4
+# ncurses/base/lib_delwin.c | 6
+# ncurses/base/lib_freeall.c | 6
+# ncurses/base/lib_getstr.c | 8 -
+# ncurses/base/lib_insch.c | 6
+# ncurses/base/lib_instr.c | 6
+# ncurses/base/lib_mvwin.c | 6
+# ncurses/base/lib_printw.c | 8 -
+# ncurses/base/lib_screen.c | 13 -
+# ncurses/base/lib_slkrefr.c | 6
+# ncurses/base/new_pair.c | 8 -
+# ncurses/base/resizeterm.c | 4
+# ncurses/base/safe_sprintf.c | 9 -
+# ncurses/tinfo/alloc_ttype.c | 14 -
+# ncurses/tinfo/captoinfo.c | 4
+# ncurses/tinfo/comp_parse.c | 6
+# ncurses/tinfo/comp_scan.c | 6
+# ncurses/tinfo/db_iterator.c | 6
+# ncurses/tinfo/entries.c | 4
+# ncurses/tinfo/getenv_num.c | 6
+# ncurses/tinfo/home_terminfo.c | 6
+# ncurses/tinfo/init_keytry.c | 6
+# ncurses/tinfo/lib_print.c | 7
+# ncurses/tinfo/lib_setup.c | 6
+# ncurses/tinfo/lib_termcap.c | 6
+# ncurses/tinfo/lib_tparm.c | 10 -
+# ncurses/tinfo/parse_entry.c | 6
+# ncurses/tinfo/read_entry.c | 18 +-
+# ncurses/tinfo/trim_sgr0.c | 8 -
+# ncurses/tinfo/write_entry.c | 14 -
+# ncurses/trace/lib_traceatr.c | 4
+# ncurses/trace/varargs.c | 6
+# ncurses/tty/hashmap.c | 9 -
+# ncurses/widechar/lib_add_wch.c | 8 -
+# ncurses/widechar/lib_cchar.c | 6
+# ncurses/widechar/lib_get_wstr.c | 8 -
+# ncurses/widechar/lib_in_wchnstr.c | 6
+# ncurses/widechar/lib_ins_wch.c | 6
+# ncurses/widechar/lib_inwstr.c | 4
+# ncurses/widechar/lib_key_name.c | 6
+# ncurses/widechar/lib_wunctrl.c | 7
+# 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
+# 128 files changed, 1736 insertions(+), 1239 deletions(-)
+# ------------------------------------------------------------------------------
+Index: NEWS
+Prereq: 1.4151
+--- ncurses-6.5-20240720+/NEWS 2024-07-20 21:54:20.000000000 +0000
++++ ncurses-6.5-20240727/NEWS 2024-07-27 20:13:00.000000000 +0000
+@@ -26,7 +26,7 @@
+ -- sale, use or other dealings in this Software without prior written --
+ -- authorization. --
+ -------------------------------------------------------------------------------
+--- $Id: NEWS,v 1.4151 2024/07/20 21:54:20 tom Exp $
++-- $Id: NEWS,v 1.4155 2024/07/27 20:13:00 tom Exp $
+ -------------------------------------------------------------------------------
+
+ This is a log of changes that ncurses has gone through since Zeyd started
+@@ -46,6 +46,15 @@
+ Changes through 1.9.9e did not credit all contributions;
+ it is not possible to add this information.
+
++20240727
++ + improve formatting/style of manpages (patches by Branden Robinson).
++ + fixes for compiler warnings/cppcheck.
++ + modify wattron/wattroff calls in form/m_post.c to call wattr_on and
++ wattr_off to omit cast used in the former for X/Open compatibility
++ (patch by Bill Gray).
++ + modify wezterm, omitting its broken left/right margin feature (report
++ by Thayne McCombs) -TD
++
+ 20240720
+ + improve formatting/style of manpages (patches by Branden Robinson).
+ + modify configure script and misc/Makefile to accept glob expressions
+@@ -401,7 +410,7 @@
+ + minor grammatical fix for manpages (Branden Robinson).
+
+ 20230729
+- + improve manpages for wgetnstr() and wget_wnstr().
++ + improve manpages for wgetnstr() and wget_nwstr().
+ + modify MinGW configuration to provide for running in MSYS/MSYS2
+ shells, assuming ConPTY support (patch by Pavel Fedin).
+ + add assignment in CF_MAN_PAGES to fill in value for TERMINFO_DIRS in
+@@ -10712,7 +10721,7 @@
+ wide-character structures (report by <George.R.Goffe@seagate.com>).
+ + ensure that _XOPEN_SOURCE_EXTENDED is defined in curses.priv.h if
+ compiling for wide-character configuration.
+- + make addwnstr() handle non-spacing characters (patch by Sven
++ + make addnwstr() handle non-spacing characters (patch by Sven
+ Verdoolaege).
+
+ 20010630
+Index: VERSION
+--- ncurses-6.5-20240720+/VERSION 2024-07-20 10:19:56.000000000 +0000
++++ ncurses-6.5-20240727/VERSION 2024-07-27 13:25:06.000000000 +0000
+@@ -1 +1 @@
+-5:0:10 6.5 20240720
++5:0:10 6.5 20240727
+Index: dist.mk
+Prereq: 1.1623
+--- ncurses-6.5-20240720+/dist.mk 2024-07-20 10:19:56.000000000 +0000
++++ ncurses-6.5-20240727/dist.mk 2024-07-27 13:25:06.000000000 +0000
+@@ -26,7 +26,7 @@
+ # use or other dealings in this Software without prior written #
+ # authorization. #
+ ##############################################################################
+-# $Id: dist.mk,v 1.1623 2024/07/20 10:19:56 tom Exp $
++# $Id: dist.mk,v 1.1624 2024/07/27 13:25:06 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 = 20240720
++NCURSES_PATCH = 20240727
+
+ # 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-20240720+/doc/html/man/curs_add_wch.3x.html 2024-07-20 22:19:03.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_add_wch.3x.html 2024-07-27 23:11:30.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.69 2024/07/20 21:42:38 tom Exp @
++ * @Id: curs_add_wch.3x,v 1.71 2024/07/27 20:05:18 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-07-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_add_wch 3x 2024-07-27 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-07-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_add_wch 3x 2024-07-27 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>
+
+@@ -350,8 +350,8 @@
+ The System V Interface Definition, Version 4 (1995), specified
+ functions named <EM>waddwch</EM> and <EM>wechowchar</EM> (and the usual variants). These
+ were later additions to SVr4.<EM>x</EM>, not appearing in the first SVr4 (1989).
+- They differed from X/Open's <EM>wadd</EM><STRONG>_</STRONG><EM>wch</EM> and <EM>wecho</EM><STRONG>_</STRONG><EM>wchar</EM> in that they each
+- took an argument of type <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> instead of <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
++ They differed from X/Open's later <EM>wadd</EM><STRONG>_</STRONG><EM>wch</EM> and <EM>wecho</EM><STRONG>_</STRONG><EM>wchar</EM> in that they
++ each took an argument of type <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> instead of <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -364,7 +364,7 @@
+
+
+
+-ncurses 6.5 2024-07-20 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_add_wchstr.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_add_wchstr.3x.html 2024-06-22 22:55:07.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_add_wchstr.3x.html 2024-07-27 23:11:31.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.42 2024/06/22 21:26:27 tom Exp @
++ * @Id: curs_add_wchstr.3x,v 1.44 2024/07/27 20:05:18 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-06-22 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_add_wchstr 3x 2024-07-27 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-06-22 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_add_wchstr 3x 2024-07-27 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>
+
+@@ -47,33 +47,33 @@
+
+
+ </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+- <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>, <STRONG>mvadd_wchstr</STRONG>,
+- <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG> - add a <EM>curses</EM> complex
++ <STRONG>add_wchstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>mvadd_wchstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>,
++ <STRONG>wadd_wchnstr</STRONG>, <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG> - add a <EM>curses</EM> complex
+ character string to a window
+
+
+ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+- <STRONG>int</STRONG> <STRONG>add_wchstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>wadd_wchstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvadd_wchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwadd_wchstr(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>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
+-
+- <STRONG>int</STRONG> <STRONG>add_wchnstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>wadd_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvadd_wchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwadd_wchnstr(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>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>add_wchstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG> <EM>wchstr</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>wadd_wchstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG> <EM>wchstr</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvadd_wchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG> <EM>wchstr</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwadd_wchstr(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>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG> <EM>wchstr</EM><STRONG>);</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>add_wchnstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG> <EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>wadd_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG> <EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvadd_wchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG> <EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwadd_wchnstr(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>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG> <EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <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.
++ complex character does not 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
+@@ -93,24 +93,24 @@
+ </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.
+
+- X/Open Curses does not specify any error conditions. <EM>ncurses</EM> returns
+- <STRONG>ERR</STRONG> if
++ In <EM>ncurses</EM>, they return <STRONG>ERR</STRONG> if
+
+ <STRONG>o</STRONG> <EM>win</EM> is <STRONG>NULL</STRONG> or
+
+ <STRONG>o</STRONG> <EM>wchstr</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 of these functions except <STRONG>wadd_wchnstr</STRONG> may be implemented as
++ All of these functions except <STRONG>wadd_wchnstr</STRONG> may be implemented as
+ macros.
+
+
+ </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.
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+@@ -118,8 +118,8 @@
+ The System V Interface Definition, Version 4 (1995), specified
+ functions named <EM>waddwchstr</EM> and <EM>waddwchnstr</EM> (and the usual variants).
+ These were later additions to SVr4.<EM>x</EM>, not appearing in the first SVr4
+- (1989). They differed from X/Open's <EM>wadd</EM><STRONG>_</STRONG><EM>wchstr</EM> and <EM>wadd</EM><STRONG>_</STRONG><EM>wchnstr</EM> in
+- that they each took an argument of type <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> instead of <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
++ (1989). They differed from X/Open's later <EM>wadd</EM><STRONG>_</STRONG><EM>wchstr</EM> and <EM>wadd</EM><STRONG>_</STRONG><EM>wchnstr</EM>
++ in that they each took an argument of type <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> instead of <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -130,7 +130,7 @@
+
+
+
+-ncurses 6.5 2024-06-22 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <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-20240720+/doc/html/man/curs_addch.3x.html 2024-07-20 22:19:03.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_addch.3x.html 2024-07-27 23:11:31.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addch.3x,v 1.96 2024/07/20 21:42:38 tom Exp @
++ * @Id: curs_addch.3x,v 1.98 2024/07/27 20:08:58 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_addch 3x 2024-07-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_addch 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_addch 3x 2024-07-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_addch 3x 2024-07-27 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>
+
+@@ -295,9 +295,9 @@
+ 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 can, call either <EM>waddch</EM> or <EM>wadd</EM><STRONG>_</STRONG><EM>wch</EM>.
+
+- <STRONG>o</STRONG> If it cannot, use only <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>.
++ <STRONG>o</STRONG> If it cannot, use only <EM>wadd</EM><STRONG>_</STRONG><EM>wch</EM>.
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+@@ -316,7 +316,7 @@
+
+
+
+-ncurses 6.5 2024-07-20 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_addchstr.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_addchstr.3x.html 2024-06-01 23:07:15.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_addchstr.3x.html 2024-07-27 23:11:31.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addchstr.3x,v 1.48 2024/06/01 22:29:08 tom Exp @
++ * @Id: curs_addchstr.3x,v 1.50 2024/07/27 20:05:41 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_addchstr 3x 2024-06-01 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_addchstr 3x 2024-07-27 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-06-01 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_addchstr 3x 2024-07-27 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>
+
+@@ -47,22 +47,22 @@
+
+
+ </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+- <STRONG>addchstr</STRONG>, <STRONG>addchnstr</STRONG>, <STRONG>waddchstr</STRONG>, <STRONG>waddchnstr</STRONG>, <STRONG>mvaddchstr</STRONG>, <STRONG>mvaddchnstr</STRONG>,
+- <STRONG>mvwaddchstr</STRONG>, <STRONG>mvwaddchnstr</STRONG> - add a <EM>curses</EM> character string to a window
++ <STRONG>addchstr</STRONG>, <STRONG>waddchstr</STRONG>, <STRONG>mvaddchstr</STRONG>, <STRONG>mvwaddchstr</STRONG>, <STRONG>addchnstr</STRONG>, <STRONG>waddchnstr</STRONG>,
++ <STRONG>mvaddchnstr</STRONG>, <STRONG>mvwaddchnstr</STRONG> - add a <EM>curses</EM> character string to a window
+
+
+ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+- <STRONG>int</STRONG> <STRONG>addchstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>waddchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvaddchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwaddchstr(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>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+-
+- <STRONG>int</STRONG> <STRONG>addchnstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>waddchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvaddchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwaddchnstr(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>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>addchstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG> <EM>chstr</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>waddchstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG> <EM>chstr</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvaddchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG> <EM>chstr</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwaddchstr(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>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG> <EM>chstr</EM><STRONG>);</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>addchnstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG> <EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>waddchnstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG> <EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvaddchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG> <EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwaddchnstr(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>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG> <EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+@@ -89,14 +89,13 @@
+ </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.
+
+- X/Open Curses does not specify any error conditions. <EM>ncurses</EM> returns
+- <STRONG>ERR</STRONG> if
++ In <EM>ncurses</EM>, they return <STRONG>ERR</STRONG> if
+
+ <STRONG>o</STRONG> <EM>win</EM> is <STRONG>NULL</STRONG> or
+
+ <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.
+
+
+@@ -105,7 +104,12 @@
+
+
+ </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.
++
++
++</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
++ SVr3.1 (1987) introduced <EM>waddchstr</EM> and <EM>waddchnstr</EM>.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -116,7 +120,7 @@
+
+
+
+-ncurses 6.5 2024-06-01 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -126,6 +130,7 @@
+ <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_addstr.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_addstr.3x.html 2024-07-20 22:19:03.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_addstr.3x.html 2024-07-27 23:11:31.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addstr.3x,v 1.53 2024/07/20 20:49:44 tom Exp @
++ * @Id: curs_addstr.3x,v 1.55 2024/07/27 19:48:04 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_addstr 3x 2024-07-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_addstr 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_addstr 3x 2024-07-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_addstr 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+
+@@ -47,7 +47,7 @@
+
+
+ </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+- <STRONG>addstr</STRONG>, <STRONG>addnstr</STRONG>, <STRONG>waddstr</STRONG>, <STRONG>waddnstr</STRONG>, <STRONG>mvaddstr</STRONG>, <STRONG>mvaddnstr</STRONG>, <STRONG>mvwaddstr</STRONG>,
++ <STRONG>addstr</STRONG>, <STRONG>waddstr</STRONG>, <STRONG>mvaddstr</STRONG>, <STRONG>mvwaddstr</STRONG>, <STRONG>addnstr</STRONG>, <STRONG>waddnstr</STRONG>, <STRONG>mvaddnstr</STRONG>,
+ <STRONG>mvwaddnstr</STRONG> - add a string to a <EM>curses</EM> window and advance the cursor
+
+
+@@ -55,14 +55,14 @@
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>addstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>waddstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvaddstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwaddstr(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>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>waddstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>addnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>waddnstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvaddnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwaddnstr(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>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>waddnstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+@@ -115,7 +115,7 @@
+
+
+
+-ncurses 6.5 2024-07-20 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_addwstr.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_addwstr.3x.html 2024-07-20 22:19:03.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_addwstr.3x.html 2024-07-27 23:11:31.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addwstr.3x,v 1.43 2024/07/20 20:53:20 tom Exp @
++ * @Id: curs_addwstr.3x,v 1.45 2024/07/27 20:05:18 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_addwstr 3x 2024-07-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_addwstr 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_addwstr 3x 2024-07-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_addwstr 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+
+@@ -47,8 +47,8 @@
+
+
+ </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+- <STRONG>addwstr</STRONG>, <STRONG>addnwstr</STRONG>, <STRONG>waddwstr</STRONG>, <STRONG>waddnwstr</STRONG>, <STRONG>mvaddwstr</STRONG>, <STRONG>mvaddnwstr</STRONG>,
+- <STRONG>mvwaddwstr</STRONG>, <STRONG>mvwaddnwstr</STRONG> - add a wide-character string to a <EM>curses</EM>
++ <STRONG>addwstr</STRONG>, <STRONG>waddwstr</STRONG>, <STRONG>mvaddwstr</STRONG>, <STRONG>mvwaddwstr</STRONG>, <STRONG>addnwstr</STRONG>, <STRONG>waddnwstr</STRONG>,
++ <STRONG>mvaddnwstr</STRONG>, <STRONG>mvwaddnwstr</STRONG> - add a wide-character string to a <EM>curses</EM>
+ window and advance the cursor
+
+
+@@ -56,14 +56,14 @@
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>addwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>waddwstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvaddwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwaddwstr(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>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>waddwstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>addnwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>waddnwstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvaddnwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwaddnwstr(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>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>waddnwstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+@@ -103,7 +103,9 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- <EM>waddstr</EM> and <EM>waddnstr</EM> appeared late in SVr4 development (1995).
++ The System V Interface Definition, Version 4 (1995), specified <EM>waddwstr</EM>
++ and <EM>waddnwstr</EM> (and the usual variants). These were later additions to
++ SVr4.<EM>x</EM>, not appearing in the first SVr4 (1989).
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -114,7 +116,7 @@
+
+
+
+-ncurses 6.5 2024-07-20 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_attr.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_attr.3x.html 2024-05-25 22:33:41.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_attr.3x.html 2024-07-27 23:11:31.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_attr.3x,v 1.108 2024/05/25 20:10:58 tom Exp @
++ * @Id: curs_attr.3x,v 1.110 2024/07/27 19:57:55 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-05-25 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_attr 3x 2024-07-27 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-05-25 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_attr 3x 2024-07-27 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>
+
+@@ -132,8 +132,8 @@
+ into the attribute parameter. These newer routines use similar names,
+ because X/Open simply added an underscore (<STRONG>_</STRONG>) for the newer names.
+
+- The <STRONG>int</STRONG> datatype used in the legacy routines is treated as if it is the
+- same size as <STRONG>chtype</STRONG> (used by <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>). It holds the common video
++ The <EM>int</EM> datatype used in the legacy routines is treated as if it is the
++ same size as <EM>chtype</EM> (used by <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>). It holds the common video
+ attributes (such as bold, reverse), as well as a few bits for color.
+ Those bits correspond to the <STRONG>A_COLOR</STRONG> symbol. The <STRONG>COLOR_PAIR</STRONG> macro
+ provides a value which can be OR'd into the attribute parameter. For
+@@ -148,20 +148,20 @@
+ (8) bits, then <STRONG>COLOR_PAIR(</STRONG><EM>259</EM><STRONG>)</STRONG> is 4 (i.e., 259 is 4 more than the limit
+ 255).
+
+- The <STRONG>PAIR_NUMBER</STRONG> macro extracts a pair number from an <STRONG>int</STRONG> (or <STRONG>chtype</STRONG>).
++ The <STRONG>PAIR_NUMBER</STRONG> macro extracts a pair number from an <EM>int</EM> (or <EM>chtype</EM>).
+ For example, the <EM>input</EM> and <EM>output</EM> values in these statements would be
+ the same:
+
+ int value = A_BOLD | COLOR_PAIR(<EM>input</EM>);
+ int <EM>output</EM> = PAIR_NUMBER(value);
+
+- The <STRONG>attrset</STRONG> routine is a legacy feature predating SVr4 curses but kept
+- in X/Open Curses for the same reason that SVr4 curses kept it:
++ The <STRONG>attrset</STRONG> routine is a legacy feature predating SVr4 <EM>curses</EM> but kept
++ in X/Open Curses for the same reason that SVr4 <EM>curses</EM> kept it:
+ compatibility.
+
+ The remaining <STRONG>attr</STRONG>* functions operate exactly like the corresponding
+- <STRONG>attr_</STRONG>* functions, except that they take arguments of type <STRONG>int</STRONG> rather
+- than <STRONG>attr_t</STRONG>.
++ <STRONG>attr_</STRONG>* functions, except that they take arguments of type <EM>int</EM> rather
++ than <EM>attr</EM><STRONG>_</STRONG><EM>t</EM>.
+
+ There is no corresponding <STRONG>attrget</STRONG> function as such in X/Open Curses,
+ although <EM>ncurses</EM> provides <STRONG>getattrs</STRONG> (see <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>).
+@@ -243,19 +243,13 @@
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+- All routines return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on failure.
++ These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
+
+- X/Open Curses does not specify any error conditions.
++ In <EM>ncurses</EM>, they return <STRONG>ERR</STRONG> if <EM>win</EM> is <STRONG>NULL</STRONG>.
+
+- This implementation
++ <STRONG>wcolor_set</STRONG> returns <STRONG>ERR</STRONG> if <EM>pair</EM> is outside the range <STRONG>0</STRONG>..<STRONG>COLOR_PAIRS-1</STRONG>.
+
+- <STRONG>o</STRONG> returns <STRONG>ERR</STRONG> if the window pointer is null.
+-
+- <STRONG>o</STRONG> returns <STRONG>ERR</STRONG> if the color pair parameter for <STRONG>wcolor_set</STRONG> is outside
+- the range 0..COLOR_PAIRS-1.
+-
+- <STRONG>o</STRONG> does not fail if either of the parameters of <STRONG>wattr_get</STRONG> used for
+- retrieving attribute or color pair values is <STRONG>NULL</STRONG>.
++ <STRONG>wattr_get</STRONG> does <EM>not</EM> fail if its <EM>attrs</EM> or <EM>pair</EM> parameter 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.
+@@ -289,23 +283,25 @@
+ have a color pair parameter to support <EM>extended</EM> <EM>color</EM> <EM>pairs</EM>:
+
+ <STRONG>o</STRONG> For functions which modify the color, e.g., <STRONG>wattr_set</STRONG> and <STRONG>wattr_on</STRONG>,
+- if <EM>opts</EM> is set it is treated as a pointer to <STRONG>int</STRONG>, and used to set
+- the color pair instead of the <STRONG>short</STRONG> <EM>pair</EM> parameter.
++ if <EM>opts</EM> is set it is treated as a pointer to <EM>int</EM>, and used to set
++ the color pair instead of the <EM>short</EM> <EM>pair</EM> parameter.
+
+ <STRONG>o</STRONG> For functions which retrieve the color, e.g., <STRONG>wattr_get</STRONG>, if <EM>opts</EM> is
+- set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the
+- color pair as an <STRONG>int</STRONG> value, in addition to retrieving it via the
+- standard pointer to <STRONG>short</STRONG> parameter.
++ set it is treated as a pointer to <EM>int</EM>, and used to retrieve the
++ color pair as an <EM>int</EM> value, in addition to retrieving it via the
++ standard pointer to <EM>short</EM> parameter.
+
+ <STRONG>o</STRONG> For functions which turn attributes off, e.g., <STRONG>wattr_off</STRONG>, the <EM>opts</EM>
+ parameter is ignored except except to check that it is <STRONG>NULL</STRONG>.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- These functions are described in X/Open Curses, Issue 4. The standard
+- defined the dedicated type for highlights, <STRONG>attr_t</STRONG>, which was not
+- defined in SVr4 curses. The functions taking <STRONG>attr_t</STRONG> arguments were not
+- supported under SVr4.
++ These functions are described in X/Open Curses, Issue 4. It specifies
++ no error conditions for them.
++
++ The standard defined the dedicated type for highlights, <EM>attr</EM><STRONG>_</STRONG><EM>t</EM>, which
++ was not defined in SVr4 <EM>curses</EM>. The functions taking <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> arguments
++ were not supported under SVr4.
+
+ Very old versions of this library did not force an update of the screen
+ when changing the attributes. Use <STRONG>touchwin</STRONG> to force the screen to
+@@ -314,7 +310,7 @@
+ X/Open Curses states that whether the traditional functions
+ <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate attributes other than <STRONG>A_BLINK</STRONG>,
+ <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>, <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified".
+- Under this implementation as well as SVr4 curses, these functions
++ Under this implementation as well as SVr4 <EM>curses</EM>, these functions
+ correctly manipulate all other highlights (specifically, <STRONG>A_ALTCHARSET</STRONG>,
+ <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
+
+@@ -336,6 +332,7 @@
+ <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
+@@ -349,22 +346,22 @@
+ <STRONG>o</STRONG> However, in some implementations, those symbols have unrelated
+ values.
+
+- For example, the Solaris <EM>xpg4</EM> (X/Open) curses declares <STRONG>attr_t</STRONG> to be
+- an unsigned short integer (16-bits), while <STRONG>chtype</STRONG> is a unsigned
++ For example, the Solaris <EM>xpg4</EM> (X/Open) <EM>curses</EM> declares <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> to be
++ an unsigned short integer (16-bits), while <EM>chtype</EM> is a unsigned
+ integer (32-bits). The <STRONG>WA_</STRONG> symbols in this case are different from
+ the <STRONG>A_</STRONG> symbols because they are used for a smaller datatype which
+ does not represent <STRONG>A_CHARTEXT</STRONG> or <STRONG>A_COLOR</STRONG>.
+
+ In this implementation (as in many others), the values happen to be
+- the same because it simplifies copying information between <STRONG>chtype</STRONG>
+- and <STRONG>cchar_t</STRONG> variables.
++ the same because it simplifies copying information between <EM>chtype</EM>
++ and <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> variables.
+
+- <STRONG>o</STRONG> Because <EM>ncurses</EM>'s <STRONG>attr_t</STRONG> can hold a color pair (in the <STRONG>A_COLOR</STRONG>
++ <STRONG>o</STRONG> Because <EM>ncurses</EM>'s <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> can hold a color pair (in the <STRONG>A_COLOR</STRONG>
+ field), a call to <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, or <STRONG>wattr_set</STRONG> may alter the
+ window's color. If the color pair information in the attribute
+ parameter is zero, no change is made to the window's color.
+
+- This is consistent with SVr4 curses; X/Open Curses does not specify
++ This is consistent with SVr4 <EM>curses</EM>; X/Open Curses does not specify
+ this.
+
+ The X/Open Curses extended conformance level adds new highlights
+@@ -374,23 +371,23 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- X/Open Curses is largely based on SVr4 curses, adding support for
++ X/Open Curses is largely based on SVr4 <EM>curses</EM>, adding support for
+ "wide-characters" (not specific to Unicode). Some of the X/Open
+- differences from SVr4 curses address the way video attributes can be
++ differences from SVr4 <EM>curses</EM> address the way video attributes can be
+ applied to wide-characters. But aside from that, <STRONG>attrset</STRONG> and <STRONG>attr_set</STRONG>
+- are similar. SVr4 curses provided the basic features for manipulating
+- video attributes. However, earlier versions of curses provided a part
++ are similar. SVr4 <EM>curses</EM> provided the basic features for manipulating
++ video attributes. However, earlier versions of <EM>curses</EM> provided a part
+ of these features.
+
+- As seen in 2.8BSD, curses assumed 7-bit characters, using the eighth
++ As seen in 2.8BSD, <EM>curses</EM> assumed 7-bit characters, using the eighth
+ bit of a byte to represent the <EM>standout</EM> feature (often implemented as
+- bold and/or reverse video). The BSD curses library provided functions
++ bold and/or reverse video). The BSD <EM>curses</EM> library provided functions
+ <STRONG>standout</STRONG> and <STRONG>standend</STRONG> which were carried along into X/Open Curses due
+ to their pervasive use in legacy applications.
+
+ Some terminals in the 1980s could support a variety of video
+- attributes, although the BSD curses library could do nothing with
+- those. System V (1983) provided an improved curses library. It
++ attributes, although the BSD <EM>curses</EM> library could do nothing with
++ those. System V (1983) provided an improved <EM>curses</EM> library. It
+ defined the <STRONG>A_</STRONG> symbols for use by applications to manipulate the other
+ attributes. There are few useful references for the chronology.
+
+@@ -398,7 +395,7 @@
+ commenting on several functions:
+
+ <STRONG>o</STRONG> the <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, <STRONG>attrset</STRONG> functions (and most of the functions
+- found in SVr4 but not in BSD curses) were introduced by System V,
++ found in SVr4 but not in BSD <EM>curses</EM>) were introduced by System V,
+
+ <STRONG>o</STRONG> the alternate character set feature with <STRONG>A_ALTCHARSET</STRONG> was added in
+ SVr2 and improved in SVr3 (by adding <STRONG>acs_map[]</STRONG>),
+@@ -408,17 +405,17 @@
+
+ <STRONG>o</STRONG> pads, soft-keys were added in SVr3, and
+
+- Goodheart did not mention the background character or the <STRONG>cchar_t</STRONG> type.
++ Goodheart did not mention the background character or the <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> type.
+ Those are respectively SVr4 and X/Open features. He did mention the <STRONG>A_</STRONG>
+ constants, but did not indicate their values. Those were not the same
+ in different systems, even for those marked as System V.
+
+ Different Unix systems used different sizes for the bit-fields in
+- <STRONG>chtype</STRONG> for <EM>characters</EM> and <EM>colors</EM>, and took into account the different
++ <EM>chtype</EM> for <EM>characters</EM> and <EM>colors</EM>, and took into account the different
+ integer sizes (32-bit versus 64-bit).
+
+ This table showing the number of bits for <STRONG>A_COLOR</STRONG> and <STRONG>A_CHARTEXT</STRONG> was
+- gleaned from the curses header files for various operating systems and
++ gleaned from the <EM>curses</EM> header files for various operating systems and
+ architectures. The inferred architecture and notes reflect the format
+ and size of the defined constants as well as clues such as the
+ alternate character set implementation. A 32-bit library can be used
+@@ -447,48 +444,48 @@
+ in 1996.
+
+ <STRONG>o</STRONG> HP-UX 10.30 (1997) marked "curses_colr" obsolete. That version
+- of curses was dropped with HP-UX 11.30 in 2006.
++ of <EM>curses</EM> was dropped with HP-UX 11.30 in 2006.
+
+ Regarding OSF/1 (and Tru64),
+
+- <STRONG>o</STRONG> These used 64-bit hardware. Like <EM>ncurses</EM>, the OSF/1 curses
++ <STRONG>o</STRONG> These used 64-bit hardware. Like <EM>ncurses</EM>, the OSF/1 <EM>curses</EM>
+ interface is not customized for 32-bit and 64-bit versions.
+
+ <STRONG>o</STRONG> Unlike other systems which evolved from AT&amp;T code, OSF/1
+- provided a new implementation for X/Open curses.
++ provided a new implementation for X/Open Curses.
+
+ Regarding Solaris,
+
+ <STRONG>o</STRONG> The initial release of Solaris was in 1992.
+
+- <STRONG>o</STRONG> The <EM>xpg4</EM> (X/Open) curses was developed by MKS from 1990 to 1995.
++ <STRONG>o</STRONG> The <EM>xpg4</EM> (X/Open) Curses was developed by MKS from 1990 to 1995.
+ Sun's copyright began in 1996.
+
+- <STRONG>o</STRONG> Sun updated the X/Open curses interface after 64-bit support was
+- introduced in 1997, but did not modify the SVr4 curses
++ <STRONG>o</STRONG> Sun updated the X/Open Curses interface after 64-bit support was
++ introduced in 1997, but did not modify the SVr4 <EM>curses</EM>
+ interface.
+
+ Regarding U/Win,
+
+- <STRONG>o</STRONG> Development of the curses library began in 1991, stopped in
++ <STRONG>o</STRONG> Development of the <EM>curses</EM> library began in 1991, stopped in
+ 2000.
+
+ <STRONG>o</STRONG> Color support was added in 1998.
+
+- <STRONG>o</STRONG> The library uses only <STRONG>chtype</STRONG> (no <STRONG>cchar_t</STRONG>).
++ <STRONG>o</STRONG> The library uses only <EM>chtype</EM> (no <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>).
+
+- Once X/Open curses was adopted in the mid-1990s, the constraint of a
+- 32-bit interface with many colors and wide-characters for <STRONG>chtype</STRONG> became
+- a moot point. The <STRONG>cchar_t</STRONG> structure (whose size and members are not
++ Once X/Open Curses was adopted in the mid-1990s, the constraint of a
++ 32-bit interface with many colors and wide-characters for <EM>chtype</EM> became
++ a moot point. The <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> structure (whose size and members are not
+ specified in X/Open Curses) could be extended as needed.
+
+ Other interfaces are rarely used now:
+
+- <STRONG>o</STRONG> BSD curses was improved slightly in 1993/1994 using Keith Bostic's
++ <STRONG>o</STRONG> BSD <EM>curses</EM> was improved slightly in 1993/1994 using Keith Bostic's
+ modification to make the library 8-bit clean for <STRONG>nvi(1)</STRONG>. He moved
+ <EM>standout</EM> attribute to a structure member.
+
+- The resulting 4.4BSD curses was replaced by <EM>ncurses</EM> over the next
++ The resulting 4.4BSD <EM>curses</EM> was replaced by <EM>ncurses</EM> over the next
+ ten years.
+
+ <STRONG>o</STRONG> U/Win is rarely used now.
+@@ -500,7 +497,7 @@
+
+
+
+-ncurses 6.5 2024-05-25 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_border.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_border.3x.html 2024-05-25 22:33:41.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_border.3x.html 2024-07-27 23:11:31.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_border.3x,v 1.51 2024/05/25 20:10:58 tom Exp @
++ * @Id: curs_border.3x,v 1.53 2024/07/27 19:55: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_border 3x 2024-05-25 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_border 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_border 3x 2024-05-25 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_border 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+
+@@ -118,22 +118,22 @@
+ All routines return the integer <STRONG>OK</STRONG>. The SVr4.0 manual says "or a non-
+ negative integer if <STRONG>immedok</STRONG> is set", but this appears to be an error.
+
+- X/Open Curses does not specify any error conditions. This
+- implementation returns <STRONG>ERR</STRONG> if the window pointer is null.
++ This implementation returns <STRONG>ERR</STRONG> if the window pointer is null.
+
+- 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>
+- The borders generated by these functions are <EM>inside</EM> borders (this is
++ The borders generated by these functions are <EM>inside</EM> borders (this is
+ also true of SVr4 curses, though the fact is not documented).
+
+ Note that <STRONG>border</STRONG> and <STRONG>box</STRONG> may be macros.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- These functions are described in X/Open Curses, Issue 4.
++ These functions are described in X/Open Curses, Issue 4. It specifies
++ no error conditions for them.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -141,7 +141,7 @@
+
+
+
+-ncurses 6.5 2024-05-25 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_delch.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_delch.3x.html 2024-05-11 21:39:56.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_delch.3x.html 2024-07-27 23:11:31.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_delch.3x,v 1.35 2024/05/11 20:39:53 tom Exp @
++ * @Id: curs_delch.3x,v 1.37 2024/07/27 20:14:16 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-05-11 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_delch 3x 2024-07-27 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-05-11 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_delch 3x 2024-07-27 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>
+
+@@ -55,9 +55,9 @@
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>delch(void);</STRONG>
+- <STRONG>int</STRONG> <STRONG>wdelch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>wdelch(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvdelch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwdelch(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>int</STRONG> <STRONG>mvwdelch(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>
+@@ -73,7 +73,7 @@
+ </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.
+
+- Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
++ In <EM>ncurses</EM>, they return <STRONG>ERR</STRONG> if <EM>win</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.
+@@ -94,12 +94,16 @@
+ value other than <STRONG>ERR</STRONG>".
+
+
++</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
++ SVr2 (1984) introduced <EM>delch</EM>.
++
++
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+
+
+
+-ncurses 6.5 2024-05-11 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -109,6 +113,7 @@
+ <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_deleteln.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_deleteln.3x.html 2024-04-27 18:38:46.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_deleteln.3x.html 2024-07-27 23:11:31.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_deleteln.3x,v 1.38 2024/04/20 21:20:07 tom Exp @
++ * @Id: curs_deleteln.3x,v 1.40 2024/07/27 20:12:02 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_deleteln 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_deleteln 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_deleteln 3x 2024-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_deleteln 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+
+@@ -47,7 +47,7 @@
+
+
+ </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+- <STRONG>deleteln</STRONG>, <STRONG>wdeleteln</STRONG>, <STRONG>insdelln</STRONG>, <STRONG>winsdelln</STRONG>, <STRONG>insertln</STRONG>, <STRONG>winsertln</STRONG> - delete
++ <STRONG>deleteln</STRONG>, <STRONG>wdeleteln</STRONG>, <STRONG>insertln</STRONG>, <STRONG>winsertln</STRONG>, <STRONG>insdelln</STRONG>, <STRONG>winsdelln</STRONG> - delete
+ or insert lines in a <EM>curses</EM> window
+
+
+@@ -55,53 +55,58 @@
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>deleteln(void);</STRONG>
+- <STRONG>int</STRONG> <STRONG>wdeleteln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+-
+- <STRONG>int</STRONG> <STRONG>insdelln(int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>winsdelln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>wdeleteln(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>insertln(void);</STRONG>
+- <STRONG>int</STRONG> <STRONG>winsertln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>winsertln(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>);</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>insdelln(int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>winsdelln(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+- The <STRONG>deleteln</STRONG> and <STRONG>wdeleteln</STRONG> routines delete the line under the cursor in
+- the window; all lines below the current line are moved up one line.
+- The bottom line of the window is cleared. The cursor position does not
+- change.
+-
+- The <STRONG>insdelln</STRONG> and <STRONG>winsdelln</STRONG> routines, for positive <EM>n</EM>, insert <EM>n</EM> lines
+- into the specified window above the current line. The <EM>n</EM> bottom lines
+- are lost. For negative <EM>n</EM>, delete <EM>n</EM> lines (starting with the one under
+- the cursor), and move the remaining lines up. The bottom <EM>n</EM> lines are
+- cleared. The current cursor position remains the same.
++ <STRONG>wdeleteln</STRONG> deletes the line at the cursor in <EM>win</EM>; all lines below it
++ move up one line. <EM>curses</EM> then fills the bottom line of <EM>win</EM> with the
++ blank character configured by <STRONG><A HREF="curs_bkgd.3x.html">wbkgdset(3x)</A></STRONG> (wide-character API users:
++ <STRONG><A HREF="curs_bkgrnd.3x.html">wbkgrndset(3x)</A></STRONG>). The cursor position does not change.
++
++ <STRONG>winsertln</STRONG> inserts a line of blank characters above the line at the
++ cursor in <EM>win</EM>; the content of the window's bottom line is lost. The
++ cursor position does not change.
++
++ <STRONG>winsdelln</STRONG> inserts or deletes <EM>n</EM> lines in <EM>win</EM> as <EM>n</EM> is positive or
++ negative, respectively, as if by repeatedly calling <STRONG>winsertln</STRONG> or
++ <STRONG>wdeleteln</STRONG>.
+
+- The <STRONG>insertln</STRONG> and <STRONG>winsertln</STRONG> routines insert a blank line above the
+- current line and the bottom line is lost.
++ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of these functions.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+- These routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4
+- specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+- completion.
++ These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
+
+- X/Open defines no error conditions. In this implementation, if the
+- window parameter is null, an error is returned.
++ In <EM>ncurses</EM>, they fail if <EM>win</EM> is <STRONG>NULL</STRONG>.
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+- Note that all but <STRONG>winsdelln</STRONG> may be macros.
++ All of these functions except <STRONG>winsdelln</STRONG> may be implemented as macros.
+
+- These routines do not require a hardware line delete or insert feature
+- in the terminal. In fact, they will not use hardware line
+- delete/insert unless <STRONG>idlok(...,</STRONG> <STRONG>TRUE)</STRONG> has been set on the current
+- window.
++ These functions do not require the terminal to possess hardware line
++ deletion or insertion capabilities. Even if available, by default
++ <EM>curses</EM> does not use them; see <STRONG><A HREF="idlok.3x.html">idlok(3x)</A></STRONG>.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- These functions are described in X/Open Curses, Issue 4. The standard
+- specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no error
+- conditions.
++ 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>".
++
++
++</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
++ 4BSD (1980) <EM>curses</EM> introduced <EM>wdeleteln</EM> and <EM>winsertln</EM>.
++
++ SVr3.1 (1987) added <EM>winsdelln</EM>.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -109,7 +114,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -119,6 +124,7 @@
+ <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_extend.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_extend.3x.html 2024-04-27 18:38:46.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_extend.3x.html 2024-07-27 23:23:56.000000000 +0000
+@@ -28,19 +28,19 @@
+ * authorization. *
+ ****************************************************************************
+ * Author: Thomas E. Dickey 1999-on
+- * @Id: curs_extend.3x,v 1.46 2024/03/16 15:35:01 tom Exp @
++ * @Id: curs_extend.3x,v 1.49 2024/07/27 23:21:36 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_extend 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_extend 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_extend 3x 2024-03-16 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_extend 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
+
+@@ -55,41 +55,46 @@
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>curses_version(void);</STRONG>
+- <STRONG>int</STRONG> <STRONG>use_extended_names(bool</STRONG> <EM>enable</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>use_extended_names(bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+- These functions are extensions to the curses library which do not fit
+- easily into other categories.
++ These <EM>ncurses</EM> extensions to the <EM>curses</EM> library do not fit easily into
++ other functional categories.
+
+
+ </PRE><H3><a name="h3-curses_version">curses_version</a></H3><PRE>
+- Use <STRONG>curses_version</STRONG> to get the version number, including patch level of
+- the library, prefixed by "ncurses", e.g.,
+-
+- <STRONG>ncurses</STRONG> <STRONG>5.0.19991023</STRONG>
++ <STRONG>curses_version</STRONG> returns a pointer to a string containing the library's
++ name and version number, including its patch level, for example
++ "ncurses 6.5.20240720".
+
+
+ </PRE><H3><a name="h3-use_extended_names">use_extended_names</a></H3><PRE>
+- The <STRONG>use_extended_names</STRONG> function controls whether the calling
+- application is able to use user-defined or nonstandard names which may
+- be compiled into the terminfo description, i.e., via the terminfo or
+- termcap interfaces. Normally these names are available for use, since
+- the essential decision is made by using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG> to compile
+- extended terminal definitions. However you can disable this feature to
+- ensure compatibility with other implementations of curses.
++ <STRONG>use_extended_names</STRONG> configures whether the library recognizes user-
++ defined or nonstandard <EM>terminfo</EM> capability names that may be compiled
++ into terminal type descriptions via the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> or
++ <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> interfaces. Normally these names are available for
++ use, since the essential decision is made through use of <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG>'s <STRONG>-x</STRONG>
++ option to include such extensions in terminal type descriptions.
++ <STRONG>use_extended_names</STRONG> can prevent <EM>ncurses</EM> from recognizing these
++ capabilities to ensure compatibility with other implementations of
++ <EM>curses</EM>.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+- <STRONG>curses_version</STRONG> returns a pointer to static memory; you should not free
+- this in your application.
++ <STRONG>curses_version</STRONG> returns a constant string.
++
++ <STRONG>use_extended_names</STRONG> returns the previous state of extended capability
++ name recognition, allowing you to save this property and restore it.
+
+- <STRONG>use_extended_names</STRONG> returns the previous state, allowing you to save
+- this and restore it.
++
++</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
++ The pointer returned by <STRONG>curses_version</STRONG> corresponds to statically
++ allocated memory; do not attempt to <STRONG>free(3)</STRONG> it.
+
+
+ </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+- These functions are <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> extensions, and are not found in SVr4
++ These functions are <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> extensions, and are not found in SVr4
+ <EM>curses</EM>, 4.4BSD <EM>curses</EM>, or any other previous curses implementation.
+
+
+@@ -99,17 +104,19 @@
+
+
+ </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+- Thomas Dickey.
++ Thomas Dickey
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
++ <EM>ncurses</EM> offers several other extensions to the X/Open Curses API.
++
+ <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
+- <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>, <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>,
++ <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>, <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>,
+ <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+
+
+
+-ncurses 6.5 2024-03-16 <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -122,6 +129,7 @@
+ </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></li>
+ <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+ <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+Index: doc/html/man/curs_in_wch.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_in_wch.3x.html 2024-05-18 20:27:54.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_in_wch.3x.html 2024-07-27 23:11:31.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_in_wch.3x,v 1.33 2024/05/18 20:19:38 tom Exp @
++ * @Id: curs_in_wch.3x,v 1.35 2024/07/27 20:06:49 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_in_wch 3x 2024-05-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_in_wch 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_in_wch 3x 2024-05-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_in_wch 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+
+@@ -47,7 +47,7 @@
+
+
+ </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+- <STRONG>in_wch</STRONG>, <STRONG>mvin_wch</STRONG>, <STRONG>mvwin_wch</STRONG>, <STRONG>win_wch</STRONG> - get a <EM>curses</EM> complex character
++ <STRONG>in_wch</STRONG>, <STRONG>win_wch</STRONG>, <STRONG>mvin_wch</STRONG>, <STRONG>mvwin_wch</STRONG> - get a <EM>curses</EM> complex character
+ from a window
+
+
+@@ -70,7 +70,7 @@
+ </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>win_wch</STRONG> returns <STRONG>ERR</STRONG> if <EM>win</EM> is <STRONG>NULL</STRONG>.
++ In <EM>ncurses</EM>, they return <STRONG>ERR</STRONG> if <EM>win</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.
+@@ -89,15 +89,24 @@
+ error conditions for them.
+
+
++</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
++ These functions were initially specified by X/Open Curses, Issue 4.
++ The System V Interface Definition, Version 4 (1995), specified a
++ function named <EM>winwch</EM> (and the usual variants). This was a later
++ addition to SVr4.<EM>x</EM>, not appearing in the first SVr4 (1989). It
++ differed from X/Open's later <EM>win</EM><STRONG>_</STRONG><EM>wch</EM> in that it returned a value of
++ type <EM>chtype</EM> instead of <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
++
++
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+- <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library in
++ <STRONG><A HREF="curs_inch.3x.html">curs_inch(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_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+
+
+
+-ncurses 6.5 2024-05-18 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -107,6 +116,7 @@
+ <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_inch.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_inch.3x.html 2024-06-08 23:12:49.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_inch.3x.html 2024-07-27 23:11:31.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_inch.3x,v 1.60 2024/06/08 20:45:43 tom Exp @
++ * @Id: curs_inch.3x,v 1.62 2024/07/27 19:58:17 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-06-08 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_inch 3x 2024-07-27 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-06-08 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_inch 3x 2024-07-27 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>
+
+@@ -70,7 +70,7 @@
+ </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>winch</STRONG> returns <STRONG>ERR</STRONG> if <EM>win</EM> is <STRONG>NULL</STRONG>.
++ In <EM>ncurses</EM>, they return return <STRONG>ERR</STRONG> if <EM>win</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.
+@@ -118,7 +118,7 @@
+
+
+
+-ncurses 6.5 2024-06-08 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_ins_wch.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_ins_wch.3x.html 2024-05-25 22:33:42.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_ins_wch.3x.html 2024-07-27 23:11:31.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_ins_wch.3x,v 1.32 2024/05/25 20:16:27 tom Exp @
++ * @Id: curs_ins_wch.3x,v 1.34 2024/07/27 20:05:18 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_ins_wch 3x 2024-05-25 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_ins_wch 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_ins_wch 3x 2024-05-25 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_ins_wch 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+
+@@ -47,17 +47,17 @@
+
+
+ </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+- <STRONG>ins_wch</STRONG>, <STRONG>mvins_wch</STRONG>, <STRONG>mvwins_wch</STRONG>, <STRONG>wins_wch</STRONG> - insert a <EM>curses</EM> complex
++ <STRONG>ins_wch</STRONG>, <STRONG>wins_wch</STRONG>, <STRONG>mvins_wch</STRONG>, <STRONG>mvwins_wch</STRONG> - insert a <EM>curses</EM> complex
+ character in a window
+
+
+ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+- <STRONG>int</STRONG> <STRONG>ins_wch(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>wins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvins_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwins_wch(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>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>ins_wch(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG> <EM>wch</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>wins_wch(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG> <EM>wch</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvins_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG> <EM>wch</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwins_wch(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>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG> <EM>wch</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+@@ -92,8 +92,12 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- SVr4 (1989) implemented these functions under the names <STRONG>inswch</STRONG>,
+- <STRONG>winswch</STRONG>, <STRONG>mvinswch</STRONG>, and <STRONG>mvwinswch</STRONG>.
++ These functions were initially specified by X/Open Curses, Issue 4.
++ The System V Interface Definition, Version 4 (1995), specified a
++ function named <EM>winswch</EM> (and the usual variants). This was a later
++ addition to SVr4.<EM>x</EM>, not appearing in the first SVr4 (1989). It
++ differed from X/Open's later <EM>wins</EM><STRONG>_</STRONG><EM>wch</EM> in that it took an argument of
++ type <EM>chtype</EM> instead of <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -104,7 +108,7 @@
+
+
+
+-ncurses 6.5 2024-05-25 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_ins_wstr.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_ins_wstr.3x.html 2024-06-08 23:12:49.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_ins_wstr.3x.html 2024-07-27 23:11:31.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_ins_wstr.3x,v 1.42 2024/06/08 21:04:04 tom Exp @
++ * @Id: curs_ins_wstr.3x,v 1.44 2024/07/27 20:15:31 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_ins_wstr 3x 2024-06-08 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_ins_wstr 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_ins_wstr 3x 2024-06-08 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_ins_wstr 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+
+@@ -47,74 +47,80 @@
+
+
+ </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+- <STRONG>ins_wstr</STRONG>, <STRONG>ins_nwstr</STRONG>, <STRONG>wins_wstr</STRONG>, <STRONG>wins_nwstr</STRONG>, <STRONG>mvins_wstr</STRONG>, <STRONG>mvins_nwstr</STRONG>,
+- <STRONG>mvwins_wstr</STRONG>, <STRONG>mvwins_nwstr</STRONG> - insert a wide-character string in a <EM>curses</EM>
++ <STRONG>ins_wstr</STRONG>, <STRONG>wins_wstr</STRONG>, <STRONG>mvins_wstr</STRONG>, <STRONG>mvwins_wstr</STRONG>, <STRONG>ins_nwstr</STRONG>, <STRONG>wins_nwstr</STRONG>,
++ <STRONG>mvins_nwstr</STRONG>, <STRONG>mvwins_nwstr</STRONG> - insert a wide-character string in a <EM>curses</EM>
+ window
+
+
+ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+- <STRONG>int</STRONG> <STRONG>ins_wstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>ins_nwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>wins_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>wins_nwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+-
+- <STRONG>int</STRONG> <STRONG>mvins_wstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvins_nwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwins_wstr(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>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwins_nwstr(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>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>ins_wstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>wins_wstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvins_wstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwins_wstr(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>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>);</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>ins_nwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>wins_nwstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvins_nwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwins_nwstr(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>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+- These routines insert a <STRONG>wchar_t</STRONG> character string (as many characters as
+- will fit on the line) before the character under the cursor, as if
+- calling <STRONG><A HREF="curs_ins_wch.3x.html">wins_wch(3x)</A></STRONG>. All characters to the right of the cursor are
+- shifted right, with the possibility of the rightmost characters on the
+- line being lost. No wrapping is performed.
+-
+- The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>, if
+- specified).
+-
+- The functions with <EM>n</EM> as the last argument insert a leading substring of
+- at most <EM>n</EM> <STRONG>wchar_t</STRONG> characters. If <EM>n</EM> is less than zero, the entire
+- string is inserted (stopping on a L'\0' character).
+-
+- Special characters are handled as in <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>.
++ <STRONG>wins_wstr</STRONG> inserts a wide-character string <EM>wstr</EM> before the character at
++ the cursor in window <EM>win</EM> as if by calling <STRONG><A HREF="curs_ins_wch.3x.html">wins_wch(3x)</A></STRONG> for each <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>
++ in <EM>wstr</EM>. No line wrapping is performed. Characters to the right of
++ the cursor are shifted right; those at the right edge of the window may
++ be lost. <STRONG>wins_wstr</STRONG> stops inserting if it would have to wrap to the
++ next line to write the next <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> in <EM>wstr</EM>. The cursor position does
++ not change (after moving to (<EM>y</EM>, <EM>x</EM>), if specified). <STRONG>wins_nwstr</STRONG> does the
++ same, but inserts at most <EM>n</EM> characters, or as many as possible (up to
++ the end of the line) if <EM>n</EM> is <STRONG>-1</STRONG>. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of
++ these functions.
+
+
+ </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.
+
+- X/Open Curses does not specify any error conditions. In <EM>ncurses</EM>, they
+- return <STRONG>ERR</STRONG> if
++ In <EM>ncurses</EM>, they return <STRONG>ERR</STRONG> if
+
+ <STRONG>o</STRONG> <EM>win</EM> is <STRONG>NULL</STRONG>,
+
+- <STRONG>o</STRONG> <EM>wstr</EM> is <STRONG>NULL</STRONG>, or
++ <STRONG>o</STRONG> <EM>wstr</EM> is <STRONG>NULL</STRONG>,
++
++ <STRONG>o</STRONG> the first wide character in <EM>wstr</EM> is a non-spacing character, or
+
+ <STRONG>o</STRONG> an internal <STRONG><A HREF="curs_ins_wch.3x.html">wins_wch(3x)</A></STRONG> call returns <STRONG>ERR</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 of these functions except <STRONG>wins_nwstr</STRONG> may be implemented as macros.
+
+- If the first character in the string is a non-spacing character, these
+- functions return <STRONG>ERR</STRONG>. X/Open Curses does not specify what happens if a
+- non-spacing character follows a control character.
+-
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- X/Open Curses, Issue 4 describes these functions. It specifies no
++ X/Open Curses, Issue 4 describes these functions. It specifies no
+ error conditions for them.
+
++ X/Open Curses does not specify what happens if a non-spacing character
++ follows a control character.
++
+ Issue 4 states that the entire string is inserted if <EM>n</EM> is less than 1.
+ This is probably an error, because it is inconsistent with other
+- functions, and differs from the SVr4 <EM>curses</EM> and Solaris <EM>xcurses</EM>
+- implementations. Nevertheless, Issue 7 retains it.
++ functions such as <STRONG><A HREF="curs_addwstr.3x.html">waddwstr(3x)</A></STRONG>, and differs from the SVr4 <EM>curses</EM> and
++ Solaris <EM>xcurses</EM> implementations. Nevertheless, Issue 7 retains the
++ language.
++
++
++</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
++ These functions were initially specified by X/Open Curses, Issue 4.
++ The System V Interface Definition, Version 4 (1995), specified
++ functions named <EM>winswstr</EM> and <EM>winsnwstr</EM> (and the usual variants). These
++ were later additions to SVr4.<EM>x</EM>, not appearing in the first SVr4 (1989).
++ They differ from X/Open's later <EM>wins</EM><STRONG>_</STRONG><EM>wstr</EM> and <EM>wins</EM><STRONG>_</STRONG><EM>nwstr</EM> in that their
++ <EM>wstr</EM> parameters are not <EM>const</EM>-qualified<EM>.</EM>
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -125,7 +131,7 @@
+
+
+
+-ncurses 6.5 2024-06-08 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -135,6 +141,7 @@
+ <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_insch.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_insch.3x.html 2024-04-27 18:38:46.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_insch.3x.html 2024-07-27 23:11:31.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_insch.3x,v 1.40 2024/04/20 19:03:47 tom Exp @
++ * @Id: curs_insch.3x,v 1.42 2024/07/27 20:08:25 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_insch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_insch 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_insch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_insch 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+
+@@ -55,9 +55,9 @@
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>insch(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>winsch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>winsch(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvinsch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwinsch(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>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwinsch(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>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+@@ -90,6 +90,10 @@
+ value other than <STRONG>ERR</STRONG>".
+
+
++</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
++ SVr2 (1984) introduced <EM>winsch</EM>.
++
++
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> describes comparable functions in the wide-character
+ <EM>curses</EM> configuration.
+@@ -98,7 +102,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -108,6 +112,7 @@
+ <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_insstr.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_insstr.3x.html 2024-06-08 23:12:49.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_insstr.3x.html 2024-07-27 23:11:31.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_insstr.3x,v 1.55 2024/06/08 21:03:03 tom Exp @
++ * @Id: curs_insstr.3x,v 1.57 2024/07/27 20:07:59 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_insstr 3x 2024-06-08 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_insstr 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_insstr 3x 2024-06-08 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_insstr 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+
+@@ -47,73 +47,74 @@
+
+
+ </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+- <STRONG>insstr</STRONG>, <STRONG>insnstr</STRONG>, <STRONG>winsstr</STRONG>, <STRONG>winsnstr</STRONG>, <STRONG>mvinsstr</STRONG>, <STRONG>mvinsnstr</STRONG>, <STRONG>mvwinsstr</STRONG>,
++ <STRONG>insstr</STRONG>, <STRONG>winsstr</STRONG>, <STRONG>mvinsstr</STRONG>, <STRONG>mvinsnstr</STRONG>, <STRONG>insnstr</STRONG>, <STRONG>winsnstr</STRONG>, <STRONG>mvwinsstr</STRONG>,
+ <STRONG>mvwinsnstr</STRONG> - insert a string in a <EM>curses</EM> window
+
+
+ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+- <STRONG>int</STRONG> <STRONG>insstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>insnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>winsstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>winsnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+-
+- <STRONG>int</STRONG> <STRONG>mvinsstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvinsnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwinsstr(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>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwinsnstr(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>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
++ <STRONG>int</STRONG> <STRONG>insstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>winsstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvinsstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwinsstr(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>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>);</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>insnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>winsnstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvinsnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwinsnstr(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>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+-</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+- These routines insert a character string (as many characters as will
+- fit on the line) before the character under the cursor, as if calling
+- <STRONG><A HREF="curs_insch.3x.html">winsch(3x)</A></STRONG>. All characters to the right of the cursor are shifted
+- right, with the possibility of the rightmost characters on the line
+- being lost. No wrapping is performed.
+-
+- The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>, if
+- specified).
+-
+- The functions with <EM>n</EM> as the last argument insert a leading substring of
+- at most <EM>n</EM> characters. If <EM>n</EM> is less than zero, the entire string is
+- inserted (stopping on a NUL character).
+
+- Special characters are handled as in <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG>.
++</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
++ <STRONG>winsstr</STRONG> inserts a string <EM>str</EM> before the character at the cursor in
++ window <EM>win</EM> as if by calling <STRONG><A HREF="curs_insch.3x.html">winsch(3x)</A></STRONG> for each <EM>char</EM> in <EM>str</EM>. No line
++ wrapping is performed. Characters to the right of the cursor are
++ shifted right; those at the right edge of the window may be lost.
++ <STRONG>winsstr</STRONG> stops inserting if it would have to wrap to the next line to
++ write the next <EM>char</EM> in <EM>str</EM>. The cursor position does not change (after
++ moving to (<EM>y</EM>, <EM>x</EM>), if specified). <STRONG>insnstr</STRONG> does the same, but inserts at
++ most <EM>n</EM> characters, or as many as possible (up to the end of the line)
++ if <EM>n</EM> is <STRONG>-1</STRONG>. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of these functions.
+
+
+ </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 <STRONG>ERR</STRONG>
++ In <EM>ncurses</EM>, they return <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>,
+
+- <STRONG>o</STRONG> if the <EM>str</EM> parameter is null or
++ <STRONG>o</STRONG> <EM>str</EM> is <STRONG>NULL</STRONG>, or
+
+- <STRONG>o</STRONG> the <STRONG><A HREF="curs_insch.3x.html">winsch(3x)</A></STRONG> function returns <STRONG>ERR</STRONG>.
++ <STRONG>o</STRONG> an internal <STRONG><A HREF="curs_insch.3x.html">winsch(3x)</A></STRONG> call returns <STRONG>ERR</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 but <STRONG>winsnstr</STRONG> may be macros.
++ All of these functions except <STRONG>winsnstr</STRONG> may be implemented as macros.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ X/Open Curses, Issue 4 describes these functions. It specifies no
+ error conditions for them.
+
+- Issue 4 distinguished <STRONG>insnstr</STRONG> and <STRONG>winsnstr</STRONG> by stating they "do not
+- perform wrapping". This was probably an error, since it makes this
+- group of functions inconsistent. No implementation of <EM>curses</EM> documents
+- this inconsistency, and Issue 7 removed it.
+-
+- Issue 4 states that the entire string is inserted if <EM>n</EM> is less than 1.
+- This is probably an error, because it is inconsistent with other
+- functions, and differs from the SVr4 <EM>curses</EM> and Solaris <EM>xcurses</EM>
+- implementations. Nevertheless, Issue 7 retains it.
++ Issue 4 distinguished <STRONG>insnstr</STRONG> and <STRONG>winsnstr</STRONG> from the other functions
++ documented above by stating they "do not perform wrapping". This was
++ probably an error, since it makes this group of functions inconsistent.
++ No implementation of <EM>curses</EM> documents this inconsistency, and Issue 7
++ removed it.
++
++ Issue 4 states that the entire string is inserted if <EM>n</EM> is less than 1.
++ This is probably an error, because it is inconsistent with other
++ functions such as <STRONG><A HREF="curs_addstr.3x.html">waddstr(3x)</A></STRONG>, and differs from the SVr4 <EM>curses</EM> and
++ Solaris <EM>xcurses</EM> implementations. Nevertheless, Issue 7 retains the
++ language.
++
++
++</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
++ SVr3.1 (1987) introduced <EM>winsstr</EM> and <EM>winsnstr</EM>.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -124,7 +125,7 @@
+
+
+
+-ncurses 6.5 2024-06-08 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -134,6 +135,7 @@
+ <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_move.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_move.3x.html 2024-07-20 22:19:04.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_move.3x.html 2024-07-27 23:11:32.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_move.3x,v 1.42 2024/07/20 20:54:08 tom Exp @
++ * @Id: curs_move.3x,v 1.44 2024/07/27 20:11:42 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_move 3x 2024-07-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_move 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_move 3x 2024-07-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_move 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+
+@@ -70,7 +70,7 @@
+
+ They fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+- <STRONG>wmove</STRONG> fails if its <EM>WINDOW</EM> pointer argument is <STRONG>NULL</STRONG>.
++ In <EM>ncurses</EM>, <STRONG>wmove</STRONG> fails if its <EM>WINDOW</EM> pointer argument is <STRONG>NULL</STRONG>.
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+@@ -78,8 +78,14 @@
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- X/Open Curses, Issue 4 describes these functions. 4BSD (1980) <EM>curses</EM>
+- introduced <EM>wmove</EM>.
++ X/Open Curses, Issue 4 describes these functions.
++
++ SVr4 <EM>curses</EM> describes a successful return value only as "an integer
++ value other than <STRONG>ERR</STRONG>".
++
++
++</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
++ 4BSD (1980) <EM>curses</EM> introduced <EM>wmove</EM>.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -87,7 +93,7 @@
+
+
+
+-ncurses 6.5 2024-07-20 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -97,6 +103,7 @@
+ <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_outopts.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_outopts.3x.html 2024-05-25 22:33:42.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_outopts.3x.html 2024-07-27 23:11:32.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_outopts.3x,v 1.67 2024/05/25 20:10:58 tom Exp @
++ * @Id: curs_outopts.3x,v 1.69 2024/07/27 19:55: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_outopts 3x 2024-05-25 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_outopts 3x 2024-07-27 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-05-25 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_outopts 3x 2024-07-27 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>
+
+@@ -148,8 +148,6 @@
+ upon failure. All other routines that return an integer always return
+ <STRONG>OK</STRONG>.
+
+- X/Open Curses does not specify any error conditions.
+-
+ In this implementation,
+
+ <STRONG>o</STRONG> those functions that have a window pointer will return <STRONG>ERR</STRONG> if the
+@@ -168,35 +166,36 @@
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- These functions are described in X/Open Curses, Issue 4.
++ These functions are described in X/Open Curses, Issue 4. It specifies
++ no error conditions for them.
+
+- Some historic curses implementations had, as an undocumented feature,
++ Some historic curses implementations had, as an undocumented feature,
+ the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying
+ <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under <EM>ncurses</EM>.
+
+- Earlier System V curses implementations specified that with <STRONG>scrollok</STRONG>
+- enabled, any window modification triggering a scroll also forced a
+- physical refresh. X/Open Curses does not require this, and <EM>ncurses</EM>
+- avoids doing it to perform better vertical-motion optimization at
++ Earlier System V curses implementations specified that with <STRONG>scrollok</STRONG>
++ enabled, any window modification triggering a scroll also forced a
++ physical refresh. X/Open Curses does not require this, and <EM>ncurses</EM>
++ avoids doing it to perform better vertical-motion optimization at
+ <STRONG>wrefresh</STRONG> time.
+
+ X/Open Curses does not mention that the cursor should be made invisible
+- as a side-effect of <STRONG>leaveok</STRONG>. SVr4 curses documentation does this, but
++ as a side-effect of <STRONG>leaveok</STRONG>. SVr4 curses documentation does this, but
+ the code does not. Use <STRONG>curs_set</STRONG> to make the cursor invisible.
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- <EM>ncurses</EM> formerly treated <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">nonl(3x)</A></STRONG> as both input <EM>and</EM> output
++ <EM>ncurses</EM> formerly treated <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">nonl(3x)</A></STRONG> as both input <EM>and</EM> output
+ options, but no longer; see <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,
++ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+
+
+
+-ncurses 6.5 2024-05-25 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_pad.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_pad.3x.html 2024-06-22 22:55:08.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_pad.3x.html 2024-07-27 23:11:32.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_pad.3x,v 1.65 2024/06/22 22:20:03 tom Exp @
++ * @Id: curs_pad.3x,v 1.67 2024/07/27 19:55: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_pad 3x 2024-06-22 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_pad 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_pad 3x 2024-06-22 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_pad 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+
+@@ -136,20 +136,19 @@
+ Functions that return pointers return <STRONG>NULL</STRONG> on error, and set <EM>errno</EM> to
+ <STRONG>ENOMEM</STRONG>.
+
+- X/Open Curses does not specify any error conditions. In this
+- implementation
++ In this implementation
+
+ <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>
+- return <STRONG>ERR</STRONG> if the window pointer is null, or if the window is
+- not really a pad or if the area to refresh extends off-screen
++ return <STRONG>ERR</STRONG> if the window pointer is null, or if the window is
++ not really a pad or if the area to refresh extends off-screen
+ or if the minimum coordinates are greater than the maximum.
+
+ <STRONG>pechochar</STRONG>
+- returns <STRONG>ERR</STRONG> if the window is not really a pad, and the
++ returns <STRONG>ERR</STRONG> if the window is not really a pad, and the
+ associated call to <STRONG>wechochar</STRONG> returns <STRONG>ERR</STRONG>.
+
+ <STRONG>pecho_wchar</STRONG>
+- returns <STRONG>ERR</STRONG> if the window is not really a pad, and the
++ returns <STRONG>ERR</STRONG> if the window is not really a pad, and the
+ associated call to <STRONG>wecho_wchar</STRONG> returns <STRONG>ERR</STRONG>.
+
+
+@@ -160,67 +159,67 @@
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ BSD <EM>curses</EM> has no <EM>pad</EM> feature.
+
+- SVr2 <EM>curses</EM> (1986) provided the <STRONG>newpad</STRONG> and related functions,
+- documenting them in a single line each. SVr3 (1987) provided more
++ SVr2 <EM>curses</EM> (1986) provided the <STRONG>newpad</STRONG> and related functions,
++ documenting them in a single line each. SVr3 (1987) provided more
+ extensive documentation.
+
+- The documentation does not explain the term <EM>pad</EM>. However, the Apollo
++ The documentation does not explain the term <EM>pad</EM>. However, the Apollo
+ <EM>Aegis</EM> workstation operating system supported a graphical <EM>pad</EM> feature:
+
+- <STRONG>o</STRONG> These graphical pads could be much larger than the computer's
++ <STRONG>o</STRONG> These graphical pads could be much larger than the computer's
+ display.
+
+- <STRONG>o</STRONG> The read-only output from a command could be scrolled back to
++ <STRONG>o</STRONG> The read-only output from a command could be scrolled back to
+ inspect, and select text from the pad.
+
+ The two uses may be related.
+
+- X/Open Curses, Issue 4 describes these functions, without significant
+- change from the SVr3 documentation. It describes no error conditions.
+- The behavior of <STRONG>subpad</STRONG> if the parent window is not a pad is
++ X/Open Curses, Issue 4 describes these functions, without significant
++ change from the SVr3 documentation. It specifies no error conditions
++ for them. The behavior of <STRONG>subpad</STRONG> if the parent window is not a pad is
+ undocumented, and is not checked by the vendor Unix implementations:
+
+- <STRONG>o</STRONG> SVr4 <EM>curses</EM> sets a flag in the <EM>WINDOW</EM> structure in <STRONG>newpad</STRONG> which
++ <STRONG>o</STRONG> SVr4 <EM>curses</EM> sets a flag in the <EM>WINDOW</EM> structure in <STRONG>newpad</STRONG> which
+ tells if the window is a <EM>pad</EM>.
+
+- However, it uses this information only in <STRONG>waddch</STRONG> (to decide if it
+- should call <STRONG>wrefresh</STRONG>) and <STRONG>wscrl</STRONG> (to avoid scrolling a pad), and
+- does not check in <STRONG>wrefresh</STRONG> to ensure that the pad is refreshed
++ However, it uses this information only in <STRONG>waddch</STRONG> (to decide if it
++ should call <STRONG>wrefresh</STRONG>) and <STRONG>wscrl</STRONG> (to avoid scrolling a pad), and
++ does not check in <STRONG>wrefresh</STRONG> to ensure that the pad is refreshed
+ properly.
+
+- <STRONG>o</STRONG> Solaris <EM>xcurses</EM> checks whether a window is a pad in <STRONG>wnoutrefresh</STRONG>,
++ <STRONG>o</STRONG> Solaris <EM>xcurses</EM> checks whether a window is a pad in <STRONG>wnoutrefresh</STRONG>,
+ returning <STRONG>ERR</STRONG> in that case.
+
+- However, it only sets the flag for subwindows if the parent window
+- is a pad. Its <STRONG>newpad</STRONG> function does not set this information.
++ However, it only sets the flag for subwindows if the parent window
++ is a pad. Its <STRONG>newpad</STRONG> function does not set this information.
+ Consequently, the check will never fail.
+
+- It makes no comparable check in <STRONG>pnoutrefresh</STRONG>, though interestingly
+- enough, a comment in the source code states that the lack of a
++ It makes no comparable check in <STRONG>pnoutrefresh</STRONG>, though interestingly
++ enough, a comment in the source code states that the lack of a
+ check was an MKS extension.
+
+- <STRONG>o</STRONG> NetBSD 7 <EM>curses</EM> sets a flag in the <EM>WINDOW</EM> structure for <STRONG>newpad</STRONG> and
+- <STRONG>subpad</STRONG>, using this to help with the distinction between
++ <STRONG>o</STRONG> NetBSD 7 <EM>curses</EM> sets a flag in the <EM>WINDOW</EM> structure for <STRONG>newpad</STRONG> and
++ <STRONG>subpad</STRONG>, using this to help with the distinction between
+ <STRONG>wnoutrefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>.
+
+- It does not check for the case where a subwindow is created in a
++ It does not check for the case where a subwindow is created in a
+ pad using <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG>.
+
+- The <STRONG>dupwin</STRONG> function returns a regular window when duplicating a
+- pad. Likewise, <STRONG>getwin</STRONG> always returns a window, even if the saved
++ The <STRONG>dupwin</STRONG> function returns a regular window when duplicating a
++ pad. Likewise, <STRONG>getwin</STRONG> always returns a window, even if the saved
+ data was from a pad.
+
+ This implementation
+
+ <STRONG>o</STRONG> sets a flag in the <EM>WINDOW</EM> structure for <STRONG>newpad</STRONG> and <STRONG>subpad</STRONG>,
+
+- <STRONG>o</STRONG> allows a <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG> call to succeed having a pad parent by
++ <STRONG>o</STRONG> allows a <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG> call to succeed having a pad parent by
+ forcing the subwindow to be a pad,
+
+- <STRONG>o</STRONG> checks in both <STRONG>wnoutrefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> to ensure that pads
++ <STRONG>o</STRONG> checks in both <STRONG>wnoutrefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> to ensure that pads
+ and windows are handled distinctly, and
+
+- <STRONG>o</STRONG> ensures that <STRONG>dupwin</STRONG> and <STRONG>getwin</STRONG> treat pads versus windows
++ <STRONG>o</STRONG> ensures that <STRONG>dupwin</STRONG> and <STRONG>getwin</STRONG> treat pads versus windows
+ consistently.
+
+
+@@ -229,7 +228,7 @@
+
+
+
+-ncurses 6.5 2024-06-22 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_print.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_print.3x.html 2024-04-27 18:38:47.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_print.3x.html 2024-07-27 23:11:32.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_print.3x,v 1.38 2024/03/16 15:35:01 tom Exp @
++ * @Id: curs_print.3x,v 1.40 2024/07/27 20:03:57 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_print 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_print 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_print 3x 2024-03-16 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_print 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
+
+@@ -53,49 +53,57 @@
+ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+- <STRONG>int</STRONG> <STRONG>mcprint(char</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>len</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mcprint(char</STRONG> <STRONG>*</STRONG> <EM>data</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>len</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+- This function uses the <STRONG>mc5p</STRONG> or <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities, if they are
+- present, to ship given data to a printer attached to the terminal.
+-
+- Note that the <STRONG>mcprint</STRONG> code has no way to do flow control with the
+- printer or to know how much buffering it has. Your application is
+- responsible for keeping the rate of writes to the printer below its
+- continuous throughput rate (typically about half of its nominal cps
+- rating). Dot-matrix printers and 6-page-per-minute lasers can
+- typically handle 80cps, so a good conservative rule of thumb is to
+- sleep for a second after shipping each 80-character line.
++ <STRONG>mcprint</STRONG>, an <EM>ncurses</EM> extension to the <EM>curses</EM> library, uses the
++ terminal's <STRONG>prtr_non</STRONG> (<STRONG>mc5p</STRONG>) or <STRONG>prtr_on</STRONG> (<STRONG>mc5</STRONG>) and <STRONG>prtr_off</STRONG> (<STRONG>mc4</STRONG>) media
++ copy capabilities, if defined, to send <EM>len</EM> bytes of the given string
++ <EM>data</EM> to a printer attached to the terminal.
++
++ <STRONG>mcprint</STRONG> has no means of flow control to the printer nor of knowing how
++ much buffering it has. Your application is responsible for keeping the
++ rate of writes to the printer below its continuous throughput rate,
++ typically about half of its nominal characters-per-second (cps) rating.
++ Dot-matrix printers and 6-page-per-minute laser printers can typically
++ handle 80 cps, so a conservative rule of thumb is to sleep for one
++ second after sending an 80-character line.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+- The <STRONG>mcprint</STRONG> function returns <STRONG>ERR</STRONG> if the write operation aborted for
+- some reason. In this case, <STRONG>errno</STRONG> will contain either an error
+- associated with <STRONG>write(2)</STRONG> or one of the following:
++ On success, <STRONG>mcprint</STRONG> returns the number of characters sent to the
++ printer.
++
++ <STRONG>mcprint</STRONG> returns <STRONG>ERR</STRONG> if the write operation fails for any reason. In
++ that event, <STRONG>errno</STRONG> contains either a value set by <STRONG>write(2)</STRONG>, or one of
++ the following.
+
+ <STRONG>ENODEV</STRONG>
+- Capabilities for printer redirection do not exist.
++ The terminal lacks relevant media copy capabilities.
+
+ <STRONG>ENOMEM</STRONG>
+- Couldn't allocate sufficient memory to buffer the printer write.
+-
+- When <STRONG>mcprint</STRONG> succeeds, it returns the number of characters actually
+- sent to the printer.
++ <EM>ncurses</EM> could not allocate sufficient memory to buffer the write
++ operation.
+
+
+ </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+- <STRONG>mcprint</STRONG> was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and was not found in SVr4 <EM>curses</EM>,
+- 4.4BSD <EM>curses</EM>, or any other previous curses implementation.
++ <STRONG>mcprint</STRONG> is an <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> extension, and is not found in SVr4 <EM>curses</EM>,
++ 4.4BSD <EM>curses</EM>, or any other previous <EM>curses</EM> implementation.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- Applications employing this <EM>ncurses</EM> extension should condition its use
++ Applications employing this <EM>ncurses</EM> extension should condition its use
+ on the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
+
+
++</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
++ <EM>ncurses</EM> introduced <EM>mcprint</EM> prior to version 1.9.9g (1996).
++
++
+ </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+- Padding in the <STRONG>mc5p</STRONG>, <STRONG>mc4</STRONG>, and <STRONG>mc5</STRONG> capabilities is not interpreted.
++ Padding in the <STRONG>prtr_non</STRONG> (<STRONG>mc5p</STRONG>), <STRONG>prtr_on</STRONG> (<STRONG>mc5</STRONG>), and <STRONG>prtr_off</STRONG> (<STRONG>mc4</STRONG>)
++ capabilities is not interpreted.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -103,7 +111,7 @@
+
+
+
+-ncurses 6.5 2024-03-16 <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -113,6 +121,7 @@
+ <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+ <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+ <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
++<li><a href="#h2-HISTORY">HISTORY</a></li>
+ <li><a href="#h2-BUGS">BUGS</a></li>
+ <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+ </ul>
+Index: doc/html/man/curs_refresh.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_refresh.3x.html 2024-05-25 22:33:42.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_refresh.3x.html 2024-07-27 23:11:32.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_refresh.3x,v 1.48 2024/05/25 20:10:58 tom Exp @
++ * @Id: curs_refresh.3x,v 1.50 2024/07/27 19:55: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_refresh 3x 2024-05-25 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_refresh 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_refresh 3x 2024-05-25 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_refresh 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+
+@@ -127,11 +127,10 @@
+ specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ completion.
+
+- X/Open Curses does not specify any error conditions. In this
+- implementation
++ In this implementation
+
+ <STRONG>wnoutrefresh</STRONG>
+- returns <STRONG>ERR</STRONG> if the window pointer is null, or if the window is
++ returns <STRONG>ERR</STRONG> if the window pointer is null, or if the window is
+ really a pad.
+
+ <STRONG>wredrawln</STRONG>
+@@ -143,7 +142,8 @@
+
+
+ </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.
+
+ Whether <STRONG>wnoutrefresh</STRONG> copies to the virtual screen the entire contents
+ of a window or just its changed portions has never been well-documented
+@@ -159,7 +159,7 @@
+
+
+
+-ncurses 6.5 2024-05-25 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_touch.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_touch.3x.html 2024-05-25 22:33:43.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_touch.3x.html 2024-07-27 23:11:32.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_touch.3x,v 1.49 2024/05/25 20:10:58 tom Exp @
++ * @Id: curs_touch.3x,v 1.51 2024/07/27 19:55: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_touch 3x 2024-05-25 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_touch 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_touch 3x 2024-05-25 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_touch 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+
+@@ -93,24 +93,23 @@
+ other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted in
+ the preceding routine descriptions.
+
+- X/Open Curses does not specify any error conditions. In this
+- implementation
++ In this implementation
+
+ <STRONG>is_linetouched</STRONG>
+- returns <STRONG>ERR</STRONG> if the window pointer is null, or if the line
++ returns <STRONG>ERR</STRONG> if the window pointer is null, or if the line
+ number is outside the window boundaries.
+
+ The constant <STRONG>ERR</STRONG> is distinct from <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG>, which are the
+- normal return values of this function. Because the function
++ normal return values of this function. Because the function
+ returns a <STRONG>bool</STRONG>, returning <STRONG>ERR</STRONG> (which is neither <STRONG>TRUE</STRONG> nor <STRONG>FALSE</STRONG>)
+ may not be supported by the compiler.
+
+- To provide error-checking and also match the X/Open function
++ To provide error-checking and also match the X/Open function
+ prototype, the <STRONG>ERR</STRONG> is provided by a macro named <STRONG>is_linetouched</STRONG>.
+ The actual function returns <STRONG>FALSE</STRONG> when it detects an error.
+
+ <STRONG>wtouchln</STRONG>
+- returns <STRONG>ERR</STRONG> if the window pointer is null, or if the line
++ returns <STRONG>ERR</STRONG> if the window pointer is null, or if the line
+ number is outside the window boundaries.
+
+
+@@ -119,14 +118,14 @@
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- These functions were introduced by SVr4. The Solaris <EM>curses</EM> header
++ These functions were introduced by SVr4. The Solaris <EM>curses</EM> header
+ file, for instance, defines both an actual function and macro for each.
+- The macros give the same result as the actual functions. SVr4 <EM>curses</EM>
+- does not check the window parameter <EM>win</EM> to ensure that it is not <STRONG>NULL</STRONG>;
++ The macros give the same result as the actual functions. SVr4 <EM>curses</EM>
++ does not check the window parameter <EM>win</EM> to ensure that it is not <STRONG>NULL</STRONG>;
+ otherwise this implementation behaves the same as SVr4.
+
+- X/Open Curses, Issue 4 describes these functions, but defines no error
+- conditions.
++ X/Open Curses, Issue 4 describes these functions. It specifies no
++ error conditions for them.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -134,7 +133,7 @@
+
+
+
+-ncurses 6.5 2024-05-25 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_util.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/curs_util.3x.html 2024-06-22 22:55:09.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/curs_util.3x.html 2024-07-27 23:11:32.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_util.3x,v 1.112 2024/06/22 21:25:23 tom Exp @
++ * @Id: curs_util.3x,v 1.114 2024/07/27 19:55: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_util 3x 2024-06-22 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_util 3x 2024-07-27 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-06-22 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_util 3x 2024-07-27 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>
+
+@@ -253,8 +253,7 @@
+
+ Routines that return pointers return <STRONG>NULL</STRONG> on error.
+
+- X/Open Curses does not specify any error conditions. In this
+- implementation
++ In this implementation
+
+ <STRONG>flushinp</STRONG>
+ returns <STRONG>ERR</STRONG> if the terminal was not initialized.
+@@ -266,83 +265,83 @@
+ </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 that are defined in the terminfo entry via the <STRONG>-x</STRONG> option
+- of <STRONG>tic</STRONG>. This implementation automatically assigns at run-time key
++ The <STRONG>keyname</STRONG> function may return the names of user-defined string
++ capabilities that are defined in the terminfo entry via the <STRONG>-x</STRONG> option
++ of <STRONG>tic</STRONG>. This implementation automatically assigns at run-time key
+ codes to user-defined strings that begin with "k". The key codes 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 that 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
++ 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 that 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 that use binary dumps use block-I/O (<STRONG>write(2)</STRONG>
++ The implementations that use binary dumps use block-I/O (<STRONG>write(2)</STRONG>
+ and <STRONG>read(2)</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 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
+- <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
+- cases:
++ X/Open Curses, Issue 4 describes these functions. It specifies no
++ error conditions for them. It states that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will
++ return a null pointer if unsuccessful. 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
+@@ -353,33 +352,33 @@
+ 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.
+
+
+@@ -388,8 +387,8 @@
+
+ SVr2 (1984) introduced <EM>delay</EM><STRONG>_</STRONG><EM>output</EM>, <EM>flushinp</EM>, and <EM>keyname</EM>.
+
+- SVr3 (1987) added <EM>filter</EM>. Later that year, SVr3.1 brought <EM>getwin</EM> and
+- <EM>putwin</EM>, reading and writing window dumps with <STRONG>fread(3)</STRONG> and <STRONG>fwrite(3)</STRONG>,
++ SVr3 (1987) added <EM>filter</EM>. Later that year, SVr3.1 brought <EM>getwin</EM> and
++ <EM>putwin</EM>, reading and writing window dumps with <STRONG>fread(3)</STRONG> and <STRONG>fwrite(3)</STRONG>,
+ respectively.
+
+ SVr4 (1989) supplied <EM>use</EM><STRONG>_</STRONG><EM>env</EM>.
+@@ -400,13 +399,13 @@
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
++ <STRONG><A HREF="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-06-22 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/define_key.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/define_key.3x.html 2024-06-08 23:29:40.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/define_key.3x.html 2024-07-27 23:11:32.000000000 +0000
+@@ -28,19 +28,19 @@
+ * authorization. *
+ ****************************************************************************
+ * Author: Thomas E. Dickey 1997
+- * @Id: define_key.3x,v 1.48 2024/06/08 23:25:11 tom Exp @
++ * @Id: define_key.3x,v 1.50 2024/07/27 19:43:41 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>define_key 3x 2024-06-08 ncurses 6.5 Library calls</TITLE>
++<TITLE>define_key 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">define_key 3x 2024-06-08 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">define_key 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> Library calls <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+
+@@ -88,7 +88,7 @@
+ Applications employing <EM>ncurses</EM> extensions should condition their use on
+ the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
+
+- NetBSD <EM>curses</EM> since 2.0 (2004) supports <STRONG>define_key</STRONG>.
++ NetBSD <EM>curses</EM> since 2.0 (2004) supports <EM>define</EM><STRONG>_</STRONG><EM>key</EM>.
+
+
+ </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+@@ -100,7 +100,7 @@
+
+
+
+-ncurses 6.5 2024-06-08 <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/infotocap.1m.html
+--- ncurses-6.5-20240720+/doc/html/man/infotocap.1m.html 2024-05-11 21:39:58.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/infotocap.1m.html 2024-07-27 23:11:33.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: infotocap.1m,v 1.42 2024/05/11 20:39:53 tom Exp @
++ * @Id: infotocap.1m,v 1.44 2024/07/27 19:43:16 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-05-11 ncurses 6.5 User commands</TITLE>
++<TITLE>infotocap 1m 2024-07-27 ncurses 6.5 User commands</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">infotocap 1m 2024-05-11 ncurses 6.5 User commands</H1>
++<H1 class="no-header">infotocap 1m 2024-07-27 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>
+
+@@ -58,7 +58,7 @@
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <STRONG>infotocap</STRONG> translates terminal descriptions. It looks in each given
+- text <EM>file</EM> for <EM>terminfo</EM> entries and, For each one found, it writes an
++ text <EM>file</EM> for <EM>terminfo</EM> entries and, for each one found, it writes an
+ analogous <EM>termcap</EM> description to the standard output stream. <EM>terminfo</EM>
+ "<STRONG>use</STRONG>" capabilities translate to <EM>termcap</EM> <STRONG>tc</STRONG> capabilities. Because
+ <EM>termcap</EM> is a less expressive format than <EM>terminfo</EM>, some capabilities
+@@ -90,7 +90,7 @@
+
+
+
+-ncurses 6.5 2024-05-11 <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/keyok.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/keyok.3x.html 2024-06-15 20:39:30.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/keyok.3x.html 2024-07-27 23:11:33.000000000 +0000
+@@ -28,19 +28,19 @@
+ * authorization. *
+ ****************************************************************************
+ * Author: Thomas E. Dickey 1997
+- * @Id: keyok.3x,v 1.46 2024/06/15 19:49:39 tom Exp @
++ * @Id: keyok.3x,v 1.48 2024/07/27 19:42:31 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>keyok 3x 2024-06-15 ncurses 6.5 Library calls</TITLE>
++<TITLE>keyok 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">keyok 3x 2024-06-15 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">keyok 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> Library calls <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
+
+@@ -61,8 +61,8 @@
+ The <STRONG>keyok</STRONG> <EM>ncurses</EM> extension permits a <EM>curses</EM> application to disable a
+ function key <EM>key-code</EM> returned by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> (wide-character API users:
+ <STRONG><A HREF="curs_get_wch.3x.html">wget_wch(3x)</A></STRONG>). Key codes that have been disabled can be re-enabled.
+- <EM>bf</EM> indicates the desired enablement status. This operation is more
+- fine-grained than calling <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG>, which affects <EM>all</EM> function keys.
++ <EM>bf</EM> selects the desired enablement status. This operation is more fine-
++ grained than calling <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG>, which affects <EM>all</EM> function keys.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+@@ -85,7 +85,7 @@
+ Applications employing <EM>ncurses</EM> extensions should condition their use on
+ the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
+
+- NetBSD <EM>curses</EM> since 2.0 (2004) supports <STRONG>keyok</STRONG>.
++ NetBSD <EM>curses</EM> since 2.0 (2004) supports <EM>keyok</EM>.
+
+
+ </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+@@ -97,7 +97,7 @@
+
+
+
+-ncurses 6.5 2024-06-15 <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/legacy_coding.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/legacy_coding.3x.html 2024-04-27 18:38:48.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/legacy_coding.3x.html 2024-07-27 23:11:33.000000000 +0000
+@@ -28,19 +28,19 @@
+ * authorization. *
+ ****************************************************************************
+ * Author: Thomas E. Dickey
+- * @Id: legacy_coding.3x,v 1.28 2024/04/20 19:13:50 tom Exp @
++ * @Id: legacy_coding.3x,v 1.30 2024/07/27 19:44:30 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>legacy_coding 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>legacy_coding 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">legacy_coding 3x 2024-04-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">legacy_coding 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> Library calls <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+
+@@ -77,20 +77,27 @@
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+- If the screen has not been initialized, or the <EM>level</EM> parameter is out
+- of range, <STRONG>use_legacy_coding</STRONG> returns <STRONG>ERR</STRONG>. Otherwise, it returns the
+- previous level: <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>.
++ If the <EM>curses</EM> screen has not been initialized, or the <EM>level</EM> parameter
++ is out of range, <STRONG>use_legacy_coding</STRONG> returns <STRONG>ERR</STRONG>. Otherwise, it returns
++ the previous level.
++
++
++</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
++ <STRONG>use_legacy_coding</STRONG> is an <EM>ncurses</EM> extension.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- <STRONG>use_legacy_coding</STRONG> is specific to <EM>ncurses</EM>. It was not supported on
+- Version 7, BSD or System V implementations. Applications employing
+- <EM>ncurses</EM> extensions should condition their use on the visibility of the
+- <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
++ Applications employing <EM>ncurses</EM> extensions should condition their use on
++ the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
++
++
++</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
++ <EM>ncurses</EM> 5.6 (2006) introduced <EM>use</EM><STRONG>_</STRONG><EM>legacy</EM><STRONG>_</STRONG><EM>coding</EM> to support <STRONG>lynx(1)</STRONG>'s
++ font-switching feature.
+
+
+ </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+- Thomas Dickey (to support <STRONG>lynx(1)</STRONG>'s font-switching feature).
++ Thomas Dickey
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -98,7 +105,7 @@
+
+
+
+-ncurses 6.5 2024-04-20 <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -106,7 +113,9 @@
+ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+ <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+ <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
++<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+ <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
++<li><a href="#h2-HISTORY">HISTORY</a></li>
+ <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+ <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+ </ul>
+Index: doc/html/man/ncurses.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/ncurses.3x.html 2024-07-20 22:19:06.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/ncurses.3x.html 2024-07-27 23:11:34.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: ncurses.3x,v 1.227 2024/07/20 20:48:52 tom Exp @
++ * @Id: ncurses.3x,v 1.229 2024/07/27 20:10:07 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>ncurses 3x 2024-07-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>ncurses 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">ncurses 3x 2024-07-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">ncurses 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> Library calls <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+
+@@ -61,7 +61,7 @@
+ 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 20240720).
++ document describes <EM>ncurses</EM> version 6.5 (patch 20240727).
+
+ <EM>ncurses</EM> permits control of the terminal screen's contents; abstraction
+ and subdivision thereof with <EM>windows</EM> and <EM>pads</EM>; acquisition of keyboard
+@@ -253,12 +253,12 @@
+
+ <EM>ncurses</EM> is the library in its "non-wide" configuration, handling only
+ eight-bit characters. It stores a character combined with
+- 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 identifier 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
++ Attributes and a color pair identifier (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.
+@@ -281,7 +281,9 @@
+ 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.)
++ <STRONG>inwstr</STRONG>, and their variants.) Another exception is <STRONG>ins_nwstr</STRONG>
++ and its variants, which is spelled thus instead of
++ "insn_wstr".
+
+ This convention is inapplicable to some non-wide function
+ names, so other transformations are used for the wide
+@@ -303,7 +305,7 @@
+ 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
++ pair identifier are stored in separate fields of the
+ structure, not combined into an integer as in
+ <EM>chtype</EM>.
+
+@@ -383,9 +385,9 @@
+ def_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ def_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ define_key <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
++
+ del_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ delay_output <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+-
+ 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>
+@@ -450,9 +452,9 @@
+ in_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ in_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ in_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
++
+ inch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ inchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+-
+ 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>*
+@@ -517,9 +519,9 @@
+ mvaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ mvaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ mvaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
++
+ mvaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ mvchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+-
+ mvcur <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(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>
+@@ -584,9 +586,9 @@
+ mvwins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ mvwins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ mvwinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
++
+ mvwinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ mvwinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+-
+ 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>
+@@ -651,9 +653,9 @@
+ slk_attr_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_attroff <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_attron <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
++
+ slk_attrset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_clear <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+-
+ 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>
+@@ -718,9 +720,9 @@
+ wadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ waddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ waddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
++
+ waddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ waddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+-
+ waddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ waddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ waddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+@@ -785,9 +787,9 @@
+ wprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ wredrawln <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ wrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
++
+ wresize <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
+ 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>
+@@ -1497,7 +1499,7 @@
+
+
+
+-ncurses 6.5 2024-07-20 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/terminfo.5.html
+--- ncurses-6.5-20240720+/doc/html/man/terminfo.5.html 2024-07-20 22:19:06.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/terminfo.5.html 2024-07-27 23:11:34.000000000 +0000
+@@ -71,7 +71,7 @@
+ have, by specifying how to perform screen operations, and by specifying
+ padding requirements and initialization sequences.
+
+- This document describes <EM>ncurses</EM> version 6.5 (patch 20240720).
++ This document describes <EM>ncurses</EM> version 6.5 (patch 20240727).
+
+
+ </PRE><H3><a name="h3-terminfo-Entry-Syntax"><EM>terminfo</EM> Entry Syntax</a></H3><PRE>
+Index: doc/html/man/wresize.3x.html
+--- ncurses-6.5-20240720+/doc/html/man/wresize.3x.html 2024-07-20 22:19:07.000000000 +0000
++++ ncurses-6.5-20240727/doc/html/man/wresize.3x.html 2024-07-27 23:11:34.000000000 +0000
+@@ -28,19 +28,19 @@
+ * authorization. *
+ ****************************************************************************
+ * Author: Thomas E. Dickey 1996
+- * @Id: wresize.3x,v 1.38 2024/07/20 22:13:21 tom Exp @
++ * @Id: wresize.3x,v 1.40 2024/07/27 20:08:58 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>wresize 3x 2024-07-20 ncurses 6.5 Library calls</TITLE>
++<TITLE>wresize 3x 2024-07-27 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">wresize 3x 2024-07-20 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">wresize 3x 2024-07-27 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> Library calls <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+
+@@ -88,14 +88,14 @@
+ Applications employing <EM>ncurses</EM> extensions should condition their use on
+ the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
+
+- NetBSD <EM>curses</EM> adopted <STRONG>wresize</STRONG> in 2001 (release 1.5.3), and <EM>PDCurses</EM> in
++ NetBSD <EM>curses</EM> adopted <EM>wresize</EM> in 2001 (release 1.5.3), and <EM>PDCurses</EM> in
+ 2004 (version 2.7).
+
+ It is not possible to resize windows with SVr4 <EM>curses</EM>.
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- Thomas Dickey developed <STRONG>wresize</STRONG> as an extension to BSD <EM>curses</EM> in 1988,
++ Thomas Dickey developed <EM>wresize</EM> as an extension to BSD <EM>curses</EM> in 1988,
+ and brought it to <EM>ncurses</EM> in mid-1995.
+
+
+@@ -108,7 +108,7 @@
+
+
+
+-ncurses 6.5 2024-07-20 <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
++ncurses 6.5 2024-07-27 <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: form/frm_data.c
+Prereq: 1.21
+--- ncurses-6.5-20240720+/form/frm_data.c 2021-06-17 21:11:08.000000000 +0000
++++ ncurses-6.5-20240727/form/frm_data.c 2024-07-27 18:35:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020,2021 Thomas E. Dickey *
++ * Copyright 2020-2021,2024 Thomas E. Dickey *
+ * Copyright 1998-2010,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -33,7 +33,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_data.c,v 1.21 2021/06/17 21:11:08 tom Exp $")
++MODULE_ID("$Id: frm_data.c,v 1.22 2024/07/27 18:35:02 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -54,7 +54,7 @@
+
+ if (form && (form->status & _POSTED) && form->current)
+ {
+- FIELD *field;
++ const FIELD *field;
+
+ field = form->current;
+ if (!Single_Line_Field(field))
+@@ -141,7 +141,7 @@
+
+ if (form && (form->status & _POSTED) && form->current)
+ {
+- FIELD *field;
++ const FIELD *field;
+ bool cursor_moved = FALSE;
+ int pos;
+
+Index: form/frm_driver.c
+Prereq: 1.135
+--- ncurses-6.5-20240720+/form/frm_driver.c 2021-09-01 23:34:01.000000000 +0000
++++ ncurses-6.5-20240727/form/frm_driver.c 2024-07-27 18:49:18.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2020,2021 Thomas E. Dickey *
++ * Copyright 2018-2021,2024 Thomas E. Dickey *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -33,7 +33,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_driver.c,v 1.135 2021/09/01 23:34:01 tom Exp $")
++MODULE_ID("$Id: frm_driver.c,v 1.136 2024/07/27 18:49:18 tom Exp $")
+
+ /*----------------------------------------------------------------------------
+ This is the core module of the form library. It contains the majority
+@@ -313,7 +313,7 @@
+
+ while (LEGALYX(win, y, x))
+ {
+- cchar_t *data = &(win->_line[y].text[x]);
++ const cchar_t *data = &(win->_line[y].text[x]);
+
+ if (isWidecBase(CHDEREF(data)) || !isWidecExt(CHDEREF(data)))
+ {
+@@ -387,7 +387,7 @@
+ Get_Start_Of_Data(FIELD_CELL *buf, int blen)
+ {
+ FIELD_CELL *p = buf;
+- FIELD_CELL *end = &buf[blen];
++ const FIELD_CELL *end = &buf[blen];
+
+ assert(buf && blen >= 0);
+ while ((p < end) && ISBLANK(*p))
+@@ -429,7 +429,7 @@
+ Get_First_Whitespace_Character(FIELD_CELL *buf, int blen)
+ {
+ FIELD_CELL *p = buf;
+- FIELD_CELL *end = &p[blen];
++ const FIELD_CELL *end = &p[blen];
+
+ assert(buf && blen >= 0);
+ while ((p < end) && !ISBLANK(*p))
+@@ -479,7 +479,7 @@
+ NCURSES_INLINE static void
+ Adjust_Cursor_Position(FORM *form, const FIELD_CELL *pos)
+ {
+- FIELD *field;
++ const FIELD *field;
+ int idx;
+
+ field = form->current;
+@@ -716,7 +716,7 @@
+ for (i = 0; i <= field->nbuf; i++)
+ {
+ FIELD_CELL *new_bp = Address_Of_Nth_Buffer(field, i);
+- FIELD_CELL *old_bp = oldbuf + i * (1 + old_buflen);
++ const FIELD_CELL *old_bp = oldbuf + i * (1 + old_buflen);
+
+ for (j = 0; j < old_buflen; ++j)
+ new_bp[j] = old_bp[j];
+@@ -830,7 +830,7 @@
+ FORM_EXPORT(int)
+ _nc_Position_Form_Cursor(FORM *form)
+ {
+- FIELD *field;
++ const FIELD *field;
+ WINDOW *formwin;
+
+ if (!form)
+@@ -1005,7 +1005,7 @@
+ static void
+ Perform_Justification(FIELD *field, WINDOW *win)
+ {
+- FIELD_CELL *bp;
++ const FIELD_CELL *bp;
+ int len;
+
+ bp = (Field_Has_Option(field, O_NO_LEFT_STRIP)
+@@ -1053,7 +1053,7 @@
+ static void
+ Undo_Justification(FIELD *field, WINDOW *win)
+ {
+- FIELD_CELL *bp;
++ const FIELD_CELL *bp;
+ int y, x;
+ int len;
+
+@@ -1702,10 +1702,10 @@
+ static int
+ IFN_Next_Word(FORM *form)
+ {
+- FIELD *field = form->current;
++ const FIELD *field = form->current;
+ FIELD_CELL *bp = Address_Of_Current_Position_In_Buffer(form);
+ FIELD_CELL *s;
+- FIELD_CELL *t;
++ const FIELD_CELL *t;
+
+ T((T_CALLED("IFN_Next_Word(%p)"), (void *)form));
+
+@@ -1745,9 +1745,9 @@
+ IFN_Previous_Word(FORM *form)
+ {
+ FIELD *field = form->current;
+- FIELD_CELL *bp = Address_Of_Current_Position_In_Buffer(form);
+- FIELD_CELL *s;
+- FIELD_CELL *t;
++ const FIELD_CELL *bp = Address_Of_Current_Position_In_Buffer(form);
++ const FIELD_CELL *s;
++ const FIELD_CELL *t;
+ bool again = FALSE;
+
+ T((T_CALLED("IFN_Previous_Word(%p)"), (void *)form));
+@@ -1845,7 +1845,7 @@
+ static int
+ IFN_Beginning_Of_Line(FORM *form)
+ {
+- FIELD *field = form->current;
++ const FIELD *field = form->current;
+
+ T((T_CALLED("IFN_Beginning_Of_Line(%p)"), (void *)form));
+ Synchronize_Buffer(form);
+@@ -1869,7 +1869,7 @@
+ static int
+ IFN_End_Of_Line(FORM *form)
+ {
+- FIELD *field = form->current;
++ const FIELD *field = form->current;
+ FIELD_CELL *pos;
+ FIELD_CELL *bp;
+
+@@ -2009,7 +2009,7 @@
+ static int
+ VSC_Generic(FORM *form, int nlines)
+ {
+- FIELD *field = form->current;
++ const FIELD *field = form->current;
+ int res = E_REQUEST_DENIED;
+ int rows_to_go = (nlines > 0 ? nlines : -nlines);
+
+@@ -2189,7 +2189,7 @@
+ static int
+ HSC_Generic(FORM *form, int ncolumns)
+ {
+- FIELD *field = form->current;
++ const FIELD *field = form->current;
+ int res = E_REQUEST_DENIED;
+ int cols_to_go = (ncolumns > 0 ? ncolumns : -ncolumns);
+
+@@ -2365,7 +2365,8 @@
+ Is_There_Room_For_A_Line(FORM *form)
+ {
+ FIELD *field = form->current;
+- FIELD_CELL *begin_of_last_line, *s;
++ FIELD_CELL *begin_of_last_line;
++ const FIELD_CELL *s;
+
+ Synchronize_Buffer(form);
+ begin_of_last_line = Address_Of_Row_In_Buffer(field, (field->drows - 1));
+@@ -2419,7 +2420,7 @@
+ | E_SYSTEM_ERROR - system error
+ +--------------------------------------------------------------------------*/
+ static int
+-Insert_String(FORM *form, int row, FIELD_CELL *txt, int len)
++Insert_String(FORM *form, int row, const FIELD_CELL *txt, int len)
+ {
+ FIELD *field = form->current;
+ FIELD_CELL *bp = Address_Of_Row_In_Buffer(field, row);
+@@ -2450,7 +2451,7 @@
+
+ if (row < (field->drows - 1))
+ {
+- FIELD_CELL *split;
++ const FIELD_CELL *split;
+
+ split =
+ After_Last_Whitespace_Character(bp,
+@@ -2507,7 +2508,7 @@
+ (!Last_Row || Growable(field))) /* there are more lines */
+ {
+ FIELD_CELL *bp;
+- FIELD_CELL *split;
++ const FIELD_CELL *split;
+ int chars_to_be_wrapped;
+ int chars_to_remain_on_line;
+
+@@ -2633,7 +2634,7 @@
+ FE_New_Line(FORM *form)
+ {
+ FIELD *field = form->current;
+- FIELD_CELL *bp, *t;
++ FIELD_CELL *bp;
+ bool Last_Row = ((field->drows - 1) == form->currow);
+
+ T((T_CALLED("FE_New_Line(%p)"), (void *)form));
+@@ -2682,6 +2683,7 @@
+ }
+ else
+ {
++ const FIELD_CELL *t;
+ bool May_Do_It = !Last_Row && Is_There_Room_For_A_Line(form);
+
+ if (!(May_Do_It || Growable(field)))
+@@ -2810,7 +2812,7 @@
+ static int
+ FE_Delete_Previous(FORM *form)
+ {
+- FIELD *field = form->current;
++ const FIELD *field = form->current;
+
+ T((T_CALLED("FE_Delete_Previous(%p)"), (void *)form));
+ if (First_Position_In_Current_Field(form))
+@@ -2818,7 +2820,8 @@
+
+ if ((--(form->curcol)) < 0)
+ {
+- FIELD_CELL *this_line, *prev_line, *prev_end, *this_end;
++ FIELD_CELL *this_line, *prev_line;
++ const FIELD_CELL *prev_end, *this_end;
+ int this_row = form->currow;
+
+ form->curcol++;
+@@ -2898,9 +2901,9 @@
+ static int
+ FE_Delete_Word(FORM *form)
+ {
+- FIELD *field = form->current;
++ const FIELD *field = form->current;
+ FIELD_CELL *bp = Address_Of_Current_Row_In_Buffer(form);
+- FIELD_CELL *ep = bp + field->dcols;
++ const FIELD_CELL *ep = bp + field->dcols;
+ FIELD_CELL *cp = bp + form->curcol;
+ FIELD_CELL *s;
+
+@@ -4440,7 +4443,7 @@
+ {
+ MEVENT event;
+ WINDOW *win = form->win ? form->win : StdScreen(Get_Form_Screen(form));
+- WINDOW *sub = form->sub ? form->sub : win;
++ const WINDOW *sub = form->sub ? form->sub : win;
+
+ getmouse(&event);
+ if ((event.bstate & (BUTTON1_CLICKED |
+@@ -4641,7 +4644,7 @@
+ {
+ MEVENT event;
+ WINDOW *win = form->win ? form->win : StdScreen(Get_Form_Screen(form));
+- WINDOW *sub = form->sub ? form->sub : win;
++ const WINDOW *sub = form->sub ? form->sub : win;
+
+ getmouse(&event);
+ if ((event.bstate & (BUTTON1_CLICKED |
+@@ -4935,7 +4938,7 @@
+ _nc_Widen_String(char *source, int *lengthp)
+ {
+ wchar_t *result = 0;
+- wchar_t wch;
++ wchar_t wch = 0;
+ size_t given = strlen(source);
+ size_t tries;
+ int pass;
+Index: form/frm_post.c
+Prereq: 1.14
+--- ncurses-6.5-20240720+/form/frm_post.c 2020-05-24 01:40:20.000000000 +0000
++++ ncurses-6.5-20240727/form/frm_post.c 2024-07-27 18:35:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020 Thomas E. Dickey *
++ * Copyright 2020,2024 Thomas E. Dickey *
+ * Copyright 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -33,7 +33,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_post.c,v 1.14 2020/05/24 01:40:20 anonymous.maarten Exp $")
++MODULE_ID("$Id: frm_post.c,v 1.15 2024/07/27 18:35:02 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -51,7 +51,7 @@
+ FORM_EXPORT(int)
+ post_form(FORM *form)
+ {
+- WINDOW *formwin;
++ const WINDOW *formwin;
+ int err;
+ int page;
+
+Index: form/frm_sub.c
+Prereq: 1.15
+--- ncurses-6.5-20240720+/form/frm_sub.c 2021-06-17 21:20:30.000000000 +0000
++++ ncurses-6.5-20240727/form/frm_sub.c 2024-07-27 18:35:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020,2021 Thomas E. Dickey *
++ * Copyright 2020-2021,2024 Thomas E. Dickey *
+ * Copyright 1998-2009,2010 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -33,7 +33,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_sub.c,v 1.15 2021/06/17 21:20:30 tom Exp $")
++MODULE_ID("$Id: frm_sub.c,v 1.16 2024/07/27 18:35:02 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -54,9 +54,8 @@
+ else
+ {
+ #if NCURSES_SP_FUNCS
+- FORM *f = Normalize_Form(form);
+-
+- f->sub = win ? win : StdScreen(Get_Form_Screen(f));
++ (void) Normalize_Form(form);
++ form->sub = win ? win : StdScreen(Get_Form_Screen(form));
+ RETURN(E_OK);
+ #else
+ Normalize_Form(form)->sub = win;
+@@ -76,12 +75,10 @@
+ FORM_EXPORT(WINDOW *)
+ form_sub(const FORM *form)
+ {
+- const FORM *f;
+-
+ T((T_CALLED("form_sub(%p)"), (const void *)form));
+
+- f = Normalize_Form(form);
+- returnWin(Get_Form_Window(f));
++ (void) Normalize_Form(form);
++ returnWin(Get_Form_Window(form));
+ }
+
+ /* frm_sub.c ends here */
+Index: form/frm_win.c
+Prereq: 1.19
+--- ncurses-6.5-20240720+/form/frm_win.c 2021-06-17 21:20:30.000000000 +0000
++++ ncurses-6.5-20240727/form/frm_win.c 2024-07-27 18:35:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020,2021 Thomas E. Dickey *
++ * Copyright 2020-2021,2024 Thomas E. Dickey *
+ * Copyright 1998-2009,2010 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -33,7 +33,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_win.c,v 1.19 2021/06/17 21:20:30 tom Exp $")
++MODULE_ID("$Id: frm_win.c,v 1.20 2024/07/27 18:35:02 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -54,9 +54,8 @@
+ else
+ {
+ #if NCURSES_SP_FUNCS
+- FORM *f = Normalize_Form(form);
+-
+- f->win = win ? win : StdScreen(Get_Form_Screen(f));
++ (void) Normalize_Form(form);
++ form->win = win ? win : StdScreen(Get_Form_Screen(form));
+ RETURN(E_OK);
+ #else
+ Normalize_Form(form)->win = win;
+@@ -77,15 +76,14 @@
+ form_win(const FORM *form)
+ {
+ WINDOW *result;
+- const FORM *f;
+
+ T((T_CALLED("form_win(%p)"), (const void *)form));
+
+- f = Normalize_Form(form);
++ (void) Normalize_Form(form);
+ #if NCURSES_SP_FUNCS
+- result = (f->win ? f->win : StdScreen(Get_Form_Screen(f)));
++ result = (form->win ? form->win : StdScreen(Get_Form_Screen(form)));
+ #else
+- result = (f->win ? f->win : stdscr);
++ result = (form->win ? form->win : stdscr);
+ #endif
+ returnWin(result);
+ }
+Index: form/fty_enum.c
+Prereq: 1.33
+--- ncurses-6.5-20240720+/form/fty_enum.c 2021-06-17 21:11:08.000000000 +0000
++++ ncurses-6.5-20240727/form/fty_enum.c 2024-07-27 18:50:22.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020,2021 Thomas E. Dickey *
++ * Copyright 2020,2021,2024 Thomas E. Dickey *
+ * Copyright 1998-2009,2010 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -35,7 +35,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fty_enum.c,v 1.33 2021/06/17 21:11:08 tom Exp $")
++MODULE_ID("$Id: fty_enum.c,v 1.34 2024/07/27 18:50:22 tom Exp $")
+
+ typedef struct
+ {
+@@ -291,21 +291,21 @@
+ char **kwds = ((const enumARG *)argp)->kwds;
+ bool ccase = ((const enumARG *)argp)->checkcase;
+ bool unique = ((const enumARG *)argp)->checkunique;
+- unsigned char *bp = (unsigned char *)field_buffer(field, 0);
+- char *s, *t, *p;
++ const unsigned char *bp = (unsigned char *)field_buffer(field, 0);
++ const char *s, *t, *p;
+
+ while (kwds && (s = (*kwds++)))
+ {
+ int res;
+
+- if ((res = Compare((unsigned char *)s, bp, ccase)) != NOMATCH)
++ if ((res = Compare((const unsigned char *)s, bp, ccase)) != NOMATCH)
+ {
+ p = t = s; /* t is at least a partial match */
+ if ((unique && res != EXACT))
+ {
+ while (kwds && (p = *kwds++))
+ {
+- if ((res = Compare((unsigned char *)p, bp, ccase)) != NOMATCH)
++ if ((res = Compare((const unsigned char *)p, bp, ccase)) != NOMATCH)
+ {
+ if (res == EXACT)
+ {
+@@ -313,7 +313,7 @@
+ break;
+ }
+ else
+- t = (char *)0;
++ t = NULL;
+ }
+ }
+ }
+@@ -347,12 +347,13 @@
+ {
+ const enumARG *args = (const enumARG *)argp;
+ char **kwds = args->kwds;
+- bool ccase = args->checkcase;
+- int cnt = args->count;
+- unsigned char *bp = (unsigned char *)field_buffer(field, 0);
++ const unsigned char *bp = (const unsigned char *)field_buffer(field, 0);
+
+ if (kwds)
+ {
++ int cnt = args->count;
++ bool ccase = args->checkcase;
++
+ while (cnt--)
+ {
+ if (Compare((unsigned char *)(*kwds++), bp, ccase) == EXACT)
+@@ -386,26 +387,25 @@
+ const enumARG *args = (const enumARG *)argp;
+ int cnt = args->count;
+ char **kwds = &args->kwds[cnt - 1];
++ const unsigned char *bp = (const unsigned char *)field_buffer(field, 0);
++
+ bool ccase = args->checkcase;
+- unsigned char *bp = (unsigned char *)field_buffer(field, 0);
+
+- if (kwds)
++ while (cnt--)
+ {
+- while (cnt--)
+- {
+- if (Compare((unsigned char *)(*kwds--), bp, ccase) == EXACT)
+- break;
+- }
++ if (Compare((unsigned char *)(*kwds--), bp, ccase) == EXACT)
++ break;
++ }
+
+- if (cnt <= 0)
+- kwds = &args->kwds[args->count - 1];
++ if (cnt <= 0)
++ kwds = &args->kwds[args->count - 1];
+
+- if ((cnt >= 0) || (Compare((const unsigned char *)dummy, bp, ccase) == EXACT))
+- {
+- set_field_buffer(field, 0, *kwds);
+- return TRUE;
+- }
++ if ((cnt >= 0) || (Compare((const unsigned char *)dummy, bp, ccase) == EXACT))
++ {
++ set_field_buffer(field, 0, *kwds);
++ return TRUE;
+ }
++
+ return FALSE;
+ }
+
+Index: form/fty_generic.c
+Prereq: 1.15
+--- ncurses-6.5-20240720+/form/fty_generic.c 2021-03-27 23:49:53.000000000 +0000
++++ ncurses-6.5-20240727/form/fty_generic.c 2024-07-27 18:51:24.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2020,2021 Thomas E. Dickey *
++ * Copyright 2018-2021,2024 Thomas E. Dickey *
+ * Copyright 2008-2012,2016 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -35,7 +35,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fty_generic.c,v 1.15 2021/03/27 23:49:53 tom Exp $")
++MODULE_ID("$Id: fty_generic.c,v 1.16 2024/07/27 18:51:24 tom Exp $")
+
+ /*
+ * This is not a full implementation of a field type, but adds some
+@@ -231,7 +231,7 @@
+
+ if (field)
+ {
+- if (field && field->type)
++ if (field->type)
+ _nc_Free_Type(field);
+
+ field->type = ftyp;
+Index: form/fty_int.c
+Prereq: 1.33
+--- ncurses-6.5-20240720+/form/fty_int.c 2021-06-17 21:11:08.000000000 +0000
++++ ncurses-6.5-20240727/form/fty_int.c 2024-07-27 18:35:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020,2021 Thomas E. Dickey *
++ * Copyright 2020,2021,2024 Thomas E. Dickey *
+ * Copyright 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -35,7 +35,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fty_int.c,v 1.33 2021/06/17 21:11:08 tom Exp $")
++MODULE_ID("$Id: fty_int.c,v 1.34 2024/07/27 18:35:02 tom Exp $")
+
+ #if USE_WIDEC_SUPPORT
+ #define isDigit(c) (iswdigit((wint_t)(c)) || isdigit(UChar(c)))
+@@ -73,7 +73,7 @@
+ Generic_This_Type(void *arg)
+ {
+ thisARG *argp = (thisARG *)0;
+- thisARG *param = (thisARG *)arg;
++ const thisARG *param = (thisARG *)arg;
+
+ if (param)
+ {
+@@ -169,7 +169,7 @@
+ long high = argi->high;
+ int prec = argi->precision;
+ unsigned char *bp = (unsigned char *)field_buffer(field, 0);
+- char *s = (char *)bp;
++ const char *s = (char *)bp;
+ bool result = FALSE;
+
+ while (*bp == ' ')
+Index: form/fty_num.c
+Prereq: 1.37
+--- ncurses-6.5-20240720+/form/fty_num.c 2021-03-27 23:49:58.000000000 +0000
++++ ncurses-6.5-20240727/form/fty_num.c 2024-07-27 18:33:58.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2019-2020,2021 Thomas E. Dickey *
++ * Copyright 2019-2021,2024 Thomas E. Dickey *
+ * Copyright 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -35,7 +35,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fty_num.c,v 1.37 2021/03/27 23:49:58 tom Exp $")
++MODULE_ID("$Id: fty_num.c,v 1.38 2024/07/27 18:33:58 tom Exp $")
+
+ #if HAVE_LOCALE_H
+ #include <locale.h>
+@@ -84,7 +84,7 @@
+ Generic_This_Type(void *arg)
+ {
+ thisARG *argn = (thisARG *)0;
+- thisPARM *args = (thisPARM *)arg;
++ const thisPARM *args = (thisPARM *)arg;
+
+ if (args)
+ {
+@@ -187,8 +187,8 @@
+ double high = argn->high;
+ int prec = argn->precision;
+ unsigned char *bp = (unsigned char *)field_buffer(field, 0);
+- char *s = (char *)bp;
+- struct lconv *L = argn->L;
++ const char *s = (char *)bp;
++ const struct lconv *L = argn->L;
+ bool result = FALSE;
+
+ while (*bp == ' ')
+Index: include/capdefaults.c
+Prereq: 1.16
+--- ncurses-6.5-20240720+/include/capdefaults.c 2021-09-04 10:52:55.000000000 +0000
++++ ncurses-6.5-20240727/include/capdefaults.c 2024-07-27 19:19:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020,2021 Thomas E. Dickey *
++ * Copyright 2020-2021,2024 Thomas E. Dickey *
+ * Copyright 1998-2000,2008 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -33,7 +33,7 @@
+ * and: Thomas E. Dickey 1996-on *
+ ****************************************************************************/
+
+-/* $Id: capdefaults.c,v 1.16 2021/09/04 10:52:55 tom Exp $ */
++/* $Id: capdefaults.c,v 1.17 2024/07/27 19:19:23 tom Exp $ */
+
+ /*
+ * Compute obsolete capabilities. The reason this is an include file is
+@@ -45,7 +45,7 @@
+ * postprocess_termcap().
+ */
+ {
+- char *strp;
++ const char *strp;
+ short capval;
+
+ #define EXTRACT_DELAY(str) \
+Index: man/curs_add_wch.3x
+Prereq: 1.69
+--- ncurses-6.5-20240720+/man/curs_add_wch.3x 2024-07-20 21:42:38.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_add_wch.3x 2024-07-27 20:05:18.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_add_wch.3x,v 1.69 2024/07/20 21:42:38 tom Exp $
+-.TH curs_add_wch 3X 2024-07-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_add_wch.3x,v 1.71 2024/07/27 20:05:18 tom Exp $
++.TH curs_add_wch 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -534,10 +534,11 @@
+ and
+ .I \%wechowchar
+ (and the usual variants).
++.\" SVID 4, vol 3., p. 475
+ These were later additions to
+ .RI SVr4. x ,
+ not appearing in the first SVr4 (1989).
+-They differed from X/Open's
++They differed from X/Open's later
+ .I \%wadd_wch
+ and
+ .I \%wecho_wchar
+Index: man/curs_add_wchstr.3x
+Prereq: 1.42
+--- ncurses-6.5-20240720+/man/curs_add_wchstr.3x 2024-06-22 21:26:27.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_add_wchstr.3x 2024-07-27 20:05:18.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_add_wchstr.3x,v 1.42 2024/06/22 21:26:27 tom Exp $
+-.TH curs_add_wchstr 3X 2024-06-22 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_add_wchstr.3x,v 1.44 2024/07/27 20:05:18 tom Exp $
++.TH curs_add_wchstr 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -46,27 +46,27 @@
+ ..
+ .SH NAME
+ \fB\%add_wchstr\fP,
+-\fB\%add_wchnstr\fP,
+ \fB\%wadd_wchstr\fP,
+-\fB\%wadd_wchnstr\fP,
+ \fB\%mvadd_wchstr\fP,
+-\fB\%mvadd_wchnstr\fP,
+ \fB\%mvwadd_wchstr\fP,
++\fB\%add_wchnstr\fP,
++\fB\%wadd_wchnstr\fP,
++\fB\%mvadd_wchnstr\fP,
+ \fB\%mvwadd_wchnstr\fP \-
+ add a \fIcurses\fR complex character string to a window
+ .SH SYNOPSIS
+ .nf
+ \fB#include <curses.h>
+ .PP
+-\fBint add_wchstr(const cchar_t *\fIwchstr\fP);
+-\fBint wadd_wchstr(WINDOW * \fIwin\fP, const cchar_t *\fIwchstr\fP);
+-\fBint mvadd_wchstr(int \fIy\fP, int \fIx\fP, const cchar_t *\fIwchstr\fP);
+-\fBint mvwadd_wchstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const cchar_t *\fIwchstr\fP);
++\fBint add_wchstr(const cchar_t * \fIwchstr\fP);
++\fBint wadd_wchstr(WINDOW * \fIwin\fP, const cchar_t * \fIwchstr\fP);
++\fBint mvadd_wchstr(int \fIy\fP, int \fIx\fP, const cchar_t * \fIwchstr\fP);
++\fBint mvwadd_wchstr(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, const cchar_t * \fIwchstr\fP);
+ .PP
+-\fBint add_wchnstr(const cchar_t *\fIwchstr\fP, int \fIn\fP);
+-\fBint wadd_wchnstr(WINDOW * \fIwin\fP, const cchar_t *\fIwchstr\fP, int \fIn\fP);
+-\fBint mvadd_wchnstr(int \fIy\fP, int \fIx\fP, const cchar_t *\fIwchstr\fP, int \fIn\fP);
+-\fBint mvwadd_wchnstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const cchar_t *\fIwchstr\fP, int \fIn\fP);
++\fBint add_wchnstr(const cchar_t * \fIwchstr\fP, int \fIn\fP);
++\fBint wadd_wchnstr(WINDOW * \fIwin\fP, const cchar_t * \fIwchstr\fP, int \fIn\fP);
++\fBint mvadd_wchnstr(int \fIy\fP, int \fIx\fP, const cchar_t * \fIwchstr\fP, int \fIn\fP);
++\fBint mvwadd_wchnstr(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, const cchar_t * \fIwchstr\fP, int \fIn\fP);
+ .fi
+ .SH DESCRIPTION
+ .B \%wadd_wchstr
+@@ -75,7 +75,7 @@
+ 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,
++If a complex character does not completely fit at the end of the line,
+ .I curses
+ fills the remaining columns with the window background;
+ see \fB\%bkgrnd\fP(3X).
+@@ -112,9 +112,9 @@
+ .B ERR
+ on failure.
+ .PP
+-X/Open Curses does not specify any error conditions.
+-.I \%ncurses
+-returns
++In
++.IR \%ncurses ","
++they return
+ .B ERR
+ if
+ .bP
+@@ -139,6 +139,7 @@
+ .SH PORTABILITY
+ X/Open Curses,
+ Issue 4 describes these functions.
++It specifies no error conditions for them.
+ .SH HISTORY
+ These functions were initially specified by X/Open Curses,
+ Issue 4.
+@@ -149,10 +150,11 @@
+ and
+ .I \%waddwchnstr
+ (and the usual variants).
++.\" SVID 4, vol 3., p. 477
+ These were later additions to
+ .RI SVr4. x ,
+ not appearing in the first SVr4 (1989).
+-They differed from X/Open's
++They differed from X/Open's later
+ .I \%wadd_wchstr
+ and
+ .I \%wadd_wchnstr
+Index: man/curs_addch.3x
+Prereq: 1.96
+--- ncurses-6.5-20240720+/man/curs_addch.3x 2024-07-20 21:42:38.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_addch.3x 2024-07-27 20:08:58.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addch.3x,v 1.96 2024/07/20 21:42:38 tom Exp $
+-.TH curs_addch 3X 2024-07-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_addch.3x,v 1.98 2024/07/27 20:08:58 tom Exp $
++.TH curs_addch 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -470,12 +470,13 @@
+ .bP
+ If it can,
+ call either
+-.B \%waddch
+-or \fB\%wadd_wch\fP(3X).
++.I \%waddch
++or
++.IR \%wadd_wch "."
+ .bP
+ If it cannot,
+ use only
+-\fB\%wadd_wch\fP(3X).
++.IR \%wadd_wch "."
+ .SH HISTORY
+ 4BSD (1980)
+ .I curses
+Index: man/curs_addchstr.3x
+Prereq: 1.48
+--- ncurses-6.5-20240720+/man/curs_addchstr.3x 2024-06-01 22:29:08.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_addchstr.3x 2024-07-27 20:05:41.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addchstr.3x,v 1.48 2024/06/01 22:29:08 tom Exp $
+-.TH curs_addchstr 3X 2024-06-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_addchstr.3x,v 1.50 2024/07/27 20:05:41 tom Exp $
++.TH curs_addchstr 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -46,27 +46,27 @@
+ ..
+ .SH NAME
+ \fB\%addchstr\fP,
+-\fB\%addchnstr\fP,
+ \fB\%waddchstr\fP,
+-\fB\%waddchnstr\fP,
+ \fB\%mvaddchstr\fP,
+-\fB\%mvaddchnstr\fP,
+ \fB\%mvwaddchstr\fP,
++\fB\%addchnstr\fP,
++\fB\%waddchnstr\fP,
++\fB\%mvaddchnstr\fP,
+ \fB\%mvwaddchnstr\fP \-
+ add a \fIcurses\fR character string to a window
+ .SH SYNOPSIS
+ .nf
+ \fB#include <curses.h>
+ .PP
+-\fBint addchstr(const chtype *\fIchstr\fP);
+-\fBint waddchstr(WINDOW *\fIwin\fP, const chtype *\fIchstr\fP);
+-\fBint mvaddchstr(int \fIy\fP, int \fIx\fP, const chtype *\fIchstr\fP);
+-\fBint mvwaddchstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const chtype *\fIchstr\fP);
++\fBint addchstr(const chtype * \fIchstr\fP);
++\fBint waddchstr(WINDOW * \fIwin\fP, const chtype * \fIchstr\fP);
++\fBint mvaddchstr(int \fIy\fP, int \fIx\fP, const chtype * \fIchstr\fP);
++\fBint mvwaddchstr(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, const chtype * \fIchstr\fP);
+ .PP
+-\fBint addchnstr(const chtype *\fIchstr\fP, int \fIn\fP);
+-\fBint waddchnstr(WINDOW *\fIwin\fP, const chtype *\fIchstr\fP, int \fIn\fP);
+-\fBint mvaddchnstr(int \fIy\fP, int \fIx\fP, const chtype *\fIchstr\fP, int \fIn\fP);
+-\fBint mvwaddchnstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const chtype *\fIchstr\fP, int \fIn\fP);
++\fBint addchnstr(const chtype * \fIchstr\fP, int \fIn\fP);
++\fBint waddchnstr(WINDOW * \fIwin\fP, const chtype * \fIchstr\fP, int \fIn\fP);
++\fBint mvaddchnstr(int \fIy\fP, int \fIx\fP, const chtype * \fIchstr\fP, int \fIn\fP);
++\fBint mvwaddchnstr(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, const chtype * \fIchstr\fP, int \fIn\fP);
+ .fi
+ .SH DESCRIPTION
+ .B \%waddchstr
+@@ -112,9 +112,9 @@
+ .B ERR
+ on failure.
+ .PP
+-X/Open Curses does not specify any error conditions.
+-.I \%ncurses
+-returns
++In
++.IR \%ncurses ","
++they return
+ .B ERR
+ if
+ .bP
+@@ -139,6 +139,13 @@
+ .SH PORTABILITY
+ X/Open Curses,
+ Issue 4 describes these functions.
++It specifies no error conditions for them.
++.SH HISTORY
++SVr3.1 (1987)
++introduced
++.I \%waddchstr
++and
++.IR \%waddchnstr "."
+ .SH SEE ALSO
+ \fB\%curs_add_wchstr\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_addstr.3x
+Prereq: 1.53
+--- ncurses-6.5-20240720+/man/curs_addstr.3x 2024-07-20 20:49:44.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_addstr.3x 2024-07-27 19:48:04.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addstr.3x,v 1.53 2024/07/20 20:49:44 tom Exp $
+-.TH curs_addstr 3X 2024-07-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_addstr.3x,v 1.55 2024/07/27 19:48:04 tom Exp $
++.TH curs_addstr 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -46,12 +46,12 @@
+ ..
+ .SH NAME
+ \fB\%addstr\fP,
+-\fB\%addnstr\fP,
+ \fB\%waddstr\fP,
+-\fB\%waddnstr\fP,
+ \fB\%mvaddstr\fP,
+-\fB\%mvaddnstr\fP,
+ \fB\%mvwaddstr\fP,
++\fB\%addnstr\fP,
++\fB\%waddnstr\fP,
++\fB\%mvaddnstr\fP,
+ \fB\%mvwaddnstr\fP \-
+ add a string to a \fIcurses\fR window and advance the cursor
+ .SH SYNOPSIS
+@@ -59,14 +59,14 @@
+ \fB#include <curses.h>
+ .PP
+ \fBint addstr(const char * \fIstr\fP);
++\fBint waddstr(WINDOW * \fIwin\fP, const char * \fIstr\fP);
+ \fBint mvaddstr(int \fIy\fP, int \fIx\fP, const char * \fIstr\fP);
+ \fBint mvwaddstr(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, const char * \fIstr\fP);
+-\fBint waddstr(WINDOW * \fIwin\fP, const char * \fIstr\fP);
+ .PP
+ \fBint addnstr(const char * \fIstr\fP, int \fIn\fP);
++\fBint waddnstr(WINDOW * \fIwin\fP, const char * \fIstr\fP, int \fIn\fP);
+ \fBint mvaddnstr(int \fIy\fP, int \fIx\fP, const char * \fIstr\fP, int \fIn\fP);
+ \fBint mvwaddnstr(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, const char * \fIstr\fP, int \fIn\fP);
+-\fBint waddnstr(WINDOW * \fIwin\fP, const char * \fIstr\fP, int \fIn\fP);
+ .fi
+ .SH DESCRIPTION
+ .B waddstr
+Index: man/curs_addwstr.3x
+Prereq: 1.43
+--- ncurses-6.5-20240720+/man/curs_addwstr.3x 2024-07-20 20:53:20.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_addwstr.3x 2024-07-27 20:05:18.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addwstr.3x,v 1.43 2024/07/20 20:53:20 tom Exp $
+-.TH curs_addwstr 3X 2024-07-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_addwstr.3x,v 1.45 2024/07/27 20:05:18 tom Exp $
++.TH curs_addwstr 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -46,12 +46,12 @@
+ ..
+ .SH NAME
+ \fB\%addwstr\fP,
+-\fB\%addnwstr\fP,
+ \fB\%waddwstr\fP,
+-\fB\%waddnwstr\fP,
+ \fB\%mvaddwstr\fP,
+-\fB\%mvaddnwstr\fP,
+ \fB\%mvwaddwstr\fP,
++\fB\%addnwstr\fP,
++\fB\%waddnwstr\fP,
++\fB\%mvaddnwstr\fP,
+ \fB\%mvwaddnwstr\fP \-
+ add a wide-character string to a \fIcurses\fR window and advance the cursor
+ .SH SYNOPSIS
+@@ -59,14 +59,14 @@
+ \fB#include <curses.h>
+ .PP
+ \fBint addwstr(const wchar_t * \fIwstr\fP);
++\fBint waddwstr(WINDOW * \fIwin\fP, const wchar_t * \fIwstr\fP);
+ \fBint mvaddwstr(int \fIy\fP, int \fIx\fP, const wchar_t * \fIwstr\fP);
+ \fBint mvwaddwstr(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, const wchar_t * \fIwstr\fP);
+-\fBint waddwstr(WINDOW * \fIwin\fP, const wchar_t * \fIwstr\fP);
+ .PP
+ \fBint addnwstr(const wchar_t * \fIwstr\fP, int \fIn\fP);
++\fBint waddnwstr(WINDOW * \fIwin\fP, const wchar_t * \fIwstr\fP, int \fIn\fP);
+ \fBint mvaddnwstr(int \fIy\fP, int \fIx\fP, const wchar_t * \fIwstr\fP, int \fIn\fP);
+ \fBint mvwaddnwstr(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, const wchar_t * \fIwstr\fP, int \fIn\fP);
+-\fBint waddnwstr(WINDOW * \fIwin\fP, const wchar_t * \fIwstr\fP, int \fIn\fP);
+ .fi
+ .SH DESCRIPTION
+ .B waddwstr
+@@ -140,11 +140,17 @@
+ X/Open Curses,
+ Issue 4 describes these functions.
+ .SH HISTORY
+-.I \%waddstr
++The System\ V Interface Definition,
++Version 4 (1995),
++specified
++.I \%waddwstr
+ and
+-.I \%waddnstr
+-appeared late in SVr4 development (1995).
++.I \%waddnwstr
++(and the usual variants).
+ .\" SVID 4, vol 3., p. 478
++These were later additions to
++.RI SVr4. x ,
++not appearing in the first SVr4 (1989).
+ .SH SEE ALSO
+ \fB\%curs_addstr\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_attr.3x
+Prereq: 1.108
+--- ncurses-6.5-20240720+/man/curs_attr.3x 2024-05-25 20:10:58.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_attr.3x 2024-07-27 19:57:55.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_attr.3x,v 1.108 2024/05/25 20:10:58 tom Exp $
+-.TH curs_attr 3X 2024-05-25 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_attr.3x,v 1.110 2024/07/27 19:57:55 tom Exp $
++.TH curs_attr 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -156,8 +156,12 @@
+ These newer routines use similar names, because
+ X/Open simply added an underscore (\fB_\fP) for the newer names.
+ .PP
+-The \fBint\fP datatype used in the legacy routines is treated as if
+-it is the same size as \fBchtype\fP (used by \fBaddch\fP(3X)).
++The
++.I int
++datatype used in the legacy routines is treated as if
++it is the same size as
++.I \%chtype
++(used by \fBaddch\fP(3X)).
+ It holds the common video attributes (such as bold, reverse),
+ as well as a few bits for color.
+ Those bits correspond to the \fBA_COLOR\fP symbol.
+@@ -177,12 +181,16 @@
+ However, if the value does not fit, then the \fBCOLOR_PAIR\fP macro
+ uses only the bits that fit.
+ For example,
+-because in \fI\%ncurses\fP \fBA_COLOR\fP has eight (8) bits,
++because in
++.I \%ncurses
++\fBA_COLOR\fP has eight (8) bits,
+ then \fBCOLOR_PAIR(\fI259\fB)\fR is 4
+ (i.e., 259 is 4 more than the limit 255).
+ .PP
+-The \fBPAIR_NUMBER\fP macro extracts a pair number from an \fBint\fP
+-(or \fBchtype\fP).
++The \fBPAIR_NUMBER\fP macro extracts a pair number from an
++.I int
++(or
++.IR \%chtype ")."
+ For example, the \fIinput\fP and \fIoutput\fP values in these statements
+ would be the same:
+ .PP
+@@ -193,17 +201,24 @@
+ .EE
+ .RE
+ .PP
+-The \fBattrset\fP routine is a legacy feature predating SVr4 curses
+-but kept in X/Open Curses for the same reason that SVr4 curses kept it:
++The \fBattrset\fP routine is a legacy feature predating SVr4
++.I curses
++but kept in X/Open Curses for the same reason that SVr4
++.I curses
++kept it:
+ compatibility.
+ .PP
+ The remaining \fBattr\fP* functions operate exactly like the corresponding
+-\fBattr_\fP* functions, except that they take arguments of type \fBint\fP
+-rather than \fBattr_t\fP.
++\fBattr_\fP* functions, except that they take arguments of type
++.I int
++rather than
++.IR \%attr_t "."
+ .PP
+ There is no corresponding \fB\%attrget\fP function as such
+ in X/Open Curses,
+-although \fI\%ncurses\fP provides \fB\%getattrs\fP
++although
++.I \%ncurses
++provides \fB\%getattrs\fP
+ (see \fB\%curs_legacy\fP(3X)).
+ .\" ---------------------------------------------------------------------------
+ .SS "Change Character Rendition"
+@@ -304,23 +319,38 @@
+ The SVr4 manual page claims (falsely) that these routines always return \fB1\fP.
+ .\" ---------------------------------------------------------------------------
+ .SH RETURN VALUE
+-All routines return the integer \fBOK\fP on success, or \fBERR\fP on failure.
+-.PP
+-X/Open Curses does not specify any error conditions.
++These functions return
++.B OK
++on success and
++.B ERR
++on failure.
+ .PP
+-This implementation
+-.bP
+-returns
++In
++.IR \%ncurses ","
++they return
+ .B ERR
+-if the window pointer is null.
+-.bP
++if
++.I win
++is
++.BR NULL "."
++.PP
++.B \%wcolor_set
+ returns
+ .B ERR
+-if the color pair parameter
+-for \fBwcolor_set\fP is outside the range 0..COLOR_PAIRS\-1.
+-.bP
+-does not fail if either of the parameters of \fBwattr_get\fP
+-used for retrieving attribute or color pair values is \fBNULL\fP.
++if
++.I pair
++is outside the range
++.BR 0 .\|. COLOR_PAIRS\-1 .
++.PP
++.B \%wattr_get
++does
++.I not
++fail if its
++.I \%attrs
++or
++.I \%pair
++parameter is
++.BR NULL "."
+ .PP
+ Functions prefixed with \*(``mv\*('' first perform cursor movement and
+ fail if the position
+@@ -340,9 +370,13 @@
+ number is less than 256.
+ The alternate functions such as \fBcolor_set\fP can pass a color pair
+ value directly.
+-However, \fI\%ncurses\fP ABI 4 and 5 simply OR this value
++However,
++.I \%ncurses
++ABI 4 and 5 simply OR this value
+ within the alternate functions.
+-You must use \fI\%ncurses\fP ABI 6 to support more than 256 color pairs.
++You must use
++.I \%ncurses
++ABI 6 to support more than 256 color pairs.
+ .\" ---------------------------------------------------------------------------
+ .SH EXTENSIONS
+ This implementation provides the \fBA_ITALIC\fP attribute for terminals
+@@ -362,15 +396,24 @@
+ .bP
+ For functions which modify the color, e.g.,
+ \fBwattr_set\fP and \fBwattr_on\fP,
+-if \fIopts\fP is set it is treated as a pointer to \fBint\fP,
+-and used to set the color pair instead of the \fBshort\fP \fIpair\fP parameter.
++if \fIopts\fP is set it is treated as a pointer to
++.IR int ","
++and used to set the color pair instead of the
++.I short
++.I pair
++parameter.
+ .bP
+ For functions which retrieve the color, e.g.,
+ \fBwattr_get\fP,
+-if \fIopts\fP is set it is treated as a pointer to \fBint\fP,
+-and used to retrieve the color pair as an \fBint\fP value,
++if \fIopts\fP is set it is treated as a pointer to
++.IR int ","
++and used to retrieve the color pair as an
++.I int
++value,
+ in addition to
+-retrieving it via the standard pointer to \fBshort\fP parameter.
++retrieving it via the standard pointer to
++.I short
++parameter.
+ .bP
+ For functions which turn attributes off, e.g.,
+ \fBwattr_off\fP,
+@@ -379,9 +422,15 @@
+ .\" ---------------------------------------------------------------------------
+ .SH PORTABILITY
+ These functions are described in X/Open Curses, Issue 4.
++It specifies no error conditions for them.
++.PP
+ The standard defined the dedicated type for highlights,
+-\fBattr_t\fP, which was not defined in SVr4 curses.
+-The functions taking \fBattr_t\fP arguments were not supported under SVr4.
++.IR \%attr_t ","
++which was not defined in SVr4
++.IR curses "."
++The functions taking
++.I \%attr_t
++arguments were not supported under SVr4.
+ .PP
+ Very old versions of this library did not force an update of the screen
+ when changing the attributes.
+@@ -392,7 +441,9 @@
+ \fBA_BLINK\fP, \fBA_BOLD\fP, \fBA_DIM\fP, \fBA_REVERSE\fP, \fBA_STANDOUT\fP, or
+ \fBA_UNDERLINE\fP is \*(``unspecified\*(''.
+ Under this implementation as well as
+-SVr4 curses, these functions correctly manipulate all other highlights
++SVr4
++.IR curses ","
++these functions correctly manipulate all other highlights
+ (specifically, \fBA_ALTCHARSET\fP, \fBA_PROTECT\fP, and \fBA_INVIS\fP).
+ .PP
+ X/Open Curses added these entry points:
+@@ -437,18 +488,29 @@
+ .bP
+ However, in some implementations, those symbols have unrelated values.
+ .IP
+-For example, the Solaris \fIxpg4\fP (X/Open) curses declares
+-\fBattr_t\fP to be an unsigned short integer (16-bits),
+-while \fBchtype\fP is a unsigned integer (32-bits).
++For example, the Solaris \fIxpg4\fP (X/Open)
++.I curses
++declares
++.I \%attr_t
++to be an unsigned short integer (16-bits),
++while
++.I \%chtype
++is a unsigned integer (32-bits).
+ The \fBWA_\fP symbols in this case are different from the \fBA_\fP symbols
+ because they are used for a smaller datatype which does not
+ represent \fBA_CHARTEXT\fP or \fBA_COLOR\fP.
+ .IP
+ In this implementation (as in many others), the values happen to be
+ the same because it simplifies copying information between
+-\fBchtype\fP and \fBcchar_t\fP variables.
++.I \%chtype
++and
++.I \%cchar_t
++variables.
+ .bP
+-Because \fI\%ncurses\fP's \fBattr_t\fP can hold a color pair
++Because
++.IR \%ncurses 's
++.I \%attr_t
++can hold a color pair
+ (in the \fBA_COLOR\fP field),
+ a call to
+ \fBwattr_on\fP,
+@@ -458,7 +520,8 @@
+ If the color pair information in the attribute parameter is zero,
+ no change is made to the window's color.
+ .IP
+-This is consistent with SVr4 curses;
++This is consistent with SVr4
++.IR curses ";"
+ X/Open Curses does not specify this.
+ .PP
+ The X/Open Curses extended conformance level adds new highlights
+@@ -469,24 +532,39 @@
+ (i.e., via the \fBsgr1\fP capability).
+ .\" ---------------------------------------------------------------------------
+ .SH HISTORY
+-X/Open Curses is largely based on SVr4 curses,
++X/Open Curses is largely based on SVr4
++.IR curses ","
+ adding support for \*(``wide-characters\*('' (not specific to Unicode).
+-Some of the X/Open differences from SVr4 curses address the way
++Some of the X/Open differences from SVr4
++.I curses
++address the way
+ video attributes can be applied to wide-characters.
+ But aside from that, \fBattrset\fP and \fBattr_set\fP are similar.
+-SVr4 curses provided the basic features for manipulating video attributes.
+-However, earlier versions of curses provided a part of these features.
+-.PP
+-As seen in 2.8BSD, curses assumed 7-bit characters,
++SVr4
++.I curses
++provided the basic features for manipulating video attributes.
++However, earlier versions of
++.I curses
++provided a part of these features.
++.PP
++As seen in 2.8BSD,
++.I curses
++assumed 7-bit characters,
+ using the eighth bit of a byte to represent the \fIstandout\fP
+ feature (often implemented as bold and/or reverse video).
+-The BSD curses library provided functions \fBstandout\fP and \fBstandend\fP
++The BSD
++.I curses
++library provided functions \fBstandout\fP and \fBstandend\fP
+ which were carried along into X/Open Curses due to their pervasive use
+ in legacy applications.
+ .PP
+ Some terminals in the 1980s could support a variety of video attributes,
+-although the BSD curses library could do nothing with those.
+-System V (1983) provided an improved curses library.
++although the BSD
++.I curses
++library could do nothing with those.
++System V (1983) provided an improved
++.I curses
++library.
+ It defined the \fBA_\fP symbols for use by applications to manipulate the
+ other attributes.
+ There are few useful references for the chronology.
+@@ -496,7 +574,9 @@
+ commenting on several functions:
+ .bP
+ the \fBattron\fP, \fBattroff\fP, \fBattrset\fP functions
+-(and most of the functions found in SVr4 but not in BSD curses) were
++(and most of the functions found in SVr4 but not in BSD
++.IR curses ")"
++were
+ introduced by System V,
+ .bP
+ the alternate character set feature with \fBA_ALTCHARSET\fP was
+@@ -506,19 +586,24 @@
+ .bP
+ pads, soft-keys were added in SVr3, and
+ .PP
+-Goodheart did not mention the background character or the \fBcchar_t\fP type.
++Goodheart did not mention the background character or the
++.I \%cchar_t
++type.
+ Those are respectively SVr4 and X/Open features.
+ He did mention the \fBA_\fP constants, but did not indicate their values.
+ Those were not the same in different systems,
+ even for those marked as System V.
+ .PP
+-Different Unix systems used different sizes for the bit-fields in \fBchtype\fP
++Different Unix systems used different sizes for the bit-fields in
++.I \%chtype
+ for \fIcharacters\fP and \fIcolors\fP, and took into account the different
+ integer sizes (32-bit versus 64-bit).
+ .PP
+ This table showing the number of bits for \fBA_COLOR\fP
+ and \fBA_CHARTEXT\fP
+-was gleaned from the curses header files for
++was gleaned from the
++.I curses
++header files for
+ various operating systems and architectures.
+ The inferred architecture and notes reflect
+ the format and size of the defined constants
+@@ -554,51 +639,70 @@
+ HP-UX 10.20 (1996) added support for 64-bit PA-RISC processors in 1996.
+ .bP
+ HP-UX 10.30 (1997) marked \*(``curses_colr\*('' obsolete.
+-That version of curses was dropped with HP-UX 11.30 in 2006.
++That version of
++.I curses
++was dropped with HP-UX 11.30 in 2006.
+ .PP
+ Regarding OSF/1 (and Tru64),
+ .bP
+ These used 64-bit hardware.
+-Like \fI\%ncurses\fP,
+-the OSF/1 curses interface is not customized for 32-bit and 64-bit
++Like
++.IR \%ncurses ","
++the OSF/1
++.I curses
++interface is not customized for 32-bit and 64-bit
+ versions.
+ .bP
+ Unlike other systems which evolved from AT&T code,
+-OSF/1 provided a new implementation for X/Open curses.
++OSF/1 provided a new implementation for X/Open Curses.
+ .PP
+ Regarding Solaris,
+ .bP
+ The initial release of Solaris was in 1992.
+ .bP
+-The \fIxpg4\fP (X/Open) curses was developed by MKS from 1990 to 1995.
++The \fIxpg4\fP (X/Open) Curses was developed by MKS from 1990 to 1995.
+ Sun's copyright began in 1996.
+ .bP
+-Sun updated the X/Open curses interface
++Sun updated the X/Open Curses interface
+ after 64-bit support was introduced in 1997,
+-but did not modify the SVr4 curses interface.
++but did not modify the SVr4
++.I curses
++interface.
+ .PP
+ Regarding U/Win,
+ .bP
+-Development of the curses library began in 1991, stopped in 2000.
++Development of the
++.I curses
++library began in 1991, stopped in 2000.
+ .bP
+ Color support was added in 1998.
+ .bP
+-The library uses only \fBchtype\fP (no \fBcchar_t\fP).
++The library uses only
++.I \%chtype
++(no
++.IR \%cchar_t ")."
+ .RE
+ .PP
+-Once X/Open curses was adopted in the mid-1990s, the constraint of
+-a 32-bit interface with many colors and wide-characters for \fBchtype\fP
++Once X/Open Curses was adopted in the mid-1990s, the constraint of
++a 32-bit interface with many colors and wide-characters for
++.I \%chtype
+ became a moot point.
+-The \fBcchar_t\fP structure (whose size and
++The
++.I \%cchar_t
++structure (whose size and
+ members are not specified in X/Open Curses) could be extended as needed.
+ .PP
+ Other interfaces are rarely used now:
+ .bP
+-BSD curses was improved slightly in 1993/1994 using Keith Bostic's
++BSD
++.I curses
++was improved slightly in 1993/1994 using Keith Bostic's
+ modification to make the library 8-bit clean for \fBnvi\fP(1).
+ He moved \fIstandout\fP attribute to a structure member.
+ .IP
+-The resulting 4.4BSD curses was replaced by \fI\%ncurses\fP over the
++The resulting 4.4BSD
++.I curses
++was replaced by \fI\%ncurses\fP over the
+ next ten years.
+ .bP
+ U/Win is rarely used now.
+Index: man/curs_border.3x
+Prereq: 1.51
+--- ncurses-6.5-20240720+/man/curs_border.3x 2024-05-25 20:10:58.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_border.3x 2024-07-27 19:55:45.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_border.3x,v 1.51 2024/05/25 20:10:58 tom Exp $
+-.TH curs_border 3X 2024-05-25 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_border.3x,v 1.53 2024/07/27 19:55:45 tom Exp $
++.TH curs_border 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -141,7 +141,6 @@
+ \*(``or a non-negative integer if \fB\%immedok\fP is set\*('',
+ but this appears to be an error.
+ .PP
+-X/Open Curses does not specify any error conditions.
+ This implementation returns
+ .B ERR
+ if the window pointer is null.
+@@ -158,6 +157,7 @@
+ Note that \fBborder\fP and \fBbox\fP may be macros.
+ .SH PORTABILITY
+ These functions are described in X/Open Curses, Issue 4.
++It specifies no error conditions for them.
+ .SH SEE ALSO
+ \fB\%curses\fP(3X),
+ \fB\%curs_outopts\fP(3X)
+Index: man/curs_delch.3x
+Prereq: 1.35
+--- ncurses-6.5-20240720+/man/curs_delch.3x 2024-05-11 20:39:53.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_delch.3x 2024-07-27 20:14:16.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $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"
++.\" $Id: curs_delch.3x,v 1.37 2024/07/27 20:14:16 tom Exp $
++.TH curs_delch 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -50,9 +50,9 @@
+ \fB#include <curses.h>
+ .PP
+ \fBint delch(void);
+-\fBint wdelch(WINDOW *\fIwin\fP);
++\fBint wdelch(WINDOW * \fIwin\fP);
+ \fBint mvdelch(int \fIy\fP, int \fIx\fP);
+-\fBint mvwdelch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
++\fBint mvwdelch(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP);
+ .fi
+ .SH DESCRIPTION
+ .B \%wdelch
+@@ -76,10 +76,14 @@
+ .B ERR
+ on failure.
+ .PP
+-Functions taking a
+-.I \%WINDOW
+-pointer argument fail if the pointer is
+-.BR NULL .
++In
++.IR \%ncurses ,
++they return
++.B ERR
++if
++.I win
++is
++.BR NULL "."
+ .PP
+ Functions prefixed with \*(``mv\*('' first perform cursor movement and
+ fail if the position
+@@ -108,5 +112,8 @@
+ describes a successful return value only as
+ \*(``an integer value other than
+ .BR ERR \*(''.
++.SH HISTORY
++SVr2 (1984) introduced
++.IR \%delch "."
+ .SH SEE ALSO
+ \fB\%curses\fP(3X)
+Index: man/curs_deleteln.3x
+Prereq: 1.38
+--- ncurses-6.5-20240720+/man/curs_deleteln.3x 2024-04-20 21:20:07.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_deleteln.3x 2024-07-27 20:12:02.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_deleteln.3x,v 1.38 2024/04/20 21:20:07 tom Exp $
+-.TH curs_deleteln 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_deleteln.3x,v 1.40 2024/07/27 20:12:02 tom Exp $
++.TH curs_deleteln 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -43,62 +43,103 @@
+ .SH NAME
+ \fB\%deleteln\fP,
+ \fB\%wdeleteln\fP,
+-\fB\%insdelln\fP,
+-\fB\%winsdelln\fP,
+ \fB\%insertln\fP,
+-\fB\%winsertln\fP \-
++\fB\%winsertln\fP,
++\fB\%insdelln\fP,
++\fB\%winsdelln\fP \-
+ delete or insert lines in a \fIcurses\fR window
+ .SH SYNOPSIS
+ .nf
+ \fB#include <curses.h>
+ .PP
+ \fBint deleteln(void);
+-\fBint wdeleteln(WINDOW *\fIwin\fP);
+-.PP
+-\fBint insdelln(int \fIn\fP);
+-\fBint winsdelln(WINDOW *\fIwin\fP, int \fIn\fP);
++\fBint wdeleteln(WINDOW * \fIwin\fP);
+ .PP
+ \fBint insertln(void);
+-\fBint winsertln(WINDOW *\fIwin\fP);
++\fBint winsertln(WINDOW * \fIwin\fP);
++.PP
++\fBint insdelln(int \fIn\fP);
++\fBint winsdelln(WINDOW * \fIwin\fP, int \fIn\fP);
+ .fi
+ .SH DESCRIPTION
+-The \fBdeleteln\fP and \fBwdeleteln\fP routines delete the line under the
+-cursor in the window; all lines below the current line are moved up one line.
+-The bottom line of the window is cleared.
++.B \%wdeleteln
++deletes the line at the cursor in
++.IR win ;
++all lines below it move up one line.
++.I curses
++then fills the bottom line of
++.I win
++with the blank character
++configured by \fB\%wbkgdset\fP(3X)
++(wide-character API users: \fB\%wbkgrndset\fP(3X)).
++The cursor position does not change.
++.PP
++.B \%winsertln
++inserts a line of blank characters above the line at the cursor in
++.IR win ;
++the content of the window's bottom line is lost.
+ The cursor position does not change.
+ .PP
+-The \fBinsdelln\fP and \fBwinsdelln\fP routines, for positive \fIn\fP, insert
+-\fIn\fP lines into the specified window above the current line.
+-The \fIn\fP
+-bottom lines are lost.
+-For negative \fIn\fP, delete \fIn\fP lines (starting
+-with the one under the cursor), and move the remaining lines up.
+-The bottom
+-\fIn\fP lines are cleared.
+-The current cursor position remains the same.
++.B \%winsdelln
++inserts or deletes
++.IR n\ lines
++in
++.I win
++as
++.I n
++is positive or negative,
++respectively,
++as if by repeatedly calling
++.B \%winsertln
++or
++.BR \%wdeleteln "."
+ .PP
+-The \fBinsertln\fP and \fBwinsertln\fP routines insert a blank line above the
+-current line and the bottom line is lost.
++\fB\%ncurses\fP(3X) describes the variants of these functions.
+ .SH RETURN VALUE
+-These routines return the integer \fBERR\fP upon failure and an \fBOK\fP
+-(SVr4 specifies only
+-\*(``an integer value other than \fBERR\fP\*('')
+-upon successful completion.
+-.PP
+-X/Open defines no error conditions.
+-In this implementation,
+-if the window parameter is null, an error is returned.
++These functions return
++.B OK
++on success and
++.B ERR
++on failure.
++.PP
++In
++.IR \%ncurses ","
++they fail if
++.I win
++is
++.BR NULL "."
+ .SH NOTES
+-Note that all but \fBwinsdelln\fP may be macros.
+-.PP
+-These routines do not require a hardware line delete or insert feature in the
+-terminal.
+-In fact, they will not use hardware line delete/insert unless
+-\fBidlok(..., TRUE)\fP has been set on the current window.
++All of these functions except
++.B \%winsdelln
++may be implemented as macros.
++.PP
++These functions do not require the terminal
++to possess hardware line deletion or insertion capabilities.
++Even if available,
++by default
++.I curses
++does not use them;
++see \fB\%idlok\fP(3X).
+ .SH PORTABILITY
+-These functions are described in X/Open Curses, Issue 4.
+-The
+-standard specifies that they return \fBERR\fP on failure, but specifies no
+-error conditions.
++X/Open Curses,
++Issue 4 describes these functions.
++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 \*(''.
++.SH HISTORY
++4BSD (1980)
++.I curses
++introduced
++.I \%wdeleteln
++and
++.IR \%winsertln "."
++.PP
++SVr3.1 (1987)
++added
++.IR \%winsdelln "."
+ .SH SEE ALSO
+ \fB\%curses\fP(3X)
+Index: man/curs_extend.3x
+Prereq: 1.46
+--- ncurses-6.5-20240720+/man/curs_extend.3x 2024-03-16 15:35:01.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_extend.3x 2024-07-27 23:21:36.000000000 +0000
+@@ -29,8 +29,8 @@
+ .\"
+ .\" Author: Thomas E. Dickey 1999-on
+ .\"
+-.\" $Id: curs_extend.3x,v 1.46 2024/03/16 15:35:01 tom Exp $
+-.TH curs_extend 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_extend.3x,v 1.49 2024/07/27 23:21:36 tom Exp $
++.TH curs_extend 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -50,36 +50,51 @@
+ \fB#include <curses.h>
+ .PP
+ \fBconst char * curses_version(void);
+-\fBint use_extended_names(bool \fIenable\fP);
++\fBint use_extended_names(bool \fIbf\fP);
+ .fi
+ .SH DESCRIPTION
+-These functions are extensions to the curses library
+-which do not fit easily into other categories.
++These
++.I \%ncurses
++extensions to the
++.I curses
++library do not fit easily into other functional categories.
+ .SS curses_version
+-Use \fBcurses_version\fP
+-to get the version number, including patch level of the library,
+-prefixed by \*(``ncurses\*('', e.g.,
+-.RS
+-.sp
+-.B ncurses 5.0.19991023
+-.RE
++.B \%curses_version
++returns a pointer to a string containing the library's name
++and version number,
++including its patch level,
++for example
++\*(``ncurses 6.5.20240720\*(''.
+ .SS use_extended_names
+-The \fBuse_extended_names\fP
+-function controls whether the calling application
+-is able to use user-defined or nonstandard names
+-which may be compiled into the terminfo
+-description, i.e., via the terminfo or termcap interfaces.
+-Normally these names are available for use, since the essential decision
+-is made by using the \fB\-x\fP option of \fB@TIC@\fP to compile
+-extended terminal definitions.
+-However you can disable this feature
+-to ensure compatibility with other implementations of curses.
++.B \%use_extended_names
++configures whether the library recognizes
++user-defined or nonstandard
++.I \%term\%info
++capability names that may be compiled into terminal type descriptions
++via the \fB\%curs_terminfo\fP(3X) or \fB\%curs_termcap\fP(3X) interfaces.
++Normally these names are available for use,
++since the essential decision
++is made through use of \fB\%@TIC@\fP(1)'s
++.B \-x
++option to include such extensions in terminal type descriptions.
++.B \%use_extended_names
++can prevent
++.I \%ncurses
++from recognizing these capabilities
++to ensure compatibility with other implementations of
++.IR curses .
+ .SH RETURN VALUE
+-\fBcurses_version\fP returns a pointer to static memory; you should not free
+-this in your application.
++.B \%curses_version
++returns a constant string.
+ .PP
+-\fBuse_extended_names\fP returns the previous state, allowing you to
+-save this and restore it.
++.B \%use_extended_names
++returns the previous state of extended capability name recognition,
++allowing you to save this property and restore it.
++.SH NOTES
++The pointer returned by
++.B \%curses_version
++corresponds to statically allocated memory;
++do not attempt to \fIfree\fP(3) it.
+ .SH EXTENSIONS
+ These functions are \fB\%ncurses\fP(3X) extensions,
+ and are not found in SVr4
+@@ -94,8 +109,11 @@
+ .B \%NCURSES_VERSION
+ preprocessor macro.
+ .SH AUTHORS
+-Thomas Dickey.
++Thomas Dickey
+ .SH SEE ALSO
++.I \%ncurses
++offers several other extensions to the X/Open Curses API.
++.PP
+ \fB\%curs_getch\fP(3X),
+ \fB\%curs_mouse\fP(3X),
+ \fB\%curs_print\fP(3X),
+Index: man/curs_in_wch.3x
+Prereq: 1.33
+--- ncurses-6.5-20240720+/man/curs_in_wch.3x 2024-05-18 20:19:38.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_in_wch.3x 2024-07-27 20:06:49.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_in_wch.3x,v 1.33 2024/05/18 20:19:38 tom Exp $
+-.TH curs_in_wch 3X 2024-05-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_in_wch.3x,v 1.35 2024/07/27 20:06:49 tom Exp $
++.TH curs_in_wch 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -41,9 +41,9 @@
+ .\}
+ .SH NAME
+ \fB\%in_wch\fP,
++\fB\%win_wch\fP,
+ \fB\%mvin_wch\fP,
+-\fB\%mvwin_wch\fP,
+-\fB\%win_wch\fP \-
++\fB\%mvwin_wch\fP \-
+ get a \fIcurses\fR complex character from a window
+ .SH SYNOPSIS
+ .nf
+@@ -75,8 +75,7 @@
+ .PP
+ In
+ .IR \%ncurses ","
+-.B \%win_wch
+-returns
++they return
+ .B ERR
+ if
+ .I win
+@@ -105,6 +104,24 @@
+ X/Open Curses,
+ Issue 4 describes these functions.
+ It specifies no error conditions for them.
++.SH HISTORY
++These functions were initially specified by X/Open Curses,
++Issue 4.
++The System\ V Interface Definition,
++Version 4 (1995),
++specified a function named
++.I \%winwch
++(and the usual variants).
++.\" SVID 4, vol 3., p. 514
++This was a later addition to
++.RI SVr4. x ,
++not appearing in the first SVr4 (1989).
++It differed from X/Open's later
++.I \%win_wch
++in that it returned a value of type
++.I \%chtype
++instead of
++.IR \%cchar_t "."
+ .SH SEE ALSO
+ \fB\%curs_inch\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_inch.3x
+Prereq: 1.60
+--- ncurses-6.5-20240720+/man/curs_inch.3x 2024-06-08 20:45:43.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_inch.3x 2024-07-27 19:58:17.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_inch.3x,v 1.60 2024/06/08 20:45:43 tom Exp $
+-.TH curs_inch 3X 2024-06-08 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_inch.3x,v 1.62 2024/07/27 19:58:17 tom Exp $
++.TH curs_inch 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -81,8 +81,8 @@
+ .PP
+ In
+ .IR \%ncurses ","
+-.B \%winch
+-returns
++they return
++return
+ .B ERR
+ if
+ .I win
+Index: man/curs_ins_wch.3x
+Prereq: 1.32
+--- ncurses-6.5-20240720+/man/curs_ins_wch.3x 2024-05-25 20:16:27.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_ins_wch.3x 2024-07-27 20:05:18.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_ins_wch.3x,v 1.32 2024/05/25 20:16:27 tom Exp $
+-.TH curs_ins_wch 3X 2024-05-25 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_ins_wch.3x,v 1.34 2024/07/27 20:05:18 tom Exp $
++.TH curs_ins_wch 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -41,18 +41,18 @@
+ .\}
+ .SH NAME
+ \fB\%ins_wch\fP,
++\fB\%wins_wch\fP,
+ \fB\%mvins_wch\fP,
+-\fB\%mvwins_wch\fP,
+-\fB\%wins_wch\fP \-
++\fB\%mvwins_wch\fP \-
+ insert a \fIcurses\fR complex character in a window
+ .SH SYNOPSIS
+ .nf
+ \fB#include <curses.h>\fP
+ .PP
+-\fBint ins_wch(const cchar_t *\fIwch\fP);
+-\fBint wins_wch(WINDOW *\fIwin\fP, const cchar_t *\fIwch\fP);
+-\fBint mvins_wch(int \fIy\fP, int \fIx\fP, const cchar_t *\fIwch\fP);
+-\fBint mvwins_wch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const cchar_t *\fIwch\fP);
++\fBint ins_wch(const cchar_t * \fIwch\fP);
++\fBint wins_wch(WINDOW * \fIwin\fP, const cchar_t * \fIwch\fP);
++\fBint mvins_wch(int \fIy\fP, int \fIx\fP, const cchar_t * \fIwch\fP);
++\fBint mvwins_wch(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, const cchar_t * \fIwch\fP);
+ .fi
+ .SH DESCRIPTION
+ These functions insert the
+@@ -99,12 +99,23 @@
+ SVr4 describes successful return values only as
+ \*(``an integer value other than \fBERR\fP\*(''.
+ .SH HISTORY
+-SVr4 (1989) implemented these functions under the names
+-.BR inswch ,
+-.BR winswch ,
+-.BR mvinswch ,
+-and
+-.BR mvwinswch .
++These functions were initially specified by X/Open Curses,
++Issue 4.
++The System\ V Interface Definition,
++Version 4 (1995),
++specified a function named
++.I \%winswch
++(and the usual variants).
++.\" SVID 4, vol 3., p. 512
++This was a later addition to
++.RI SVr4. x ,
++not appearing in the first SVr4 (1989).
++It differed from X/Open's later
++.I \%wins_wch
++in that it took an argument of type
++.I \%chtype
++instead of
++.IR \%cchar_t "."
+ .SH "SEE ALSO"
+ \fB\%curs_insch\fP(3X) describes comparable functions in the
+ non-wide-character
+Index: man/curs_ins_wstr.3x
+Prereq: 1.42
+--- ncurses-6.5-20240720+/man/curs_ins_wstr.3x 2024-06-08 21:04:04.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_ins_wstr.3x 2024-07-27 20:15:31.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_ins_wstr.3x,v 1.42 2024/06/08 21:04:04 tom Exp $
+-.TH curs_ins_wstr 3X 2024-06-08 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_ins_wstr.3x,v 1.44 2024/07/27 20:15:31 tom Exp $
++.TH curs_ins_wstr 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -46,46 +46,64 @@
+ ..
+ .SH NAME
+ \fB\%ins_wstr\fP,
+-\fB\%ins_nwstr\fP,
+ \fB\%wins_wstr\fP,
+-\fB\%wins_nwstr\fP,
+ \fB\%mvins_wstr\fP,
+-\fB\%mvins_nwstr\fP,
+ \fB\%mvwins_wstr\fP,
++\fB\%ins_nwstr\fP,
++\fB\%wins_nwstr\fP,
++\fB\%mvins_nwstr\fP,
+ \fB\%mvwins_nwstr\fP \-
+ insert a wide-character string in a \fIcurses\fR window
+ .SH SYNOPSIS
+ .nf
+ \fB#include <curses.h>
+ .PP
+-\fBint ins_wstr(const wchar_t *\fIwstr\fP);
+-\fBint ins_nwstr(const wchar_t *\fIwstr\fP, int \fIn\fP);
+-\fBint wins_wstr(WINDOW *\fIwin\fP, const wchar_t *\fIwstr\fP);
+-\fBint wins_nwstr(WINDOW *\fIwin\fP, const wchar_t *\fIwstr\fP, int \fIn\fP);
+-.PP
+-\fBint mvins_wstr(int \fIy\fP, int \fIx\fP, const wchar_t *\fIwstr\fP);
+-\fBint mvins_nwstr(int \fIy\fP, int \fIx\fP, const wchar_t *\fIwstr\fP, int \fIn\fP);
+-\fBint mvwins_wstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const wchar_t *\fIwstr\fP);
+-\fBint mvwins_nwstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const wchar_t *\fIwstr\fP, int \fIn\fP);
++\fBint ins_wstr(const wchar_t * \fIwstr\fP);
++\fBint wins_wstr(WINDOW * \fIwin\fP, const wchar_t * \fIwstr\fP);
++\fBint mvins_wstr(int \fIy\fP, int \fIx\fP, const wchar_t * \fIwstr\fP);
++\fBint mvwins_wstr(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, const wchar_t * \fIwstr\fP);
++.PP
++\fBint ins_nwstr(const wchar_t * \fIwstr\fP, int \fIn\fP);
++\fBint wins_nwstr(WINDOW * \fIwin\fP, const wchar_t * \fIwstr\fP, int \fIn\fP);
++\fBint mvins_nwstr(int \fIy\fP, int \fIx\fP, const wchar_t * \fIwstr\fP, int \fIn\fP);
++\fBint mvwins_nwstr(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, const wchar_t * \fIwstr\fP, int \fIn\fP);
+ .fi
+ .SH DESCRIPTION
+-These routines insert a \fBwchar_t\fP character string
+-(as many characters as will fit on the line)
+-before the character under the cursor,
+-as if calling \fBwins_wch\fP(3X).
+-All characters to the right of the cursor are shifted right,
+-with the possibility of the rightmost characters on the line being lost.
+-No wrapping is performed.
+-.PP
++.B \%wins_wstr
++inserts a wide-character string
++.I wstr
++before the character at the cursor in window
++.I win
++as if by calling \fBwins_wch\fP(3X) for each
++.I \%wchar_t
++in
++.IR wstr "."
++No line wrapping is performed.
++Characters to the right of the cursor are shifted right;
++those at the right edge of the window may be lost.
++.B \%wins_wstr
++stops inserting if it would have to wrap to the next line to write the
++next
++.I \%wchar_t
++in
++.IR wstr "."
+ The cursor position does not change
+-(after moving to \fIy\fP, \fIx\fP, if specified).
+-.PP
+-The functions with \fIn\fP as the last argument
+-insert a leading substring of at most \fIn\fP \fBwchar_t\fP characters.
+-If \fIn\fP is less than zero, the entire string is inserted
+-(stopping on a L'\e0' character).
+-.PP
+-Special characters are handled as in \fBwadd_wch\fP(3X).
++(after moving to
++.RI ( y ","
++.IR x "),"
++if specified).
++.B \%wins_nwstr
++does the same,
++but inserts at most
++.I n
++characters,
++or as many as possible
++(up to the end of the line)
++if
++.I n
++is
++.BR \-1 "."
++\fB\%ncurses\fP(3X) describes the variants of these functions.
+ .SH RETURN VALUE
+ These functions return
+ .B OK
+@@ -93,7 +111,6 @@
+ .B ERR
+ on failure.
+ .PP
+-X/Open Curses does not specify any error conditions.
+ In
+ .IR \%ncurses ","
+ they return
+@@ -107,6 +124,10 @@
+ .I wstr
+ is
+ .BR NULL ","
++.bP
++the first wide character in
++.I wstr
++is a non-spacing character,
+ or
+ .bP
+ an internal \fB\%wins_wch\fP(3X) call returns
+@@ -121,29 +142,53 @@
+ All of these functions except
+ .B \%wins_nwstr
+ may be implemented as macros.
+-.PP
+-If the first character in the string is a non-spacing character,
+-these functions return
+-.BR ERR "."
+-X/Open Curses does not specify what happens
+-if a non-spacing character follows a control character.
+ .SH PORTABILITY
+ X/Open Curses,
+ Issue 4 describes these functions.
+ It specifies no error conditions for them.
+ .PP
++X/Open Curses does not specify what happens
++if a non-spacing character follows a control character.
++.PP
+ Issue 4 states that the entire string is inserted if
+ .I n
+ is less than 1.
+ This is probably an error,
+-because it is inconsistent with other functions,
++.\" ...copied from SVID 4, which made the same error; see p. 513.
++because it is inconsistent with other functions
++such as \fB\%waddwstr\fP(3X),
+ and differs from the SVr4
+ .I curses
+ and Solaris
+ .I xcurses
+ implementations.
+ Nevertheless,
+-Issue 7 retains it.
++Issue 7 retains the language.
++.SH HISTORY
++These functions were initially specified by X/Open Curses,
++Issue 4.
++The System\ V Interface Definition,
++Version 4 (1995),
++specified functions named
++.I \%winswstr
++and
++.I \%winsnwstr
++(and the usual variants).
++.\" SVID 4, vol 3., p. 513
++.\" The prototypes also identify the data type as `wchar`, not
++.\" `wchar_t`, but this may be an error since the "DESCRIPTION" section
++.\" consistently uses the latter. --GBR
++These were later additions to
++.RI SVr4. x ,
++not appearing in the first SVr4 (1989).
++They differ from X/Open's later
++.I \%wins_wstr
++and
++.I \%wins_nwstr
++in that their
++.I wstr
++parameters are not
++.IR const -qualified .
+ .SH SEE ALSO
+ \fB\%curs_insstr\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_insch.3x
+Prereq: 1.40
+--- ncurses-6.5-20240720+/man/curs_insch.3x 2024-04-20 19:03:47.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_insch.3x 2024-07-27 20:08:25.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_insch.3x,v 1.40 2024/04/20 19:03:47 tom Exp $
+-.TH curs_insch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_insch.3x,v 1.42 2024/07/27 20:08:25 tom Exp $
++.TH curs_insch 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -50,9 +50,9 @@
+ \fB#include <curses.h>\fP
+ .PP
+ \fBint insch(chtype \fIch\fP);
+-\fBint winsch(WINDOW *\fIwin\fP, chtype \fIch\fP);
++\fBint winsch(WINDOW * \fIwin\fP, chtype \fIch\fP);
+ \fBint mvinsch(int \fIy\fP, int \fIx\fP, chtype \fIch\fP);
+-\fBint mvwinsch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, chtype \fIch\fP);
++\fBint mvwinsch(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, chtype \fIch\fP);
+ .fi
+ .SH DESCRIPTION
+ These functions insert the
+@@ -105,6 +105,9 @@
+ describes a successful return value only as
+ \*(``an integer value other than
+ .BR ERR \*(''.
++.SH HISTORY
++SVr2 (1984) introduced
++.IR \%winsch "."
+ .SH "SEE ALSO"
+ \fB\%curs_ins_wch\fP(3X) describes comparable functions in the
+ wide-character
+Index: man/curs_insstr.3x
+Prereq: 1.55
+--- ncurses-6.5-20240720+/man/curs_insstr.3x 2024-06-08 21:03:03.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_insstr.3x 2024-07-27 20:07:59.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_insstr.3x,v 1.55 2024/06/08 21:03:03 tom Exp $
+-.TH curs_insstr 3X 2024-06-08 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_insstr.3x,v 1.57 2024/07/27 20:07:59 tom Exp $
++.TH curs_insstr 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -46,57 +46,87 @@
+ ..
+ .SH NAME
+ \fB\%insstr\fP,
+-\fB\%insnstr\fP,
+ \fB\%winsstr\fP,
+-\fB\%winsnstr\fP,
+ \fB\%mvinsstr\fP,
+ \fB\%mvinsnstr\fP,
++\fB\%insnstr\fP,
++\fB\%winsnstr\fP,
+ \fB\%mvwinsstr\fP,
+ \fB\%mvwinsnstr\fP \-
+ insert a string in a \fIcurses\fR window
+ .SH SYNOPSIS
+ .nf
+ \fB#include <curses.h>
+-\fBint insstr(const char *\fIstr\fP);
+-\fBint insnstr(const char *\fIstr\fP, int \fIn\fP);
+-\fBint winsstr(WINDOW *\fIwin\fP, const char *\fIstr\fP);
+-\fBint winsnstr(WINDOW *\fIwin\fP, const char *\fIstr\fP, int \fIn\fP);
+-.PP
+-\fBint mvinsstr(int \fIy\fP, int \fIx\fP, const char *\fIstr\fP);
+-\fBint mvinsnstr(int \fIy\fP, int \fIx\fP, const char *\fIstr\fP, int \fIn\fP);
+-\fBint mvwinsstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const char *\fIstr\fP);
+-\fBint mvwinsnstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const char *\fIstr\fP, int \fIn\fP);
++.PP
++\fBint insstr(const char * \fIstr\fP);
++\fBint winsstr(WINDOW * \fIwin\fP, const char * \fIstr\fP);
++\fBint mvinsstr(int \fIy\fP, int \fIx\fP, const char * \fIstr\fP);
++\fBint mvwinsstr(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, const char * \fIstr\fP);
++.PP
++\fBint insnstr(const char * \fIstr\fP, int \fIn\fP);
++\fBint winsnstr(WINDOW * \fIwin\fP, const char * \fIstr\fP, int \fIn\fP);
++\fBint mvinsnstr(int \fIy\fP, int \fIx\fP, const char * \fIstr\fP, int \fIn\fP);
++\fBint mvwinsnstr(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, const char * \fIstr\fP, int \fIn\fP);
+ .fi
+ .SH DESCRIPTION
+-These routines insert a character string
+-(as many characters as will fit on the line)
+-before the character under the cursor,
+-as if calling \fBwinsch\fP(3X).
+-All characters to the right of the cursor are shifted right,
+-with the possibility of the rightmost characters on the line being lost.
+-No wrapping is performed.
+-.PP
++.B \%winsstr
++inserts a string
++.I str
++before the character at the cursor in window
++.I win
++as if by calling \fBwinsch\fP(3X) for each
++.I char
++in
++.IR str "."
++No line wrapping is performed.
++Characters to the right of the cursor are shifted right;
++those at the right edge of the window may be lost.
++.B \%winsstr
++stops inserting if it would have to wrap to the next line to write the
++next
++.I \%char
++in
++.IR str "."
+ The cursor position does not change
+-(after moving to \fIy\fP, \fIx\fP, if specified).
+-.PP
+-The functions with \fIn\fP as the last argument
+-insert a leading substring of at most \fIn\fP characters.
+-If \fIn\fP is less than zero, the entire string is inserted
+-(stopping on a NUL character).
+-.PP
+-Special characters are handled as in \fBwaddch\fP(3X).
++(after moving to
++.RI ( y ","
++.IR x "),"
++if specified).
++.B \%insnstr
++does the same,
++but inserts at most
++.I n
++characters,
++or as many as possible
++(up to the end of the line)
++if
++.I n
++is
++.BR \-1 "."
++\fB\%ncurses\fP(3X) describes the variants of these functions.
+ .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
++In
++.IR \%ncurses ","
++they return
+ .B ERR
++if
+ .bP
+-if the \fIwin\fP parameter is null or
++.I win
++is
++.BR NULL ","
+ .bP
+-if the \fIstr\fP parameter is null or
++.I str
++is
++.BR NULL ","
++or
+ .bP
+-the \fBwinsch\fP(3X) function returns
++an internal \fBwinsch\fP(3X) call returns
+ .BR ERR "."
+ .PP
+ Functions prefixed with \*(``mv\*('' first perform cursor movement and
+@@ -105,7 +135,9 @@
+ .IR x )
+ is outside the window boundaries.
+ .SH NOTES
+-All but \fBwinsnstr\fP may be macros.
++All of these functions except
++.B \%winsnstr
++may be implemented as macros.
+ .SH PORTABILITY
+ X/Open Curses,
+ Issue 4 describes these functions.
+@@ -115,6 +147,7 @@
+ .B \%insnstr
+ and
+ .B \%winsnstr
++from the other functions documented above
+ by stating they \*(``do not perform wrapping\*(''.
+ This was probably an error,
+ since it makes this group of functions inconsistent.
+@@ -127,14 +160,22 @@
+ .I n
+ is less than 1.
+ This is probably an error,
+-because it is inconsistent with other functions,
++.\" ...copied from SVID 4, which made the same error; see p. 510.
++because it is inconsistent with other functions
++such as \fB\%waddstr\fP(3X),
+ and differs from the SVr4
+ .I curses
+ and Solaris
+ .I xcurses
+ implementations.
+ Nevertheless,
+-Issue 7 retains it.
++Issue 7 retains the language.
++.SH HISTORY
++SVr3.1 (1987)
++introduced
++.I \%winsstr
++and
++.IR \%winsnstr "."
+ .SH SEE ALSO
+ \fB\%curs_ins_wstr\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_move.3x
+Prereq: 1.42
+--- ncurses-6.5-20240720+/man/curs_move.3x 2024-07-20 20:54:08.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_move.3x 2024-07-27 20:11:42.000000000 +0000
+@@ -27,8 +27,18 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_move.3x,v 1.42 2024/07/20 20:54:08 tom Exp $
+-.TH curs_move 3X 2024-07-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_move.3x,v 1.44 2024/07/27 20:11:42 tom Exp $
++.TH curs_move 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.ie \n(.g \{\
++.ds `` \(lq
++.ds '' \(rq
++.\}
++.el \{\
++.ie t .ds `` ``
++.el .ds `` ""
++.ie t .ds '' ''
++.el .ds '' ""
++.\}
+ .SH NAME
+ \fB\%move\fP,
+ \fB\%wmove\fP \-
+@@ -72,6 +82,8 @@
+ .IR x )
+ is outside the window boundaries.
+ .PP
++In
++.IR \%ncurses ,
+ .B \%wmove
+ fails if its
+ .I \%WINDOW
+@@ -83,6 +95,13 @@
+ .SH PORTABILITY
+ X/Open Curses,
+ Issue 4 describes these functions.
++.PP
++SVr4
++.I curses
++describes a successful return value only as
++\*(``an integer value other than
++.BR ERR \*(''.
++.SH HISTORY
+ 4BSD (1980)
+ .I curses
+ introduced
+Index: man/curs_outopts.3x
+Prereq: 1.67
+--- ncurses-6.5-20240720+/man/curs_outopts.3x 2024-05-25 20:10:58.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_outopts.3x 2024-07-27 19:55:45.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_outopts.3x,v 1.67 2024/05/25 20:10:58 tom Exp $
+-.TH curs_outopts 3X 2024-05-25 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_outopts.3x,v 1.69 2024/07/27 19:55:45 tom Exp $
++.TH curs_outopts 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .de bP
+ .ie n .IP \(bu 4
+ .el .IP \(bu 2
+@@ -143,8 +143,6 @@
+ All other routines that return an integer always
+ return \fBOK\fP.
+ .PP
+-X/Open Curses does not specify any error conditions.
+-.PP
+ In this implementation,
+ .bP
+ those functions that have a window pointer
+@@ -169,6 +167,7 @@
+ emulators.
+ .SH PORTABILITY
+ These functions are described in X/Open Curses, Issue 4.
++It specifies no error conditions for them.
+ .PP
+ Some historic curses implementations had, as an undocumented feature, the
+ ability to do the equivalent of \fBclearok(..., 1)\fP by saying
+Index: man/curs_pad.3x
+Prereq: 1.65
+--- ncurses-6.5-20240720+/man/curs_pad.3x 2024-06-22 22:20:03.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_pad.3x 2024-07-27 19:55:45.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_pad.3x,v 1.65 2024/06/22 22:20:03 tom Exp $
+-.TH curs_pad 3X 2024-06-22 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_pad.3x,v 1.67 2024/07/27 19:55:45 tom Exp $
++.TH curs_pad 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -186,7 +186,6 @@
+ to
+ .BR \%ENOMEM "."
+ .PP
+-X/Open Curses does not specify any error conditions.
+ In this implementation
+ .RS 3
+ .TP 5
+@@ -243,7 +242,7 @@
+ .PP
+ X/Open Curses, Issue 4 describes these functions,
+ without significant change from the SVr3 documentation.
+-It describes no error conditions.
++It specifies no error conditions for them.
+ The behavior of \fB\%subpad\fP if the parent window is not
+ a pad is undocumented,
+ and is not checked by the vendor Unix implementations:
+Index: man/curs_print.3x
+Prereq: 1.38
+--- ncurses-6.5-20240720+/man/curs_print.3x 2024-03-16 15:35:01.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_print.3x 2024-07-27 20:03:57.000000000 +0000
+@@ -27,8 +27,18 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_print.3x,v 1.38 2024/03/16 15:35:01 tom Exp $
+-.TH curs_print 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_print.3x,v 1.40 2024/07/27 20:03:57 tom Exp $
++.TH curs_print 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.ie \n(.g \{\
++.ds `` \(lq
++.ds '' \(rq
++.\}
++.el \{\
++.ie t .ds `` ``
++.el .ds `` ""
++.ie t .ds '' ''
++.el .ds '' ""
++.\}
+ .SH NAME
+ \fB\%mcprint\fP \-
+ write binary data to printer using \fIterminfo\fR capabilities
+@@ -36,54 +46,93 @@
+ .nf
+ \fB#include <curses.h>
+ .PP
+-\fBint mcprint(char *\fIdata\fP, int \fIlen\fP);
++\fBint mcprint(char * \fIdata\fP, int \fIlen\fP);
+ .fi
+ .SH DESCRIPTION
+-This function uses the \fBmc5p\fP or \fBmc4\fP and \fBmc5\fP capabilities,
+-if they are present, to ship given data to a printer attached to the terminal.
++.BR \%mcprint ","
++an
++.I \%ncurses
++extension to the
++.I curses
++library,
++uses the terminal's
++.B \%prtr_non
++.RB ( mc5p )
++or
++.B \%prtr_on
++.RB ( mc5 )
++and
++.B \%prtr_off
++.RB ( mc4 )
++media copy capabilities,
++if defined,
++to send
++.I len
++bytes of the given string
++.I data
++to a printer attached to the terminal.
+ .PP
+-Note that the \fB\%mcprint\fP code has no way
+-to do flow control with the printer
+-or to know how much buffering it has.
+-Your application is responsible for
+-keeping the rate of writes to the printer below its continuous throughput rate
+-(typically about half of its nominal cps rating).
++.B \%mcprint
++has no means of flow control to the printer
++nor of knowing how much buffering it has.
++Your application is responsible
++for keeping the rate of writes to the printer
++below its continuous throughput rate,
++typically about half of its nominal characters-per-second (cps) rating.
+ Dot-matrix printers and
+-6-page-per-minute lasers can typically handle 80cps, so a good conservative
+-rule of thumb is to sleep for a second after shipping each 80-character line.
+-.
++6-page-per-minute laser printers can typically handle 80 cps,
++so a conservative rule of thumb
++is to sleep for one second after sending an 80-character line.
+ .SH RETURN VALUE
+-The \fB\%mcprint\fP function returns \fBERR\fP if the write operation aborted
+-for some reason.
+-In this case, \fB\%errno\fP will contain either an error associated
+-with \fBwrite\fP(2) or one of the following:
++On success,
++.B \%mcprint
++returns the number of characters sent to the printer.
++.PP
++.B \%mcprint
++returns
++.B ERR
++if the write operation fails for any reason.
++In that event,
++.B errno
++contains either a value set by \fIwrite\fP(2),
++or one of the following.
+ .TP 5
+ \fBENODEV\fP
+-Capabilities for printer redirection do not exist.
++The terminal lacks relevant media copy capabilities.
+ .TP 5
+ \fBENOMEM\fP
+-Couldn't allocate sufficient memory to buffer the printer write.
+-.PP
+-When \fB\%mcprint\fP succeeds, it returns the number of characters actually
+-sent to the printer.
++.I \%ncurses
++could not allocate sufficient memory to buffer the write operation.
+ .SH EXTENSIONS
+-\fB\%mcprint\fP was designed for
+-\fB\%ncurses\fP(3X),
+-and was not found in SVr4
+-.IR curses ,
++.B \%mcprint
++is an \fB\%ncurses\fP(3X) extension,
++and is not found in SVr4
++.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 this
+ .I \%ncurses
+ extension should condition its use on the visibility of the
+ .B \%NCURSES_VERSION
+ preprocessor macro.
++.SH HISTORY
++.I \%ncurses
++introduced
++.I \%mcprint
++prior to version 1.9.9g (1996).
+ .SH BUGS
+ Padding in the
+-\fBmc5p\fP,
+-\fBmc4\fP, and
+-\fBmc5\fP capabilities is not interpreted.
++.B \%prtr_non
++.RB ( mc5p ),
++.B \%prtr_on
++.RB ( mc5 ),
++and
++.B \%prtr_off
++.RB ( mc4 )
++capabilities is not interpreted.
+ .SH SEE ALSO
+ \fB\%curses\fP(3X)
+Index: man/curs_refresh.3x
+Prereq: 1.48
+--- ncurses-6.5-20240720+/man/curs_refresh.3x 2024-05-25 20:10:58.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_refresh.3x 2024-07-27 19:55:45.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_refresh.3x,v 1.48 2024/05/25 20:10:58 tom Exp $
+-.TH curs_refresh 3X 2024-05-25 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_refresh.3x,v 1.50 2024/07/27 19:55:45 tom Exp $
++.TH curs_refresh 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -133,7 +133,6 @@
+ \*(``an integer value other than \fBERR\fP\*('')
+ upon successful completion.
+ .PP
+-X/Open Curses does not specify any error conditions.
+ In this implementation
+ .RS 3
+ .TP 5
+@@ -153,6 +152,7 @@
+ Note that \fBrefresh\fP and \fBredrawwin\fP may be macros.
+ .SH PORTABILITY
+ X/Open Curses, Issue 4 describes these functions.
++It specifies no error conditions for them.
+ .PP
+ Whether \fBwnoutrefresh\fP copies to the virtual screen the entire contents
+ of a window or just its changed portions has never been well-documented in
+Index: man/curs_touch.3x
+Prereq: 1.49
+--- ncurses-6.5-20240720+/man/curs_touch.3x 2024-05-25 20:10:58.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_touch.3x 2024-07-27 19:55:45.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_touch.3x,v 1.49 2024/05/25 20:10:58 tom Exp $
+-.TH curs_touch 3X 2024-05-25 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_touch.3x,v 1.51 2024/07/27 19:55:45 tom Exp $
++.TH curs_touch 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .SH NAME
+ \fB\%touchwin\fP,
+ \fB\%touchline\fP,
+@@ -81,7 +81,6 @@
+ other than \fBERR\fP upon successful completion, unless otherwise noted in the
+ preceding routine descriptions.
+ .PP
+-X/Open Curses does not specify any error conditions.
+ In this implementation
+ .RS 3
+ .TP 5
+@@ -118,8 +117,8 @@
+ that it is not \fBNULL\fP;
+ otherwise this implementation behaves the same as SVr4.
+ .PP
+-X/Open Curses, Issue 4 describes these functions,
+-but defines no error conditions.
++X/Open Curses, Issue 4 describes these functions.
++It specifies no error conditions for them.
+ .SH SEE ALSO
+ \fB\%curses\fP(3X),
+ \fB\%curs_refresh\fP(3X),
+Index: man/curs_util.3x
+Prereq: 1.112
+--- ncurses-6.5-20240720+/man/curs_util.3x 2024-06-22 21:25:23.000000000 +0000
++++ ncurses-6.5-20240727/man/curs_util.3x 2024-07-27 19:55:45.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_util.3x,v 1.112 2024/06/22 21:25:23 tom Exp $
+-.TH curs_util 3X 2024-06-22 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_util.3x,v 1.114 2024/07/27 19:55:45 tom Exp $
++.TH curs_util 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -310,7 +310,6 @@
+ .PP
+ Routines that return pointers return \fBNULL\fP on error.
+ .PP
+-X/Open Curses does not specify any error conditions.
+ In this implementation
+ .RS 3
+ .TP 5
+@@ -408,9 +407,9 @@
+ .SS "unctrl, wunctrl"
+ X/Open Curses,
+ Issue 4 describes these functions.
++It specifies no error conditions for them.
+ It states that \fBunctrl\fP and \fBwunctrl\fP will return a null pointer
+-if unsuccessful,
+-but does not define any error conditions.
++if unsuccessful.
+ This implementation checks for three cases:
+ .bP
+ the parameter is a 7-bit US\-ASCII code.
+Index: man/define_key.3x
+Prereq: 1.48
+--- ncurses-6.5-20240720+/man/define_key.3x 2024-06-08 23:25:11.000000000 +0000
++++ ncurses-6.5-20240727/man/define_key.3x 2024-07-27 19:43:41.000000000 +0000
+@@ -29,8 +29,8 @@
+ .\"
+ .\" Author: Thomas E. Dickey 1997
+ .\"
+-.\" $Id: define_key.3x,v 1.48 2024/06/08 23:25:11 tom Exp $
+-.TH define_key 3X 2024-06-08 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: define_key.3x,v 1.50 2024/07/27 19:43:41 tom Exp $
++.TH define_key 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .
+ .de bP
+ .ie n .IP \(bu 4
+@@ -118,7 +118,7 @@
+ NetBSD
+ .I curses
+ since 2.0 (2004) supports
+-.BR \%define_key "."
++.IR \%define_key "."
+ .SH AUTHORS
+ Thomas Dickey
+ .SH SEE ALSO
+Index: man/infotocap.1m
+Prereq: 1.42
+--- ncurses-6.5-20240720+/man/infotocap.1m 2024-05-11 20:39:53.000000000 +0000
++++ ncurses-6.5-20240727/man/infotocap.1m 2024-07-27 19:43:16.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $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"
++.\" $Id: infotocap.1m,v 1.44 2024/07/27 19:43:16 tom Exp $
++.TH @INFOTOCAP@ 1M 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -53,7 +53,7 @@
+ .SH DESCRIPTION
+ \fB\%@INFOTOCAP@\fP translates terminal descriptions.
+ It looks in each given text \fIfile\fP for \fI\%terminfo\fP entries and,
+-For each one found,
++for each one found,
+ it writes an analogous \fI\%termcap\fP description to the standard
+ output stream.
+ \fI\%terminfo\fP \*(``\fBuse\fP\*('' capabilities translate to
+Index: man/keyok.3x
+Prereq: 1.46
+--- ncurses-6.5-20240720+/man/keyok.3x 2024-06-15 19:49:39.000000000 +0000
++++ ncurses-6.5-20240727/man/keyok.3x 2024-07-27 19:42:31.000000000 +0000
+@@ -29,8 +29,8 @@
+ .\"
+ .\" Author: Thomas E. Dickey 1997
+ .\"
+-.\" $Id: keyok.3x,v 1.46 2024/06/15 19:49:39 tom Exp $
+-.TH keyok 3X 2024-06-15 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: keyok.3x,v 1.48 2024/07/27 19:42:31 tom Exp $
++.TH keyok 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .
+ .de bP
+ .ie n .IP \(bu 4
+@@ -59,7 +59,7 @@
+ \fB\%wget_wch\fP(3X)).
+ Key codes that have been disabled can be re-enabled.
+ .I bf
+-indicates the desired enablement status.
++selects the desired enablement status.
+ This operation is more fine-grained than calling \fB\%keypad\fP(3X),
+ which affects
+ .I all
+@@ -100,7 +100,7 @@
+ NetBSD
+ .I curses
+ since 2.0 (2004) supports
+-.BR \%keyok "."
++.IR \%keyok "."
+ .SH AUTHORS
+ Thomas Dickey
+ .SH SEE ALSO
+Index: man/legacy_coding.3x
+Prereq: 1.28
+--- ncurses-6.5-20240720+/man/legacy_coding.3x 2024-04-20 19:13:50.000000000 +0000
++++ ncurses-6.5-20240727/man/legacy_coding.3x 2024-07-27 19:44:30.000000000 +0000
+@@ -29,8 +29,8 @@
+ .\"
+ .\" Author: Thomas E. Dickey
+ .\"
+-.\" $Id: legacy_coding.3x,v 1.28 2024/04/20 19:13:50 tom Exp $
+-.TH legacy_coding 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: legacy_coding.3x,v 1.30 2024/07/27 19:44:30 tom Exp $
++.TH legacy_coding 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .SH NAME
+ \fB\%use_legacy_coding\fP \-
+ override \fIcurses\fR locale encoding checks
+@@ -73,7 +73,9 @@
+ showing codes in the range 128-159 as is.
+ .RE
+ .SH RETURN VALUE
+-If the screen has not been initialized,
++If the
++.I curses
++screen has not been initialized,
+ or the
+ .I level
+ parameter is out of range,
+@@ -81,23 +83,24 @@
+ returns
+ .BR ERR .
+ Otherwise,
+-it returns the previous level:
+-.BR 0 ,
+-.BR 1 ,
+-or
+-.BR 2 .
+-.SH PORTABILITY
++it returns the previous level.
++.SH EXTENSIONS
+ .B \%use_legacy_coding
+-is specific to
+-.IR \%ncurses .
+-It was not supported on Version 7, BSD or System V implementations.
++is an
++.I \%ncurses
++extension.
++.SH PORTABILITY
+ Applications employing
+ .I \%ncurses
+ extensions should condition their use on the visibility of the
+ .B \%NCURSES_VERSION
+ preprocessor macro.
++.SH HISTORY
++.I \%ncurses
++5.6 (2006) introduced
++.I \%use_legacy_coding
++to support \fI\%lynx\fP(1)'s font-switching feature.
+ .SH AUTHORS
+ Thomas Dickey
+-(to support \fI\%lynx\fP(1)'s font-switching feature).
+ .SH SEE ALSO
+ \fB\%unctrl\fP(3X)
+Index: man/manhtml.externs
+Prereq: 1.28
+--- ncurses-6.5-20240720+/man/manhtml.externs 2024-06-22 22:20:56.000000000 +0000
++++ ncurses-6.5-20240727/man/manhtml.externs 2024-07-27 20:15:00.000000000 +0000
+@@ -1,4 +1,4 @@
+-# $Id: manhtml.externs,v 1.28 2024/06/22 22:20:56 tom Exp $
++# $Id: manhtml.externs,v 1.29 2024/07/27 20:15:00 tom Exp $
+ # Items in this list will not be linked by man2html
+ #***************************************************************************
+ # Copyright 2019-2023,2024 Thomas E. Dickey *
+@@ -42,6 +42,7 @@
+ errno(3)
+ file(1)
+ fread(3)
++free(3)
+ fwrite(3)
+ getty(8)
+ ioctl(2)
+Index: man/ncurses.3x
+Prereq: 1.227
+--- ncurses-6.5-20240720+/man/ncurses.3x 2024-07-20 20:48:52.000000000 +0000
++++ ncurses-6.5-20240727/man/ncurses.3x 2024-07-27 20:10:07.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: ncurses.3x,v 1.227 2024/07/20 20:48:52 tom Exp $
+-.TH ncurses 3X 2024-07-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: ncurses.3x,v 1.229 2024/07/27 20:10:07 tom Exp $
++.TH ncurses 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -446,7 +446,9 @@
+ .I \%ncurses
+ is the library in its \*(``non-wide\*('' configuration,
+ handling only eight-bit characters.
+-It stores a character combined with attributes and a color pair in a
++It stores a character combined with attributes
++and a color pair identifier
++in a
+ .I \%chtype
+ datum,
+ which is often an alias of
+@@ -464,7 +466,7 @@
+ .I curses
+ character.
+ .IP
+-Attributes and a color pair selection
++Attributes and a color pair identifier
+ (with no corresponding character)
+ can be stored in variables of
+ .I \%chtype
+@@ -515,6 +517,10 @@
+ .\" operated on `chtype`s assuming that they were wide enough for a
+ .\" `wchar_t` plus attribute and color pair bits; X/Open Curses did not
+ .\" standardize these.
++Another exception is
++.B \%ins_nwstr
++and its variants,
++which is spelled thus instead of \*(``insn_wstr\*(''.
+ .IP
+ This convention is inapplicable to some non-wide function names,
+ so other transformations are used for the wide configuration:
+@@ -547,7 +553,7 @@
+ whose
+ .I \%wchar_t
+ member is the null wide character.
+-Attributes and a color pair selection are stored in separate fields of
++Attributes and a color pair identifier are stored in separate fields of
+ the structure,
+ not combined into an integer as in
+ .IR \%chtype .
+Index: man/wresize.3x
+Prereq: 1.38
+--- ncurses-6.5-20240720+/man/wresize.3x 2024-07-20 22:13:21.000000000 +0000
++++ ncurses-6.5-20240727/man/wresize.3x 2024-07-27 20:08:58.000000000 +0000
+@@ -29,8 +29,8 @@
+ .\"
+ .\" Author: Thomas E. Dickey 1996
+ .\"
+-.\" $Id: wresize.3x,v 1.38 2024/07/20 22:13:21 tom Exp $
+-.TH wresize 3X 2024-07-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: wresize.3x,v 1.40 2024/07/27 20:08:58 tom Exp $
++.TH wresize 3X 2024-07-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .SH NAME
+ \fB\%wresize\fP \-
+ resize a \fIcurses\fR window
+@@ -107,7 +107,7 @@
+ NetBSD
+ .I curses
+ adopted
+-.B \%wresize
++.I \%wresize
+ in 2001 (release 1.5.3),
+ and
+ .I \%PDCurses
+@@ -117,7 +117,7 @@
+ .IR curses "."
+ .SH HISTORY
+ Thomas Dickey developed
+-.B \%wresize
++.I \%wresize
+ as an extension to BSD
+ .I curses
+ in 1988,
+Index: menu/m_driver.c
+Prereq: 1.37
+--- ncurses-6.5-20240720+/menu/m_driver.c 2021-03-27 23:46:29.000000000 +0000
++++ ncurses-6.5-20240727/menu/m_driver.c 2024-07-27 18:14:20.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020,2021 Thomas E. Dickey *
++ * Copyright 2020-2021,2024 Thomas E. Dickey *
+ * Copyright 1998-2012,2016 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -38,7 +38,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_driver.c,v 1.37 2021/03/27 23:46:29 tom Exp $")
++MODULE_ID("$Id: m_driver.c,v 1.38 2024/07/27 18:14:20 tom Exp $")
+
+ /* Macros */
+
+@@ -449,7 +449,7 @@
+ else if (KEY_MOUSE == c)
+ {
+ MEVENT event;
+- WINDOW *uwin = Get_Menu_UserWin(menu);
++ const WINDOW *uwin = Get_Menu_UserWin(menu);
+
+ getmouse(&event);
+ if ((event.bstate & (BUTTON1_CLICKED |
+@@ -459,7 +459,7 @@
+ { /* we react only if the click was in the userwin, that means
+ * inside the menu display area or at the decoration window.
+ */
+- WINDOW *sub = Get_Menu_Window(menu);
++ const WINDOW *sub = Get_Menu_Window(menu);
+ int ry = event.y, rx = event.x; /* screen coordinates */
+
+ result = E_REQUEST_DENIED;
+Index: menu/m_item_vis.c
+Prereq: 1.20
+--- ncurses-6.5-20240720+/menu/m_item_vis.c 2021-06-17 21:20:30.000000000 +0000
++++ ncurses-6.5-20240727/menu/m_item_vis.c 2024-07-27 18:14:09.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020,2021 Thomas E. Dickey *
++ * Copyright 2020-2021,2024 Thomas E. Dickey *
+ * Copyright 1998-2004,2010 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -38,7 +38,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_item_vis.c,v 1.20 2021/06/17 21:20:30 tom Exp $")
++MODULE_ID("$Id: m_item_vis.c,v 1.21 2024/07/27 18:14:09 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnmenu
+@@ -53,7 +53,7 @@
+ MENU_EXPORT(bool)
+ item_visible(const ITEM *item)
+ {
+- MENU *menu;
++ const MENU *menu;
+
+ T((T_CALLED("item_visible(%p)"), (const void *)item));
+ if (item &&
+Index: menu/m_post.c
+Prereq: 1.38
+--- ncurses-6.5-20240720+/menu/m_post.c 2022-09-24 09:38:44.000000000 +0000
++++ ncurses-6.5-20240727/menu/m_post.c 2024-07-27 18:08:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020-2021,2022 Thomas E. Dickey *
++ * Copyright 2020-2022,2024 Thomas E. Dickey *
+ * Copyright 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -38,7 +38,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_post.c,v 1.38 2022/09/24 09:38:44 tom Exp $")
++MODULE_ID("$Id: m_post.c,v 1.41 2024/07/27 18:08:59 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnmenu
+@@ -67,7 +67,7 @@
+ - it is a onevalued menu and it is the current item
+ - or it has a selection value
+ */
+- wattron(menu->win, (int)menu->back);
++ wattr_on(menu->win, menu->back, NULL);
+ if (item->value || (item == menu->curitem))
+ {
+ if (menu->marklen)
+@@ -79,13 +79,13 @@
+ item. */
+ if (!(menu->opt & O_ONEVALUE) && item->value && item != menu->curitem)
+ {
+- wattron(menu->win, (int)menu->fore);
++ wattr_on(menu->win, menu->fore, NULL);
+ isfore = TRUE;
+ }
+ waddstr(menu->win, menu->mark);
+ if (isfore)
+ {
+- wattron(menu->win, (int)menu->fore);
++ wattr_on(menu->win, menu->fore, NULL);
+ isfore = FALSE;
+ }
+ }
+@@ -93,7 +93,7 @@
+ else /* otherwise we have to wipe out the marker area */
+ for (ch = ' ', i = menu->marklen; i > 0; i--)
+ waddch(menu->win, ch);
+- wattroff(menu->win, (int)menu->back);
++ wattr_off(menu->win, menu->back, NULL);
+ count += menu->marklen;
+
+ /* First we have to calculate the attribute depending on selectability
+@@ -101,19 +101,19 @@
+ */
+ if (!(item->opt & O_SELECTABLE))
+ {
+- wattron(menu->win, (int)menu->grey);
++ wattr_on(menu->win, menu->grey, NULL);
+ isgrey = TRUE;
+ }
+ else
+ {
+ if (item->value || item == menu->curitem)
+ {
+- wattron(menu->win, (int)menu->fore);
++ wattr_on(menu->win, menu->fore, NULL);
+ isfore = TRUE;
+ }
+ else
+ {
+- wattron(menu->win, (int)menu->back);
++ wattr_on(menu->win, menu->back, NULL);
+ isback = TRUE;
+ }
+ }
+@@ -159,10 +159,10 @@
+ assert(cx >= 0 && cy >= 0);
+ getyx(menu->win, ncy, ncx);
+ if (isgrey)
+- wattroff(menu->win, (int)menu->grey);
++ wattr_off(menu->win, menu->grey, NULL);
+ else if (isfore)
+- wattroff(menu->win, (int)menu->fore);
+- wattron(menu->win, (int)menu->back);
++ wattr_off(menu->win, menu->fore, NULL);
++ wattr_on(menu->win, menu->back, NULL);
+ for (j = 1; j < menu->spc_rows; j++)
+ {
+ if ((item_y + j) < getmaxy(menu->win))
+@@ -176,17 +176,17 @@
+ }
+ wmove(menu->win, ncy, ncx);
+ if (!isback)
+- wattroff(menu->win, (int)menu->back);
++ wattr_off(menu->win, menu->back, NULL);
+ }
+ }
+
+ /* Remove attributes */
+ if (isfore)
+- wattroff(menu->win, (int)menu->fore);
++ wattr_off(menu->win, menu->fore, NULL);
+ if (isback)
+- wattroff(menu->win, (int)menu->back);
++ wattr_off(menu->win, menu->back, NULL);
+ if (isgrey)
+- wattroff(menu->win, (int)menu->grey);
++ wattr_off(menu->win, menu->grey, NULL);
+ }
+
+ /*---------------------------------------------------------------------------
+@@ -201,7 +201,7 @@
+ _nc_Draw_Menu(const MENU *menu)
+ {
+ ITEM *item = menu->items[0];
+- ITEM *lastvert;
++ const ITEM *lastvert;
+ ITEM *hitem;
+ chtype s_bkgd;
+
+@@ -220,7 +220,7 @@
+
+ do
+ {
+- ITEM *lasthor;
++ const ITEM *lasthor;
+
+ wmove(menu->win, y, 0);
+
+@@ -231,7 +231,7 @@
+ {
+ _nc_Post_Item(menu, hitem);
+
+- wattron(menu->win, (int)menu->back);
++ wattr_on(menu->win, menu->back, NULL);
+ if (((hitem = hitem->right) != lasthor) && hitem)
+ {
+ int i, j, cy, cx;
+@@ -250,7 +250,7 @@
+ }
+ }
+ while (hitem && (hitem != lasthor));
+- wattroff(menu->win, (int)menu->back);
++ wattr_off(menu->win, menu->back, NULL);
+
+ item = item->down;
+ y += menu->spc_rows;
+@@ -291,7 +291,7 @@
+ {
+ int h = 1 + menu->spc_rows * (menu->rows - 1);
+
+- WINDOW *win = Get_Menu_Window(menu);
++ const WINDOW *win = Get_Menu_Window(menu);
+ int maxy = getmaxy(win);
+
+ if ((menu->win = newpad(h, menu->width)))
+Index: misc/terminfo.src
+--- ncurses-6.5-20240720+/misc/terminfo.src 2024-05-25 19:34:27.000000000 +0000
++++ ncurses-6.5-20240727/misc/terminfo.src 2024-07-27 16:58:08.000000000 +0000
+@@ -6,8 +6,8 @@
+ # Report bugs and new terminal descriptions to
+ # bug-ncurses@gnu.org
+ #
+-# $Revision: 1.1144 $
+-# $Date: 2024/05/25 19:34:27 $
++# $Revision: 1.1146 $
++# $Date: 2024/07/27 16:58:08 $
+ #
+ # The original header is preserved below for reference. It is noted that there
+ # is a "newer" version which differs in some cosmetic details (but actually
+@@ -8022,6 +8022,16 @@
+ # "wezterm is a terminal emulator with support for modern features
+ # such as fonts with ligatures, hyperlinks, tabs and multiple windows."
+ #
++# wezterm-20240203-110809-5046fc22 tested with MacOS
++# General:
++# + initial screensize is now 80x24
++# tack:
++# + no change
++# wraptest:
++# + erasures (EL, ED, DCH, ICH, ESC) do not cancel wrap
++# vttest:
++# + some of the problems with debris have been fixed
++#
+ # wezterm-20230712_072601_f4abf8fd-1.fedora38.x86_64
+ # tested with MacOS and Fedora 38/39.
+ #
+@@ -8068,9 +8078,30 @@
+ # + implements xterm normal, any-event and button-event mouse, none of the rest
+ # + reports window size, none of the other window reports
+ wezterm|Wez's Terminal Emulator,
+- km@, xenl@,
+- cvvis@, rmkx=\E[?1l, rmm@, smkx=\E[?1h, smm@,
+- use=xterm-256color,
++ am, bce, km, mir, msgr, npc, xenl,
++ acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
++ bel=^G, bold=\E[1m, cr=\r, cub1=^H, cud1=\n, ech=\E[%p1%dX,
++ el1=\E[1K, flash=\E[?5h$<100/>\E[?5l, ind=\n,
++ is2=\E[!p\E[?3;4l\E[4l\E>, kbs=^?, kcbt=\E[Z, kend=\EOF,
++ op=\E[39;49m, ri=\EM, rmacs=\E(B, rmam=\E[?7l,
++ rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
++ rs1=\Ec\E]104\007, rs2=\E[!p\E[?3;4l\E[4l\E>,
++ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;
++ %?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
++ sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smkx=\E[?1h\E=,
++ u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?%[;0123456789]c,
++ u9=\E[c, Smol=\E[53m, Smulx=\E[4:%p1%dm,
++ xr=\EP>\\|WezTerm\\([1-9][0-9-]+\\)\E\\\\,
++ use=ansi+apparrows, use=ansi+csr, use=ansi+cup,
++ use=ansi+erase, use=ansi+idc, use=ansi+idl,
++ use=ansi+inittabs, use=ansi+local, use=ansi+rca2,
++ use=ansi+rep, use=ansi+sgrdim, use=bracketed+paste,
++ use=ecma+index, use=ecma+italics, use=ecma+strikeout,
++ use=report+version, use=vt220+cvis,
++ use=xterm+256color2, use=xterm+alt1049,
++ use=xterm+focus, use=xterm+pcc2, use=xterm+pce2,
++ use=xterm+pcf2, use=xterm+sl-alt, use=xterm+sm+1006,
++ use=xterm+tmux,
+
+ #### Contour
+ # https://github.com/contour-terminal/contour
+@@ -27564,4 +27595,8 @@
+ # 2024-05-25
+ # + review/update iTerm2 for 3.5.0 -TD
+ #
++# 2024-07-27
++# + modify wezterm, omitting its broken left/right margin feature (report
++# by Thayne McCombs) -TD
++#
+ ######## SHANTIH! SHANTIH! SHANTIH!
+Index: ncurses/base/lib_addch.c
+Prereq: 1.141
+--- ncurses-6.5-20240720+/ncurses/base/lib_addch.c 2022-06-12 15:16:41.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/base/lib_addch.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2019-2021,2022 Thomas E. Dickey *
++ * Copyright 2019-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 *
+@@ -37,7 +37,7 @@
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_addch.c,v 1.141 2022/06/12 15:16:41 tom Exp $")
++MODULE_ID("$Id: lib_addch.c,v 1.142 2024/07/27 19:22:23 tom Exp $")
+
+ static const NCURSES_CH_T blankchar = NewChar(BLANK_TEXT);
+
+@@ -118,7 +118,7 @@
+ #endif
+
+ static bool
+-newline_forces_scroll(WINDOW *win, NCURSES_SIZE_T *ypos)
++newline_forces_scroll(const WINDOW *win, NCURSES_SIZE_T *ypos)
+ {
+ bool result = FALSE;
+
+Index: ncurses/base/lib_delch.c
+Prereq: 1.14
+--- ncurses-6.5-20240720+/ncurses/base/lib_delch.c 2020-02-02 23:34:34.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/base/lib_delch.c 2024-07-27 19:23:21.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020 Thomas E. Dickey *
++ * Copyright 2020,2024 Thomas E. Dickey *
+ * Copyright 1998-2001,2009 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -41,7 +41,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_delch.c,v 1.14 2020/02/02 23:34:34 tom Exp $")
++MODULE_ID("$Id: lib_delch.c,v 1.15 2024/07/27 19:23:21 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ wdelch(WINDOW *win)
+Index: ncurses/base/lib_delwin.c
+Prereq: 1.26
+--- ncurses-6.5-20240720+/ncurses/base/lib_delwin.c 2024-06-29 16:51:40.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/base/lib_delwin.c 2024-07-27 18:57:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020-2021,2023 Thomas E. Dickey *
++ * Copyright 2020-2023,2024 Thomas E. Dickey *
+ * Copyright 1998-2008,2009 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -43,10 +43,10 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_delwin.c,v 1.26 2024/06/29 16:51:40 tom Exp $")
++MODULE_ID("$Id: lib_delwin.c,v 1.28 2024/07/27 18:57:35 tom Exp $")
+
+ static bool
+-cannot_delete(WINDOW *win)
++cannot_delete(const WINDOW *win)
+ {
+ bool result = TRUE;
+ bool found = FALSE;
+Index: ncurses/base/lib_freeall.c
+Prereq: 1.76
+--- ncurses-6.5-20240720+/ncurses/base/lib_freeall.c 2021-11-06 21:52:49.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/base/lib_freeall.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2020,2021 Thomas E. Dickey *
++ * Copyright 2018-2021,2024 Thomas E. Dickey *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -40,7 +40,7 @@
+ extern int malloc_errfd; /* FIXME */
+ #endif
+
+-MODULE_ID("$Id: lib_freeall.c,v 1.76 2021/11/06 21:52:49 tom Exp $")
++MODULE_ID("$Id: lib_freeall.c,v 1.77 2024/07/27 19:22:23 tom Exp $")
+
+ /*
+ * Free all ncurses data. This is used for testing only (there's no practical
+@@ -87,7 +87,7 @@
+ #endif
+
+ for (each_window(SP_PARM, q)) {
+- WINDOW *q_win = &(q->win);
++ const WINDOW *q_win = &(q->win);
+
+ #ifndef USE_SP_WINDOWLIST
+ if (q->screen != SP_PARM)
+Index: ncurses/base/lib_getstr.c
+Prereq: 1.39
+--- ncurses-6.5-20240720+/ncurses/base/lib_getstr.c 2023-04-29 19:00:17.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/base/lib_getstr.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2021,2023 Thomas E. Dickey *
++ * Copyright 2018-2023,2024 Thomas E. Dickey *
+ * Copyright 1998-2011,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -42,14 +42,14 @@
+ #define NEED_KEY_EVENT
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_getstr.c,v 1.39 2023/04/29 19:00:17 tom Exp $")
++MODULE_ID("$Id: lib_getstr.c,v 1.40 2024/07/27 19:22:23 tom Exp $")
+
+ /*
+ * This wipes out the last character, no matter whether it was a tab, control
+ * or other character, and handles reverse wraparound.
+ */
+ static char *
+-WipeOut(WINDOW *win, int y, int x, char *first, char *last, int echoed)
++WipeOut(WINDOW *win, int y, int x, const char *first, char *last, int echoed)
+ {
+ if (last > first) {
+ *--last = '\0';
+@@ -81,7 +81,7 @@
+ TTY_FLAGS save_flags;
+ char erasec;
+ char killc;
+- char *oldstr;
++ const char *oldstr;
+ int ch;
+ int y, x;
+
+Index: ncurses/base/lib_insch.c
+Prereq: 1.37
+--- ncurses-6.5-20240720+/ncurses/base/lib_insch.c 2020-02-02 23:34:34.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/base/lib_insch.c 2024-07-27 19:23:21.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020 Thomas E. Dickey *
++ * Copyright 2020,2024 Thomas E. Dickey *
+ * Copyright 1998-2013,2016 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -44,7 +44,7 @@
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_insch.c,v 1.37 2020/02/02 23:34:34 tom Exp $")
++MODULE_ID("$Id: lib_insch.c,v 1.38 2024/07/27 19:23:21 tom Exp $")
+
+ /*
+ * Insert the given character, updating the current location to simplify
+@@ -90,7 +90,7 @@
+ struct ldat *line = &(win->_line[win->_cury]);
+ NCURSES_CH_T *end = &(line->text[win->_curx]);
+ NCURSES_CH_T *temp1 = &(line->text[win->_maxx]);
+- NCURSES_CH_T *temp2 = temp1 - 1;
++ const NCURSES_CH_T *temp2 = temp1 - 1;
+
+ SetChar2(wch, ch);
+
+Index: ncurses/base/lib_instr.c
+Prereq: 1.26
+--- ncurses-6.5-20240720+/ncurses/base/lib_instr.c 2023-06-03 12:37:04.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/base/lib_instr.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020-2021,2023 Thomas E. Dickey *
++ * Copyright 2020-2023,2024 Thomas E. Dickey *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -42,7 +42,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_instr.c,v 1.26 2023/06/03 12:37:04 tom Exp $")
++MODULE_ID("$Id: lib_instr.c,v 1.27 2024/07/27 19:22:23 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ winnstr(WINDOW *win, char *str, int n)
+@@ -63,7 +63,7 @@
+
+ for (; i < n;) {
+ #if USE_WIDEC_SUPPORT
+- cchar_t *cell = &(text[col]);
++ const cchar_t *cell = &(text[col]);
+ attr_t attrs;
+ NCURSES_PAIRS_T pair;
+ char *tmp;
+Index: ncurses/base/lib_mvwin.c
+Prereq: 1.20
+--- ncurses-6.5-20240720+/ncurses/base/lib_mvwin.c 2021-10-23 18:57:41.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/base/lib_mvwin.c 2024-07-27 19:23:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020,2021 Thomas E. Dickey *
++ * Copyright 2020-2021,2024 Thomas E. Dickey *
+ * Copyright 1998-2009,2010 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -43,13 +43,13 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_mvwin.c,v 1.20 2021/10/23 18:57:41 tom Exp $")
++MODULE_ID("$Id: lib_mvwin.c,v 1.21 2024/07/27 19:23:59 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ mvwin(WINDOW *win, int by, int bx)
+ {
+ #if NCURSES_SP_FUNCS
+- SCREEN *sp = _nc_screen_of(win);
++ const SCREEN *sp = _nc_screen_of(win);
+ #endif
+
+ T((T_CALLED("mvwin(%p,%d,%d)"), (void *) win, by, bx));
+Index: ncurses/base/lib_printw.c
+Prereq: 1.28
+--- ncurses-6.5-20240720+/ncurses/base/lib_printw.c 2020-02-02 23:34:34.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/base/lib_printw.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2019,2020 Thomas E. Dickey *
++ * Copyright 2018-2020,2024 Thomas E. Dickey *
+ * Copyright 1998-2012,2016 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -40,7 +40,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_printw.c,v 1.28 2020/02/02 23:34:34 tom Exp $")
++MODULE_ID("$Id: lib_printw.c,v 1.29 2024/07/27 19:22:23 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ printw(const char *fmt, ...)
+@@ -133,7 +133,7 @@
+ NCURSES_EXPORT(int)
+ vwprintw(WINDOW *win, const char *fmt, va_list argp)
+ {
+- char *buf;
++ const char *buf;
+ int code = ERR;
+ #if NCURSES_SP_FUNCS
+ SCREEN *sp = _nc_screen_of(win);
+@@ -151,7 +151,7 @@
+ NCURSES_EXPORT(int)
+ vw_printw(WINDOW *win, const char *fmt, va_list argp)
+ {
+- char *buf;
++ const char *buf;
+ int code = ERR;
+ #if NCURSES_SP_FUNCS
+ SCREEN *sp = _nc_screen_of(win);
+Index: ncurses/base/lib_screen.c
+Prereq: 1.105
+--- ncurses-6.5-20240720+/ncurses/base/lib_screen.c 2023-04-28 20:58:54.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/base/lib_screen.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2019-2021,2023 Thomas E. Dickey *
++ * Copyright 2019-2023,2024 Thomas E. Dickey *
+ * Copyright 1998-2017,2018 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -42,7 +42,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_screen.c,v 1.105 2023/04/28 20:58:54 tom Exp $")
++MODULE_ID("$Id: lib_screen.c,v 1.106 2024/07/27 19:22:23 tom Exp $")
+
+ #define MAX_SIZE 0x3fff /* 16k is big enough for a window or pad */
+
+@@ -222,7 +222,6 @@
+ source++;
+ found = FALSE;
+ } else if (found) {
+- size_t n;
+ char *next = source;
+
+ if (source[0] == GUTTER) {
+@@ -241,6 +240,8 @@
+ *target |= pair;
+ *color = value;
+ } else {
++ size_t n;
++
+ while (isalnum(UChar(*next))) {
+ ++next;
+ }
+@@ -304,7 +305,7 @@
+ if (limit) {
+ *target = 0;
+ while (limit-- > 0) {
+- char *find = strchr(digits, *source++);
++ const char *find = strchr(digits, *source++);
+ int ch = (find != 0) ? (int) (find - digits) : -1;
+ *target *= base;
+ if (ch >= 0 && ch < base) {
+@@ -337,7 +338,7 @@
+
+ #if NCURSES_WIDECHAR
+ static char *
+-decode_cchar(char *source, cchar_t *fillin, cchar_t *target)
++decode_cchar(char *source, const cchar_t *fillin, cchar_t *target)
+ {
+ int color;
+ attr_t attr = fillin->attr;
+@@ -382,7 +383,7 @@
+
+ memset(win, 0, sizeof(WINDOW));
+ for (;;) {
+- char *name;
++ const char *name;
+ char *value;
+ char *txt = read_txt(fp);
+
+Index: ncurses/base/lib_slkrefr.c
+Prereq: 1.32
+--- ncurses-6.5-20240720+/ncurses/base/lib_slkrefr.c 2021-09-04 10:54:35.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/base/lib_slkrefr.c 2024-07-27 19:23:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020,2021 Thomas E. Dickey *
++ * Copyright 2020-2021,2024 Thomas E. Dickey *
+ * Copyright 1998-2013,2014 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -44,7 +44,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_slkrefr.c,v 1.32 2021/09/04 10:54:35 tom Exp $")
++MODULE_ID("$Id: lib_slkrefr.c,v 1.33 2024/07/27 19:23:59 tom Exp $")
+
+ #ifdef USE_TERM_DRIVER
+ #define NumLabels InfoOf(SP_PARM).numlabels
+@@ -58,7 +58,7 @@
+ static void
+ slk_paint_info(WINDOW *win)
+ {
+- SCREEN *sp = _nc_screen_of(win);
++ const SCREEN *sp = _nc_screen_of(win);
+
+ if (win && sp && (sp->slk_format == 4)) {
+ int i;
+Index: ncurses/base/new_pair.c
+Prereq: 1.23
+--- ncurses-6.5-20240720+/ncurses/base/new_pair.c 2021-08-16 22:11:26.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/base/new_pair.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2020,2021 Thomas E. Dickey *
++ * Copyright 2018-2021,2024 Thomas E. Dickey *
+ * Copyright 2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -61,7 +61,7 @@
+
+ #endif
+
+-MODULE_ID("$Id: new_pair.c,v 1.23 2021/08/16 22:11:26 tom Exp $")
++MODULE_ID("$Id: new_pair.c,v 1.24 2024/07/27 19:22:23 tom Exp $")
+
+ #if NCURSES_EXT_COLORS
+
+@@ -151,7 +151,7 @@
+ if (sp != 0) {
+ void *pp;
+ if ((pp = tfind(&find, &sp->_ordered_pairs, compare_data)) != 0) {
+- colorpair_t *temp = *(colorpair_t **) pp;
++ const colorpair_t *temp = *(colorpair_t **) pp;
+ result = (int) (temp - sp->_color_pairs);
+ }
+ }
+@@ -252,7 +252,7 @@
+ {
+ int n;
+ for (n = 0; n < length; ++n) {
+- void *find = tfind(source + n, &sp->_ordered_pairs, compare_data);
++ const void *find = tfind(source + n, &sp->_ordered_pairs, compare_data);
+ if (find != 0) {
+ tdelete(source + n, &sp->_ordered_pairs, compare_data);
+ tsearch(target + n, &sp->_ordered_pairs, compare_data);
+Index: ncurses/base/resizeterm.c
+Prereq: 1.53
+--- ncurses-6.5-20240720+/ncurses/base/resizeterm.c 2024-04-20 21:54:14.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/base/resizeterm.c 2024-07-27 23:04:55.000000000 +0000
+@@ -46,7 +46,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: resizeterm.c,v 1.53 2024/04/20 21:54:14 tom Exp $")
++MODULE_ID("$Id: resizeterm.c,v 1.55 2024/07/27 23:04:55 tom Exp $")
+
+ /*
+ * If we're trying to be reentrant, do not want any local statics.
+@@ -219,7 +219,7 @@
+ int bottom = CurLines + _nc_screen_of(win)->_topstolen - stolen;
+ int myLines = win->_maxy + 1;
+ int myCols = win->_maxx + 1;
+- ripoff_t *rop = ripped_window(win);
++ const ripoff_t *rop = ripped_window(win);
+
+ T((T_CALLED("adjust_window(%p,%d,%d)%s depth %d/%d currently %ldx%ld at %ld,%ld"),
+ (void *) win, ToLines, ToCols,
+Index: ncurses/base/safe_sprintf.c
+Prereq: 1.37
+--- ncurses-6.5-20240720+/ncurses/base/safe_sprintf.c 2023-09-30 10:42:42.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/base/safe_sprintf.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2021,2023 Thomas E. Dickey *
++ * Copyright 2018-2023,2024 Thomas E. Dickey *
+ * Copyright 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -34,7 +34,7 @@
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: safe_sprintf.c,v 1.37 2023/09/30 10:42:42 tom Exp $")
++MODULE_ID("$Id: safe_sprintf.c,v 1.38 2024/07/27 19:22:23 tom Exp $")
+
+ #if USE_SAFE_SPRINTF
+
+@@ -262,10 +262,9 @@
+
+ if (my_buffer != NULL) {
+ # if HAVE_VSNPRINTF
+- /* SUSv2, 1997 */
+- int used;
+-
+ do {
++ /* SUSv2, 1997 */
++ int used;
+ va_list ap2;
+
+ begin_va_copy(ap2, ap);
+Index: ncurses/tinfo/alloc_ttype.c
+Prereq: 1.51
+--- ncurses-6.5-20240720+/ncurses/tinfo/alloc_ttype.c 2023-09-09 23:15:53.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/alloc_ttype.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2022,2023 Thomas E. Dickey *
++ * Copyright 2018-2023,2024 Thomas E. Dickey *
+ * Copyright 1999-2016,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -43,7 +43,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: alloc_ttype.c,v 1.51 2023/09/09 23:15:53 tom Exp $")
++MODULE_ID("$Id: alloc_ttype.c,v 1.52 2024/07/27 19:22:23 tom Exp $")
+
+ #if NCURSES_XNAMES
+ /*
+@@ -181,7 +181,7 @@
+ * Returns the first index in ext_Names[] for the given token-type
+ */
+ static unsigned
+-_nc_first_ext_name(TERMTYPE2 *tp, int token_type)
++_nc_first_ext_name(const TERMTYPE2 *tp, int token_type)
+ {
+ unsigned first;
+
+@@ -206,7 +206,7 @@
+ * Returns the last index in ext_Names[] for the given token-type
+ */
+ static unsigned
+-_nc_last_ext_name(TERMTYPE2 *tp, int token_type)
++_nc_last_ext_name(const TERMTYPE2 *tp, int token_type)
+ {
+ unsigned last;
+
+@@ -229,7 +229,7 @@
+ * Lookup an entry from extended-names, returning -1 if not found
+ */
+ static int
+-_nc_find_ext_name(TERMTYPE2 *tp, char *name, int token_type)
++_nc_find_ext_name(const TERMTYPE2 *tp, const char *name, int token_type)
+ {
+ unsigned j;
+ unsigned first = _nc_first_ext_name(tp, token_type);
+@@ -248,7 +248,7 @@
+ * (e.g., Booleans[]).
+ */
+ static int
+-_nc_ext_data_index(TERMTYPE2 *tp, int n, int token_type)
++_nc_ext_data_index(const TERMTYPE2 *tp, int n, int token_type)
+ {
+ switch (token_type) {
+ case BOOLEAN:
+@@ -271,7 +271,7 @@
+ * data.
+ */
+ static bool
+-_nc_del_ext_name(TERMTYPE2 *tp, char *name, int token_type)
++_nc_del_ext_name(TERMTYPE2 *tp, const char *name, int token_type)
+ {
+ int first;
+
+Index: ncurses/tinfo/captoinfo.c
+Prereq: 1.102
+--- ncurses-6.5-20240720+/ncurses/tinfo/captoinfo.c 2021-09-04 10:29:15.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/captoinfo.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2020,2021 Thomas E. Dickey *
++ * Copyright 2018-2021,2024 Thomas E. Dickey *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -98,7 +98,7 @@
+ #include <ctype.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: captoinfo.c,v 1.102 2021/09/04 10:29:15 tom Exp $")
++MODULE_ID("$Id: captoinfo.c,v 1.103 2024/07/27 19:22:23 tom Exp $")
+
+ #if 0
+ #define DEBUG_THIS(p) DEBUG(9, p)
+Index: ncurses/tinfo/comp_parse.c
+Prereq: 1.134
+--- ncurses-6.5-20240720+/ncurses/tinfo/comp_parse.c 2024-02-10 15:52:11.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/comp_parse.c 2024-07-27 19:15:16.000000000 +0000
+@@ -48,7 +48,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: comp_parse.c,v 1.134 2024/02/10 15:52:11 tom Exp $")
++MODULE_ID("$Id: comp_parse.c,v 1.135 2024/07/27 19:15:16 tom Exp $")
+
+ static void sanity_check2(TERMTYPE2 *, bool);
+ NCURSES_IMPEXP void (NCURSES_API *_nc_check_termtype2) (TERMTYPE2 *, bool) = sanity_check2;
+@@ -109,7 +109,9 @@
+ static bool
+ check_collisions(char *n1, char *n2, int counter)
+ {
+- char *pstart, *qstart, *pend, *qend;
++ const char *pstart;
++ const char *qstart;
++ char *pend, *qend;
+ char nc1[NAMEBUFFER_SIZE];
+ char nc2[NAMEBUFFER_SIZE];
+
+Index: ncurses/tinfo/comp_scan.c
+Prereq: 1.122
+--- ncurses-6.5-20240720+/ncurses/tinfo/comp_scan.c 2023-05-27 20:13:10.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/comp_scan.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+-,* Copyright 2020-2022,2023 Thomas E. Dickey *
++,* Copyright 2020-2023,2024 Thomas E. Dickey *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -51,7 +51,7 @@
+ #include <ctype.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: comp_scan.c,v 1.122 2023/05/27 20:13:10 tom Exp $")
++MODULE_ID("$Id: comp_scan.c,v 1.123 2024/07/27 19:22:23 tom Exp $")
+
+ /*
+ * Maximum length of string capability we'll accept before raising an error.
+@@ -551,7 +551,7 @@
+ ;
+ }
+ if (islower(UChar(*s))) {
+- char *name = s;
++ const char *name = s;
+ while (isalnum(UChar(*s))) {
+ ++s;
+ }
+Index: ncurses/tinfo/db_iterator.c
+Prereq: 1.50
+--- ncurses-6.5-20240720+/ncurses/tinfo/db_iterator.c 2023-06-24 21:52:32.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/db_iterator.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2022,2023 Thomas E. Dickey *
++ * Copyright 2018-2023,2024 Thomas E. Dickey *
+ * Copyright 2006-2016,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -44,7 +44,7 @@
+ #include <hashed_db.h>
+ #endif
+
+-MODULE_ID("$Id: db_iterator.c,v 1.50 2023/06/24 21:52:32 tom Exp $")
++MODULE_ID("$Id: db_iterator.c,v 1.51 2024/07/27 19:22:23 tom Exp $")
+
+ #define HaveTicDirectory _nc_globals.have_tic_directory
+ #define KeepTicDirectory _nc_globals.keep_tic_directory
+@@ -124,7 +124,7 @@
+
+ if (which < dbdLAST) {
+ char *value;
+- char *cached_value = my_vars[which].value;
++ const char *cached_value = my_vars[which].value;
+ bool same_value;
+
+ if ((value = getenv(name)) != 0) {
+Index: ncurses/tinfo/entries.c
+Prereq: 1.35
+--- ncurses-6.5-20240720+/ncurses/tinfo/entries.c 2023-05-27 20:13:10.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/entries.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2019-2022,2023 Thomas E. Dickey *
++ * Copyright 2019-2023,2024 Thomas E. Dickey *
+ * Copyright 2006-2012,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -38,7 +38,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: entries.c,v 1.35 2023/05/27 20:13:10 tom Exp $")
++MODULE_ID("$Id: entries.c,v 1.36 2024/07/27 19:22:23 tom Exp $")
+
+ /****************************************************************************
+ *
+Index: ncurses/tinfo/getenv_num.c
+Prereq: 1.8
+--- ncurses-6.5-20240720+/ncurses/tinfo/getenv_num.c 2020-02-02 23:34:34.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/getenv_num.c 2024-07-27 19:23:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018,2020 Thomas E. Dickey *
++ * Copyright 2018-2020,2024 Thomas E. Dickey *
+ * Copyright 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -37,13 +37,13 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: getenv_num.c,v 1.8 2020/02/02 23:34:34 tom Exp $")
++MODULE_ID("$Id: getenv_num.c,v 1.9 2024/07/27 19:23:59 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ _nc_getenv_num(const char *name)
+ {
+ char *dst = 0;
+- char *src = getenv(name);
++ const char *src = getenv(name);
+ long value;
+
+ if ((src == 0)
+Index: ncurses/tinfo/home_terminfo.c
+Prereq: 1.17
+--- ncurses-6.5-20240720+/ncurses/tinfo/home_terminfo.c 2020-02-02 23:34:34.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/home_terminfo.c 2024-07-27 19:23:21.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020 Thomas E. Dickey *
++ * Copyright 2020,2024 Thomas E. Dickey *
+ * Copyright 1998-2012,2016 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -38,7 +38,7 @@
+ #include <curses.priv.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: home_terminfo.c,v 1.17 2020/02/02 23:34:34 tom Exp $")
++MODULE_ID("$Id: home_terminfo.c,v 1.18 2024/07/27 19:23:21 tom Exp $")
+
+ /* ncurses extension...fall back on user's private directory */
+
+@@ -52,7 +52,7 @@
+ if (use_terminfo_vars()) {
+
+ if (MyBuffer == 0) {
+- char *home;
++ const char *home;
+
+ if ((home = getenv("HOME")) != 0) {
+ size_t want = (strlen(home) + sizeof(PRIVATE_INFO));
+Index: ncurses/tinfo/init_keytry.c
+Prereq: 1.20
+--- ncurses-6.5-20240720+/ncurses/tinfo/init_keytry.c 2023-09-16 12:55:01.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/init_keytry.c 2024-07-27 19:23:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020,2023 Thomas E. Dickey *
++ * Copyright 2020-2023,2024 Thomas E. Dickey *
+ * Copyright 1999-2010,2016 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -30,7 +30,7 @@
+ #include <curses.priv.h>
+ #include <tic.h> /* struct tinfo_fkeys */
+
+-MODULE_ID("$Id: init_keytry.c,v 1.20 2023/09/16 12:55:01 tom Exp $")
++MODULE_ID("$Id: init_keytry.c,v 1.21 2024/07/27 19:23:59 tom Exp $")
+
+ /*
+ ** _nc_init_keytry()
+@@ -94,7 +94,7 @@
+ TERMTYPE *tp = &(sp->_term->type);
+ for (n = STRCOUNT; n < NUM_STRINGS(tp); ++n) {
+ const char *name = ExtStrname(tp, (int) n, strnames);
+- char *value = tp->Strings[n];
++ const char *value = tp->Strings[n];
+ if (name != 0
+ && *name == 'k'
+ && VALID_STRING(value)
+Index: ncurses/tinfo/lib_print.c
+Prereq: 1.31
+--- ncurses-6.5-20240720+/ncurses/tinfo/lib_print.c 2023-06-10 12:44:41.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/lib_print.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2021,2023 Thomas E. Dickey *
++ * Copyright 2018-2023,2024 Thomas E. Dickey *
+ * Copyright 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -40,14 +40,15 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_print.c,v 1.31 2023/06/10 12:44:41 tom Exp $")
++MODULE_ID("$Id: lib_print.c,v 1.32 2024/07/27 19:22:23 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ NCURSES_SP_NAME(mcprint) (NCURSES_SP_DCLx char *data, int len)
+ /* ship binary character data to the printer via mc4/mc5/mc5p */
+ {
+ int result;
+- char *mybuf = NULL, *switchon;
++ char *mybuf = NULL;
++ const char *switchon;
+ size_t onsize, offsize;
+ size_t need;
+
+Index: ncurses/tinfo/lib_setup.c
+Prereq: 1.241
+--- ncurses-6.5-20240720+/ncurses/tinfo/lib_setup.c 2024-05-11 19:07:34.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/lib_setup.c 2024-07-27 19:14:45.000000000 +0000
+@@ -49,7 +49,7 @@
+ #include <locale.h>
+ #endif
+
+-MODULE_ID("$Id: lib_setup.c,v 1.241 2024/05/11 19:07:34 tom Exp $")
++MODULE_ID("$Id: lib_setup.c,v 1.242 2024/07/27 19:14:45 tom Exp $")
+
+ /****************************************************************************
+ *
+@@ -362,10 +362,10 @@
+ }
+
+ static bool
+-set_position(NCURSES_SP_DCLx TERMINAL *termp, int row, int col)
++set_position(NCURSES_SP_DCLx const TERMINAL *termp, int row, int col)
+ {
+ bool result;
+- char *actual = TIPARM_2(cursor_address, row, col);
++ const char *actual = TIPARM_2(cursor_address, row, col);
+ T((T_CALLED("set_position %d,%d)"), row, col));
+ #if NCURSES_SP_FUNCS
+ result = (NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "set_position",
+Index: ncurses/tinfo/lib_termcap.c
+Prereq: 1.89
+--- ncurses-6.5-20240720+/ncurses/tinfo/lib_termcap.c 2023-05-27 20:13:10.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/lib_termcap.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2020,2023 Thomas E. Dickey *
++ * Copyright 2018-2023,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 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_termcap.c,v 1.89 2023/05/27 20:13:10 tom Exp $")
++MODULE_ID("$Id: lib_termcap.c,v 1.90 2024/07/27 19:22:23 tom Exp $")
+
+ NCURSES_EXPORT_VAR(char *) UP = 0;
+ NCURSES_EXPORT_VAR(char *) BC = 0;
+@@ -132,7 +132,7 @@
+ * Also free the terminfo data that we loaded (much bigger leak).
+ */
+ if (LAST_TRM != 0 && LAST_TRM != TerminalOf(SP_PARM)) {
+- TERMINAL *trm = LAST_TRM;
++ const TERMINAL *trm = LAST_TRM;
+ NCURSES_SP_NAME(del_curterm) (NCURSES_SP_ARGx LAST_TRM);
+ for (CacheInx = 0; CacheInx < TGETENT_MAX; ++CacheInx)
+ if (LAST_TRM == trm)
+Index: ncurses/tinfo/lib_tparm.c
+Prereq: 1.153
+--- ncurses-6.5-20240720+/ncurses/tinfo/lib_tparm.c 2023-11-04 19:28:41.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/lib_tparm.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2021,2023 Thomas E. Dickey *
++ * Copyright 2018-2023,2024 Thomas E. Dickey *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -53,7 +53,7 @@
+ #include <ctype.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: lib_tparm.c,v 1.153 2023/11/04 19:28:41 tom Exp $")
++MODULE_ID("$Id: lib_tparm.c,v 1.154 2024/07/27 19:22:23 tom Exp $")
+
+ /*
+ * char *
+@@ -1099,7 +1099,7 @@
+ * are parameterized accept only numeric parameters.
+ */
+ static bool
+-check_string_caps(TPARM_DATA *data, const char *string)
++check_string_caps(const TPARM_DATA *data, const char *string)
+ {
+ bool result = FALSE;
+
+@@ -1126,7 +1126,7 @@
+ #endif
+ #if NCURSES_XNAMES
+ else {
+- char *check;
++ const char *check;
+
+ check = tigetstr("Cs");
+ if (CHECK_CAP(check))
+@@ -1354,7 +1354,7 @@
+ }
+ #if NCURSES_XNAMES
+ else {
+- char *check;
++ const char *check;
+
+ check = tigetstr("xm");
+ if (CHECK_CAP(check)) {
+Index: ncurses/tinfo/parse_entry.c
+Prereq: 1.108
+--- ncurses-6.5-20240720+/ncurses/tinfo/parse_entry.c 2023-04-24 22:32:33.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/parse_entry.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2022,2023 Thomas E. Dickey *
++ * Copyright 2018-2023,2024 Thomas E. Dickey *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -48,7 +48,7 @@
+ #include <ctype.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: parse_entry.c,v 1.108 2023/04/24 22:32:33 tom Exp $")
++MODULE_ID("$Id: parse_entry.c,v 1.109 2024/07/27 19:22:23 tom Exp $")
+
+ #ifdef LINT
+ static short const parametrized[] =
+@@ -695,7 +695,7 @@
+ }
+
+ static void
+-append_acs0(string_desc * dst, int code, char *src, size_t off)
++append_acs0(string_desc * dst, int code, const char *src, size_t off)
+ {
+ if (src != 0 && off < strlen(src)) {
+ char temp[3];
+Index: ncurses/tinfo/read_entry.c
+Prereq: 1.171
+--- ncurses-6.5-20240720+/ncurses/tinfo/read_entry.c 2023-09-16 16:30:34.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/read_entry.c 2024-07-27 23:07:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2022,2023 Thomas E. Dickey *
++ * Copyright 2018-2023,2024 Thomas E. Dickey *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -42,7 +42,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: read_entry.c,v 1.171 2023/09/16 16:30:34 tom Exp $")
++MODULE_ID("$Id: read_entry.c,v 1.173 2024/07/27 23:07:02 tom Exp $")
+
+ #define MyNumber(n) (short) LOW_MSB(n)
+
+@@ -51,7 +51,7 @@
+ #if NCURSES_USE_DATABASE
+ #if NCURSES_EXT_NUMBERS
+ static size_t
+-convert_16bits(char *buf, NCURSES_INT2 *Numbers, int count)
++convert_16bits(const char *buf, NCURSES_INT2 *Numbers, int count)
+ {
+ int i;
+ size_t j;
+@@ -77,7 +77,7 @@
+ }
+
+ static size_t
+-convert_32bits(char *buf, NCURSES_INT2 *Numbers, int count)
++convert_32bits(const char *buf, NCURSES_INT2 *Numbers, int count)
+ {
+ int i;
+ size_t j;
+@@ -98,7 +98,7 @@
+ }
+ #else
+ static size_t
+-convert_32bits(char *buf, NCURSES_INT2 *Numbers, int count)
++convert_32bits(const char *buf, NCURSES_INT2 *Numbers, int count)
+ {
+ int i, j;
+ unsigned char ch;
+@@ -122,7 +122,7 @@
+ }
+
+ static size_t
+-convert_16bits(char *buf, NCURSES_INT2 *Numbers, int count)
++convert_16bits(const char *buf, NCURSES_INT2 *Numbers, int count)
+ {
+ int i;
+ for (i = 0; i < count; i++) {
+@@ -195,7 +195,7 @@
+ }
+
+ static int
+-fake_read(char *src, int *offset, int limit, char *dst, unsigned want)
++fake_read(const char *src, int *offset, int limit, char *dst, unsigned want)
+ {
+ int have = (limit - *offset);
+
+@@ -285,7 +285,7 @@
+ char buf[MAX_ENTRY_SIZE + 2];
+ char *string_table;
+ unsigned want, have;
+- size_t (*convert_numbers) (char *, NCURSES_INT2 *, int);
++ size_t (*convert_numbers) (const char *, NCURSES_INT2 *, int);
+ int size_of_numbers;
+ int max_entry_size = MAX_ENTRY_SIZE;
+
+@@ -728,7 +728,7 @@
+ static int
+ decode_quickdump(char *target, const char *source)
+ {
+- char *base = target;
++ const char *base = target;
+ int result = 0;
+
+ if (!strncmp(source, "b64:", (size_t) 4)) {
+Index: ncurses/tinfo/trim_sgr0.c
+Prereq: 1.22
+--- ncurses-6.5-20240720+/ncurses/tinfo/trim_sgr0.c 2023-09-23 18:47:56.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/trim_sgr0.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020-2021,2023 Thomas E. Dickey *
++ * Copyright 2020-2023,2024 Thomas E. Dickey *
+ * Copyright 2005-2012,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -37,13 +37,13 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: trim_sgr0.c,v 1.22 2023/09/23 18:47:56 tom Exp $")
++MODULE_ID("$Id: trim_sgr0.c,v 1.23 2024/07/27 19:22:23 tom Exp $")
+
+ #undef CUR
+ #define CUR tp->
+
+ static char *
+-set_attribute_9(TERMTYPE2 *tp, int flag)
++set_attribute_9(const TERMTYPE2 *tp, int flag)
+ {
+ const char *value;
+ char *result;
+@@ -99,7 +99,7 @@
+ * to the end of the s-string.
+ */
+ static bool
+-rewrite_sgr(char *s, char *attr)
++rewrite_sgr(char *s, const char *attr)
+ {
+ if (s != 0) {
+ if (PRESENT(attr)) {
+Index: ncurses/tinfo/write_entry.c
+Prereq: 1.132
+--- ncurses-6.5-20240720+/ncurses/tinfo/write_entry.c 2024-04-20 17:58:51.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tinfo/write_entry.c 2024-07-27 19:15:16.000000000 +0000
+@@ -42,7 +42,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: write_entry.c,v 1.132 2024/04/20 17:58:51 tom Exp $")
++MODULE_ID("$Id: write_entry.c,v 1.133 2024/07/27 19:15:16 tom Exp $")
+
+ #if 1
+ #define TRACE_OUT(p) DEBUG(2, p)
+@@ -126,7 +126,7 @@
+ static bool verified[sizeof(dirnames)];
+
+ char dir[sizeof(LEAF_FMT)];
+- char *s = 0;
++ const char *s = 0;
+
+ if (code == 0 || (s = (strchr) (dirnames, code)) == 0) {
+ _nc_err_abort("Illegal terminfo subdirectory \"" LEAF_FMT "\"", code);
+@@ -552,7 +552,7 @@
+ fake_write(char *dst,
+ unsigned *offset,
+ size_t limit,
+- char *src,
++ const char *src,
+ size_t want,
+ size_t size)
+ {
+@@ -658,7 +658,7 @@
+
+ #if NCURSES_XNAMES
+ static unsigned
+-extended_Booleans(TERMTYPE2 *tp)
++extended_Booleans(const TERMTYPE2 *tp)
+ {
+ unsigned result = 0;
+ unsigned i;
+@@ -671,7 +671,7 @@
+ }
+
+ static unsigned
+-extended_Numbers(TERMTYPE2 *tp)
++extended_Numbers(const TERMTYPE2 *tp)
+ {
+ unsigned result = 0;
+ unsigned i;
+@@ -684,7 +684,7 @@
+ }
+
+ static unsigned
+-extended_Strings(TERMTYPE2 *tp)
++extended_Strings(const TERMTYPE2 *tp)
+ {
+ unsigned short result = 0;
+ unsigned short i;
+@@ -701,7 +701,7 @@
+ * clause - discard the unneeded data.
+ */
+ static bool
+-extended_object(TERMTYPE2 *tp)
++extended_object(const TERMTYPE2 *tp)
+ {
+ bool result = FALSE;
+
+Index: ncurses/trace/lib_traceatr.c
+Prereq: 1.96
+--- ncurses-6.5-20240720+/ncurses/trace/lib_traceatr.c 2024-02-04 00:11:35.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/trace/lib_traceatr.c 2024-07-27 19:08:04.000000000 +0000
+@@ -44,7 +44,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_traceatr.c,v 1.96 2024/02/04 00:11:35 tom Exp $")
++MODULE_ID("$Id: lib_traceatr.c,v 1.97 2024/07/27 19:08:04 tom Exp $")
+
+ #define COLOR_OF(c) ((c < 0) ? "default" : (c > 7 ? color_of(c) : colors[c].name))
+
+@@ -255,7 +255,7 @@
+ #endif
+ if (SP_PARM != 0 && (attr & A_ALTCHARSET) && (acs_chars != 0)) {
+ char *cp;
+- char *found = 0;
++ const char *found = 0;
+
+ for (cp = acs_chars; cp[0] && cp[1]; cp += 2) {
+ if (ChCharOf(UChar(cp[1])) == ChCharOf(ch)) {
+Index: ncurses/trace/varargs.c
+Prereq: 1.13
+--- ncurses-6.5-20240720+/ncurses/trace/varargs.c 2023-06-24 13:41:46.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/trace/varargs.c 2024-07-27 19:23:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020,2023 Thomas E. Dickey *
++ * Copyright 2020-2023,2024 Thomas E. Dickey *
+ * Copyright 2001-2008,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -35,7 +35,7 @@
+
+ #include <ctype.h>
+
+-MODULE_ID("$Id: varargs.c,v 1.13 2023/06/24 13:41:46 tom Exp $")
++MODULE_ID("$Id: varargs.c,v 1.14 2024/07/27 19:23:59 tom Exp $")
+
+ #ifdef TRACE
+
+@@ -73,7 +73,7 @@
+
+ while (*fmt != '\0') {
+ if (*fmt == '%') {
+- char *pval = 0; /* avoid const-cast */
++ const char *pval = 0; /* avoid const-cast */
+ const char *sval = "";
+ double fval = 0.0;
+ int done = FALSE;
+Index: ncurses/tty/hashmap.c
+Prereq: 1.71
+--- ncurses-6.5-20240720+/ncurses/tty/hashmap.c 2023-09-16 16:28:53.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/tty/hashmap.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2019-2020,2023 Thomas E. Dickey *
++ * Copyright 2019-2023,2024 Thomas E. Dickey *
+ * Copyright 1998-2015,2016 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -74,7 +74,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: hashmap.c,v 1.71 2023/09/16 16:28:53 tom Exp $")
++MODULE_ID("$Id: hashmap.c,v 1.72 2024/07/27 19:22:23 tom Exp $")
+
+ #ifdef HASHDEBUG
+
+@@ -120,15 +120,14 @@
+ static const NCURSES_CH_T blankchar = NewChar(BLANK_TEXT);
+
+ static NCURSES_INLINE unsigned long
+-hash(SCREEN *sp, NCURSES_CH_T *text)
++hash(SCREEN *sp, const NCURSES_CH_T *text)
+ {
+ int i;
+- NCURSES_CH_T ch;
+ unsigned long result = 0;
+ (void) sp;
+
+ for (i = TEXTWIDTH(sp); i > 0; i--) {
+- ch = *text++;
++ NCURSES_CH_T ch = *text++;
+ result += (result << 5) + (unsigned long) HASH_VAL(ch);
+ }
+ return result;
+Index: ncurses/widechar/lib_add_wch.c
+Prereq: 1.18
+--- ncurses-6.5-20240720+/ncurses/widechar/lib_add_wch.c 2023-07-15 17:34:12.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/widechar/lib_add_wch.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2019-2021,2023 Thomas E. Dickey *
++ * Copyright 2019-2023,2024 Thomas E. Dickey *
+ * Copyright 2004-2011,2016 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -40,7 +40,7 @@
+ #include <wctype.h>
+ #endif
+
+-MODULE_ID("$Id: lib_add_wch.c,v 1.18 2023/07/15 17:34:12 tom Exp $")
++MODULE_ID("$Id: lib_add_wch.c,v 1.19 2024/07/27 19:22:23 tom Exp $")
+
+ /* clone/adapt lib_addch.c */
+ static const cchar_t blankchar = NewChar(BLANK_TEXT);
+@@ -115,7 +115,7 @@
+ #endif
+
+ static bool
+-newline_forces_scroll(WINDOW *win, NCURSES_SIZE_T *ypos)
++newline_forces_scroll(const WINDOW *win, NCURSES_SIZE_T *ypos)
+ {
+ bool result = FALSE;
+
+@@ -307,7 +307,7 @@
+ /* the workhorse function -- add a character to the given window */
+ {
+ NCURSES_SIZE_T x, y;
+- wchar_t *s;
++ const wchar_t *s;
+ int tabsize = 8;
+ #if USE_REENTRANT
+ SCREEN *sp = _nc_screen_of(win);
+Index: ncurses/widechar/lib_cchar.c
+Prereq: 1.38
+--- ncurses-6.5-20240720+/ncurses/widechar/lib_cchar.c 2022-07-27 08:03:16.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/widechar/lib_cchar.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2019-2021,2022 Thomas E. Dickey *
++ * Copyright 2019-2022,2024 Thomas E. Dickey *
+ * Copyright 2001-2016,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -37,7 +37,7 @@
+ #include <curses.priv.h>
+ #include <wchar.h>
+
+-MODULE_ID("$Id: lib_cchar.c,v 1.38 2022/07/27 08:03:16 tom Exp $")
++MODULE_ID("$Id: lib_cchar.c,v 1.39 2024/07/27 19:22:23 tom Exp $")
+
+ /*
+ * The SuSv2 description leaves some room for interpretation. We'll assume wch
+@@ -119,7 +119,7 @@
+ } else
+ #endif
+ if (wcval != NULL) {
+- wchar_t *wp;
++ const wchar_t *wp;
+ int len;
+
+ #if HAVE_WMEMCHR
+Index: ncurses/widechar/lib_get_wstr.c
+Prereq: 1.21
+--- ncurses-6.5-20240720+/ncurses/widechar/lib_get_wstr.c 2023-04-29 19:02:03.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/widechar/lib_get_wstr.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2021,2023 Thomas E. Dickey *
++ * Copyright 2018-2023,2024 Thomas E. Dickey *
+ * Copyright 2002-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -40,10 +40,10 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_get_wstr.c,v 1.21 2023/04/29 19:02:03 tom Exp $")
++MODULE_ID("$Id: lib_get_wstr.c,v 1.22 2024/07/27 19:22:23 tom Exp $")
+
+ static int
+-wadd_wint(WINDOW *win, wint_t *src)
++wadd_wint(WINDOW *win, const wint_t *src)
+ {
+ cchar_t tmp;
+ wchar_t wch[2];
+@@ -59,7 +59,7 @@
+ * or other character, and handles reverse wraparound.
+ */
+ static wint_t *
+-WipeOut(WINDOW *win, int y, int x, wint_t *first, wint_t *last, int echoed)
++WipeOut(WINDOW *win, int y, int x, const wint_t *first, wint_t *last, int echoed)
+ {
+ if (last > first) {
+ *--last = '\0';
+Index: ncurses/widechar/lib_in_wchnstr.c
+Prereq: 1.9
+--- ncurses-6.5-20240720+/ncurses/widechar/lib_in_wchnstr.c 2020-02-02 23:34:34.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/widechar/lib_in_wchnstr.c 2024-07-27 19:23:21.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020 Thomas E. Dickey *
++ * Copyright 2020,2024 Thomas E. Dickey *
+ * Copyright 2002-2007,2009 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -40,7 +40,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_in_wchnstr.c,v 1.9 2020/02/02 23:34:34 tom Exp $")
++MODULE_ID("$Id: lib_in_wchnstr.c,v 1.10 2024/07/27 19:23:21 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ win_wchnstr(WINDOW *win, cchar_t *wchstr, int n)
+@@ -50,7 +50,7 @@
+ T((T_CALLED("win_wchnstr(%p,%p,%d)"), (void *) win, (void *) wchstr, n));
+ if (win != 0
+ && wchstr != 0) {
+- NCURSES_CH_T *src;
++ const NCURSES_CH_T *src;
+ int row, col;
+ int j, k, limit;
+
+Index: ncurses/widechar/lib_ins_wch.c
+Prereq: 1.29
+--- ncurses-6.5-20240720+/ncurses/widechar/lib_ins_wch.c 2023-11-21 21:53:28.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/widechar/lib_ins_wch.c 2024-07-27 19:22:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2019-2020,2023 Thomas E. Dickey *
++ * Copyright 2019-2023,2024 Thomas E. Dickey *
+ * Copyright 2002-2016,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -40,7 +40,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_ins_wch.c,v 1.29 2023/11/21 21:53:28 tom Exp $")
++MODULE_ID("$Id: lib_ins_wch.c,v 1.30 2024/07/27 19:22:23 tom Exp $")
+
+ /*
+ * Insert the given character, updating the current location to simplify
+@@ -63,7 +63,7 @@
+ struct ldat *line = &(win->_line[win->_cury]);
+ NCURSES_CH_T *end = &(line->text[win->_curx]);
+ NCURSES_CH_T *temp1 = &(line->text[win->_maxx]);
+- NCURSES_CH_T *temp2 = temp1 - cells;
++ const NCURSES_CH_T *temp2 = temp1 - cells;
+
+ CHANGED_TO_EOL(line, win->_curx, win->_maxx);
+ while (temp1 > end)
+Index: ncurses/widechar/lib_inwstr.c
+Prereq: 1.10
+--- ncurses-6.5-20240720+/ncurses/widechar/lib_inwstr.c 2024-06-08 21:22:24.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/widechar/lib_inwstr.c 2024-07-27 19:02:27.000000000 +0000
+@@ -40,13 +40,13 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_inwstr.c,v 1.10 2024/06/08 21:22:24 tom Exp $")
++MODULE_ID("$Id: lib_inwstr.c,v 1.11 2024/07/27 19:02:27 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ winnwstr(WINDOW *win, wchar_t *wstr, int n)
+ {
+ int count = 0;
+- cchar_t *text;
++ const cchar_t *text;
+
+ T((T_CALLED("winnwstr(%p,%p,%d)"), (void *) win, (void *) wstr, n));
+ if (wstr != 0) {
+Index: ncurses/widechar/lib_key_name.c
+Prereq: 1.6
+--- ncurses-6.5-20240720+/ncurses/widechar/lib_key_name.c 2023-06-03 12:15:34.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/widechar/lib_key_name.c 2024-07-27 19:23:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020,2023 Thomas E. Dickey *
++ * Copyright 2020-2023,2024 Thomas E. Dickey *
+ * Copyright 2007-2008,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -36,7 +36,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_key_name.c,v 1.6 2023/06/03 12:15:34 tom Exp $")
++MODULE_ID("$Id: lib_key_name.c,v 1.7 2024/07/27 19:23:59 tom Exp $")
+
+ #define MyData _nc_globals.key_name
+
+@@ -44,7 +44,7 @@
+ key_name(wchar_t c)
+ {
+ cchar_t my_cchar;
+- wchar_t *my_wchars;
++ const wchar_t *my_wchars;
+ size_t len;
+ NCURSES_CONST char *result = NULL;
+
+Index: ncurses/widechar/lib_wunctrl.c
+Prereq: 1.17
+--- ncurses-6.5-20240720+/ncurses/widechar/lib_wunctrl.c 2020-02-02 23:34:34.000000000 +0000
++++ ncurses-6.5-20240727/ncurses/widechar/lib_wunctrl.c 2024-07-27 19:23:21.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020 Thomas E. Dickey *
++ * Copyright 2020,2024 Thomas E. Dickey *
+ * Copyright 2001-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -36,17 +36,18 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_wunctrl.c,v 1.17 2020/02/02 23:34:34 tom Exp $")
++MODULE_ID("$Id: lib_wunctrl.c,v 1.18 2024/07/27 19:23:21 tom Exp $")
+
+ NCURSES_EXPORT(wchar_t *)
+ NCURSES_SP_NAME(wunctrl) (NCURSES_SP_DCLx cchar_t *wc)
+ {
+- static wchar_t str[CCHARW_MAX + 1], *wsp;
++ static wchar_t str[CCHARW_MAX + 1];
+ wchar_t *result;
+
+ if (wc == 0) {
+ result = 0;
+ } else if (SP_PARM != 0 && Charable(*wc)) {
++ wchar_t *wsp;
+ const char *p =
+ NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx
+ (unsigned) _nc_to_char((wint_t)CharOf(*wc)));
+Index: package/debian-mingw/changelog
+--- ncurses-6.5-20240720+/package/debian-mingw/changelog 2024-07-20 10:19:56.000000000 +0000
++++ ncurses-6.5-20240727/package/debian-mingw/changelog 2024-07-27 13:25:06.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6td (6.5+20240720) unstable; urgency=low
++ncurses6td (6.5+20240727) unstable; urgency=low
+
+ * latest weekly patch
+
+- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 20 Jul 2024 06:19:56 -0400
++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 27 Jul 2024 09:25:06 -0400
+
+ ncurses6 (5.9+20131005) unstable; urgency=low
+
+Index: package/debian-mingw64/changelog
+--- ncurses-6.5-20240720+/package/debian-mingw64/changelog 2024-07-20 10:19:56.000000000 +0000
++++ ncurses-6.5-20240727/package/debian-mingw64/changelog 2024-07-27 13:25:06.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6td (6.5+20240720) unstable; urgency=low
++ncurses6td (6.5+20240727) unstable; urgency=low
+
+ * latest weekly patch
+
+- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 20 Jul 2024 06:19:56 -0400
++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 27 Jul 2024 09:25:06 -0400
+
+ ncurses6 (5.9+20131005) unstable; urgency=low
+
+Index: package/debian/changelog
+--- ncurses-6.5-20240720+/package/debian/changelog 2024-07-20 10:19:56.000000000 +0000
++++ ncurses-6.5-20240727/package/debian/changelog 2024-07-27 13:25:06.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6td (6.5+20240720) unstable; urgency=low
++ncurses6td (6.5+20240727) unstable; urgency=low
+
+ * latest weekly patch
+
+- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 20 Jul 2024 06:19:56 -0400
++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 27 Jul 2024 09:25:06 -0400
+
+ ncurses6 (5.9+20120608) unstable; urgency=low
+
+Index: package/mingw-ncurses.nsi
+Prereq: 1.658
+--- ncurses-6.5-20240720+/package/mingw-ncurses.nsi 2024-07-20 10:19:56.000000000 +0000
++++ ncurses-6.5-20240727/package/mingw-ncurses.nsi 2024-07-27 13:25:06.000000000 +0000
+@@ -1,4 +1,4 @@
+-; $Id: mingw-ncurses.nsi,v 1.658 2024/07/20 10:19:56 tom Exp $
++; $Id: mingw-ncurses.nsi,v 1.659 2024/07/27 13:25:06 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 "0720"
++!define VERSION_MMDD "0727"
+ !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
+
+ !define MY_ABI "5"
+Index: package/mingw-ncurses.spec
+--- ncurses-6.5-20240720+/package/mingw-ncurses.spec 2024-07-20 10:19:56.000000000 +0000
++++ ncurses-6.5-20240727/package/mingw-ncurses.spec 2024-07-27 13:25:06.000000000 +0000
+@@ -3,7 +3,7 @@
+ Summary: shared libraries for terminal handling
+ Name: mingw32-ncurses6
+ Version: 6.5
+-Release: 20240720
++Release: 20240727
+ License: X11
+ Group: Development/Libraries
+ URL: https://invisible-island.net/ncurses/
+Index: package/ncurses.spec
+--- ncurses-6.5-20240720+/package/ncurses.spec 2024-07-20 10:19:56.000000000 +0000
++++ ncurses-6.5-20240727/package/ncurses.spec 2024-07-27 13:25:06.000000000 +0000
+@@ -1,7 +1,7 @@
+ Summary: shared libraries for terminal handling
+ Name: ncurses6
+ Version: 6.5
+-Release: 20240720
++Release: 20240727
+ License: X11
+ Group: Development/Libraries
+ URL: https://invisible-island.net/ncurses/
+Index: package/ncursest.spec
+--- ncurses-6.5-20240720+/package/ncursest.spec 2024-07-20 10:19:56.000000000 +0000
++++ ncurses-6.5-20240727/package/ncursest.spec 2024-07-27 13:25:06.000000000 +0000
+@@ -1,7 +1,7 @@
+ Summary: Curses library with POSIX thread support.
+ Name: ncursest6
+ Version: 6.5
+-Release: 20240720
++Release: 20240727
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz