diff options
Diffstat (limited to 'packages/ncurses/6.5/ncurses-6.5-20240727.patch')
-rw-r--r-- | packages/ncurses/6.5/ncurses-6.5-20240727.patch | 7988 |
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><curses.h></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><curses.h></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><curses.h></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><curses.h></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&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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><unctrl.h></STRONG>, which <EM>ncurses</EM> +- does. However, <EM>ncurses</EM>' <STRONG><curses.h></STRONG> includes <STRONG><unctrl.h></STRONG>, matching the ++ does. However, <EM>ncurses</EM>' <STRONG><curses.h></STRONG> includes <STRONG><unctrl.h></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 |