aboutsummaryrefslogtreecommitdiff
path: root/packages/ncurses/6.5/ncurses-6.5-20250201.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/ncurses/6.5/ncurses-6.5-20250201.patch')
-rw-r--r--packages/ncurses/6.5/ncurses-6.5-20250201.patch9780
1 files changed, 9780 insertions, 0 deletions
diff --git a/packages/ncurses/6.5/ncurses-6.5-20250201.patch b/packages/ncurses/6.5/ncurses-6.5-20250201.patch
new file mode 100644
index 00000000..fae66507
--- /dev/null
+++ b/packages/ncurses/6.5/ncurses-6.5-20250201.patch
@@ -0,0 +1,9780 @@
+# ncurses 6.5 - patch 20250201 - 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-20250201.patch.gz
+# patch by Thomas E. Dickey <dickey@invisible-island.net>
+# created Sun Feb 2 01:33:22 UTC 2025
+# ------------------------------------------------------------------------------
+# NEWS | 11
+# VERSION | 2
+# aclocal.m4 | 14
+# c++/edit_cfg.sh | 6
+# c++/etip.h.in | 14
+# configure | 702 ++++------
+# configure.in | 6
+# dist.mk | 4
+# doc/html/ada/funcs/T.htm | 2
+# doc/html/ada/terminal_interface-curses-forms__adb.htm | 8
+# doc/html/ada/terminal_interface-curses-menus__adb.htm | 8
+# doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm | 4
+# doc/html/man/curs_add_wch.3x.html | 314 ++--
+# doc/html/man/curs_add_wchstr.3x.html | 20
+# doc/html/man/curs_addch.3x.html | 122 +
+# doc/html/man/curs_addchstr.3x.html | 10
+# doc/html/man/curs_addstr.3x.html | 12
+# doc/html/man/curs_addwstr.3x.html | 19
+# doc/html/man/curs_attr.3x.html | 46
+# doc/html/man/curs_beep.3x.html | 12
+# doc/html/man/curs_bkgrnd.3x.html | 10
+# doc/html/man/curs_border.3x.html | 84 -
+# doc/html/man/curs_border_set.3x.html | 81 -
+# doc/html/man/curs_deleteln.3x.html | 12
+# doc/html/man/curs_get_wch.3x.html | 44
+# doc/html/man/curs_get_wstr.3x.html | 21
+# doc/html/man/curs_getcchar.3x.html | 13
+# doc/html/man/curs_getch.3x.html | 103 -
+# doc/html/man/curs_getstr.3x.html | 22
+# doc/html/man/curs_getyx.3x.html | 10
+# doc/html/man/curs_in_wch.3x.html | 16
+# doc/html/man/curs_in_wchstr.3x.html | 20
+# doc/html/man/curs_initscr.3x.html | 186 +-
+# doc/html/man/curs_inopts.3x.html | 138 +
+# doc/html/man/curs_ins_wch.3x.html | 25
+# doc/html/man/curs_ins_wstr.3x.html | 10
+# doc/html/man/curs_insch.3x.html | 19
+# doc/html/man/curs_insstr.3x.html | 14
+# doc/html/man/curs_instr.3x.html | 13
+# doc/html/man/curs_move.3x.html | 10
+# doc/html/man/curs_outopts.3x.html | 10
+# doc/html/man/curs_scroll.3x.html | 50
+# doc/html/man/curs_sp_funcs.3x.html | 292 ++--
+# doc/html/man/curs_termattrs.3x.html | 10
+# doc/html/man/curs_termcap.3x.html | 8
+# doc/html/man/curs_util.3x.html | 18
+# doc/html/man/curs_window.3x.html | 8
+# doc/html/man/ncurses.3x.html | 2
+# doc/html/man/terminfo.5.html | 2
+# man/curs_add_wch.3x | 358 +++--
+# man/curs_add_wchstr.3x | 9
+# man/curs_addch.3x | 180 +-
+# man/curs_addchstr.3x | 9
+# man/curs_addstr.3x | 5
+# man/curs_addwstr.3x | 7
+# man/curs_attr.3x | 23
+# man/curs_beep.3x | 11
+# man/curs_bkgrnd.3x | 6
+# man/curs_border.3x | 212 ++-
+# man/curs_border_set.3x | 76 -
+# man/curs_deleteln.3x | 11
+# man/curs_get_wch.3x | 17
+# man/curs_get_wstr.3x | 28
+# man/curs_getcchar.3x | 9
+# man/curs_getch.3x | 33
+# man/curs_getstr.3x | 15
+# man/curs_getyx.3x | 5
+# man/curs_in_wch.3x | 7
+# man/curs_in_wchstr.3x | 7
+# man/curs_initscr.3x | 312 +++-
+# man/curs_inopts.3x | 51
+# man/curs_ins_wch.3x | 12
+# man/curs_ins_wstr.3x | 6
+# man/curs_insch.3x | 9
+# man/curs_insstr.3x | 11
+# man/curs_instr.3x | 7
+# man/curs_move.3x | 8
+# man/curs_outopts.3x | 11
+# man/curs_scroll.3x | 76 -
+# man/curs_sp_funcs.3x | 288 ++--
+# man/curs_termattrs.3x | 16
+# man/curs_termcap.3x | 7
+# man/curs_util.3x | 17
+# man/curs_window.3x | 18
+# man/man_db.renames.in | 3
+# man/manhtml.aliases | 3
+# ncurses/base/MKlib_gen.sh | 24
+# ncurses/tty/lib_mvcur.c | 8
+# package/debian-mingw/changelog | 4
+# package/debian-mingw64/changelog | 4
+# package/debian/changelog | 4
+# package/mingw-ncurses.nsi | 4
+# package/mingw-ncurses.spec | 2
+# package/ncurses.spec | 2
+# package/ncursest.spec | 2
+# 95 files changed, 2593 insertions(+), 1931 deletions(-)
+# ------------------------------------------------------------------------------
+Index: NEWS
+Prereq: 1.4236
+--- ncurses-6.5-20250125+/NEWS 2025-01-25 21:30:09.000000000 +0000
++++ ncurses-6.5-20250201/NEWS 2025-02-02 00:30:12.000000000 +0000
+@@ -26,7 +26,7 @@
+ -- sale, use or other dealings in this Software without prior written --
+ -- authorization. --
+ -------------------------------------------------------------------------------
+--- $Id: NEWS,v 1.4236 2025/01/25 21:30:09 tom Exp $
++-- $Id: NEWS,v 1.4239 2025/02/02 00:30:12 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.
+
++20250201
++ + add <new> to the possible headers declaring the C++ std::bad_alloc
++ (report by Carl Hansen).
++ + modify check for stdbool.h to be more conservative in case the
++ headers are used with a compiler other than that which was used to
++ configure (Redhat #2342514).
++ + improve MKlib_gen.sh handling of "bool" type, for building link_test
++ + improve formatting/style of manpages (patches by Branden Robinson).
++
+ 20250125
+ + improve error-handling in c++ binding (report by Mingjie Shen).
+ + strict compiler-warning fixes for upcoming gcc15
+Index: VERSION
+--- ncurses-6.5-20250125+/VERSION 2025-01-25 10:34:16.000000000 +0000
++++ ncurses-6.5-20250201/VERSION 2025-02-01 10:35:49.000000000 +0000
+@@ -1 +1 @@
+-5:0:10 6.5 20250125
++5:0:10 6.5 20250201
+Index: aclocal.m4
+Prereq: 1.1100
+--- ncurses-6.5-20250125+/aclocal.m4 2025-01-15 22:07:11.000000000 +0000
++++ ncurses-6.5-20250201/aclocal.m4 2025-02-02 00:10:44.000000000 +0000
+@@ -29,7 +29,7 @@
+ dnl
+ dnl Author: Thomas E. Dickey 1995-on
+ dnl
+-dnl $Id: aclocal.m4,v 1.1100 2025/01/15 22:07:11 tom Exp $
++dnl $Id: aclocal.m4,v 1.1101 2025/02/02 00:10:44 tom Exp $
+ dnl Macros used in NCURSES auto-configuration script.
+ dnl
+ dnl These macros are maintained separately from NCURSES. The copyright on
+@@ -600,7 +600,7 @@
+ dnl ---------------------------------------------------------------------------
+ dnl CF_BOOL_DECL version: 9 updated: 2023/12/03 09:21:34
+ dnl ------------
+-dnl Test if 'bool' is a builtin type in the configured C++ compiler. Some
++dnl Test if 'bool' is a builtin type in the configured C/C++ compiler. Some
+ dnl older compilers (e.g., gcc 2.5.8) don't support 'bool' directly; gcc
+ dnl 2.6.3 does, in anticipation of the ANSI C++ standard.
+ dnl
+@@ -613,14 +613,13 @@
+ AC_MSG_CHECKING(if we should include stdbool.h)
+
+ AC_CACHE_VAL(cf_cv_header_stdbool_h,[
+- AC_TRY_COMPILE([],[bool foo = false; (void)foo],
+- [cf_cv_header_stdbool_h=0],
+- [AC_TRY_COMPILE([
++ AC_TRY_COMPILE([
+ #ifndef __BEOS__
+ #include <stdbool.h>
+ #endif
+ ],[bool foo = false; (void)foo],
+- [cf_cv_header_stdbool_h=1],
++ [cf_cv_header_stdbool_h=1],
++ [AC_TRY_COMPILE([],[bool foo = false; (void)foo],
+ [cf_cv_header_stdbool_h=0])])])
+
+ if test "$cf_cv_header_stdbool_h" = 1
+@@ -636,8 +635,7 @@
+ #include <sys/types.h>
+ ],[bool x = false; (void)x],
+ [ifelse($1,,cf_cv_builtin_bool,[$1])=1],
+- [ifelse($1,,cf_cv_builtin_bool,[$1])=0])
+- ])
++ [ifelse($1,,cf_cv_builtin_bool,[$1])=0])])
+
+ if test "$ifelse($1,,cf_cv_builtin_bool,[$1])" = 1
+ then AC_MSG_RESULT(yes)
+Index: c++/edit_cfg.sh
+Prereq: 1.19
+--- ncurses-6.5-20250125+/c++/edit_cfg.sh 2022-07-16 18:00:59.000000000 +0000
++++ ncurses-6.5-20250201/c++/edit_cfg.sh 2025-02-02 00:38:39.000000000 +0000
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+-# $Id: edit_cfg.sh,v 1.19 2022/07/16 18:00:59 tom Exp $
++# $Id: edit_cfg.sh,v 1.20 2025/02/02 00:38:39 tom Exp $
+ ##############################################################################
+-# Copyright 2020,2022 Thomas E. Dickey #
++# Copyright 2020-2022,2025 Thomas E. Dickey #
+ # Copyright 1998-2007,2008 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+@@ -46,7 +46,9 @@
+ HAVE_BUILTIN_H \
+ HAVE_GPP_BUILTIN_H \
+ HAVE_GXX_BUILTIN_H \
++ HAVE_EXCEPTION \
+ HAVE_IOSTREAM \
++ HAVE_NEW \
+ HAVE_TYPEINFO \
+ HAVE_VALUES_H \
+ IOSTREAM_NAMESPACE
+Index: c++/etip.h.in
+Prereq: 1.53
+--- ncurses-6.5-20250125+/c++/etip.h.in 2025-01-25 22:19:42.000000000 +0000
++++ ncurses-6.5-20250201/c++/etip.h.in 2025-02-02 00:20:44.000000000 +0000
+@@ -32,7 +32,7 @@
+ * Author: Juergen Pfeifer, 1997 *
+ ****************************************************************************/
+
+-// $Id: etip.h.in,v 1.53 2025/01/25 22:19:42 tom Exp $
++// $Id: etip.h.in,v 1.54 2025/02/02 00:20:44 tom Exp $
+
+ #ifndef NCURSES_ETIP_H_incl
+ #define NCURSES_ETIP_H_incl 1
+@@ -42,6 +42,10 @@
+ #define HAVE_BUILTIN_H 0
+ #endif
+
++#ifndef HAVE_EXCEPTION
++#define HAVE_EXCEPTION 0
++#endif
++
+ #ifndef HAVE_GXX_BUILTIN_H
+ #define HAVE_GXX_BUILTIN_H 0
+ #endif
+@@ -54,6 +58,10 @@
+ #define HAVE_IOSTREAM 0
+ #endif
+
++#ifndef HAVE_NEW
++#define HAVE_NEW 0
++#endif
++
+ #ifndef HAVE_TYPEINFO
+ #define HAVE_TYPEINFO 0
+ #endif
+@@ -116,8 +124,10 @@
+ # endif
+ # undef exception
+ # endif
+-#elif defined __CLANG
++#elif HAVE_EXCEPTION
+ # include <exception>
++#elif HAVE_NEW
++# include <new>
+ #elif defined (__SUNPRO_CC)
+ # include <generic.h>
+ #endif
+Index: configure
+--- ncurses-6.5-20250125+/configure 2025-01-18 11:26:09.000000000 +0000
++++ ncurses-6.5-20250201/configure 2025-02-02 00:38:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ #! /bin/sh
+-# From configure.in Revision: 1.790 .
++# From configure.in Revision: 1.791 .
+ # Guess values for system-dependent variables and create Makefiles.
+ # Generated by Autoconf 2.52.20240618.
+ #
+@@ -25830,6 +25830,10 @@
+ #line 25830 "configure"
+ #include "confdefs.h"
+
++#ifndef __BEOS__
++#include <stdbool.h>
++#endif
++
+ int
+ main (void)
+ {
+@@ -25839,29 +25843,25 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:25842: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:25846: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:25845: \$? = $ac_status" >&5
++ echo "$as_me:25849: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:25848: \"$ac_try\"") >&5
++ { (eval echo "$as_me:25852: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:25851: \$? = $ac_status" >&5
++ echo "$as_me:25855: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+- cf_cv_header_stdbool_h=0
++ cf_cv_header_stdbool_h=1
+ else
+ echo "$as_me: failed program was:" >&5
+ cat "conftest.$ac_ext" >&5
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 25858 "configure"
++#line 25862 "configure"
+ #include "confdefs.h"
+
+-#ifndef __BEOS__
+-#include <stdbool.h>
+-#endif
+-
+ int
+ main (void)
+ {
+@@ -25882,11 +25882,10 @@
+ ac_status=$?
+ echo "$as_me:25883: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+- cf_cv_header_stdbool_h=1
++ cf_cv_header_stdbool_h=0
+ else
+ echo "$as_me: failed program was:" >&5
+ cat "conftest.$ac_ext" >&5
+-cf_cv_header_stdbool_h=0
+ fi
+ rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+ fi
+@@ -25894,13 +25893,13 @@
+ fi
+
+ if test "$cf_cv_header_stdbool_h" = 1
+-then echo "$as_me:25897: result: yes" >&5
++then echo "$as_me:25896: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+-else echo "$as_me:25899: result: no" >&5
++else echo "$as_me:25898: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+-echo "$as_me:25903: checking for builtin bool type" >&5
++echo "$as_me:25902: checking for builtin bool type" >&5
+ echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6
+
+ if test "${cf_cv_cc_bool_type+set}" = set; then
+@@ -25908,7 +25907,7 @@
+ else
+
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 25911 "configure"
++#line 25910 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -25923,16 +25922,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:25926: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:25925: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:25929: \$? = $ac_status" >&5
++ echo "$as_me:25928: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:25932: \"$ac_try\"") >&5
++ { (eval echo "$as_me:25931: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:25935: \$? = $ac_status" >&5
++ echo "$as_me:25934: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ cf_cv_cc_bool_type=1
+ else
+@@ -25941,13 +25940,12 @@
+ cf_cv_cc_bool_type=0
+ fi
+ rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+-
+ fi
+
+ if test "$cf_cv_cc_bool_type" = 1
+-then echo "$as_me:25948: result: yes" >&5
++then echo "$as_me:25946: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+-else echo "$as_me:25950: result: no" >&5
++else echo "$as_me:25948: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -25964,10 +25962,10 @@
+
+ cf_save="$LIBS"
+ LIBS="$LIBS $CXXLIBS"
+- echo "$as_me:25967: checking if we already have C++ library" >&5
++ echo "$as_me:25965: checking if we already have C++ library" >&5
+ echo $ECHO_N "checking if we already have C++ library... $ECHO_C" >&6
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 25970 "configure"
++#line 25968 "configure"
+ #include "confdefs.h"
+
+ #include <iostream>
+@@ -25981,16 +25979,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext" "conftest$ac_exeext"
+-if { (eval echo "$as_me:25984: \"$ac_link\"") >&5
++if { (eval echo "$as_me:25982: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:25987: \$? = $ac_status" >&5
++ echo "$as_me:25985: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest$ac_exeext"'
+- { (eval echo "$as_me:25990: \"$ac_try\"") >&5
++ { (eval echo "$as_me:25988: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:25993: \$? = $ac_status" >&5
++ echo "$as_me:25991: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ cf_have_libstdcpp=yes
+ else
+@@ -25999,7 +25997,7 @@
+ cf_have_libstdcpp=no
+ fi
+ rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
+- echo "$as_me:26002: result: $cf_have_libstdcpp" >&5
++ echo "$as_me:26000: result: $cf_have_libstdcpp" >&5
+ echo "${ECHO_T}$cf_have_libstdcpp" >&6
+ LIBS="$cf_save"
+
+@@ -26018,7 +26016,7 @@
+ ;;
+ esac
+
+- echo "$as_me:26021: checking for library $cf_stdcpp_libname" >&5
++ echo "$as_me:26019: checking for library $cf_stdcpp_libname" >&5
+ echo $ECHO_N "checking for library $cf_stdcpp_libname... $ECHO_C" >&6
+ if test "${cf_cv_libstdcpp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -26044,7 +26042,7 @@
+ LIBS="$cf_add_libs"
+
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26047 "configure"
++#line 26045 "configure"
+ #include "confdefs.h"
+
+ #include <iostream>
+@@ -26058,16 +26056,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext" "conftest$ac_exeext"
+-if { (eval echo "$as_me:26061: \"$ac_link\"") >&5
++if { (eval echo "$as_me:26059: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:26064: \$? = $ac_status" >&5
++ echo "$as_me:26062: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest$ac_exeext"'
+- { (eval echo "$as_me:26067: \"$ac_try\"") >&5
++ { (eval echo "$as_me:26065: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:26070: \$? = $ac_status" >&5
++ echo "$as_me:26068: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ cf_cv_libstdcpp=yes
+ else
+@@ -26079,7 +26077,7 @@
+ LIBS="$cf_save"
+
+ fi
+-echo "$as_me:26082: result: $cf_cv_libstdcpp" >&5
++echo "$as_me:26080: result: $cf_cv_libstdcpp" >&5
+ echo "${ECHO_T}$cf_cv_libstdcpp" >&6
+ test "$cf_cv_libstdcpp" = yes && {
+ cf_add_libs="$CXXLIBS"
+@@ -26101,7 +26099,7 @@
+ fi
+ fi
+
+- echo "$as_me:26104: checking whether $CXX understands -c and -o together" >&5
++ echo "$as_me:26102: checking whether $CXX understands -c and -o together" >&5
+ echo $ECHO_N "checking whether $CXX understands -c and -o together... $ECHO_C" >&6
+ if test "${cf_cv_prog_CXX_c_o+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -26116,15 +26114,15 @@
+ # We do the test twice because some compilers refuse to overwrite an
+ # existing .o file with -o, though they will create one.
+ ac_try='$CXX $CXXFLAGS $CPPFLAGS -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+-if { (eval echo "$as_me:26119: \"$ac_try\"") >&5
++if { (eval echo "$as_me:26117: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:26122: \$? = $ac_status" >&5
++ echo "$as_me:26120: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+- test -f conftest2.$ac_objext && { (eval echo "$as_me:26124: \"$ac_try\"") >&5
++ test -f conftest2.$ac_objext && { (eval echo "$as_me:26122: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:26127: \$? = $ac_status" >&5
++ echo "$as_me:26125: \$? = $ac_status" >&5
+ (exit "$ac_status"); };
+ then
+ eval cf_cv_prog_CXX_c_o=yes
+@@ -26135,10 +26133,10 @@
+
+ fi
+ if test "$cf_cv_prog_CXX_c_o" = yes; then
+- echo "$as_me:26138: result: yes" >&5
++ echo "$as_me:26136: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+- echo "$as_me:26141: result: no" >&5
++ echo "$as_me:26139: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -26158,7 +26156,7 @@
+ ;;
+ esac
+ if test "$GXX" = yes; then
+- echo "$as_me:26161: checking for lib$cf_gpp_libname" >&5
++ echo "$as_me:26159: checking for lib$cf_gpp_libname" >&5
+ echo $ECHO_N "checking for lib$cf_gpp_libname... $ECHO_C" >&6
+ cf_save="$LIBS"
+
+@@ -26179,7 +26177,7 @@
+ LIBS="$cf_add_libs"
+
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26182 "configure"
++#line 26180 "configure"
+ #include "confdefs.h"
+
+ #include <$cf_gpp_libname/builtin.h>
+@@ -26193,16 +26191,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext" "conftest$ac_exeext"
+-if { (eval echo "$as_me:26196: \"$ac_link\"") >&5
++if { (eval echo "$as_me:26194: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:26199: \$? = $ac_status" >&5
++ echo "$as_me:26197: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest$ac_exeext"'
+- { (eval echo "$as_me:26202: \"$ac_try\"") >&5
++ { (eval echo "$as_me:26200: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:26205: \$? = $ac_status" >&5
++ echo "$as_me:26203: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ cf_cxx_library=yes
+
+@@ -26239,7 +26237,7 @@
+ echo "$as_me: failed program was:" >&5
+ cat "conftest.$ac_ext" >&5
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26242 "configure"
++#line 26240 "configure"
+ #include "confdefs.h"
+
+ #include <builtin.h>
+@@ -26253,16 +26251,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext" "conftest$ac_exeext"
+-if { (eval echo "$as_me:26256: \"$ac_link\"") >&5
++if { (eval echo "$as_me:26254: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:26259: \$? = $ac_status" >&5
++ echo "$as_me:26257: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest$ac_exeext"'
+- { (eval echo "$as_me:26262: \"$ac_try\"") >&5
++ { (eval echo "$as_me:26260: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:26265: \$? = $ac_status" >&5
++ echo "$as_me:26263: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ cf_cxx_library=yes
+
+@@ -26295,7 +26293,7 @@
+ fi
+ rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
+ LIBS="$cf_save"
+- echo "$as_me:26298: result: $cf_cxx_library" >&5
++ echo "$as_me:26296: result: $cf_cxx_library" >&5
+ echo "${ECHO_T}$cf_cxx_library" >&6
+ fi
+
+@@ -26311,7 +26309,7 @@
+ ac_link='$CXX -o "conftest$ac_exeext" $CXXFLAGS $CPPFLAGS $LDFLAGS "conftest.$ac_ext" $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ ac_main_return="return"
+-echo "$as_me:26314: checking how to run the C++ preprocessor" >&5
++echo "$as_me:26312: checking how to run the C++ preprocessor" >&5
+ echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+ if test -z "$CXXCPP"; then
+ if test "${ac_cv_prog_CXXCPP+set}" = set; then
+@@ -26328,18 +26326,18 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26331 "configure"
++#line 26329 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:26336: \"$ac_cpp "conftest.$ac_ext"\"") >&5
++if { (eval echo "$as_me:26334: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+ (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ $EGREP -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:26342: \$? = $ac_status" >&5
++ echo "$as_me:26340: \$? = $ac_status" >&5
+ (exit "$ac_status"); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -26362,17 +26360,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26365 "configure"
++#line 26363 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:26369: \"$ac_cpp "conftest.$ac_ext"\"") >&5
++if { (eval echo "$as_me:26367: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+ (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ $EGREP -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:26375: \$? = $ac_status" >&5
++ echo "$as_me:26373: \$? = $ac_status" >&5
+ (exit "$ac_status"); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -26409,7 +26407,7 @@
+ else
+ ac_cv_prog_CXXCPP=$CXXCPP
+ fi
+-echo "$as_me:26412: result: $CXXCPP" >&5
++echo "$as_me:26410: result: $CXXCPP" >&5
+ echo "${ECHO_T}$CXXCPP" >&6
+ ac_preproc_ok=false
+ for ac_cxx_preproc_warn_flag in '' yes
+@@ -26419,18 +26417,18 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26422 "configure"
++#line 26420 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:26427: \"$ac_cpp "conftest.$ac_ext"\"") >&5
++if { (eval echo "$as_me:26425: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+ (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ $EGREP -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:26433: \$? = $ac_status" >&5
++ echo "$as_me:26431: \$? = $ac_status" >&5
+ (exit "$ac_status"); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -26453,17 +26451,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26456 "configure"
++#line 26454 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:26460: \"$ac_cpp "conftest.$ac_ext"\"") >&5
++if { (eval echo "$as_me:26458: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+ (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ $EGREP -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:26466: \$? = $ac_status" >&5
++ echo "$as_me:26464: \$? = $ac_status" >&5
+ (exit "$ac_status"); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -26491,7 +26489,7 @@
+ if $ac_preproc_ok; then
+ :
+ else
+- { { echo "$as_me:26494: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5
++ { { echo "$as_me:26492: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5
+ echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -26503,26 +26501,26 @@
+ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ ac_main_return="return"
+
+-for ac_header in typeinfo
++for ac_header in new exception typeinfo
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:26509: checking for $ac_header" >&5
++echo "$as_me:26507: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26515 "configure"
++#line 26513 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:26519: \"$ac_cpp "conftest.$ac_ext"\"") >&5
++if { (eval echo "$as_me:26517: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+ (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ $EGREP -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:26525: \$? = $ac_status" >&5
++ echo "$as_me:26523: \$? = $ac_status" >&5
+ (exit "$ac_status"); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -26541,7 +26539,7 @@
+ fi
+ rm -f conftest.err "conftest.$ac_ext"
+ fi
+-echo "$as_me:26544: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
++echo "$as_me:26542: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
+ if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
+ cat >>confdefs.h <<EOF
+@@ -26554,23 +26552,23 @@
+ for ac_header in iostream
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:26557: checking for $ac_header" >&5
++echo "$as_me:26555: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26563 "configure"
++#line 26561 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:26567: \"$ac_cpp "conftest.$ac_ext"\"") >&5
++if { (eval echo "$as_me:26565: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+ (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ $EGREP -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:26573: \$? = $ac_status" >&5
++ echo "$as_me:26571: \$? = $ac_status" >&5
+ (exit "$ac_status"); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -26589,7 +26587,7 @@
+ fi
+ rm -f conftest.err "conftest.$ac_ext"
+ fi
+-echo "$as_me:26592: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
++echo "$as_me:26590: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
+ if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
+ cat >>confdefs.h <<EOF
+@@ -26600,10 +26598,10 @@
+ done
+
+ if test x"$ac_cv_header_iostream" = xyes ; then
+- echo "$as_me:26603: checking if iostream uses std-namespace" >&5
++ echo "$as_me:26601: checking if iostream uses std-namespace" >&5
+ echo $ECHO_N "checking if iostream uses std-namespace... $ECHO_C" >&6
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26606 "configure"
++#line 26604 "configure"
+ #include "confdefs.h"
+
+ #include <iostream>
+@@ -26620,16 +26618,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:26623: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:26621: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:26626: \$? = $ac_status" >&5
++ echo "$as_me:26624: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:26629: \"$ac_try\"") >&5
++ { (eval echo "$as_me:26627: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:26632: \$? = $ac_status" >&5
++ echo "$as_me:26630: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ cf_iostream_namespace=yes
+ else
+@@ -26638,7 +26636,7 @@
+ cf_iostream_namespace=no
+ fi
+ rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+- echo "$as_me:26641: result: $cf_iostream_namespace" >&5
++ echo "$as_me:26639: result: $cf_iostream_namespace" >&5
+ echo "${ECHO_T}$cf_iostream_namespace" >&6
+ if test "$cf_iostream_namespace" = yes ; then
+
+@@ -26649,7 +26647,7 @@
+ fi
+ fi
+
+-echo "$as_me:26652: checking if we should include stdbool.h" >&5
++echo "$as_me:26650: checking if we should include stdbool.h" >&5
+ echo $ECHO_N "checking if we should include stdbool.h... $ECHO_C" >&6
+
+ if test "${cf_cv_header_stdbool_h+set}" = set; then
+@@ -26657,9 +26655,13 @@
+ else
+
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26660 "configure"
++#line 26658 "configure"
+ #include "confdefs.h"
+
++#ifndef __BEOS__
++#include <stdbool.h>
++#endif
++
+ int
+ main (void)
+ {
+@@ -26669,29 +26671,25 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:26672: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:26674: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:26675: \$? = $ac_status" >&5
++ echo "$as_me:26677: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:26678: \"$ac_try\"") >&5
++ { (eval echo "$as_me:26680: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:26681: \$? = $ac_status" >&5
++ echo "$as_me:26683: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+- cf_cv_header_stdbool_h=0
++ cf_cv_header_stdbool_h=1
+ else
+ echo "$as_me: failed program was:" >&5
+ cat "conftest.$ac_ext" >&5
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26688 "configure"
++#line 26690 "configure"
+ #include "confdefs.h"
+
+-#ifndef __BEOS__
+-#include <stdbool.h>
+-#endif
+-
+ int
+ main (void)
+ {
+@@ -26701,22 +26699,21 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:26704: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:26702: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:26707: \$? = $ac_status" >&5
++ echo "$as_me:26705: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:26710: \"$ac_try\"") >&5
++ { (eval echo "$as_me:26708: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:26713: \$? = $ac_status" >&5
++ echo "$as_me:26711: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+- cf_cv_header_stdbool_h=1
++ cf_cv_header_stdbool_h=0
+ else
+ echo "$as_me: failed program was:" >&5
+ cat "conftest.$ac_ext" >&5
+-cf_cv_header_stdbool_h=0
+ fi
+ rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+ fi
+@@ -26724,13 +26721,13 @@
+ fi
+
+ if test "$cf_cv_header_stdbool_h" = 1
+-then echo "$as_me:26727: result: yes" >&5
++then echo "$as_me:26724: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+-else echo "$as_me:26729: result: no" >&5
++else echo "$as_me:26726: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+-echo "$as_me:26733: checking for builtin bool type" >&5
++echo "$as_me:26730: checking for builtin bool type" >&5
+ echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6
+
+ if test "${cf_cv_builtin_bool+set}" = set; then
+@@ -26738,7 +26735,7 @@
+ else
+
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26741 "configure"
++#line 26738 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -26753,16 +26750,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:26756: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:26753: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:26759: \$? = $ac_status" >&5
++ echo "$as_me:26756: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:26762: \"$ac_try\"") >&5
++ { (eval echo "$as_me:26759: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:26765: \$? = $ac_status" >&5
++ echo "$as_me:26762: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ cf_cv_builtin_bool=1
+ else
+@@ -26771,23 +26768,22 @@
+ cf_cv_builtin_bool=0
+ fi
+ rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+-
+ fi
+
+ if test "$cf_cv_builtin_bool" = 1
+-then echo "$as_me:26778: result: yes" >&5
++then echo "$as_me:26774: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+-else echo "$as_me:26780: result: no" >&5
++else echo "$as_me:26776: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+-echo "$as_me:26784: checking for bool" >&5
++echo "$as_me:26780: checking for bool" >&5
+ echo $ECHO_N "checking for bool... $ECHO_C" >&6
+ if test "${ac_cv_type_bool+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26790 "configure"
++#line 26786 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -26822,16 +26818,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:26825: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:26821: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:26828: \$? = $ac_status" >&5
++ echo "$as_me:26824: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:26831: \"$ac_try\"") >&5
++ { (eval echo "$as_me:26827: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:26834: \$? = $ac_status" >&5
++ echo "$as_me:26830: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_cv_type_bool=yes
+ else
+@@ -26841,10 +26837,10 @@
+ fi
+ rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+ fi
+-echo "$as_me:26844: result: $ac_cv_type_bool" >&5
++echo "$as_me:26840: result: $ac_cv_type_bool" >&5
+ echo "${ECHO_T}$ac_cv_type_bool" >&6
+
+-echo "$as_me:26847: checking size of bool" >&5
++echo "$as_me:26843: checking size of bool" >&5
+ echo $ECHO_N "checking size of bool... $ECHO_C" >&6
+ if test "${ac_cv_sizeof_bool+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -26853,7 +26849,7 @@
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26856 "configure"
++#line 26852 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -26885,21 +26881,21 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:26888: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:26884: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:26891: \$? = $ac_status" >&5
++ echo "$as_me:26887: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:26894: \"$ac_try\"") >&5
++ { (eval echo "$as_me:26890: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:26897: \$? = $ac_status" >&5
++ echo "$as_me:26893: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26902 "configure"
++#line 26898 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -26931,16 +26927,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:26934: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:26930: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:26937: \$? = $ac_status" >&5
++ echo "$as_me:26933: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:26940: \"$ac_try\"") >&5
++ { (eval echo "$as_me:26936: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:26943: \$? = $ac_status" >&5
++ echo "$as_me:26939: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_hi=$ac_mid; break
+ else
+@@ -26956,7 +26952,7 @@
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 26959 "configure"
++#line 26955 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -26988,16 +26984,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:26991: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:26987: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:26994: \$? = $ac_status" >&5
++ echo "$as_me:26990: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:26997: \"$ac_try\"") >&5
++ { (eval echo "$as_me:26993: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:27000: \$? = $ac_status" >&5
++ echo "$as_me:26996: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_lo=$ac_mid; break
+ else
+@@ -27013,7 +27009,7 @@
+ while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' "$ac_hi" - "$ac_lo" ')' / 2 + "$ac_lo"`
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 27016 "configure"
++#line 27012 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -27045,16 +27041,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:27048: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:27044: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:27051: \$? = $ac_status" >&5
++ echo "$as_me:27047: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:27054: \"$ac_try\"") >&5
++ { (eval echo "$as_me:27050: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:27057: \$? = $ac_status" >&5
++ echo "$as_me:27053: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_hi=$ac_mid
+ else
+@@ -27067,12 +27063,12 @@
+ ac_cv_sizeof_bool=$ac_lo
+ else
+ if test "$cross_compiling" = yes; then
+- { { echo "$as_me:27070: error: cannot run test program while cross compiling" >&5
++ { { echo "$as_me:27066: error: cannot run test program while cross compiling" >&5
+ echo "$as_me: error: cannot run test program while cross compiling" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 27075 "configure"
++#line 27071 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -27108,15 +27104,15 @@
+ }
+ _ACEOF
+ rm -f "conftest$ac_exeext"
+-if { (eval echo "$as_me:27111: \"$ac_link\"") >&5
++if { (eval echo "$as_me:27107: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:27114: \$? = $ac_status" >&5
++ echo "$as_me:27110: \$? = $ac_status" >&5
+ (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
+- { (eval echo "$as_me:27116: \"$ac_try\"") >&5
++ { (eval echo "$as_me:27112: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:27119: \$? = $ac_status" >&5
++ echo "$as_me:27115: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_cv_sizeof_bool=`cat conftest.val`
+ else
+@@ -27132,13 +27128,13 @@
+ ac_cv_sizeof_bool=0
+ fi
+ fi
+-echo "$as_me:27135: result: $ac_cv_sizeof_bool" >&5
++echo "$as_me:27131: result: $ac_cv_sizeof_bool" >&5
+ echo "${ECHO_T}$ac_cv_sizeof_bool" >&6
+ cat >>confdefs.h <<EOF
+ #define SIZEOF_BOOL $ac_cv_sizeof_bool
+ EOF
+
+-echo "$as_me:27141: checking for type of bool" >&5
++echo "$as_me:27137: checking for type of bool" >&5
+ echo $ECHO_N "checking for type of bool... $ECHO_C" >&6
+ if test "${cf_cv_type_of_bool+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -27157,7 +27153,7 @@
+
+ else
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 27160 "configure"
++#line 27156 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -27198,15 +27194,15 @@
+
+ _ACEOF
+ rm -f "conftest$ac_exeext"
+-if { (eval echo "$as_me:27201: \"$ac_link\"") >&5
++if { (eval echo "$as_me:27197: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:27204: \$? = $ac_status" >&5
++ echo "$as_me:27200: \$? = $ac_status" >&5
+ (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
+- { (eval echo "$as_me:27206: \"$ac_try\"") >&5
++ { (eval echo "$as_me:27202: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:27209: \$? = $ac_status" >&5
++ echo "$as_me:27205: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ cf_cv_type_of_bool=`cat cf_test.out`
+ if test -z "$cf_cv_type_of_bool"; then
+@@ -27223,19 +27219,19 @@
+ rm -f cf_test.out
+
+ fi
+-echo "$as_me:27226: result: $cf_cv_type_of_bool" >&5
++echo "$as_me:27222: result: $cf_cv_type_of_bool" >&5
+ echo "${ECHO_T}$cf_cv_type_of_bool" >&6
+
+ if test "$cf_cv_type_of_bool" = unknown ; then
+ case .$NCURSES_BOOL in
+ (.auto|.) NCURSES_BOOL=unsigned;;
+ esac
+- { echo "$as_me:27233: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
++ { echo "$as_me:27229: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
+ echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;}
+ cf_cv_type_of_bool=$NCURSES_BOOL
+ fi
+
+-echo "$as_me:27238: checking for special defines needed for etip.h" >&5
++echo "$as_me:27234: checking for special defines needed for etip.h" >&5
+ echo $ECHO_N "checking for special defines needed for etip.h... $ECHO_C" >&6
+ cf_save_CXXFLAGS="$CXXFLAGS"
+ cf_result="none"
+@@ -27253,7 +27249,7 @@
+ test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
+ test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 27256 "configure"
++#line 27252 "configure"
+ #include "confdefs.h"
+
+ #include <etip.h.in>
+@@ -27267,16 +27263,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:27270: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:27266: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:27273: \$? = $ac_status" >&5
++ echo "$as_me:27269: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:27276: \"$ac_try\"") >&5
++ { (eval echo "$as_me:27272: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:27279: \$? = $ac_status" >&5
++ echo "$as_me:27275: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+
+ test -n "$cf_math" && cat >>confdefs.h <<EOF
+@@ -27297,12 +27293,12 @@
+ rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+ done
+ done
+-echo "$as_me:27300: result: ${cf_result:-(none)}" >&5
++echo "$as_me:27296: result: ${cf_result:-(none)}" >&5
+ echo "${ECHO_T}${cf_result:-(none)}" >&6
+ CXXFLAGS="$cf_save_CXXFLAGS"
+
+ if test -n "$CXX"; then
+-echo "$as_me:27305: checking if $CXX accepts override keyword" >&5
++echo "$as_me:27301: checking if $CXX accepts override keyword" >&5
+ echo $ECHO_N "checking if $CXX accepts override keyword... $ECHO_C" >&6
+ if test "${cf_cv_cpp_override+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -27319,7 +27315,7 @@
+ cf_cv_cpp_override=unknown
+ else
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 27322 "configure"
++#line 27318 "configure"
+ #include "confdefs.h"
+
+ class base
+@@ -27338,15 +27334,15 @@
+
+ _ACEOF
+ rm -f "conftest$ac_exeext"
+-if { (eval echo "$as_me:27341: \"$ac_link\"") >&5
++if { (eval echo "$as_me:27337: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:27344: \$? = $ac_status" >&5
++ echo "$as_me:27340: \$? = $ac_status" >&5
+ (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
+- { (eval echo "$as_me:27346: \"$ac_try\"") >&5
++ { (eval echo "$as_me:27342: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:27349: \$? = $ac_status" >&5
++ echo "$as_me:27345: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ cf_cv_cpp_override=yes
+ else
+@@ -27365,7 +27361,7 @@
+ ac_main_return="return"
+
+ fi
+-echo "$as_me:27368: result: $cf_cv_cpp_override" >&5
++echo "$as_me:27364: result: $cf_cv_cpp_override" >&5
+ echo "${ECHO_T}$cf_cv_cpp_override" >&6
+ fi
+ test "$cf_cv_cpp_override" = yes &&
+@@ -27374,7 +27370,7 @@
+ EOF
+
+ if test -n "$CXX"; then
+-echo "$as_me:27377: checking if $CXX accepts parameter initialization" >&5
++echo "$as_me:27373: checking if $CXX accepts parameter initialization" >&5
+ echo $ECHO_N "checking if $CXX accepts parameter initialization... $ECHO_C" >&6
+ if test "${cf_cv_cpp_param_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -27391,7 +27387,7 @@
+ cf_cv_cpp_param_init=unknown
+ else
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 27394 "configure"
++#line 27390 "configure"
+ #include "confdefs.h"
+
+ class TEST {
+@@ -27410,15 +27406,15 @@
+
+ _ACEOF
+ rm -f "conftest$ac_exeext"
+-if { (eval echo "$as_me:27413: \"$ac_link\"") >&5
++if { (eval echo "$as_me:27409: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:27416: \$? = $ac_status" >&5
++ echo "$as_me:27412: \$? = $ac_status" >&5
+ (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
+- { (eval echo "$as_me:27418: \"$ac_try\"") >&5
++ { (eval echo "$as_me:27414: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:27421: \$? = $ac_status" >&5
++ echo "$as_me:27417: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ cf_cv_cpp_param_init=yes
+ else
+@@ -27437,7 +27433,7 @@
+ ac_main_return="return"
+
+ fi
+-echo "$as_me:27440: result: $cf_cv_cpp_param_init" >&5
++echo "$as_me:27436: result: $cf_cv_cpp_param_init" >&5
+ echo "${ECHO_T}$cf_cv_cpp_param_init" >&6
+ fi
+ test "$cf_cv_cpp_param_init" = yes &&
+@@ -27447,7 +27443,7 @@
+
+ if test -n "$CXX"; then
+
+-echo "$as_me:27450: checking if $CXX accepts static_cast" >&5
++echo "$as_me:27446: checking if $CXX accepts static_cast" >&5
+ echo $ECHO_N "checking if $CXX accepts static_cast... $ECHO_C" >&6
+ if test "${cf_cv_cpp_static_cast+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -27461,7 +27457,7 @@
+ ac_main_return="return"
+
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 27464 "configure"
++#line 27460 "configure"
+ #include "confdefs.h"
+
+ class NCursesPanel
+@@ -27505,16 +27501,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:27508: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:27504: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:27511: \$? = $ac_status" >&5
++ echo "$as_me:27507: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:27514: \"$ac_try\"") >&5
++ { (eval echo "$as_me:27510: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:27517: \$? = $ac_status" >&5
++ echo "$as_me:27513: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ cf_cv_cpp_static_cast=yes
+ else
+@@ -27532,7 +27528,7 @@
+ ac_main_return="return"
+
+ fi
+-echo "$as_me:27535: result: $cf_cv_cpp_static_cast" >&5
++echo "$as_me:27531: result: $cf_cv_cpp_static_cast" >&5
+ echo "${ECHO_T}$cf_cv_cpp_static_cast" >&6
+
+ fi
+@@ -27580,13 +27576,13 @@
+ cf_cv_header_stdbool_h=0
+ else
+
+-echo "$as_me:27583: checking for bool" >&5
++echo "$as_me:27579: checking for bool" >&5
+ echo $ECHO_N "checking for bool... $ECHO_C" >&6
+ if test "${ac_cv_type_bool+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 27589 "configure"
++#line 27585 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -27621,16 +27617,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:27624: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:27620: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:27627: \$? = $ac_status" >&5
++ echo "$as_me:27623: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:27630: \"$ac_try\"") >&5
++ { (eval echo "$as_me:27626: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:27633: \$? = $ac_status" >&5
++ echo "$as_me:27629: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_cv_type_bool=yes
+ else
+@@ -27640,10 +27636,10 @@
+ fi
+ rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+ fi
+-echo "$as_me:27643: result: $ac_cv_type_bool" >&5
++echo "$as_me:27639: result: $ac_cv_type_bool" >&5
+ echo "${ECHO_T}$ac_cv_type_bool" >&6
+
+-echo "$as_me:27646: checking size of bool" >&5
++echo "$as_me:27642: checking size of bool" >&5
+ echo $ECHO_N "checking size of bool... $ECHO_C" >&6
+ if test "${ac_cv_sizeof_bool+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -27652,7 +27648,7 @@
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 27655 "configure"
++#line 27651 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -27684,21 +27680,21 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:27687: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:27683: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:27690: \$? = $ac_status" >&5
++ echo "$as_me:27686: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:27693: \"$ac_try\"") >&5
++ { (eval echo "$as_me:27689: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:27696: \$? = $ac_status" >&5
++ echo "$as_me:27692: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 27701 "configure"
++#line 27697 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -27730,16 +27726,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:27733: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:27729: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:27736: \$? = $ac_status" >&5
++ echo "$as_me:27732: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:27739: \"$ac_try\"") >&5
++ { (eval echo "$as_me:27735: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:27742: \$? = $ac_status" >&5
++ echo "$as_me:27738: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_hi=$ac_mid; break
+ else
+@@ -27755,7 +27751,7 @@
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 27758 "configure"
++#line 27754 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -27787,16 +27783,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:27790: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:27786: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:27793: \$? = $ac_status" >&5
++ echo "$as_me:27789: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:27796: \"$ac_try\"") >&5
++ { (eval echo "$as_me:27792: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:27799: \$? = $ac_status" >&5
++ echo "$as_me:27795: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_lo=$ac_mid; break
+ else
+@@ -27812,7 +27808,7 @@
+ while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' "$ac_hi" - "$ac_lo" ')' / 2 + "$ac_lo"`
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 27815 "configure"
++#line 27811 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -27844,16 +27840,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:27847: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:27843: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:27850: \$? = $ac_status" >&5
++ echo "$as_me:27846: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:27853: \"$ac_try\"") >&5
++ { (eval echo "$as_me:27849: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:27856: \$? = $ac_status" >&5
++ echo "$as_me:27852: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_hi=$ac_mid
+ else
+@@ -27866,12 +27862,12 @@
+ ac_cv_sizeof_bool=$ac_lo
+ else
+ if test "$cross_compiling" = yes; then
+- { { echo "$as_me:27869: error: cannot run test program while cross compiling" >&5
++ { { echo "$as_me:27865: error: cannot run test program while cross compiling" >&5
+ echo "$as_me: error: cannot run test program while cross compiling" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 27874 "configure"
++#line 27870 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -27907,15 +27903,15 @@
+ }
+ _ACEOF
+ rm -f "conftest$ac_exeext"
+-if { (eval echo "$as_me:27910: \"$ac_link\"") >&5
++if { (eval echo "$as_me:27906: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:27913: \$? = $ac_status" >&5
++ echo "$as_me:27909: \$? = $ac_status" >&5
+ (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
+- { (eval echo "$as_me:27915: \"$ac_try\"") >&5
++ { (eval echo "$as_me:27911: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:27918: \$? = $ac_status" >&5
++ echo "$as_me:27914: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_cv_sizeof_bool=`cat conftest.val`
+ else
+@@ -27931,13 +27927,13 @@
+ ac_cv_sizeof_bool=0
+ fi
+ fi
+-echo "$as_me:27934: result: $ac_cv_sizeof_bool" >&5
++echo "$as_me:27930: result: $ac_cv_sizeof_bool" >&5
+ echo "${ECHO_T}$ac_cv_sizeof_bool" >&6
+ cat >>confdefs.h <<EOF
+ #define SIZEOF_BOOL $ac_cv_sizeof_bool
+ EOF
+
+-echo "$as_me:27940: checking for type of bool" >&5
++echo "$as_me:27936: checking for type of bool" >&5
+ echo $ECHO_N "checking for type of bool... $ECHO_C" >&6
+ if test "${cf_cv_type_of_bool+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -27956,7 +27952,7 @@
+
+ else
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 27959 "configure"
++#line 27955 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -27997,15 +27993,15 @@
+
+ _ACEOF
+ rm -f "conftest$ac_exeext"
+-if { (eval echo "$as_me:28000: \"$ac_link\"") >&5
++if { (eval echo "$as_me:27996: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:28003: \$? = $ac_status" >&5
++ echo "$as_me:27999: \$? = $ac_status" >&5
+ (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
+- { (eval echo "$as_me:28005: \"$ac_try\"") >&5
++ { (eval echo "$as_me:28001: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:28008: \$? = $ac_status" >&5
++ echo "$as_me:28004: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ cf_cv_type_of_bool=`cat cf_test.out`
+ if test -z "$cf_cv_type_of_bool"; then
+@@ -28022,14 +28018,14 @@
+ rm -f cf_test.out
+
+ fi
+-echo "$as_me:28025: result: $cf_cv_type_of_bool" >&5
++echo "$as_me:28021: result: $cf_cv_type_of_bool" >&5
+ echo "${ECHO_T}$cf_cv_type_of_bool" >&6
+
+ if test "$cf_cv_type_of_bool" = unknown ; then
+ case .$NCURSES_BOOL in
+ (.auto|.) NCURSES_BOOL=unsigned;;
+ esac
+- { echo "$as_me:28032: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
++ { echo "$as_me:28028: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
+ echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;}
+ cf_cv_type_of_bool=$NCURSES_BOOL
+ fi
+@@ -28060,7 +28056,7 @@
+
+ if test "$cf_with_ada" != "no" ; then
+ if test "$with_libtool" != "no"; then
+- { echo "$as_me:28063: WARNING: libtool does not support Ada - disabling feature" >&5
++ { echo "$as_me:28059: WARNING: libtool does not support Ada - disabling feature" >&5
+ echo "$as_me: WARNING: libtool does not support Ada - disabling feature" >&2;}
+ cf_with_ada=no
+ fi
+@@ -28071,7 +28067,7 @@
+
+ ADAFLAGS="$ADAFLAGS -gnatpn"
+
+- echo "$as_me:28074: checking optimization options for ADAFLAGS" >&5
++ echo "$as_me:28070: checking optimization options for ADAFLAGS" >&5
+ echo $ECHO_N "checking optimization options for ADAFLAGS... $ECHO_C" >&6
+ case "$CFLAGS" in
+ (*-g*)
+@@ -28088,10 +28084,10 @@
+
+ ;;
+ esac
+- echo "$as_me:28091: result: $ADAFLAGS" >&5
++ echo "$as_me:28087: result: $ADAFLAGS" >&5
+ echo "${ECHO_T}$ADAFLAGS" >&6
+
+-echo "$as_me:28094: checking if GNATPREP supports -T option" >&5
++echo "$as_me:28090: checking if GNATPREP supports -T option" >&5
+ echo $ECHO_N "checking if GNATPREP supports -T option... $ECHO_C" >&6
+ if test "${cf_cv_gnatprep_opt_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -28101,11 +28097,11 @@
+ gnatprep -T 2>/dev/null >/dev/null && cf_cv_gnatprep_opt_t=yes
+
+ fi
+-echo "$as_me:28104: result: $cf_cv_gnatprep_opt_t" >&5
++echo "$as_me:28100: result: $cf_cv_gnatprep_opt_t" >&5
+ echo "${ECHO_T}$cf_cv_gnatprep_opt_t" >&6
+ test "$cf_cv_gnatprep_opt_t" = yes && GNATPREP_OPTS="-T $GNATPREP_OPTS"
+
+-echo "$as_me:28108: checking if GNAT supports generics" >&5
++echo "$as_me:28104: checking if GNAT supports generics" >&5
+ echo $ECHO_N "checking if GNAT supports generics... $ECHO_C" >&6
+ case "$cf_cv_gnat_version" in
+ (3.1[1-9]*|3.[2-9]*|[4-9].*|[1-9][0-9].[0-9]*|20[0-9][0-9])
+@@ -28115,7 +28111,7 @@
+ cf_gnat_generics=no
+ ;;
+ esac
+-echo "$as_me:28118: result: $cf_gnat_generics" >&5
++echo "$as_me:28114: result: $cf_gnat_generics" >&5
+ echo "${ECHO_T}$cf_gnat_generics" >&6
+
+ if test "$cf_gnat_generics" = yes
+@@ -28127,7 +28123,7 @@
+ cf_generic_objects=
+ fi
+
+-echo "$as_me:28130: checking if GNAT supports SIGINT" >&5
++echo "$as_me:28126: checking if GNAT supports SIGINT" >&5
+ echo $ECHO_N "checking if GNAT supports SIGINT... $ECHO_C" >&6
+ if test "${cf_cv_gnat_sigint+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -28175,7 +28171,7 @@
+ rm -rf ./conftest* ./*~conftest*
+
+ fi
+-echo "$as_me:28178: result: $cf_cv_gnat_sigint" >&5
++echo "$as_me:28174: result: $cf_cv_gnat_sigint" >&5
+ echo "${ECHO_T}$cf_cv_gnat_sigint" >&6
+
+ if test "$cf_cv_gnat_sigint" = yes ; then
+@@ -28188,7 +28184,7 @@
+ cf_gnat_projects=no
+
+ if test "$enable_gnat_projects" != no ; then
+-echo "$as_me:28191: checking if GNAT supports project files" >&5
++echo "$as_me:28187: checking if GNAT supports project files" >&5
+ echo $ECHO_N "checking if GNAT supports project files... $ECHO_C" >&6
+ case "$cf_cv_gnat_version" in
+ (3.[0-9]*)
+@@ -28251,15 +28247,15 @@
+ esac
+ ;;
+ esac
+-echo "$as_me:28254: result: $cf_gnat_projects" >&5
++echo "$as_me:28250: result: $cf_gnat_projects" >&5
+ echo "${ECHO_T}$cf_gnat_projects" >&6
+ fi # enable_gnat_projects
+
+ if test "$cf_gnat_projects" = yes
+ then
+- echo "$as_me:28260: checking if GNAT supports libraries" >&5
++ echo "$as_me:28256: checking if GNAT supports libraries" >&5
+ echo $ECHO_N "checking if GNAT supports libraries... $ECHO_C" >&6
+- echo "$as_me:28262: result: $cf_gnat_libraries" >&5
++ echo "$as_me:28258: result: $cf_gnat_libraries" >&5
+ echo "${ECHO_T}$cf_gnat_libraries" >&6
+ fi
+
+@@ -28279,7 +28275,7 @@
+ then
+ USE_GNAT_MAKE_GPR=""
+ else
+- { echo "$as_me:28282: WARNING: use old makefile rules since tools are missing" >&5
++ { echo "$as_me:28278: WARNING: use old makefile rules since tools are missing" >&5
+ echo "$as_me: WARNING: use old makefile rules since tools are missing" >&2;}
+ fi
+ fi
+@@ -28291,7 +28287,7 @@
+ USE_GNAT_LIBRARIES="#"
+ fi
+
+-echo "$as_me:28294: checking for Ada95 compiler" >&5
++echo "$as_me:28290: checking for Ada95 compiler" >&5
+ echo $ECHO_N "checking for Ada95 compiler... $ECHO_C" >&6
+
+ # Check whether --with-ada-compiler or --without-ada-compiler was given.
+@@ -28302,12 +28298,12 @@
+ cf_ada_compiler=gnatmake
+ fi;
+
+-echo "$as_me:28305: result: $cf_ada_compiler" >&5
++echo "$as_me:28301: result: $cf_ada_compiler" >&5
+ echo "${ECHO_T}$cf_ada_compiler" >&6
+
+ cf_ada_package=terminal_interface
+
+-echo "$as_me:28310: checking for Ada95 include directory" >&5
++echo "$as_me:28306: checking for Ada95 include directory" >&5
+ echo $ECHO_N "checking for Ada95 include directory... $ECHO_C" >&6
+
+ # Check whether --with-ada-include or --without-ada-include was given.
+@@ -28341,7 +28337,7 @@
+ withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ (*)
+- { { echo "$as_me:28344: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:28340: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -28350,10 +28346,10 @@
+ fi
+ eval ADA_INCLUDE="$withval"
+
+-echo "$as_me:28353: result: $ADA_INCLUDE" >&5
++echo "$as_me:28349: result: $ADA_INCLUDE" >&5
+ echo "${ECHO_T}$ADA_INCLUDE" >&6
+
+-echo "$as_me:28356: checking for Ada95 object directory" >&5
++echo "$as_me:28352: checking for Ada95 object directory" >&5
+ echo $ECHO_N "checking for Ada95 object directory... $ECHO_C" >&6
+
+ # Check whether --with-ada-objects or --without-ada-objects was given.
+@@ -28387,7 +28383,7 @@
+ withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ (*)
+- { { echo "$as_me:28390: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:28386: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -28396,10 +28392,10 @@
+ fi
+ eval ADA_OBJECTS="$withval"
+
+-echo "$as_me:28399: result: $ADA_OBJECTS" >&5
++echo "$as_me:28395: result: $ADA_OBJECTS" >&5
+ echo "${ECHO_T}$ADA_OBJECTS" >&6
+
+-echo "$as_me:28402: checking whether to build an Ada95 shared library" >&5
++echo "$as_me:28398: checking whether to build an Ada95 shared library" >&5
+ echo $ECHO_N "checking whether to build an Ada95 shared library... $ECHO_C" >&6
+
+ # Check whether --with-ada-sharedlib or --without-ada-sharedlib was given.
+@@ -28420,11 +28416,11 @@
+ fi
+ fi
+
+-echo "$as_me:28423: result: $with_ada_sharedlib" >&5
++echo "$as_me:28419: result: $with_ada_sharedlib" >&5
+ echo "${ECHO_T}$with_ada_sharedlib" >&6
+ if test "x$cf_ada_sharedlib_warn" != xno
+ then
+- { echo "$as_me:28427: WARNING: disabling Ada95 shared library since GNAT projects are not supported" >&5
++ { echo "$as_me:28423: WARNING: disabling Ada95 shared library since GNAT projects are not supported" >&5
+ echo "$as_me: WARNING: disabling Ada95 shared library since GNAT projects are not supported" >&2;}
+ fi
+
+@@ -28442,7 +28438,7 @@
+
+ # allow the Ada binding to be renamed
+
+-echo "$as_me:28445: checking for Ada95 curses library name" >&5
++echo "$as_me:28441: checking for Ada95 curses library name" >&5
+ echo $ECHO_N "checking for Ada95 curses library name... $ECHO_C" >&6
+
+ # Check whether --with-ada-libname or --without-ada-libname was given.
+@@ -28458,7 +28454,7 @@
+ ;;
+ esac
+
+-echo "$as_me:28461: result: $ADA_LIBNAME" >&5
++echo "$as_me:28457: result: $ADA_LIBNAME" >&5
+ echo "${ECHO_T}$ADA_LIBNAME" >&6
+
+ fi
+@@ -28469,13 +28465,13 @@
+
+ # do this "late" to avoid conflict with header-checks
+ if test "x$with_widec" = xyes ; then
+- echo "$as_me:28472: checking for wchar_t" >&5
++ echo "$as_me:28468: checking for wchar_t" >&5
+ echo $ECHO_N "checking for wchar_t... $ECHO_C" >&6
+ if test "${ac_cv_type_wchar_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 28478 "configure"
++#line 28474 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -28490,16 +28486,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:28493: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:28489: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:28496: \$? = $ac_status" >&5
++ echo "$as_me:28492: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:28499: \"$ac_try\"") >&5
++ { (eval echo "$as_me:28495: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:28502: \$? = $ac_status" >&5
++ echo "$as_me:28498: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_cv_type_wchar_t=yes
+ else
+@@ -28509,10 +28505,10 @@
+ fi
+ rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+ fi
+-echo "$as_me:28512: result: $ac_cv_type_wchar_t" >&5
++echo "$as_me:28508: result: $ac_cv_type_wchar_t" >&5
+ echo "${ECHO_T}$ac_cv_type_wchar_t" >&6
+
+-echo "$as_me:28515: checking size of wchar_t" >&5
++echo "$as_me:28511: checking size of wchar_t" >&5
+ echo $ECHO_N "checking size of wchar_t... $ECHO_C" >&6
+ if test "${ac_cv_sizeof_wchar_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -28521,7 +28517,7 @@
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 28524 "configure"
++#line 28520 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -28533,21 +28529,21 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:28536: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:28532: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:28539: \$? = $ac_status" >&5
++ echo "$as_me:28535: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:28542: \"$ac_try\"") >&5
++ { (eval echo "$as_me:28538: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:28545: \$? = $ac_status" >&5
++ echo "$as_me:28541: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 28550 "configure"
++#line 28546 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -28559,16 +28555,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:28562: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:28558: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:28565: \$? = $ac_status" >&5
++ echo "$as_me:28561: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:28568: \"$ac_try\"") >&5
++ { (eval echo "$as_me:28564: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:28571: \$? = $ac_status" >&5
++ echo "$as_me:28567: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_hi=$ac_mid; break
+ else
+@@ -28584,7 +28580,7 @@
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 28587 "configure"
++#line 28583 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -28596,16 +28592,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:28599: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:28595: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:28602: \$? = $ac_status" >&5
++ echo "$as_me:28598: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:28605: \"$ac_try\"") >&5
++ { (eval echo "$as_me:28601: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:28608: \$? = $ac_status" >&5
++ echo "$as_me:28604: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_lo=$ac_mid; break
+ else
+@@ -28621,7 +28617,7 @@
+ while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' "$ac_hi" - "$ac_lo" ')' / 2 + "$ac_lo"`
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 28624 "configure"
++#line 28620 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -28633,16 +28629,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext"
+-if { (eval echo "$as_me:28636: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:28632: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:28639: \$? = $ac_status" >&5
++ echo "$as_me:28635: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest.$ac_objext"'
+- { (eval echo "$as_me:28642: \"$ac_try\"") >&5
++ { (eval echo "$as_me:28638: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:28645: \$? = $ac_status" >&5
++ echo "$as_me:28641: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_hi=$ac_mid
+ else
+@@ -28655,12 +28651,12 @@
+ ac_cv_sizeof_wchar_t=$ac_lo
+ else
+ if test "$cross_compiling" = yes; then
+- { { echo "$as_me:28658: error: cannot run test program while cross compiling" >&5
++ { { echo "$as_me:28654: error: cannot run test program while cross compiling" >&5
+ echo "$as_me: error: cannot run test program while cross compiling" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 28663 "configure"
++#line 28659 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -28676,15 +28672,15 @@
+ }
+ _ACEOF
+ rm -f "conftest$ac_exeext"
+-if { (eval echo "$as_me:28679: \"$ac_link\"") >&5
++if { (eval echo "$as_me:28675: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:28682: \$? = $ac_status" >&5
++ echo "$as_me:28678: \$? = $ac_status" >&5
+ (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
+- { (eval echo "$as_me:28684: \"$ac_try\"") >&5
++ { (eval echo "$as_me:28680: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:28687: \$? = $ac_status" >&5
++ echo "$as_me:28683: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+ ac_cv_sizeof_wchar_t=`cat conftest.val`
+ else
+@@ -28700,7 +28696,7 @@
+ ac_cv_sizeof_wchar_t=0
+ fi
+ fi
+-echo "$as_me:28703: result: $ac_cv_sizeof_wchar_t" >&5
++echo "$as_me:28699: result: $ac_cv_sizeof_wchar_t" >&5
+ echo "${ECHO_T}$ac_cv_sizeof_wchar_t" >&6
+ cat >>confdefs.h <<EOF
+ #define SIZEOF_WCHAR_T $ac_cv_sizeof_wchar_t
+@@ -28713,7 +28709,7 @@
+ then
+ test -n "$verbose" && echo " test failed (assume 2)" 1>&6
+
+-echo "${as_me:-configure}:28716: testing test failed (assume 2) ..." 1>&5
++echo "${as_me:-configure}:28712: testing test failed (assume 2) ..." 1>&5
+
+ sed /SIZEOF_WCHAR_T/d confdefs.h >confdefs.tmp
+ mv confdefs.tmp confdefs.h
+@@ -28731,7 +28727,7 @@
+ ### chooses to split module lists into libraries.
+ ###
+ ### (see CF_LIB_RULES).
+-echo "$as_me:28734: checking for library subsets" >&5
++echo "$as_me:28730: checking for library subsets" >&5
+ echo $ECHO_N "checking for library subsets... $ECHO_C" >&6
+ LIB_SUBSETS=
+
+@@ -28785,7 +28781,7 @@
+ test "x$with_widec" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
+ test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
+
+-echo "$as_me:28788: result: $LIB_SUBSETS" >&5
++echo "$as_me:28784: result: $LIB_SUBSETS" >&5
+ echo "${ECHO_T}$LIB_SUBSETS" >&6
+
+ ### Construct the list of include-directories to be generated
+@@ -28816,7 +28812,7 @@
+ fi
+
+ ### Build up pieces for makefile rules
+-echo "$as_me:28819: checking default library suffix" >&5
++echo "$as_me:28815: checking default library suffix" >&5
+ echo $ECHO_N "checking default library suffix... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in
+@@ -28827,10 +28823,10 @@
+ (shared) DFT_ARG_SUFFIX='' ;;
+ esac
+ test -n "$LIB_SUFFIX" && DFT_ARG_SUFFIX="${LIB_SUFFIX}${DFT_ARG_SUFFIX}"
+-echo "$as_me:28830: result: $DFT_ARG_SUFFIX" >&5
++echo "$as_me:28826: result: $DFT_ARG_SUFFIX" >&5
+ echo "${ECHO_T}$DFT_ARG_SUFFIX" >&6
+
+-echo "$as_me:28833: checking default library-dependency suffix" >&5
++echo "$as_me:28829: checking default library-dependency suffix" >&5
+ echo $ECHO_N "checking default library-dependency suffix... $ECHO_C" >&6
+
+ case X$DFT_LWR_MODEL in
+@@ -28913,10 +28909,10 @@
+ DFT_LIB_SUFFIX="${LIB_SUFFIX}${EXTRA_SUFFIX}${DFT_LIB_SUFFIX}"
+ DFT_DEP_SUFFIX="${LIB_SUFFIX}${EXTRA_SUFFIX}${DFT_DEP_SUFFIX}"
+ fi
+-echo "$as_me:28916: result: $DFT_DEP_SUFFIX" >&5
++echo "$as_me:28912: result: $DFT_DEP_SUFFIX" >&5
+ echo "${ECHO_T}$DFT_DEP_SUFFIX" >&6
+
+-echo "$as_me:28919: checking default object directory" >&5
++echo "$as_me:28915: checking default object directory" >&5
+ echo $ECHO_N "checking default object directory... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in
+@@ -28932,11 +28928,11 @@
+ DFT_OBJ_SUBDIR='obj_s' ;;
+ esac
+ esac
+-echo "$as_me:28935: result: $DFT_OBJ_SUBDIR" >&5
++echo "$as_me:28931: result: $DFT_OBJ_SUBDIR" >&5
+ echo "${ECHO_T}$DFT_OBJ_SUBDIR" >&6
+
+ if test "x$cf_with_cxx" = xyes ; then
+-echo "$as_me:28939: checking c++ library-dependency suffix" >&5
++echo "$as_me:28935: checking c++ library-dependency suffix" >&5
+ echo $ECHO_N "checking c++ library-dependency suffix... $ECHO_C" >&6
+ if test "$with_libtool" != "no"; then
+ # libtool thinks it can make c++ shared libraries (perhaps only g++)
+@@ -29029,7 +29025,7 @@
+ fi
+
+ fi
+-echo "$as_me:29032: result: $CXX_LIB_SUFFIX" >&5
++echo "$as_me:29028: result: $CXX_LIB_SUFFIX" >&5
+ echo "${ECHO_T}$CXX_LIB_SUFFIX" >&6
+
+ fi
+@@ -29205,19 +29201,19 @@
+
+ if test -n "$LDFLAGS_STATIC" && test -n "$LDFLAGS_SHARED"
+ then
+- echo "$as_me:29208: checking if linker supports switching between static/dynamic" >&5
++ echo "$as_me:29204: checking if linker supports switching between static/dynamic" >&5
+ echo $ECHO_N "checking if linker supports switching between static/dynamic... $ECHO_C" >&6
+
+ rm -f libconftest.a
+ cat >conftest.$ac_ext <<EOF
+-#line 29213 "configure"
++#line 29209 "configure"
+ #include <stdio.h>
+ int cf_ldflags_static(FILE *fp) { return fflush(fp); }
+ EOF
+- if { (eval echo "$as_me:29217: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:29213: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:29220: \$? = $ac_status" >&5
++ echo "$as_me:29216: \$? = $ac_status" >&5
+ (exit "$ac_status"); } ; then
+ ( $AR $ARFLAGS libconftest.a conftest.o ) 2>&5 1>/dev/null
+ ( eval $RANLIB libconftest.a ) 2>&5 >/dev/null
+@@ -29228,10 +29224,10 @@
+
+ LIBS="$LDFLAGS_STATIC -L`pwd` -lconftest $LDFLAGS_DYNAMIC $LIBS"
+ cat >"conftest.$ac_ext" <<_ACEOF
+-#line 29231 "configure"
++#line 29227 "configure"
+ #include "confdefs.h"
+
+-#line 29234 "configure"
++#line 29230 "configure"
+ #include <stdio.h>
+ int cf_ldflags_static(FILE *fp);
+
+@@ -29246,16 +29242,16 @@
+ }
+ _ACEOF
+ rm -f "conftest.$ac_objext" "conftest$ac_exeext"
+-if { (eval echo "$as_me:29249: \"$ac_link\"") >&5
++if { (eval echo "$as_me:29245: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:29252: \$? = $ac_status" >&5
++ echo "$as_me:29248: \$? = $ac_status" >&5
+ (exit "$ac_status"); } &&
+ { ac_try='test -s "conftest$ac_exeext"'
+- { (eval echo "$as_me:29255: \"$ac_try\"") >&5
++ { (eval echo "$as_me:29251: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:29258: \$? = $ac_status" >&5
++ echo "$as_me:29254: \$? = $ac_status" >&5
+ (exit "$ac_status"); }; }; then
+
+ # some linkers simply ignore the -dynamic
+@@ -29278,7 +29274,7 @@
+ rm -f libconftest.*
+ LIBS="$cf_save_LIBS"
+
+- echo "$as_me:29281: result: $cf_ldflags_static" >&5
++ echo "$as_me:29277: result: $cf_ldflags_static" >&5
+ echo "${ECHO_T}$cf_ldflags_static" >&6
+
+ if test "$cf_ldflags_static" != yes
+@@ -29294,7 +29290,7 @@
+ ;;
+ esac
+
+-echo "$as_me:29297: checking where we will install curses.h" >&5
++echo "$as_me:29293: checking where we will install curses.h" >&5
+ echo $ECHO_N "checking where we will install curses.h... $ECHO_C" >&6
+
+ includesubdir=
+@@ -29304,7 +29300,7 @@
+ then
+ includesubdir="/ncurses${USE_LIB_SUFFIX}"
+ fi
+-echo "$as_me:29307: result: ${includedir}${includesubdir}" >&5
++echo "$as_me:29303: result: ${includedir}${includesubdir}" >&5
+ echo "${ECHO_T}${includedir}${includesubdir}" >&6
+
+ ### Resolve a conflict between normal and wide-curses by forcing applications
+@@ -29312,7 +29308,7 @@
+ if test "$with_overwrite" != no ; then
+ if test "$NCURSES_LIBUTF8" = 1 ; then
+ NCURSES_LIBUTF8='defined(HAVE_LIBUTF8_H)'
+- { echo "$as_me:29315: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&5
++ { echo "$as_me:29311: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&5
+ echo "$as_me: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&2;}
+ fi
+ fi
+@@ -29337,7 +29333,7 @@
+
+ # pkgsrc uses these
+
+-echo "$as_me:29340: checking for desired basename for form library" >&5
++echo "$as_me:29336: checking for desired basename for form library" >&5
+ echo $ECHO_N "checking for desired basename for form library... $ECHO_C" >&6
+
+ # Check whether --with-form-libname or --without-form-libname was given.
+@@ -29357,10 +29353,10 @@
+ ;;
+ esac
+
+-echo "$as_me:29360: result: $FORM_NAME" >&5
++echo "$as_me:29356: result: $FORM_NAME" >&5
+ echo "${ECHO_T}$FORM_NAME" >&6
+
+-echo "$as_me:29363: checking for desired basename for menu library" >&5
++echo "$as_me:29359: checking for desired basename for menu library" >&5
+ echo $ECHO_N "checking for desired basename for menu library... $ECHO_C" >&6
+
+ # Check whether --with-menu-libname or --without-menu-libname was given.
+@@ -29380,10 +29376,10 @@
+ ;;
+ esac
+
+-echo "$as_me:29383: result: $MENU_NAME" >&5
++echo "$as_me:29379: result: $MENU_NAME" >&5
+ echo "${ECHO_T}$MENU_NAME" >&6
+
+-echo "$as_me:29386: checking for desired basename for panel library" >&5
++echo "$as_me:29382: checking for desired basename for panel library" >&5
+ echo $ECHO_N "checking for desired basename for panel library... $ECHO_C" >&6
+
+ # Check whether --with-panel-libname or --without-panel-libname was given.
+@@ -29403,10 +29399,10 @@
+ ;;
+ esac
+
+-echo "$as_me:29406: result: $PANEL_NAME" >&5
++echo "$as_me:29402: result: $PANEL_NAME" >&5
+ echo "${ECHO_T}$PANEL_NAME" >&6
+
+-echo "$as_me:29409: checking for desired basename for cxx library" >&5
++echo "$as_me:29405: checking for desired basename for cxx library" >&5
+ echo $ECHO_N "checking for desired basename for cxx library... $ECHO_C" >&6
+
+ # Check whether --with-cxx-libname or --without-cxx-libname was given.
+@@ -29426,13 +29422,13 @@
+ ;;
+ esac
+
+-echo "$as_me:29429: result: $CXX_NAME" >&5
++echo "$as_me:29425: result: $CXX_NAME" >&5
+ echo "${ECHO_T}$CXX_NAME" >&6
+
+ ### Construct the list of subdirectories for which we'll customize makefiles
+ ### with the appropriate compile-rules.
+
+-echo "$as_me:29435: checking for src modules" >&5
++echo "$as_me:29431: checking for src modules" >&5
+ echo $ECHO_N "checking for src modules... $ECHO_C" >&6
+
+ # dependencies and linker-arguments for test-programs
+@@ -29491,7 +29487,7 @@
+ fi
+ fi
+ done
+-echo "$as_me:29494: result: $cf_cv_src_modules" >&5
++echo "$as_me:29490: result: $cf_cv_src_modules" >&5
+ echo "${ECHO_T}$cf_cv_src_modules" >&6
+
+ TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
+@@ -29652,7 +29648,7 @@
+ (*-D_XOPEN_SOURCE_EXTENDED*)
+ test -n "$verbose" && echo " moving _XOPEN_SOURCE_EXTENDED to work around g++ problem" 1>&6
+
+-echo "${as_me:-configure}:29655: testing moving _XOPEN_SOURCE_EXTENDED to work around g++ problem ..." 1>&5
++echo "${as_me:-configure}:29651: testing moving _XOPEN_SOURCE_EXTENDED to work around g++ problem ..." 1>&5
+
+ CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED"
+ CPPFLAGS=`echo "x$CPPFLAGS" | sed -e 's/^.//' -e 's/-D_XOPEN_SOURCE_EXTENDED//'`
+@@ -29663,7 +29659,7 @@
+
+ # Help to automatically enable the extended curses features when using either
+ # the *-config or the ".pc" files by adding defines.
+-echo "$as_me:29666: checking for defines to add to ncurses${USE_CFG_SUFFIX}${cf_config_suffix}-config script" >&5
++echo "$as_me:29662: checking for defines to add to ncurses${USE_CFG_SUFFIX}${cf_config_suffix}-config script" >&5
+ echo $ECHO_N "checking for defines to add to ncurses${USE_CFG_SUFFIX}${cf_config_suffix}-config script... $ECHO_C" >&6
+ PKG_CFLAGS=
+ for cf_loop1 in $CPPFLAGS_after_XOPEN
+@@ -29679,7 +29675,7 @@
+ done
+ test "$cf_found" = no && PKG_CFLAGS="$PKG_CFLAGS $cf_loop1"
+ done
+-echo "$as_me:29682: result: $PKG_CFLAGS" >&5
++echo "$as_me:29678: result: $PKG_CFLAGS" >&5
+ echo "${ECHO_T}$PKG_CFLAGS" >&6
+
+ case "$cf_cv_system_name" in
+@@ -29751,7 +29747,7 @@
+ cf_filter_syms=$cf_dft_filter_syms
+ test -n "$verbose" && echo " will map symbols to ABI=$cf_cv_abi_default" 1>&6
+
+-echo "${as_me:-configure}:29754: testing will map symbols to ABI=$cf_cv_abi_default ..." 1>&5
++echo "${as_me:-configure}:29750: testing will map symbols to ABI=$cf_cv_abi_default ..." 1>&5
+
+ fi
+
+@@ -29778,7 +29774,7 @@
+
+ # This is used for the *-config script and *.pc data files.
+
+-echo "$as_me:29781: checking for linker search path" >&5
++echo "$as_me:29777: checking for linker search path" >&5
+ echo $ECHO_N "checking for linker search path... $ECHO_C" >&6
+ if test "${cf_cv_ld_searchpath+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -29826,7 +29822,7 @@
+ cf_pathlist="$cf_pathlist /lib /usr/lib"
+ ;;
+ (*)
+- { echo "$as_me:29829: WARNING: problem with Solaris architecture" >&5
++ { echo "$as_me:29825: WARNING: problem with Solaris architecture" >&5
+ echo "$as_me: WARNING: problem with Solaris architecture" >&2;}
+ ;;
+ esac
+@@ -29867,7 +29863,7 @@
+ test -z "$cf_cv_ld_searchpath" && cf_cv_ld_searchpath=/usr/lib
+
+ fi
+-echo "$as_me:29870: result: $cf_cv_ld_searchpath" >&5
++echo "$as_me:29866: result: $cf_cv_ld_searchpath" >&5
+ echo "${ECHO_T}$cf_cv_ld_searchpath" >&6
+
+ LD_SEARCHPATH=`echo "$cf_cv_ld_searchpath"|sed -e 's/ /|/g'`
+@@ -29953,7 +29949,7 @@
+ : "${CONFIG_STATUS=./config.status}"
+ ac_clean_files_save=$ac_clean_files
+ ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+-{ echo "$as_me:29956: creating $CONFIG_STATUS" >&5
++{ echo "$as_me:29952: creating $CONFIG_STATUS" >&5
+ echo "$as_me: creating $CONFIG_STATUS" >&6;}
+ cat >"$CONFIG_STATUS" <<_ACEOF
+ #! $SHELL
+@@ -30134,7 +30130,7 @@
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+- { { echo "$as_me:30137: error: ambiguous option: $1
++ { { echo "$as_me:30133: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -30153,7 +30149,7 @@
+ ac_need_defaults=false;;
+
+ # This is an error.
+- -*) { { echo "$as_me:30156: error: unrecognized option: $1
++ -*) { { echo "$as_me:30152: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -30285,7 +30281,7 @@
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+ "include/ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/ncurses_cfg.h:include/ncurses_cfg.hin" ;;
+- *) { { echo "$as_me:30288: error: invalid argument: $ac_config_target" >&5
++ *) { { echo "$as_me:30284: error: invalid argument: $ac_config_target" >&5
+ echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+@@ -30813,7 +30809,7 @@
+ esac
+
+ if test x"$ac_file" != x-; then
+- { echo "$as_me:30816: creating $ac_file" >&5
++ { echo "$as_me:30812: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+@@ -30831,7 +30827,7 @@
+ -) echo "$tmp"/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:30834: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:30830: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo "$f";;
+@@ -30844,7 +30840,7 @@
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+- { { echo "$as_me:30847: error: cannot find input file: $f" >&5
++ { { echo "$as_me:30843: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+@@ -30860,7 +30856,7 @@
+ if test -n "$ac_seen"; then
+ ac_used=`grep '@datarootdir@' "$ac_item"`
+ if test -z "$ac_used"; then
+- { echo "$as_me:30863: WARNING: datarootdir was used implicitly but not set:
++ { echo "$as_me:30859: WARNING: datarootdir was used implicitly but not set:
+ $ac_seen" >&5
+ echo "$as_me: WARNING: datarootdir was used implicitly but not set:
+ $ac_seen" >&2;}
+@@ -30869,7 +30865,7 @@
+ fi
+ ac_seen=`grep '${datarootdir}' "$ac_item"`
+ if test -n "$ac_seen"; then
+- { echo "$as_me:30872: WARNING: datarootdir was used explicitly but not set:
++ { echo "$as_me:30868: WARNING: datarootdir was used explicitly but not set:
+ $ac_seen" >&5
+ echo "$as_me: WARNING: datarootdir was used explicitly but not set:
+ $ac_seen" >&2;}
+@@ -30914,7 +30910,7 @@
+ ac_init=`$EGREP '[ ]*'$ac_name'[ ]*=' "$ac_file"`
+ if test -z "$ac_init"; then
+ ac_seen=`echo "$ac_seen" |sed -e 's,^,'"$ac_file"':,'`
+- { echo "$as_me:30917: WARNING: Variable $ac_name is used but was not set:
++ { echo "$as_me:30913: WARNING: Variable $ac_name is used but was not set:
+ $ac_seen" >&5
+ echo "$as_me: WARNING: Variable $ac_name is used but was not set:
+ $ac_seen" >&2;}
+@@ -30925,7 +30921,7 @@
+ $EGREP -n '@[A-Z_][A-Z_0-9]+@' "$ac_file" >>"$tmp"/out
+ if test -s "$tmp"/out; then
+ ac_seen=`sed -e 's,^,'"$ac_file"':,' < "$tmp"/out`
+- { echo "$as_me:30928: WARNING: Some variables may not be substituted:
++ { echo "$as_me:30924: WARNING: Some variables may not be substituted:
+ $ac_seen" >&5
+ echo "$as_me: WARNING: Some variables may not be substituted:
+ $ac_seen" >&2;}
+@@ -30974,7 +30970,7 @@
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+- test x"$ac_file" != x- && { echo "$as_me:30977: creating $ac_file" >&5
++ test x"$ac_file" != x- && { echo "$as_me:30973: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+@@ -30985,7 +30981,7 @@
+ -) echo "$tmp"/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:30988: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:30984: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+@@ -30998,7 +30994,7 @@
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+- { { echo "$as_me:31001: error: cannot find input file: $f" >&5
++ { { echo "$as_me:30997: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+@@ -31056,7 +31052,7 @@
+ rm -f "$tmp"/in
+ if test x"$ac_file" != x-; then
+ if cmp -s "$ac_file" "$tmp/config.h" 2>/dev/null; then
+- { echo "$as_me:31059: $ac_file is unchanged" >&5
++ { echo "$as_me:31055: $ac_file is unchanged" >&5
+ echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+@@ -31443,7 +31439,7 @@
+ (cygdll|msysdll|mingw|msvcdll)
+ test "x$with_shared_cxx" = xno && test -n "$verbose" && echo " overriding CXX_MODEL to SHARED" 1>&6
+
+-echo "${as_me:-configure}:31446: testing overriding CXX_MODEL to SHARED ..." 1>&5
++echo "${as_me:-configure}:31442: testing overriding CXX_MODEL to SHARED ..." 1>&5
+
+ with_shared_cxx=yes
+ ;;
+Index: configure.in
+Prereq: 1.790
+--- ncurses-6.5-20250125+/configure.in 2025-01-18 11:20:02.000000000 +0000
++++ ncurses-6.5-20250201/configure.in 2025-02-02 00:16:32.000000000 +0000
+@@ -29,7 +29,7 @@
+ dnl
+ dnl Author: Thomas E. Dickey 1995-on
+ dnl
+-dnl $Id: configure.in,v 1.790 2025/01/18 11:20:02 tom Exp $
++dnl $Id: configure.in,v 1.791 2025/02/02 00:16:32 tom Exp $
+ dnl Process this file with autoconf to produce a configure script.
+ dnl
+ dnl For additional information, see
+@@ -38,7 +38,7 @@
+ dnl
+ dnl ---------------------------------------------------------------------------
+ AC_PREREQ(2.52.20210101)
+-AC_REVISION($Revision: 1.790 $)
++AC_REVISION($Revision: 1.791 $)
+ AC_INIT(ncurses/base/lib_initscr.c)
+ AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
+
+@@ -1921,7 +1921,7 @@
+ ;;
+ esac
+
+- AC_CHECK_HEADERS(typeinfo)
++ AC_CHECK_HEADERS(new exception typeinfo)
+ CF_CXX_IOSTREAM_NAMESPACE
+ CF_BOOL_DECL
+ CF_BOOL_SIZE
+Index: dist.mk
+Prereq: 1.1652
+--- ncurses-6.5-20250125+/dist.mk 2025-01-25 10:34:16.000000000 +0000
++++ ncurses-6.5-20250201/dist.mk 2025-02-01 10:35:49.000000000 +0000
+@@ -26,7 +26,7 @@
+ # use or other dealings in this Software without prior written #
+ # authorization. #
+ ##############################################################################
+-# $Id: dist.mk,v 1.1652 2025/01/25 10:34:16 tom Exp $
++# $Id: dist.mk,v 1.1653 2025/02/01 10:35:49 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 = 20250125
++NCURSES_PATCH = 20250201
+
+ # We don't append the patch to the version, since this only applies to releases
+ VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
+Index: doc/html/ada/funcs/T.htm
+--- ncurses-6.5-20250125+/doc/html/ada/funcs/T.htm 2023-10-21 17:10:27.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/ada/funcs/T.htm 2025-02-02 00:44:01.000000000 +0000
+@@ -20,8 +20,8 @@
+ <li><a href="../terminal_interface-curses-termcap__adb.htm#ref_90_16" target="main">tgetnum</a>
+ <li><a href="../terminal_interface-curses-termcap__adb.htm#ref_109_16" target="main">tgetstr - terminal_interface-curses-termcap.adb:109</a>
+ <li><a href="../terminal_interface-curses-termcap__adb.htm#ref_130_16" target="main">tgetstr - terminal_interface-curses-termcap.adb:130</a>
+-<li><a href="../terminal_interface-curses-termcap__ads.htm#ref_54_13" target="main">TGoto</a>
+ <li><a href="../terminal_interface-curses-termcap__adb.htm#ref_152_16" target="main">tgoto</a>
++<li><a href="../terminal_interface-curses-termcap__ads.htm#ref_54_13" target="main">TGoto</a>
+ <li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_70_16" target="main">tigetflag</a>
+ <li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_88_16" target="main">tigetstr - terminal_interface-curses-terminfo.adb:88</a>
+ <li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_109_16" target="main">tigetstr - terminal_interface-curses-terminfo.adb:109</a>
+Index: doc/html/ada/terminal_interface-curses-forms__adb.htm
+--- ncurses-6.5-20250125+/doc/html/ada/terminal_interface-curses-forms__adb.htm 2022-01-15 20:50:51.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/ada/terminal_interface-curses-forms__adb.htm 2025-02-02 00:44:01.000000000 +0000
+@@ -24,7 +24,7 @@
+ <span class="comment"><em>-- B O D Y --</em></span>
+ <span class="comment"><em>-- --</em></span>
+ <span class="comment"><em>------------------------------------------------------------------------------</em></span>
+-<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span>
++<span class="comment"><em>-- Copyright 2020,2025 Thomas E. Dickey --</em></span>
+ <span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span>
+ <span class="comment"><em>-- --</em></span>
+ <span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span>
+@@ -53,8 +53,8 @@
+ <span class="comment"><em>------------------------------------------------------------------------------</em></span>
+ <span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span>
+ <span class="comment"><em>-- Version Control:</em></span>
+-<span class="comment"><em>-- @Revision: 1.33 @</em></span>
+-<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span>
++<span class="comment"><em>-- @Revision: 1.34 @</em></span>
++<span class="comment"><em>-- @Date: 2025/01/24 20:39:23 @</em></span>
+ <span class="comment"><em>-- Binding Version 01.00</em></span>
+ <span class="comment"><em>------------------------------------------------------------------------------</em></span>
+ <b>with</b> Ada.Unchecked_Deallocation;
+@@ -1023,7 +1023,7 @@
+ (Field_Array, <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>);
+ <b>begin</b>
+ <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms__ads.htm#ref_139_20">Free_Fields</a> <b>then</b>
+- <b>for</b> <span class="symbol"><a name="ref_1009_14">I</a></span> <b>in</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>'First .. (<a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>'Last - 1) <b>loop</b>
++ <b>for</b> <span class="symbol"><a name="ref_1009_14">I</a></span> <b>in</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>'First .. <a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>'Last - 1 <b>loop</b>
+ <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>.<b>all</b> (<a href="terminal_interface-curses-forms__adb.htm#ref_1009_14">I</a>) /= <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b>
+ <a href="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>.<b>all</b> (<a href="terminal_interface-curses-forms__adb.htm#ref_1009_14">I</a>));
+ <b>end</b> <b>if</b>;
+Index: doc/html/ada/terminal_interface-curses-menus__adb.htm
+--- ncurses-6.5-20250125+/doc/html/ada/terminal_interface-curses-menus__adb.htm 2022-01-15 20:50:51.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/ada/terminal_interface-curses-menus__adb.htm 2025-02-02 00:44:01.000000000 +0000
+@@ -24,7 +24,7 @@
+ <span class="comment"><em>-- B O D Y --</em></span>
+ <span class="comment"><em>-- --</em></span>
+ <span class="comment"><em>------------------------------------------------------------------------------</em></span>
+-<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey --</em></span>
++<span class="comment"><em>-- Copyright 2018-2020,2025 Thomas E. Dickey --</em></span>
+ <span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span>
+ <span class="comment"><em>-- --</em></span>
+ <span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span>
+@@ -53,8 +53,8 @@
+ <span class="comment"><em>------------------------------------------------------------------------------</em></span>
+ <span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span>
+ <span class="comment"><em>-- Version Control:</em></span>
+-<span class="comment"><em>-- @Revision: 1.34 @</em></span>
+-<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span>
++<span class="comment"><em>-- @Revision: 1.35 @</em></span>
++<span class="comment"><em>-- @Date: 2025/01/24 20:39:23 @</em></span>
+ <span class="comment"><em>-- Binding Version 01.00</em></span>
+ <span class="comment"><em>------------------------------------------------------------------------------</em></span>
+ <b>with</b> Ada.Unchecked_Deallocation;
+@@ -895,7 +895,7 @@
+ (Item_Array, <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>);
+ <b>begin</b>
+ <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-menus__ads.htm#ref_180_20">Free_Items</a> <b>then</b>
+- <b>for</b> <span class="symbol"><a name="ref_881_14">I</a></span> <b>in</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>'First .. (<a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>'Last - 1) <b>loop</b>
++ <b>for</b> <span class="symbol"><a name="ref_881_14">I</a></span> <b>in</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>'First .. <a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>'Last - 1 <b>loop</b>
+ <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>.<b>all</b> (<a href="terminal_interface-curses-menus__adb.htm#ref_881_14">I</a>) /= <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b>
+ <a href="terminal_interface-curses-menus__ads.htm#ref_202_14">Delete</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>.<b>all</b> (<a href="terminal_interface-curses-menus__adb.htm#ref_881_14">I</a>));
+ <b>end</b> <b>if</b>;
+Index: doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm
+--- ncurses-6.5-20250125+/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm 2022-01-15 20:50:51.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm 2025-02-02 00:44:01.000000000 +0000
+@@ -24,7 +24,7 @@
+ <span class="comment"><em>-- B O D Y --</em></span>
+ <span class="comment"><em>-- --</em></span>
+ <span class="comment"><em>------------------------------------------------------------------------------</em></span>
+-<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span>
++<span class="comment"><em>-- Copyright 2020,2025 Thomas E. Dickey --</em></span>
+ <span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span>
+ <span class="comment"><em>-- --</em></span>
+ <span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span>
+@@ -53,7 +53,7 @@
+ <span class="comment"><em>------------------------------------------------------------------------------</em></span>
+ <span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span>
+ <span class="comment"><em>-- Version Control:</em></span>
+-<span class="comment"><em>-- @Revision: 1.13 @</em></span>
++<span class="comment"><em>-- @Revision: 1.14 @</em></span>
+ <span class="comment"><em>-- Binding Version 01.00</em></span>
+ <span class="comment"><em>------------------------------------------------------------------------------</em></span>
+ <b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
+Index: doc/html/man/curs_add_wch.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_add_wch.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_add_wch.3x.html 2025-02-02 00:43:56.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.88 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_add_wch.3x,v 1.102 2025/02/01 23:54:03 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_add_wch 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_add_wch 3x 2025-02-01 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 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_add_wch 3x 2025-02-01 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>
+
+@@ -58,11 +58,71 @@
+ <STRONG>int</STRONG> <STRONG>add_wch(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wadd_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>mvadd_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>mvwadd_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>mvwadd_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>echo_wchar(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wecho_wchar(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+
++ <EM>/*</EM> <EM>(integer)</EM> <EM>constants</EM> <EM>*/</EM>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_BLOCK;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_BOARD;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_BTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_BULLET;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_CKBOARD;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_DARROW;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_DEGREE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_DIAMOND;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_HLINE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_LANTERN;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_LARROW;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_LLCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_LRCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_LTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_PLMINUS;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_PLUS;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_RARROW;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_RTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_S1;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_S9;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_TTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_UARROW;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_ULCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_URCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_VLINE;</STRONG>
++ <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_GEQUAL;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_LEQUAL;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_NEQUAL;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_PI;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_S3;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_S7;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_STERLING;</STRONG>
++ <EM>/*</EM> <EM>extensions</EM> <EM>for</EM> <EM>thick</EM> <EM>lines</EM> <EM>*/</EM>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_T_BTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_T_HLINE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_T_LLCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_T_LRCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_T_LTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_T_PLUS;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_T_RTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_T_TTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_T_ULCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_T_URCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_T_VLINE;</STRONG>
++ <EM>/*</EM> <EM>extensions</EM> <EM>for</EM> <EM>double</EM> <EM>lines</EM> <EM>*/</EM>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_D_BTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_D_HLINE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_D_LLCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_D_LRCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_D_LTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_D_PLUS;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_D_RTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_D_TTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_D_ULCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_D_URCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>WACS_D_VLINE;</STRONG>
++
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+@@ -154,74 +214,74 @@
+ <STRONG>Unicode</STRONG> <STRONG>ACS</STRONG> <STRONG>acsc</STRONG>
+ <STRONG>Symbol</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
+ ------------------------------------------------------------------------
+- <STRONG>WACS_BLOCK</STRONG> 0x25ae # 0 solid square block
+- <STRONG>WACS_BOARD</STRONG> 0x2592 # h board of squares
+- <STRONG>WACS_BTEE</STRONG> 0x2534 + v bottom tee
+- <STRONG>WACS_BULLET</STRONG> 0x00b7 o ~ bullet
+- <STRONG>WACS_CKBOARD</STRONG> 0x2592 : a checker board (stipple)
+- <STRONG>WACS_DARROW</STRONG> 0x2193 v . arrow pointing down
+- <STRONG>WACS_DEGREE</STRONG> 0x00b0 ' f degree symbol
+- <STRONG>WACS_DIAMOND</STRONG> 0x25c6 + ` diamond
+- <STRONG>WACS_GEQUAL</STRONG> 0x2265 &gt; &gt; greater-than-or-equal-to
+- <STRONG>WACS_HLINE</STRONG> 0x2500 - q horizontal line
+- <STRONG>WACS_LANTERN</STRONG> 0x2603 # i lantern symbol
+- <STRONG>WACS_LARROW</STRONG> 0x2190 &lt; , arrow pointing left
+- <STRONG>WACS_LEQUAL</STRONG> 0x2264 &lt; y less-than-or-equal-to
+- <STRONG>WACS_LLCORNER</STRONG> 0x2514 + m lower left-hand corner
+- <STRONG>WACS_LRCORNER</STRONG> 0x2518 + j lower right-hand corner
+- <STRONG>WACS_LTEE</STRONG> 0x2524 + t left tee
+- <STRONG>WACS_NEQUAL</STRONG> 0x2260 ! | not-equal
+- <STRONG>WACS_PI</STRONG> 0x03c0 * { greek pi
+- <STRONG>WACS_PLMINUS</STRONG> 0x00b1 # g plus/minus
+- <STRONG>WACS_PLUS</STRONG> 0x253c + n plus
+- <STRONG>WACS_RARROW</STRONG> 0x2192 &gt; + arrow pointing right
+- <STRONG>WACS_RTEE</STRONG> 0x251c + u right tee
+- <STRONG>WACS_S1</STRONG> 0x23ba - o scan line 1
+- <STRONG>WACS_S3</STRONG> 0x23bb - p scan line 3
+- <STRONG>WACS_S7</STRONG> 0x23bc - r scan line 7
+- <STRONG>WACS_S9</STRONG> 0x23bd _ s scan line 9
+- <STRONG>WACS_STERLING</STRONG> 0x00a3 f } pound-sterling symbol
+-
+- <STRONG>WACS_TTEE</STRONG> 0x252c + w top tee
+- <STRONG>WACS_UARROW</STRONG> 0x2191 ^ - arrow pointing up
+- <STRONG>WACS_ULCORNER</STRONG> 0x250c + l upper left-hand corner
+- <STRONG>WACS_URCORNER</STRONG> 0x2510 + k upper right-hand corner
+- <STRONG>WACS_VLINE</STRONG> 0x2502 | x vertical line
++ <STRONG>WACS_BLOCK</STRONG> U+25ae # 0 solid square block
++ <STRONG>WACS_BOARD</STRONG> U+2592 # h board of squares
++ <STRONG>WACS_BTEE</STRONG> U+2534 + v bottom tee
++ <STRONG>WACS_BULLET</STRONG> U+00b7 o ~ bullet
++ <STRONG>WACS_CKBOARD</STRONG> U+2592 : a checker board (stipple)
++ <STRONG>WACS_DARROW</STRONG> U+2193 v . arrow pointing down
++ <STRONG>WACS_DEGREE</STRONG> U+00b0 ' f degree symbol
++ <STRONG>WACS_DIAMOND</STRONG> U+25c6 + ` diamond
++ <STRONG>WACS_GEQUAL</STRONG> U+2265 &gt; &gt; greater-than-or-equal-to
++ <STRONG>WACS_HLINE</STRONG> U+2500 - q horizontal line
++ <STRONG>WACS_LANTERN</STRONG> U+2603 # i lantern symbol
++ <STRONG>WACS_LARROW</STRONG> U+2190 &lt; , arrow pointing left
++ <STRONG>WACS_LEQUAL</STRONG> U+2264 &lt; y less-than-or-equal-to
++ <STRONG>WACS_LLCORNER</STRONG> U+2514 + m lower left-hand corner
++ <STRONG>WACS_LRCORNER</STRONG> U+2518 + j lower right-hand corner
++ <STRONG>WACS_LTEE</STRONG> U+2524 + t left tee
++ <STRONG>WACS_NEQUAL</STRONG> U+2260 ! | not-equal
++ <STRONG>WACS_PI</STRONG> U+03c0 * { greek pi
++ <STRONG>WACS_PLMINUS</STRONG> U+00b1 # g plus/minus
++ <STRONG>WACS_PLUS</STRONG> U+253c + n plus
++ <STRONG>WACS_RARROW</STRONG> U+2192 &gt; + arrow pointing right
++ <STRONG>WACS_RTEE</STRONG> U+251c + u right tee
++ <STRONG>WACS_S1</STRONG> U+23ba - o scan line 1
++ <STRONG>WACS_S3</STRONG> U+23bb - p scan line 3
++ <STRONG>WACS_S7</STRONG> U+23bc - r scan line 7
++ <STRONG>WACS_S9</STRONG> U+23bd _ s scan line 9
++ <STRONG>WACS_STERLING</STRONG> U+00a3 f } pound-sterling symbol
++ <STRONG>WACS_TTEE</STRONG> U+252c + w top tee
++ <STRONG>WACS_UARROW</STRONG> U+2191 ^ - arrow pointing up
++ <STRONG>WACS_ULCORNER</STRONG> U+250c + l upper left-hand corner
++ <STRONG>WACS_URCORNER</STRONG> U+2510 + k upper right-hand corner
++
++ <STRONG>WACS_VLINE</STRONG> U+2502 | x vertical line
+
+- The wide-character configuration of <EM>ncurses</EM> also defines symbols for
+- thick lines (<STRONG>acsc</STRONG> "J" to "V"):
++ The <EM>ncurses</EM> wide API also defines symbols for thick lines (<STRONG>acsc</STRONG> "J"
++ through "N", "T" through "X", and "Q"):
+
+ <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG>
+ <STRONG>ACS</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
+ ------------------------------------------------------------------------
+- <STRONG>WACS_T_BTEE</STRONG> 0x253b + V thick tee pointing up
+- <STRONG>WACS_T_HLINE</STRONG> 0x2501 - Q thick horizontal line
+- <STRONG>WACS_T_LLCORNER</STRONG> 0x2517 + M thick lower left corner
+- <STRONG>WACS_T_LRCORNER</STRONG> 0x251b + J thick lower right corner
+- <STRONG>WACS_T_LTEE</STRONG> 0x252b + T thick tee pointing right
+- <STRONG>WACS_T_PLUS</STRONG> 0x254b + N thick large plus
+- <STRONG>WACS_T_RTEE</STRONG> 0x2523 + U thick tee pointing left
+- <STRONG>WACS_T_TTEE</STRONG> 0x2533 + W thick tee pointing down
+- <STRONG>WACS_T_ULCORNER</STRONG> 0x250f + L thick upper left corner
+- <STRONG>WACS_T_URCORNER</STRONG> 0x2513 + K thick upper right corner
+- <STRONG>WACS_T_VLINE</STRONG> 0x2503 | X thick vertical line
++ <STRONG>WACS_T_BTEE</STRONG> U+253b + V thick tee pointing up
++ <STRONG>WACS_T_HLINE</STRONG> U+2501 - Q thick horizontal line
++ <STRONG>WACS_T_LLCORNER</STRONG> U+2517 + M thick lower left corner
++ <STRONG>WACS_T_LRCORNER</STRONG> U+251b + J thick lower right corner
++ <STRONG>WACS_T_LTEE</STRONG> U+252b + T thick tee pointing right
++ <STRONG>WACS_T_PLUS</STRONG> U+254b + N thick large plus
++ <STRONG>WACS_T_RTEE</STRONG> U+2523 + U thick tee pointing left
++ <STRONG>WACS_T_TTEE</STRONG> U+2533 + W thick tee pointing down
++ <STRONG>WACS_T_ULCORNER</STRONG> U+250f + L thick upper left corner
++ <STRONG>WACS_T_URCORNER</STRONG> U+2513 + K thick upper right corner
++ <STRONG>WACS_T_VLINE</STRONG> U+2503 | X thick vertical line
+
+- and for double-lines (<STRONG>acsc</STRONG> "A" to "I"):
++ and for double lines (<STRONG>acsc</STRONG> "A" through "I", plus "R" and "Y"):
+
+ <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG>
+ <STRONG>ACS</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
+ ------------------------------------------------------------------------
+- <STRONG>WACS_D_BTEE</STRONG> 0x2569 + H double tee pointing up
+- <STRONG>WACS_D_HLINE</STRONG> 0x2550 - R double horizontal line
+- <STRONG>WACS_D_LLCORNER</STRONG> 0x255a + D double lower left corner
+- <STRONG>WACS_D_LRCORNER</STRONG> 0x255d + A double lower right corner
+- <STRONG>WACS_D_LTEE</STRONG> 0x2560 + F double tee pointing right
+- <STRONG>WACS_D_PLUS</STRONG> 0x256c + E double large plus
+- <STRONG>WACS_D_RTEE</STRONG> 0x2563 + G double tee pointing left
+- <STRONG>WACS_D_TTEE</STRONG> 0x2566 + I double tee pointing down
+- <STRONG>WACS_D_ULCORNER</STRONG> 0x2554 + C double upper left corner
+- <STRONG>WACS_D_URCORNER</STRONG> 0x2557 + B double upper right corner
+- <STRONG>WACS_D_VLINE</STRONG> 0x2551 | Y double vertical line
++ <STRONG>WACS_D_BTEE</STRONG> U+2569 + H double tee pointing up
++ <STRONG>WACS_D_HLINE</STRONG> U+2550 - R double horizontal line
++ <STRONG>WACS_D_LLCORNER</STRONG> U+255a + D double lower left corner
++ <STRONG>WACS_D_LRCORNER</STRONG> U+255d + A double lower right corner
++ <STRONG>WACS_D_LTEE</STRONG> U+2560 + F double tee pointing right
++ <STRONG>WACS_D_PLUS</STRONG> U+256c + E double large plus
++ <STRONG>WACS_D_RTEE</STRONG> U+2563 + G double tee pointing left
++ <STRONG>WACS_D_TTEE</STRONG> U+2566 + I double tee pointing down
++ <STRONG>WACS_D_ULCORNER</STRONG> U+2554 + C double upper left corner
++ <STRONG>WACS_D_URCORNER</STRONG> U+2557 + B double upper right corner
++ <STRONG>WACS_D_VLINE</STRONG> U+2551 | Y double vertical line
+
+ Unicode's descriptions for these characters differs slightly from
+ <EM>ncurses</EM>, by introducing the term "light" (along with less important
+@@ -242,84 +302,91 @@
+
+ <STRONG>o</STRONG> the <EM>curses</EM> screen has not been initialized,
+
+- <STRONG>o</STRONG> <EM>win</EM> is <EM>NULL</EM>,
++ <STRONG>o</STRONG> (for functions taking a <EM>WINDOW</EM> pointer argument) <EM>win</EM> is a null
++ pointer,
+
+- <STRONG>o</STRONG> wrapping to a new line is impossible because <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> has not
+- been called on <EM>win</EM> when writing to its bottom right location is
+- attempted, or
++ <STRONG>o</STRONG> wrapping to a new line is impossible because <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> has not
++ been called on <EM>win</EM> (or <STRONG>stdscr</STRONG>, as applicable) when writing to its
++ bottom right location is attempted, or
+
+- <STRONG>o</STRONG> it is not possible to add a complete character at the cursor
++ <STRONG>o</STRONG> it is not possible to add a complete character at the cursor
+ position.
+
+- Functions prefixed with "mv" first perform cursor movement and fail if
++ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+- <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, and <STRONG>echo_wchar</STRONG> may be implemented as
++ <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, and <STRONG>echo_wchar</STRONG> may be implemented as
+ macros.
+
+
+ </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+-
+-</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
+- The <STRONG>TABSIZE</STRONG> variable is implemented in SVr4 and other versions of
+- <EM>curses</EM>, but is not specified by X/Open Curses (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>).
++ The symbols (<EM>WACS</EM><STRONG>_</STRONG><EM>S3</EM>, <EM>WACS</EM><STRONG>_</STRONG><EM>S7</EM>, <EM>WACS</EM><STRONG>_</STRONG><EM>LEQUAL</EM>, <EM>WACS</EM><STRONG>_</STRONG><EM>GEQUAL</EM>, <EM>WACS</EM><STRONG>_</STRONG><EM>PI</EM>,
++ <EM>WACS</EM><STRONG>_</STRONG><EM>NEQUAL</EM>, and <EM>WACS</EM><STRONG>_</STRONG><EM>STERLING</EM>) are not standard. However, many
++ publicly available <EM>terminfo</EM> entries include <EM>acs</EM><STRONG>_</STRONG><EM>chars</EM> (<STRONG>acsc</STRONG>)
++ capabilities in which their key characters (<STRONG>pryz{|}</STRONG>) are embedded, and
++ a second-hand list of their character descriptions has come to light.
++ The <EM>ncurses</EM> developers invented WACS-prefixed names for them.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
++ Applications employing <EM>ncurses</EM> extensions should condition their use on
++ the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
++
+ These functions are described in X/Open Curses Issue 4. It specifies
+ no error conditions for them.
+
+ The defaults specified for forms-drawing characters apply in the POSIX
+ locale. X/Open Curses makes it clear that the WACS_ symbols should be
+- defined as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the discussion of
+- <STRONG>border_set</STRONG>. A few implementations are problematic:
++ defined as a pointer to <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> data, e.g., in the discussion of
++ <EM>border</EM><STRONG>_</STRONG><EM>set</EM>. A few implementations are problematic:
+
+- <STRONG>o</STRONG> NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG> within a <STRONG>cchar_t</STRONG>.
++ <STRONG>o</STRONG> NetBSD <EM>curses</EM> defines the symbols as a <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> within a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
+
+- <STRONG>o</STRONG> HP-UX curses equates some of the <STRONG>ACS_</STRONG> symbols to the analogous
+- <STRONG>WACS_</STRONG> symbols as if the <STRONG>ACS_</STRONG> symbols were wide characters. The
++ <STRONG>o</STRONG> HP-UX <EM>curses</EM> equates some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the analogous
++ <EM>WACS</EM><STRONG>_</STRONG> symbols as if the <EM>ACS</EM><STRONG>_</STRONG> symbols were wide characters. The
+ misdefined symbols are the arrows and other symbols which are not
+ used for line-drawing.
+
+ X/Open Curses does not specify symbols for thick- or double-lines.
+- SVr4 curses implementations defined their line-drawing symbols in terms
+- of intermediate symbols. This implementation extends those symbols,
+- providing new definitions which are not in the SVr4 implementations.
++ SVr4 <EM>curses</EM> implementations defined their line-drawing symbols in terms
++ of intermediate symbols. <EM>ncurses</EM> extends those symbols, providing new
++ definitions not found in SVr4 implementations.
+
+ Not all Unicode-capable terminals provide support for VT100-style
+- alternate character sets (i.e., the <STRONG>acsc</STRONG> capability), with their
+- corresponding line-drawing characters. X/Open Curses did not address
+- the aspect of integrating Unicode with line-drawing characters.
+- Existing implementations of Unix curses (AIX, HP-UX, Solaris) use only
+- the <STRONG>acsc</STRONG> character-mapping to provide this feature. As a result, those
+- implementations can only use single-byte line-drawing characters.
+- <EM>ncurses</EM> 5.3 (2002) provided a table of Unicode values to solve these
+- problems. NetBSD curses incorporated that table in 2010.
+-
+- In this implementation, the Unicode values are used instead of the
+- terminal description's <STRONG>acsc</STRONG> mapping as discussed in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> for the
+- environment variable <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>UTF8</EM><STRONG>_</STRONG><EM>ACS</EM>. In contrast, for the same
+- cases, the line-drawing characters described in <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG> will use only
+- the ASCII default values.
++ alternate character sets (i.e., the <EM>acsc</EM><STRONG>_</STRONG><EM>chars</EM> (<STRONG>acsc</STRONG>) capability), with
++ their corresponding line-drawing characters. X/Open Curses did not
++ address the aspect of integrating Unicode with line-drawing characters.
++ Existing implementations of System V <EM>curses</EM> (AIX, HP-UX, Solaris) use
++ only the <EM>acsc</EM><STRONG>_</STRONG><EM>chars</EM> (<STRONG>acsc</STRONG>) character-mapping to provide this feature.
++ As a result, those implementations can use only single-byte line-
++ drawing characters. <EM>ncurses</EM> 5.3 (2002) provided a table of Unicode
++ values to solve these problems. NetBSD <EM>curses</EM> incorporated that table
++ in 2010.
++
++ <EM>ncurses</EM> uses the Unicode values instead of the terminal type
++ description's <EM>acsc</EM><STRONG>_</STRONG><EM>chars</EM> (<STRONG>acsc</STRONG>) mapping as discussed in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> for
++ the environment variable <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>UTF8</EM><STRONG>_</STRONG><EM>ACS</EM>. In contrast, for the
++ same cases, the line-drawing characters described in <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG> will use
++ only the ASCII default values.
+
+- Having Unicode available does not solve all of the problems with line-
+- drawing for curses:
++ Having Unicode available does not solve all of the problems with line-
++ drawing for <EM>curses</EM>:
+
+- <STRONG>o</STRONG> The closest Unicode equivalents to the VT100 graphics <EM>S1</EM>, <EM>S3</EM>, <EM>S7</EM>
+- and <EM>S9</EM> frequently are not displayed at the regular intervals which
++ <STRONG>o</STRONG> The closest Unicode equivalents to the VT100 graphics <EM>S1</EM>, <EM>S3</EM>, <EM>S7</EM>,
++ and <EM>S9</EM> frequently are not displayed at the regular intervals which
+ the terminal used.
+
+- <STRONG>o</STRONG> The <EM>lantern</EM> is a special case. It originated with the AT&amp;T 4410
+- terminal in the early 1980s. There is no accessible documentation
++ <STRONG>o</STRONG> The <EM>lantern</EM> is a special case. It originated with the AT&amp;T 4410
++ terminal in the early 1980s. There is no accessible documentation
+ depicting the lantern symbol on the AT&amp;T terminal.
+
+ Lacking documentation, most readers assume that a <EM>storm</EM> <EM>lantern</EM> was
+ intended. But there are several possibilities, all with problems.
+
+- Unicode 6.0 (2010) does provide two lantern symbols: U+1F383 and
+- U+1F3EE. Those were not available in 2002, and are irrelevant
++ Unicode 6.0 (2010) does provide two lantern symbols: U+1F383 and
++ U+1F3EE. Those were not available in 2002, and are irrelevant
+ since they lie outside the Basic Multilingual Plane and as a result
+ are unavailable on many terminals. They are not storm lanterns, in
+ any case.
+@@ -327,20 +394,20 @@
+ Most <EM>storm</EM> <EM>lanterns</EM> have a tapering glass chimney (to guard against
+ tipping); some have a wire grid protecting the chimney.
+
+- For the tapering appearance, U+2603 was adequate. In use on a
++ For the tapering appearance, U+2603 was adequate. In use on a
+ terminal, no one can tell what the image represents. Unicode calls
+ it a snowman.
+
+ Others have suggested these alternatives: &lt;section&gt; U+00A7 (section
+- mark), &lt;Theta&gt; U+0398 (theta), &lt;Phi&gt; U+03A6 (phi), &lt;delta&gt; U+03B4
++ mark), &lt;Theta&gt; U+0398 (theta), &lt;Phi&gt; U+03A6 (phi), &lt;delta&gt; U+03B4
+ (delta), U+2327 (x in a rectangle), U+256C (forms double vertical
+ and horizontal), and U+2612 (ballot box with x).
+
+
+ </PRE><H3><a name="h3-Complex-Characters">Complex Characters</a></H3><PRE>
+- The complex character type <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> can store more than one wide
+- character (<EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>). X/Open Curses does not mention this possibility,
+- specifying behavior only where <EM>wch</EM> is a single character, either
++ The complex character type <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> can store more than one wide
++ character (<EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>). X/Open Curses does not mention this possibility,
++ specifying behavior only where <EM>wch</EM> is a single character, either
+ spacing or non-spacing.
+
+ <EM>ncurses</EM> assumes that <EM>wch</EM> is constructed using <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>, and in turn
+@@ -351,18 +418,25 @@
+
+ <STRONG>o</STRONG> holds one non-spacing character.
+
+- In the latter case, <EM>ncurses</EM> adds the non-spacing character to the
++ In the latter case, <EM>ncurses</EM> adds the non-spacing character to the
+ active complex character.
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- These functions were initially specified by X/Open Curses Issue 4
+- (1995). The System V Interface Definition Version 4 of the same year
+- 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 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>.
++ X/Open Curses Issue 4 (1995) initially specified these functions. The
++ System V Interface Definition (SVID) Version 4 of the same year
++ specified functions named <EM>waddwch</EM> (and the usual variants), <EM>echowchar</EM>,
++ and <EM>wechowchar</EM>. These were later additions to SVr4.<EM>x</EM>, not appearing in
++ the first SVr4 (1989). 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>. SVID defined no <EM>WACS</EM><STRONG>_</STRONG> symbols.
++
++ X/Open Curses Issue 4 also defined many of the <EM>WACS</EM><STRONG>_</STRONG> constants,
++ excepting <EM>WACS</EM><STRONG>_</STRONG><EM>GEQUAL</EM>, <EM>WACS</EM><STRONG>_</STRONG><EM>LEQUAL</EM>, <EM>WACS</EM><STRONG>_</STRONG><EM>NEQUAL</EM>, <EM>WACS</EM><STRONG>_</STRONG><EM>PI</EM>, <EM>WACS</EM><STRONG>_</STRONG><EM>S3</EM>,
++ <EM>WACS</EM><STRONG>_</STRONG><EM>S7</EM>, and <EM>WACS</EM><STRONG>_</STRONG><EM>STERLING</EM>; and those for drawing thick and double
++ lines.
++
++ <EM>ncurses</EM> 5.3 (2002) furnished the remaining <EM>WACS</EM><STRONG>_</STRONG> constants.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -375,7 +449,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -390,11 +464,7 @@
+ </li>
+ <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+ <li><a href="#h2-NOTES">NOTES</a></li>
+-<li><a href="#h2-EXTENSIONS">EXTENSIONS</a>
+-<ul>
+-<li><a href="#h3-TABSIZE">TABSIZE</a></li>
+-</ul>
+-</li>
++<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+ <li><a href="#h2-PORTABILITY">PORTABILITY</a>
+ <ul>
+ <li><a href="#h3-Complex-Characters">Complex Characters</a></li>
+Index: doc/html/man/curs_add_wchstr.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_add_wchstr.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_add_wchstr.3x.html 2025-02-02 00:43:56.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.52 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_add_wchstr.3x,v 1.55 2025/02/01 22:57: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_add_wchstr 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_add_wchstr 3x 2025-02-01 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 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_add_wchstr 3x 2025-02-01 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>
+
+@@ -118,12 +118,12 @@
+
+
+ </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>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 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>.
++ X/Open Curses Issue 4 (1995) initially specified these functions. The
++ System V Interface Definition Version 4 of the same year 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 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>
+@@ -134,7 +134,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <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-20250125+/doc/html/man/curs_addch.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_addch.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addch.3x,v 1.113 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_addch.3x,v 1.122 2025/02/01 23:54:03 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_addch 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_addch 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_addch 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_addch 3x 2025-02-01 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>
+
+@@ -63,6 +63,41 @@
+ <STRONG>int</STRONG> <STRONG>echochar(const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wechochar(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+
++ <EM>/*</EM> <EM>(integer)</EM> <EM>constants</EM> <EM>*/</EM>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_BLOCK;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_BOARD;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_BTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_BULLET;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_CKBOARD;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_DARROW;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_DEGREE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_DIAMOND;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_HLINE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_LANTERN;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_LARROW;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_LLCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_LRCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_LTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_PLMINUS;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_PLUS;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_RARROW;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_RTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_S1;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_S9;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_TTEE;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_UARROW;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_ULCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_URCORNER;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_VLINE;</STRONG>
++ <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_GEQUAL;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_LEQUAL;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_NEQUAL;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_PI;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_S3;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_S7;</STRONG>
++ /* <EM>...</EM> <EM>*/</EM> <STRONG>ACS_STERLING;</STRONG>
++
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+@@ -144,6 +179,7 @@
+ ------------------------------------------------------------------------
+ <STRONG>ACS_BLOCK</STRONG> # 0 solid square block
+ <STRONG>ACS_BOARD</STRONG> # h board of squares
++
+ <STRONG>ACS_BTEE</STRONG> + v bottom tee
+ <STRONG>ACS_BULLET</STRONG> o ~ bullet
+ <STRONG>ACS_CKBOARD</STRONG> : a checker board (stipple)
+@@ -183,26 +219,27 @@
+
+ <STRONG>o</STRONG> the <EM>curses</EM> screen has not been initialized,
+
+- <STRONG>o</STRONG> <EM>win</EM> is <EM>NULL</EM>,
++ <STRONG>o</STRONG> (for functions taking a <EM>WINDOW</EM> pointer argument) <EM>win</EM> is a null
++ pointer,
+
+- <STRONG>o</STRONG> wrapping to a new line is impossible because <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> has not
+- been called on <EM>win</EM> when a write to its bottom right location is
+- attempted, or
++ <STRONG>o</STRONG> wrapping to a new line is impossible because <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> has not
++ been called on <EM>win</EM> (or <STRONG>stdscr</STRONG>, as applicable) when a write to its
++ bottom right location is attempted, or
+
+- <STRONG>o</STRONG> it is not possible to add a complete character at the cursor
++ <STRONG>o</STRONG> it is not possible to add a complete character at the cursor
+ position.
+
+ The last may be due to different causes:
+
+- <STRONG>o</STRONG> conversion of a wide character to a multibyte character sequence
++ <STRONG>o</STRONG> conversion of a wide character to a multibyte character sequence
+ can fail, or
+
+- <STRONG>o</STRONG> at least one of the bytes resulting from wide character conversion
+- to a multibyte character sequence cannot be added to the window.
+- See section "PORTABILITY" below regarding the use of <STRONG>waddch</STRONG> with
++ <STRONG>o</STRONG> at least one of the bytes resulting from wide character conversion
++ to a multibyte character sequence cannot be added to the window.
++ See section "PORTABILITY" below regarding the use of <STRONG>waddch</STRONG> with
+ wide characters.
+
+- Functions prefixed with "mv" first perform cursor movement and fail if
++ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+
+@@ -211,10 +248,13 @@
+
+
+ </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+-
+-</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
+- SVr4 and other versions of <EM>curses</EM> implement the <STRONG>TABSIZE</STRONG> variable, but
+- X/Open Curses does not specify it; see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
++ The symbols (<EM>ACS</EM><STRONG>_</STRONG><EM>S3</EM>, <EM>ACS</EM><STRONG>_</STRONG><EM>S7</EM>, <EM>ACS</EM><STRONG>_</STRONG><EM>LEQUAL</EM>, <EM>ACS</EM><STRONG>_</STRONG><EM>GEQUAL</EM>, <EM>ACS</EM><STRONG>_</STRONG><EM>PI</EM>,
++ <EM>ACS</EM><STRONG>_</STRONG><EM>NEQUAL</EM>, and <EM>ACS</EM><STRONG>_</STRONG><EM>STERLING</EM>) were not documented in any publicly
++ released System V and are not standard. However, many publicly
++ available <EM>terminfo</EM> entries include <EM>acs</EM><STRONG>_</STRONG><EM>chars</EM> (<STRONG>acsc</STRONG>) capabilities in
++ which their key characters (<STRONG>pryz{|}</STRONG>) are embedded, and a second-hand
++ list of their character descriptions has come to light. The <EM>ncurses</EM>
++ developers invented ACS-prefixed names for them.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+@@ -232,23 +272,23 @@
+
+
+ </PRE><H3><a name="h3-ACS-Symbols">ACS Symbols</a></H3><PRE>
+- X/Open Curses states that the <STRONG>ACS_</STRONG> definitions are <EM>char</EM> constants.
++ X/Open Curses states that the <EM>ACS</EM><STRONG>_</STRONG> definitions are <EM>char</EM> constants.
+ Some implementations are problematic.
+
+ <STRONG>o</STRONG> Solaris <EM>curses</EM>, for example, defines the ACS symbols as constants;
+ others define them as elements of an array.
+
+- This implementation uses an array, <STRONG>acs_map</STRONG>, as did SVr4 <EM>curses</EM>.
+- NetBSD also uses an array, actually named <STRONG>_acs_char</STRONG>, with a <STRONG>#define</STRONG>
+- for compatibility.
++ SVr4 used an array, <EM>acs</EM><STRONG>_</STRONG><EM>map</EM>, as does <EM>ncurses</EM>. NetBSD <EM>curses</EM> also
++ uses an array, actually named <STRONG>_</STRONG><EM>acs</EM><STRONG>_</STRONG><EM>char</EM>, with a "#define" for
++ compatibility.
+
+- <STRONG>o</STRONG> HP-UX <EM>curses</EM> equates some of the <STRONG>ACS_</STRONG> symbols to the analogous
+- <STRONG>WACS_</STRONG> symbols as if the <STRONG>ACS_</STRONG> symbols were wide characters (see
++ <STRONG>o</STRONG> HP-UX <EM>curses</EM> equates some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the analogous
++ <EM>WACS</EM><STRONG>_</STRONG> symbols as if the <EM>ACS</EM><STRONG>_</STRONG> symbols were wide characters (see
+ <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>). The misdefined symbols are the arrows and
+ others that are not used for line drawing.
+
+ <STRONG>o</STRONG> X/Open Curses (Issues 2 through 7) has a typographical error for
+- the <STRONG>ACS_LANTERN</STRONG> symbol, equating its "VT100+ Character" to "I"
++ the <EM>ACS</EM><STRONG>_</STRONG><EM>LANTERN</EM> symbol, equating its "VT100+ Character" to "I"
+ (capital I), while the header files for SVr4 <EM>curses</EM> and other
+ implementations use "i" (small i).
+
+@@ -258,15 +298,7 @@
+ other hand, its <STRONG>gs6300</STRONG> (AT&amp;T PC6300 with EMOTS Terminal Emulator)
+ description uses lowercase i.
+
+- Some ACS symbols (<STRONG>ACS_S3</STRONG>, <STRONG>ACS_S7</STRONG>, <STRONG>ACS_LEQUAL</STRONG>, <STRONG>ACS_GEQUAL</STRONG>, <STRONG>ACS_PI</STRONG>,
+- <STRONG>ACS_NEQUAL</STRONG>, and <STRONG>ACS_STERLING</STRONG>) were not documented in any publicly
+- released System V. However, many publicly available <EM>terminfo</EM> entries
+- include <STRONG>acsc</STRONG> capabilities in which their key characters (<STRONG>pryz{|}</STRONG>) are
+- embedded, and a second-hand list of their character descriptions has
+- come to light. The <EM>ncurses</EM> developers invented ACS-prefixed names for
+- them.
+-
+- The <EM>displayed</EM> values of <STRONG>ACS_</STRONG> constants depend on
++ The <EM>displayed</EM> values of <EM>ACS</EM><STRONG>_</STRONG> constants depend on
+
+ <STRONG>o</STRONG> the <EM>ncurses</EM> ABI--for example, wide-character versus non-wide-
+ character configurations (the former is capable of displaying
+@@ -280,23 +312,23 @@
+
+
+ </PRE><H3><a name="h3-Character-Set">Character Set</a></H3><PRE>
+- X/Open Curses assumes that the parameter passed to <STRONG>waddch</STRONG> contains a
++ X/Open Curses assumes that the parameter passed to <EM>waddch</EM> contains a
+ single character. That character may have been more than eight bits
+ wide in an SVr3 or SVr4 implementation, but X/Open Curses leaves the
+ width of a non-wide character code unspecified. The standard further
+ does not specify the internal structure of a <EM>chtype</EM>, though the use of
+ bit operations to combine the character code with attributes and a
+- color pair identifier into a <EM>chtype</EM> for passage to <STRONG>waddch</STRONG> is common. A
++ color pair identifier into a <EM>chtype</EM> for passage to <EM>waddch</EM> is common. A
+ portable application uses only the macros discussed in <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> to
+ manipulate a <EM>chtype</EM>.
+
+ In <EM>ncurses</EM>, <EM>chtype</EM> holds an eight-bit character, but the library allows
+ a multibyte character sequence to be passed via a succession of calls
+- to <STRONG>waddch</STRONG>. Other implementations do not; a <STRONG>waddch</STRONG> call transmits
++ to <EM>waddch</EM>. Other implementations do not; a <EM>waddch</EM> call transmits
+ exactly one character, which may be rendered in one or more screen
+ locations depending on whether it is printable (see <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>).
+ Depending on the locale, <EM>ncurses</EM> inspects the byte passed in each
+- <STRONG>waddch</STRONG> call and checks whether the latest call continues a multibyte
++ <EM>waddch</EM> call and checks whether the latest call continues a multibyte
+ character. When a character is <EM>complete</EM>, <EM>ncurses</EM> displays the
+ character and advances the cursor. If the calling application
+ interrupts the succession of bytes in a multibyte character sequence by
+@@ -313,9 +345,13 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- 4BSD (1980) <EM>curses</EM> introduced <EM>waddch</EM>.
++ 4BSD (1980) introduced <EM>waddch</EM> and its variants.
+
+- SVr3 (1987) added <EM>wechochar</EM>.
++ SVr3 (1987) added the <EM>echochar</EM> and <EM>wechochar</EM> functions and most of the
++ <EM>ACS</EM><STRONG>_</STRONG> constants, except for <EM>ACS</EM><STRONG>_</STRONG><EM>GEQUAL</EM>, <EM>ACS</EM><STRONG>_</STRONG><EM>LEQUAL</EM>, <EM>ACS</EM><STRONG>_</STRONG><EM>NEQUAL</EM>, <EM>ACS</EM><STRONG>_</STRONG><EM>PI</EM>,
++ <EM>ACS</EM><STRONG>_</STRONG><EM>S3</EM>, <EM>ACS</EM><STRONG>_</STRONG><EM>S7</EM>, and <EM>ACS</EM><STRONG>_</STRONG><EM>STERLING</EM>.
++
++ <EM>ncurses</EM> 1.9.6 (1995) furnished the remaining <EM>ACS</EM><STRONG>_</STRONG> constants.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -328,7 +364,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -343,11 +379,7 @@
+ </li>
+ <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+ <li><a href="#h2-NOTES">NOTES</a></li>
+-<li><a href="#h2-EXTENSIONS">EXTENSIONS</a>
+-<ul>
+-<li><a href="#h3-TABSIZE">TABSIZE</a></li>
+-</ul>
+-</li>
++<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+ <li><a href="#h2-PORTABILITY">PORTABILITY</a>
+ <ul>
+ <li><a href="#h3-ACS-Symbols">ACS Symbols</a></li>
+Index: doc/html/man/curs_addchstr.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_addchstr.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_addchstr.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addchstr.3x,v 1.58 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_addchstr.3x,v 1.60 2025/02/01 22:50: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_addchstr 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_addchstr 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_addchstr 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_addchstr 3x 2025-02-01 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>
+
+@@ -114,7 +114,7 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- SVr3.1 (1987) introduced <EM>waddchstr</EM> and <EM>waddchnstr</EM>.
++ SVr3.1 (1987) introduced these functions.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -125,7 +125,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_addstr.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_addstr.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_addstr.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addstr.3x,v 1.65 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_addstr.3x,v 1.67 2025/02/01 22:48:11 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_addstr 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_addstr 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_addstr 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_addstr 3x 2025-02-01 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>
+
+@@ -102,8 +102,8 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- 4BSD (1980) <EM>curses</EM> introduced <EM>waddstr</EM> along with its variants, the
+- latter defined as macros.
++ 4BSD (1980) introduced <EM>waddstr</EM> along with its variants, the latter
++ defined as macros.
+
+ SVr3.1 (1987) added <EM>waddnstr</EM> (and its variants) redefining <EM>waddstr</EM> as a
+ macro wrapping it.
+@@ -117,7 +117,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <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-20250125+/doc/html/man/curs_addwstr.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_addwstr.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addwstr.3x,v 1.56 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_addwstr.3x,v 1.58 2025/02/01 22:54:32 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 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_addwstr 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_addwstr 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_addwstr 3x 2025-02-01 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>
+
+@@ -105,22 +105,21 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- These functions were initially specified by X/Open Curses Issue 4
+- (1995). The System V Interface Definition Version 4 of the same year
+- specified functions named <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).
++ X/Open Curses Issue 4 (1995) initially specified these functions. The
++ System V Interface Definition Version 4 of the same year specified
++ functions named <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>
+- <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
++ <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ in its non-wide-character configuration.
+
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <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-20250125+/doc/html/man/curs_attr.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_attr.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_attr.3x,v 1.127 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_attr.3x,v 1.133 2025/02/01 23:59:36 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_attr 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_attr 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_attr 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_attr 3x 2025-02-01 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>
+
+@@ -249,14 +249,14 @@
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+- <STRONG>attr_on</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>chgat</STRONG>, <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, and
+- <STRONG>color_set</STRONG> are part of <EM>ncurses</EM>'s wide-character API, and are not
+- available in its non-wide configuration.
++ <STRONG>attr_on</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>chgat</STRONG>, <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>,
++ <STRONG>wchgat</STRONG>, and <STRONG>color_set</STRONG> are part of <EM>ncurses</EM>'s wide-character API, and are
++ not available in its non-wide configuration.
+
+ <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>standout</STRONG>, and
+ <STRONG>standend</STRONG> may be implemented as macros.
+
+- Color pair values be logically "or"-ed with attributes if the pair
++ Color pair values may be logically "or"-ed with attributes if the pair
+ number is less than 256. The alternate functions such as <STRONG>color_set</STRONG> can
+ pass a color pair value directly. However, <EM>ncurses</EM> ABI 4 and 5 simply
+ logically "or" this value within the alternate functions. You must use
+@@ -368,11 +368,11 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- 4BSD (1980) <EM>curses</EM> used a <EM>char</EM> to represent each cell of the terminal
+- screen. It assumed 7-bit character codes, employing the eighth bit of
+- a byte to represent a <EM>standout</EM> attribute (often implemented as bold
+- and/or reverse video). It introduced <EM>standout</EM>, <EM>standend</EM>, <EM>wstandout</EM>,
+- and <EM>wstandend</EM> functions to manipulate this bit. Despite their
++ 4BSD (1980) used a <EM>char</EM> to represent each cell of the terminal screen.
++ It assumed 7-bit character codes, employing the eighth bit of a byte to
++ represent a <EM>standout</EM> attribute (often implemented as bold and/or
++ reverse video). It introduced <EM>standout</EM>, <EM>standend</EM>, <EM>wstandout</EM>, and
++ <EM>wstandend</EM> functions to manipulate this bit. Despite their
+ inflexibility, they carried over into System V <EM>curses</EM> and ultimately
+ X/Open Curses due to their pervasive use in legacy applications. While
+ some 1980s terminals supported a variety of video attributes, BSD
+@@ -392,17 +392,17 @@
+ SVr3.2 (1988) added the <EM>A</EM><STRONG>_</STRONG><EM>COLOR</EM> macro along with a color system; see
+ <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>.
+
+- X/Open Curses is largely based on SVr4 <EM>curses</EM>, but recognized that the
+- <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> type of ISO C95 was intended to house only a single character
+- code, not a sequence of codes combining with a base character, let
+- alone could it reliably offer room for a color pair identifier and a
+- set of attribute bits with a potential for further growth -- thus the
+- standard invented the <EM>curses</EM> complex character type <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> and a
+- separate type <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> for storage of attribute bits. The new types
+- brought along several new functions to manipulate them, some
++ X/Open Curses Issue 4 (1995) is largely based on SVr4 <EM>curses</EM>, but
++ recognized that the <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> type of ISO C95 was intended to house only
++ a single character code, not a sequence of codes combining with a base
++ character, let alone could it reliably offer room for a color pair
++ identifier and a set of attribute bits with a potential for further
++ growth -- thus the standard invented the <EM>curses</EM> complex character type
++ <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> and a separate type <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> for storage of attribute bits. The
++ new types brought along several new functions to manipulate them, some
+ corresponding to existing <EM>chtype</EM>-based functions (<EM>attr</EM><STRONG>_</STRONG><EM>on</EM>, <EM>attr</EM><STRONG>_</STRONG><EM>off</EM>,
+- <EM>attr</EM><STRONG>_</STRONG><EM>set</EM>, <EM>wattr</EM><STRONG>_</STRONG><EM>on</EM>, <EM>wattr</EM><STRONG>_</STRONG><EM>off</EM>, and <EM>wattr</EM><STRONG>_</STRONG><EM>set</EM>), and some new (<EM>color</EM><STRONG>_</STRONG><EM>set</EM>,
+- <EM>wcolor</EM><STRONG>_</STRONG><EM>set</EM>, <EM>chgat</EM>, <EM>wchgat</EM>, <EM>mvchgat</EM>, and <EM>mvwchgat</EM>).
++ <EM>attr</EM><STRONG>_</STRONG><EM>set</EM>, <EM>wattr</EM><STRONG>_</STRONG><EM>on</EM>, <EM>wattr</EM><STRONG>_</STRONG><EM>off</EM>, and <EM>wattr</EM><STRONG>_</STRONG><EM>set</EM>), and some new (<EM>chgat</EM> and
++ its variants, <EM>color</EM><STRONG>_</STRONG><EM>set</EM>, and <EM>wcolor</EM><STRONG>_</STRONG><EM>set</EM>).
+
+ Different Unix systems used differently sized bit fields in <EM>chtype</EM> for
+ the character code and the color pair identifier, and took into account
+@@ -493,7 +493,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_beep.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_beep.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_beep.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_beep.3x,v 1.39 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_beep.3x,v 1.42 2025/02/01 23:46:11 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_beep 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_beep 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_beep 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_beep 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+
+@@ -85,12 +85,12 @@
+ X/Open Curses Issue 4 describes these functions. It specifies no error
+ conditions for them.
+
+- On SVr4 <EM>curses</EM>, they always return <STRONG>OK</STRONG>, and X/Open Curses specifies them
++ On SVr4 <EM>curses</EM>, they always return <EM>OK</EM>, and X/Open Curses specifies them
+ as doing so.
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- <EM>beep</EM> and <EM>flash</EM> appeared in SVr2 (1984).
++ SVr2 (1984) introduced <EM>beep</EM> and <EM>flash</EM>.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -98,7 +98,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_bkgrnd.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_bkgrnd.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_bkgrnd.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_bkgrnd.3x,v 1.55 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_bkgrnd.3x,v 1.57 2025/02/01 22:54:32 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_bkgrnd 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_bkgrnd 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_bkgrnd 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_bkgrnd 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+
+@@ -179,7 +179,7 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- These functions were initially specified by X/Open Curses Issue 4.
++ X/Open Curses Issue 4 (1995) initially specified these functions.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -190,7 +190,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_border.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_border.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_border.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_border.3x,v 1.60 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_border.3x,v 1.63 2025/02/02 00:00:33 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 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_border 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_border 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_border 3x 2025-02-01 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>
+
+@@ -56,29 +56,28 @@
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>border(chtype</STRONG> <EM>ls</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>rs</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ts</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>bs</EM><STRONG>,</STRONG>
+- <STRONG>chtype</STRONG> <EM>tl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>tr</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>bl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>br</EM><STRONG>);</STRONG>
++ <STRONG>chtype</STRONG> <EM>tl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>tr</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>bl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>br</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wborder(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ls</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>rs</EM><STRONG>,</STRONG>
+- <STRONG>chtype</STRONG> <EM>ts</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>bs</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>tl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>tr</EM><STRONG>,</STRONG>
+- <STRONG>chtype</STRONG> <EM>bl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>br</EM><STRONG>);</STRONG>
++ <STRONG>chtype</STRONG> <EM>ts</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>bs</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>tl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>tr</EM><STRONG>,</STRONG>
++ <STRONG>chtype</STRONG> <EM>bl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>br</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>box(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>verch</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>horch</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>hline(chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>whline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>vline(chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>wvline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+-
+ <STRONG>int</STRONG> <STRONG>mvhline(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> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwhline(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> <EM>n</EM><STRONG>);</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>vline(chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>wvline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvvline(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> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwvline(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> <EM>n</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+- The <STRONG>border</STRONG>, <STRONG>wborder</STRONG> and <STRONG>box</STRONG> routines draw a box around the edges of a
+- window. Other than the window, each argument is a character with
+- attributes:
+-
++ <STRONG>wborder</STRONG> and <STRONG>border</STRONG> draw a box at the edges of the specified window or
++ <STRONG>stdscr</STRONG>, respectively. Each <EM>chtype</EM> argument corresponds to a geometric
++ component of the border as follows:
+ <EM>ls</EM> - left side,
+ <EM>rs</EM> - right side,
+ <EM>ts</EM> - top side,
+@@ -88,46 +87,49 @@
+ <EM>bl</EM> - bottom left-hand corner, and
+ <EM>br</EM> - bottom right-hand corner.
+
+- If any of these arguments is zero, then the corresponding default
+- values (defined in <STRONG>curses.h</STRONG>) are used instead:
+-
++ If any <EM>chtype</EM> argument is <STRONG>0</STRONG>, then <EM>curses</EM> uses forms-drawing characters
++ (see <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>) in the following correspondence:
+ <STRONG>ACS_VLINE</STRONG>,
+ <STRONG>ACS_VLINE</STRONG>,
+ <STRONG>ACS_HLINE</STRONG>,
+ <STRONG>ACS_HLINE</STRONG>,
+ <STRONG>ACS_ULCORNER</STRONG>,
+ <STRONG>ACS_URCORNER</STRONG>,
+- <STRONG>ACS_LLCORNER</STRONG>,
++ <STRONG>ACS_LLCORNER</STRONG>, and
+ <STRONG>ACS_LRCORNER</STRONG>.
+
+- <STRONG>box(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>)</STRONG> is a shorthand for the following call:
+- <STRONG>wborder(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0)</STRONG>.
++ <STRONG>box(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>)</STRONG> is shorthand for "<STRONG>wborder(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>0,</STRONG>
++ <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0)</STRONG>".
+
+- The <STRONG>hline</STRONG> and <STRONG>whline</STRONG> functions draw a horizontal (left to right) line
+- using <EM>ch</EM> starting at the current cursor position in the window. The
+- current cursor position is not changed. The line is at most <EM>n</EM>
+- characters long, or as many as fit into the window.
+-
+- The <STRONG>vline</STRONG> and <STRONG>wvline</STRONG> functions draw a vertical (top to bottom) line
+- using <EM>ch</EM> starting at the current cursor position in the window. The
+- current cursor position is not changed. The line is at most <EM>n</EM>
+- characters long, or as many as fit into the window.
++ <STRONG>whline</STRONG> draws a horizontal line of <EM>ch</EM> from left to right, and <STRONG>wvline</STRONG> a
++ vertical one from top to bottom, stopping once <EM>n</EM> characters have been
++ drawn or upon reaching the boundary of <EM>win</EM>. These functions do not
++ update the cursor position (beyond any motion directed by their "mv"
++ variants). <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 routines return the integer <STRONG>OK</STRONG>.
++ These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
+
+- This implementation returns <STRONG>ERR</STRONG> if the window pointer is null.
++ In <EM>ncurses</EM>,
+
+- Functions prefixed with "mv" first perform cursor movement and fail if
++ <STRONG>o</STRONG> these functions fail if the screen is not initialized; and
++
++ <STRONG>o</STRONG> functions taking a <EM>WINDOW</EM> pointer argument fail if <EM>win</EM> is a null
++ pointer.
++
++ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+- <STRONG>border</STRONG> and <STRONG>box</STRONG> may be implemented as macros.
++ Unusually, there is no <STRONG>wbox</STRONG> function; <STRONG>box</STRONG> behaves as one would expect
++ <STRONG>wbox</STRONG> to, accepting a <EM>WINDOW</EM> pointer argument.
+
+- The borders generated by these functions are <EM>inside</EM> borders (this is
+- also true of SVr4 curses, though the fact is not documented).
++ <STRONG>border</STRONG>, <STRONG>box</STRONG>, <STRONG>hline</STRONG>, <STRONG>mvhline</STRONG>, <STRONG>mvwhline</STRONG>, <STRONG>vline</STRONG>, <STRONG>mvvline</STRONG>, and <STRONG>mvwvline</STRONG> may
++ be implemented as macros.
++
++ Borders drawn by these functions are <EM>interior</EM> borders.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+@@ -139,13 +141,24 @@
+ from <EM>wrefresh</EM>, which in SVr4 returns a count of characters written to
+ the window if its <EM>immedok</EM> property is set; in <EM>ncurses</EM>, it does not.
+
++ BSD <EM>curses</EM> drew boxes with <EM>horch</EM> in <EM>every</EM> character cell of the top and
++ bottom lines of the window, whereas SVr3.1 and later <EM>curses</EM>, because
++ its <EM>box</EM> wrapped <EM>wborder</EM>, used the default corner characters.
++
++
++</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
++ 4BSD (1980) introduced <EM>box</EM>, defining it as a function.
++
++ SVr3.1 (1987) added <EM>whline</EM> and <EM>wvline</EM> and their variants, as well as
++ <EM>border</EM> and <EM>wborder</EM>, redefining <EM>box</EM> as a macro wrapping the latter.
++
+
+ </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_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -155,6 +168,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_border_set.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_border_set.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_border_set.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_border_set.3x,v 1.43 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_border_set.3x,v 1.48 2025/02/02 00:04:21 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_set 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_border_set 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_border_set 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_border_set 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+
+@@ -55,45 +55,32 @@
+ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+- <STRONG>int</STRONG> <STRONG>border_set(</STRONG>
+- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM><STRONG>,</STRONG>
+- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM><STRONG>,</STRONG>
+- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM><STRONG>,</STRONG>
+- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>wborder_set(</STRONG>
+- <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>
+- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM><STRONG>,</STRONG>
+- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM><STRONG>,</STRONG>
+- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM><STRONG>,</STRONG>
+- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>box_set(</STRONG>
+- <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>
+- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>verch</EM><STRONG>,</STRONG>
+- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>horch</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>hline_set(</STRONG>
+- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>whline_set(</STRONG>
+- <STRONG>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> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvhline_set(</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> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwhline_set(</STRONG>
+- <STRONG>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> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>vline_set(</STRONG>
+- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>wvline_set(</STRONG>
+- <STRONG>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> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvvline_set(</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> <EM>n</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwvline_set(</STRONG>
+- <STRONG>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> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>border_set(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM><STRONG>,</STRONG>
++ <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM><STRONG>,</STRONG>
++ <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM><STRONG>,</STRONG>
++ <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>wborder_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>
++ <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM><STRONG>,</STRONG>
++ <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM><STRONG>,</STRONG>
++ <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM><STRONG>,</STRONG>
++ <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM><STRONG>);</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>box_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>verch</EM><STRONG>,</STRONG>
++ <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>horch</EM><STRONG>);</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>hline_set(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>whline_set(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> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvhline_set(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> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwhline_set(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> <EM>n</EM><STRONG>);</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>vline_set(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>wvline_set(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> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvvline_set(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> <EM>n</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwvline_set(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> <EM>n</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+@@ -156,7 +143,12 @@
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+- These functions are described in X/Open Curses Issue 4.
++ X/Open Curses Issue 4 describes these functions. It specifies no error
++ conditions for them.
++
++
++</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
++ X/Open Curses Issue 4 (1995) initially specified these functions.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -164,7 +156,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -174,6 +166,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-20250125+/doc/html/man/curs_deleteln.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_deleteln.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_deleteln.3x,v 1.48 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_deleteln.3x,v 1.51 2025/02/01 22:49:56 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_deleteln 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_deleteln 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_deleteln 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_deleteln 3x 2025-02-01 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>
+
+@@ -105,9 +105,9 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- 4BSD (1980) <EM>curses</EM> introduced <EM>wdeleteln</EM> and <EM>winsertln</EM>.
++ 4BSD (1980) introduced <EM>deleteln</EM>, <EM>wdeleteln</EM>, <EM>insertln</EM>, and <EM>winsertln</EM>.
+
+- SVr3.1 (1987) added <EM>winsdelln</EM>.
++ SVr3.1 (1987) added <EM>insdelln</EM> and <EM>winsdelln</EM>.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -115,7 +115,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_get_wch.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_get_wch.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_get_wch.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_get_wch.3x,v 1.59 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_get_wch.3x,v 1.64 2025/02/02 00:01:24 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_get_wch 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_get_wch 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_get_wch 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_get_wch 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+
+@@ -124,9 +124,10 @@
+ <STRONG>o</STRONG> execution was interrupted by a signal, in which case <EM>errno</EM> is set
+ to <EM>EINTR</EM>.
+
+- Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <EM>NULL</EM>.
++ Functions taking a <EM>WINDOW</EM> pointer argument fail if <EM>win</EM> is a null
++ pointer.
+
+- 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.
+
+ <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> if there is no more room in the
+@@ -139,13 +140,13 @@
+ All of these functions except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be implemented
+ as macros.
+
+- Unlike <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>, <STRONG>wget_wch</STRONG> and its variants store the value of the
+- input character in an additional <EM>wch</EM> parameter instead of the return
++ Unlike <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>, <STRONG>wget_wch</STRONG> and its variants store the value of the
++ input character in an additional <EM>wch</EM> parameter instead of the return
+ value.
+
+- Unlike <STRONG>ungetch</STRONG>, <STRONG>unget_wch</STRONG> cannot distinguish function key codes from
+- conventional character codes. An application can overcome this
+- limitation by pushing function key codes with <STRONG>ungetch</STRONG> and subsequently
++ Unlike <STRONG>ungetch</STRONG>, <STRONG>unget_wch</STRONG> cannot distinguish function key codes from
++ conventional character codes. An application can overcome this
++ limitation by pushing function key codes with <STRONG>ungetch</STRONG> and subsequently
+ checking the return value of <STRONG>wget_wch</STRONG> for a match with <STRONG>KEY_CODE_YES</STRONG>.
+
+
+@@ -160,20 +161,19 @@
+ X/Open Curses Issue 4 describes these functions. It specifies no error
+ conditions for them.
+
+- See the "PORTABILITY" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> regarding the interaction
+- of <STRONG>wget_wch</STRONG> with signal handlers.
++ See the "PORTABILITY" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> regarding the interaction
++ of <EM>wget</EM><STRONG>_</STRONG><EM>wch</EM> with signal handlers.
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- These functions were initially specified by X/Open Curses Issue 4
+- (1995). The System V Interface Definition Version 4 of the same year
+- specified functions named <EM>wgetwch</EM> (with the usual variants) and
+- <EM>ungetwch</EM>. These were later additions to SVr4.<EM>x</EM>, not appearing in the
+- first SVr4 (1989). They differ from X/Open's later <EM>wget</EM><STRONG>_</STRONG><EM>wch</EM> and
+- <EM>unget</EM><STRONG>_</STRONG><EM>wch</EM> in that <EM>wgetwch</EM> takes no <EM>wch</EM> argument, but returns the (wide)
+- key code as an <EM>int</EM> (with no provision for distinguishing a character
+- code from a function key code); and <EM>ungetwch</EM> takes a non-<EM>const</EM> <EM>int</EM>
+- argument.
++ X/Open Curses Issue 4 (1995) initially specified these functions. The
++ System V Interface Definition Version 4 of the same year specified
++ functions named <EM>wgetwch</EM> (with its variants) <EM>ungetwch</EM>. These were later
++ additions to SVr4.<EM>x</EM>, not appearing in the first SVr4 (1989). They
++ differ from X/Open's later <EM>wget</EM><STRONG>_</STRONG><EM>wch</EM> and <EM>unget</EM><STRONG>_</STRONG><EM>wch</EM> in that <EM>wgetwch</EM> takes
++ no <EM>wch</EM> argument, but returns the (wide) key code as an <EM>int</EM> (with no
++ provision for distinguishing a character code from a function key
++ code); and <EM>ungetwch</EM> takes a non-<EM>const</EM> <EM>int</EM> argument.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -185,7 +185,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_get_wstr.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_get_wstr.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_get_wstr.3x.html 2025-02-02 00:59:49.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_get_wstr.3x,v 1.64 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_get_wstr.3x,v 1.68 2025/02/01 22:54:32 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_get_wstr 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_get_wstr 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_get_wstr 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_get_wstr 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+
+@@ -81,7 +81,7 @@
+ <EM>WEOF</EM>);
+
+ <STRONG>o</STRONG> interprets the screen's erase and kill characters (see
+- <STRONG><A HREF="curs_termattrs.3x.html">erasechar(3x)</A></STRONG> and <STRONG><A HREF="curs_termattrs.3x.html">killchar(3x)</A></STRONG>);
++ <STRONG><A HREF="curs_termattrs.3x.html">erasewchar(3x)</A></STRONG> and <STRONG><A HREF="curs_termattrs.3x.html">killwchar(3x)</A></STRONG>);
+
+ <STRONG>o</STRONG> recognizes function keys only if the screen's keypad option is
+ enabled (see <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG>);
+@@ -214,6 +214,16 @@
+ into the buffer, for consistency with SVr4 <EM>curses</EM>'s <EM>wgetnstr</EM>.
+
+
++</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
++ X/Open Curses Issue 4 (1995) initially specified these functions. The
++ System V Interface Definition Version 4 of the same year specified
++ functions named <EM>wgetwstr</EM> and <EM>wgetnwstr</EM> (and the usual variants). These
++ were later additions to SVr4.<EM>x</EM>, not appearing in the first SVr4 (1989).
++ Except in name, their declarations did not differ from X/Open's later
++ <EM>wget</EM><STRONG>_</STRONG><EM>wstr</EM> and <EM>wgetn</EM><STRONG>_</STRONG><EM>wstr</EM> until X/Open Curses Issue 7 (2009) eventually
++ changed the type of the buffer argument to a pointer to <EM>wint</EM><STRONG>_</STRONG><EM>t</EM>.
++
++
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ in its non-wide-character configuration.
+@@ -222,7 +232,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -233,6 +243,7 @@
+ <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-HISTORY">HISTORY</a></li>
+ <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+ </ul>
+ </div>
+Index: doc/html/man/curs_getcchar.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_getcchar.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_getcchar.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_getcchar.3x,v 1.53 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_getcchar.3x,v 1.56 2025/02/01 23:46:11 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_getcchar 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_getcchar 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_getcchar 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_getcchar 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+
+@@ -159,7 +159,7 @@
+ <STRONG>o</STRONG> at least five non-spacing wide characters (<EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>; see below),
+
+ <STRONG>o</STRONG> attributes (at least 15 bits' worth, inferred from the count of
+- specified <STRONG>WA_</STRONG> constants),
++ specified <EM>WA</EM><STRONG>_</STRONG> constants),
+
+ <STRONG>o</STRONG> a color pair identifier (at least 16 bits, inferred from the <EM>short</EM>
+ type used to encode it).
+@@ -198,8 +198,7 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- These functions were initially specified by X/Open Curses Issue 4
+- (1995).
++ X/Open Curses Issue 4 (1995) initially specified these functions.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -207,7 +206,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_getch.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_getch.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_getch.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_getch.3x,v 1.114 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_getch.3x,v 1.117 2025/02/02 00:00: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_getch 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_getch 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_getch 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_getch 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+
+@@ -315,69 +315,70 @@
+
+ <STRONG>has_key</STRONG> returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
+
+- Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <EM>NULL</EM>.
++ Functions taking a <EM>WINDOW</EM> pointer argument fail if <EM>win</EM> is a null
++ pointer.
+
+- Functions prefixed with "mv" first perform cursor movement and fail if
++ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ <STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be implemented as macros.
+
+- <EM>curses</EM> discourages assignment of the ESC key to a discrete function by
++ <EM>curses</EM> discourages assignment of the ESC key to a discrete function by
+ the programmer because the library requires a delay while it awaits the
+ potential remainder of a terminal escape sequence.
+
+- Some key strokes are indistinguishable from control characters; for
+- example, <STRONG>KEY_ENTER</STRONG> may be the same as <STRONG>^M</STRONG>, and <STRONG>KEY_BACKSPACE</STRONG> may be the
+- same as <STRONG>^H</STRONG> or <STRONG>^?</STRONG>. Consult the <EM>terminfo</EM> entry for the terminal type to
+- determine whether this is the case; see <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG>. Some <EM>curses</EM>
++ Some key strokes are indistinguishable from control characters; for
++ example, <STRONG>KEY_ENTER</STRONG> may be the same as <STRONG>^M</STRONG>, and <STRONG>KEY_BACKSPACE</STRONG> may be the
++ same as <STRONG>^H</STRONG> or <STRONG>^?</STRONG>. Consult the <EM>terminfo</EM> entry for the terminal type to
++ determine whether this is the case; see <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG>. Some <EM>curses</EM>
+ implementations, including <EM>ncurses</EM>, honor the <EM>terminfo</EM> key definitions;
+ others treat such control characters specially.
+
+- <EM>curses</EM> distinguishes the Enter keys in the alphabetic and numeric
+- keypad sections of a keyboard because (most) terminals do. <STRONG>KEY_ENTER</STRONG>
+- refers to the key on the numeric keypad and, like other function keys,
++ <EM>curses</EM> distinguishes the Enter keys in the alphabetic and numeric
++ keypad sections of a keyboard because (most) terminals do. <STRONG>KEY_ENTER</STRONG>
++ refers to the key on the numeric keypad and, like other function keys,
+ is reliably recognized only if the window's keypad mode is enabled.
+
+- <STRONG>o</STRONG> The <EM>terminfo</EM> <STRONG>key_enter</STRONG> (<STRONG>kent</STRONG>) capability describes the character
+- (sequence) sent by the Enter key of a terminal's numeric (or
++ <STRONG>o</STRONG> The <EM>terminfo</EM> <STRONG>key_enter</STRONG> (<STRONG>kent</STRONG>) capability describes the character
++ (sequence) sent by the Enter key of a terminal's numeric (or
+ similar) keypad.
+
+ <STRONG>o</STRONG> "Enter or send" is X/Open Curses's description of this key.
+
+- <EM>curses</EM> treats the Enter or Return key in the <EM>alphabetic</EM> section of the
++ <EM>curses</EM> treats the Enter or Return key in the <EM>alphabetic</EM> section of the
+ keyboard differently.
+
+ <STRONG>o</STRONG> It usually produces a control code for carriage return (<STRONG>^M</STRONG>) or line
+ feed (<STRONG>^J</STRONG>).
+
+- <STRONG>o</STRONG> Depending on the terminal mode (raw, cbreak, or canonical), and
+- whether <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> or <STRONG><A HREF="curs_inopts.3x.html">nonl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> may return
+- either a carriage return or line feed upon an Enter or Return key
++ <STRONG>o</STRONG> Depending on the terminal mode (raw, cbreak, or canonical), and
++ whether <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> or <STRONG><A HREF="curs_inopts.3x.html">nonl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> may return
++ either a carriage return or line feed upon an Enter or Return key
+ stroke.
+
+- Use of <STRONG>wgetch</STRONG> with <STRONG><A HREF="curs_inopts.3x.html">echo(3x)</A></STRONG> and neither <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> nor <STRONG><A HREF="curs_inopts.3x.html">raw(3x)</A></STRONG> is not
++ Use of <STRONG>wgetch</STRONG> with <STRONG><A HREF="curs_inopts.3x.html">echo(3x)</A></STRONG> and neither <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> nor <STRONG><A HREF="curs_inopts.3x.html">raw(3x)</A></STRONG> is not
+ well-defined.
+
+- Historically, the list of key code macros above was influenced by the
+- keyboard of the AT&amp;T 7300 (also known variously as the "3B1", "Safari
+- 4", and "UNIX PC"), a 1985 machine rich in function keys. Today's
+- computer keyboards are based on that of the IBM PC/AT and tend to have
++ Historically, the list of key code macros above was influenced by the
++ keyboard of the AT&amp;T 7300 (also known variously as the "3B1", "Safari
++ 4", and "UNIX PC"), a 1985 machine rich in function keys. Today's
++ computer keyboards are based on that of the IBM PC/AT and tend to have
+ fewer. A <EM>curses</EM> application can expect such a keyboard to transmit key
+- codes <STRONG>KEY_UP</STRONG>, <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>, <STRONG>KEY_HOME</STRONG>, <STRONG>KEY_END</STRONG>,
+- <STRONG>KEY_PPAGE</STRONG> (Page Up), <STRONG>KEY_NPAGE</STRONG> (Page Down), <STRONG>KEY_IC</STRONG> (Insert), <STRONG>KEY_DC</STRONG>
++ codes <STRONG>KEY_UP</STRONG>, <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>, <STRONG>KEY_HOME</STRONG>, <STRONG>KEY_END</STRONG>,
++ <STRONG>KEY_PPAGE</STRONG> (Page Up), <STRONG>KEY_NPAGE</STRONG> (Page Down), <STRONG>KEY_IC</STRONG> (Insert), <STRONG>KEY_DC</STRONG>
+ (Delete), <STRONG>KEY_A1</STRONG>, <STRONG>KEY_A3</STRONG>, <STRONG>KEY_B2</STRONG>, <STRONG>KEY_C1</STRONG>, <STRONG>KEY_C3</STRONG>, and <STRONG>KEY_F(</STRONG><EM>n</EM><STRONG>)</STRONG> for 1 &lt;=
+ <EM>n</EM> &lt;= 12.
+
+
+ </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ In <EM>ncurses</EM>, when a window's "no time-out" mode is <EM>not</EM> set, the <STRONG>ESCDELAY</STRONG>
+- variable configures the duration of the timer used to disambiguate a
+- function key character sequence from a series of key strokes beginning
++ variable configures the duration of the timer used to disambiguate a
++ function key character sequence from a series of key strokes beginning
+ with ESC typed by the user; see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+
+- <STRONG>has_key</STRONG> is an <EM>ncurses</EM> extension, and is not found in SVr4 <EM>curses</EM>,
++ <STRONG>has_key</STRONG> is an <EM>ncurses</EM> extension, and is not found in SVr4 <EM>curses</EM>,
+ 4.4BSD <EM>curses</EM>, or any other previous <EM>curses</EM> implementation.
+
+
+@@ -385,53 +386,53 @@
+ Applications employing <EM>ncurses</EM> extensions should condition their use on
+ the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
+
+- Except as noted in section "EXTENSIONS" above, X/Open Curses Issue 4
++ Except as noted in section "EXTENSIONS" above, X/Open Curses Issue 4
+ describes these functions. It specifies no error conditions for them.
+
+- SVr4 describes a successful return value only as "an integer value
++ SVr4 describes a successful return value only as "an integer value
+ other than <EM>ERR</EM>".
+
+- <STRONG>wgetch</STRONG> reads only single-byte characters.
++ <EM>wgetch</EM> reads only single-byte characters.
+
+- The echo behavior of these functions on input of <STRONG>KEY_</STRONG> or backspace
++ The echo behavior of these functions on input of <EM>KEY</EM><STRONG>_</STRONG> or backspace
+ characters is not documented in SVr4 <EM>curses</EM>.
+
+- The behavior of <STRONG>wgetch</STRONG> in the presence of signal handlers is not
+- documented in SVr4 <EM>curses</EM> and is unspecified by X/Open Curses. In
+- historical <EM>curses</EM> implementations, it varied depending on whether the
+- operating system's dispatch of a signal to a handler interrupted a
++ The behavior of <EM>wgetch</EM> in the presence of signal handlers is not
++ documented in SVr4 <EM>curses</EM> and is unspecified by X/Open Curses. In
++ historical <EM>curses</EM> implementations, it varied depending on whether the
++ operating system's dispatch of a signal to a handler interrupted a
+ <STRONG>read(2)</STRONG> call in progress, and also (in some implementations) whether an
+- input timeout or non-blocking mode had been set. A portable <EM>curses</EM>
+- application prepares for two cases: (a) signal receipt does not
+- interrupt <STRONG>wgetch</STRONG>; or (b) signal receipt interrupts <STRONG>wgetch</STRONG> and causes it
+- to return <STRONG>ERR</STRONG> with <STRONG>errno</STRONG> set to <STRONG>EINTR</STRONG>.
++ input timeout or non-blocking mode had been set. A portable <EM>curses</EM>
++ application prepares for two cases: (a) signal receipt does not
++ interrupt <EM>wgetch</EM>; or (b) signal receipt interrupts <EM>wgetch</EM> and causes it
++ to return <EM>ERR</EM> with <EM>errno</EM> set to <EM>EINTR</EM>.
+
+- <STRONG>KEY_MOUSE</STRONG> is mentioned in X/Open Curses, along with a few related <EM>term-</EM>
+- <EM>info</EM> capabilities, but no higher-level functions use the feature. The
++ <EM>KEY</EM><STRONG>_</STRONG><EM>MOUSE</EM> is mentioned in X/Open Curses, along with a few related <EM>term-</EM>
++ <EM>info</EM> capabilities, but no higher-level functions use the feature. The
+ implementation in <EM>ncurses</EM> is an extension.
+
+- <STRONG>KEY_RESIZE</STRONG> and <STRONG>has_key</STRONG> are extensions first implemented for <EM>ncurses</EM>.
++ <EM>KEY</EM><STRONG>_</STRONG><EM>RESIZE</EM> and <EM>has</EM><STRONG>_</STRONG><EM>key</EM> are extensions first implemented for <EM>ncurses</EM>.
+ By 2022, <EM>PDCurses</EM> and NetBSD <EM>curses</EM> had added them along with
+- <STRONG>KEY_MOUSE</STRONG>.
++ <EM>KEY</EM><STRONG>_</STRONG><EM>MOUSE</EM>.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+- ECMA-6 "7-bit coded Character Set" &lt;https://ecma-international.org/
++ ECMA-6 "7-bit coded Character Set" &lt;https://ecma-international.org/
+ publications-and-standards/standards/ecma-6/&gt;
+
+- ECMA-48 "Control Functions for Coded Character Sets" &lt;https://
++ ECMA-48 "Control Functions for Coded Character Sets" &lt;https://
+ ecma-international.org/publications-and-standards/standards/ecma-48/&gt;
+
+- <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
++ <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ in its wide-character configuration (<EM>ncursesw</EM>).
+
+- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,
+- <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
++ <STRONG><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_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,
++ <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
+ <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG>ascii(7)</STRONG>
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_getstr.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_getstr.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_getstr.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_getstr.3x,v 1.80 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_getstr.3x,v 1.85 2025/02/01 22:49:13 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_getstr 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_getstr 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_getstr 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_getstr 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+
+@@ -170,10 +170,10 @@
+ interpreted, as well as any special keys (such as function keys,
+ "home" key, "clear" key, <EM>etc.</EM>)
+
+- without further detail. It lied. In fact, the "character" value
+- appended to the string by those implementations was predictable but not
+- useful -- being, in fact, the low-order eight bits of the key code's
+- <EM>KEY</EM><STRONG>_</STRONG> constant value. (The same language, unchanged except for styling,
++ without further detail. It lied. The "character" value appended to
++ the string by those implementations was predictable but not useful --
++ being, in fact, the low-order eight bits of the key code's <EM>KEY</EM><STRONG>_</STRONG>
++ constant value. (The same language, unchanged except for styling,
+ survived into X/Open Curses Issue 4, Version 2 but disappeared from
+ Issue 7.)
+
+@@ -249,12 +249,12 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- 4BSD (1980) <EM>curses</EM> introduced <EM>wgetstr</EM> along with its variants.
++ 4BSD (1980) introduced <EM>wgetstr</EM> along with its variants.
+
+ SVr3.1 (1987) added <EM>wgetnstr</EM>, but none of its variants.
+
+- X/Open Curses Issue 4 (1995) specified <EM>getnstr</EM>, <EM>mvwgetnstr</EM>, and
+- <EM>mvgetnstr</EM>.
++ X/Open Curses Issue 4 (1995) specified <EM>getnstr</EM>, <EM>mvgetnstr</EM>, and
++ <EM>mvwgetnstr</EM>.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -266,7 +266,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_getyx.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_getyx.3x.html 2025-01-19 00:54:58.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_getyx.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_getyx.3x,v 1.53 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_getyx.3x,v 1.55 2025/02/01 22:48:11 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_getyx 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_getyx 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_getyx 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_getyx 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+
+@@ -105,7 +105,7 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- 4BSD (1980) <EM>curses</EM> introduced <EM>getyx</EM>.
++ 4BSD (1980) introduced <EM>getyx</EM>.
+
+ SVr3 (1987) added <EM>getbegyx</EM> and <EM>getmaxyx</EM>. SVr3.1 later that year
+ supplied <EM>getparyx</EM>.
+@@ -116,7 +116,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_in_wch.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_in_wch.3x.html 2025-01-19 00:54:59.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_in_wch.3x.html 2025-02-02 00:43:57.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.42 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_in_wch.3x,v 1.44 2025/02/01 22:54:32 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 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_in_wch 3x 2025-02-01 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 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_in_wch 3x 2025-02-01 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>
+
+@@ -90,10 +90,10 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- These functions were initially specified by X/Open Curses Issue 4
+- (1995). The System V Interface Definition Version 4 of the same year
+- 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
++ X/Open Curses Issue 4 (1995) initially specified these functions. The
++ System V Interface Definition Version 4 of the same year 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>.
+
+@@ -106,7 +106,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_in_wchstr.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_in_wchstr.3x.html 2025-01-19 00:54:59.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_in_wchstr.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_in_wchstr.3x,v 1.46 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_in_wchstr.3x,v 1.48 2025/02/01 22:54:32 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_wchstr 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_in_wchstr 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_in_wchstr 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_in_wchstr 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+
+@@ -110,12 +110,12 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- These functions were initially specified by X/Open Curses Issue 4
+- (1995). The System V Interface Definition Version 4 of the same year
+- specified a function named <EM>winwchstr</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>wchstr</EM> in that it took an argument
+- of type pointer-to-<EM>chtype</EM> instead of pointer-to<EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
++ X/Open Curses Issue 4 (1995) initially specified these functions. The
++ System V Interface Definition Version 4 of the same year specified a
++ function named <EM>winwchstr</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>wchstr</EM> in that it took an argument of
++ type pointer-to-<EM>chtype</EM> instead of pointer-to<EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -126,7 +126,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_initscr.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_initscr.3x.html 2025-01-19 00:54:59.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_initscr.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_initscr.3x,v 1.86 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_initscr.3x,v 1.92 2025/02/02 00:01: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_initscr 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_initscr 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_initscr 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_initscr 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+
+@@ -143,7 +143,7 @@
+
+ <STRONG>o</STRONG> restores terminal modes (see <STRONG><A HREF="curs_kernel.3x.html">reset_shell_mode(3x)</A></STRONG>).
+
+- Calling <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> after a temporary escape causes
++ Calling <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> after a temporary suspension causes
+ <EM>curses</EM> to resume managing the terminal.
+
+
+@@ -187,7 +187,56 @@
+ and <STRONG>stdscr</STRONG>.
+
+ Functions that return pointers return <EM>NULL</EM> on error. In <EM>ncurses</EM>,
+- <STRONG>set_term</STRONG> does not fail.
++ <STRONG>set_term</STRONG> does not fail, and <STRONG>initscr</STRONG> exits the application if it does
++ not operate successfully.
++
++
++</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
++ <EM>ncurses</EM> establishes signal handlers when a function that initializes a
++ <EM>SCREEN</EM>, either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>, is first called. Applications that
++ wish to handle the following signals themselves should set up their
++ corresponding handlers <EM>after</EM> initializing the screen.
++
++ <EM>SIGINT</EM> <EM>ncurses</EM>'s handler <EM>attempts</EM> to clean up the screen on exit.
++ Although it <EM>usually</EM> works as expected, there are limitations.
++
++ <STRONG>o</STRONG> Walking the <EM>SCREEN</EM> list is unsafe, since all list management
++ is done without any signal blocking.
++
++ <STRONG>o</STRONG> When an application has been built with the <STRONG>_</STRONG><EM>REENTRANT</EM> macro
++ defined (and corresponding system support), <STRONG>set_term</STRONG> uses
++ functions that could deadlock or misbehave in other ways.
++
++ <STRONG>o</STRONG> <STRONG>endwin</STRONG> calls other functions, many of which use <STRONG>stdio(3)</STRONG> or
++ other library functions that are clearly unsafe.
++
++ <EM>SIGTERM</EM>
++ <EM>ncurses</EM> uses the same handler as for <EM>SIGINT</EM>, with the same
++ limitations. It is not mentioned in X/Open Curses, but is more
++ suitable for this purpose than <EM>SIGQUIT</EM> (which is used in
++ debugging).
++
++ <EM>SIGTSTP</EM>
++ <EM>ncurses</EM>'s handler manages the terminal-generated stop signal,
++ used in job control. When resuming the process, <EM>ncurses</EM>
++ discards pending input with <STRONG><A HREF="curs_util.3x.html">flushinp(3x)</A></STRONG> and repaints the
++ screen, assuming that it has been completely altered. It also
++ updates the saved terminal modes with <STRONG><A HREF="curs_kernel.3x.html">def_shell_mode(3x)</A></STRONG>.
++
++ <EM>SIGWINCH</EM>
++ <EM>ncurses</EM> handles changes to the terminal's window size, a
++ phenomenon ignored in standardization efforts. It sets a
++ (signal-safe) variable that is later tested by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> and
++ <STRONG><A HREF="curs_get_wch.3x.html">wget_wch(3x)</A></STRONG>.
++
++ <STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns the key code <STRONG>KEY_RESIZE</STRONG>.
++
++ <STRONG>o</STRONG> <STRONG>wget_wch</STRONG> returns <STRONG>KEY_CODE_YES</STRONG> and sets its <EM>wch</EM> parameter to
++ <STRONG>KEY_RESIZE</STRONG>.
++
++ At the same time, <EM>ncurses</EM> calls <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> to adjust the
++ standard screen <STRONG>stdscr</STRONG>, and update global variables such as
++ <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG>.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+@@ -197,120 +246,80 @@
+
+ </PRE><H3><a name="h3-Differences">Differences</a></H3><PRE>
+ X/Open Curses specifies that portable applications must not call
+- <STRONG>initscr</STRONG> more than once:
++ <EM>initscr</EM> more than once.
+
+- <STRONG>o</STRONG> The portable way to use <STRONG>initscr</STRONG> is once only, using <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> to
+- restore the screen after <STRONG>endwin</STRONG>.
++ <STRONG>o</STRONG> The portable way to use <EM>initscr</EM> is once only, using <EM>refresh</EM> to
++ restore the screen after <EM>endwin</EM>.
+
+- <STRONG>o</STRONG> This implementation allows using <STRONG>initscr</STRONG> after <STRONG>endwin</STRONG>.
++ <STRONG>o</STRONG> <EM>ncurses</EM> permits use of <EM>initscr</EM> after <EM>endwin</EM>.
+
+- Old versions of curses, e.g., BSD 4.4, would return a null pointer from
+- <STRONG>initscr</STRONG> when an error is detected, rather than exiting. It is safe but
+- redundant to check the return value of <STRONG>initscr</STRONG> in X/Open Curses.
++ <EM>initscr</EM> in BSD, from its inception (1980) through the Net/2 release
++ (1991) returned <EM>ERR</EM> cast to a <EM>WINDOW</EM> pointer when detecting an error.
++ 4.4BSD (1995) instead returned a null pointer. Neither exited the
++ application. It is safe but redundant to check the return value of
++ <EM>initscr</EM> in X/Open Curses.
+
+- Calling <STRONG>endwin</STRONG> does not dispose of the memory allocated in <STRONG>initscr</STRONG> or
+- <STRONG>newterm</STRONG>. Deleting a <EM>SCREEN</EM> provides a way to do this:
++ Calling <EM>endwin</EM> does not dispose of the memory allocated by <EM>initscr</EM> or
++ <EM>newterm</EM>. Deleting a <EM>SCREEN</EM> provides a way to do this.
+
+- <STRONG>o</STRONG> X/Open Curses does not say what happens to <EM>WINDOW</EM>s when <STRONG>delscreen</STRONG>
++ <STRONG>o</STRONG> X/Open Curses does not say what happens to <EM>WINDOW</EM>s when <EM>delscreen</EM>
+ "frees storage associated with the <EM>SCREEN</EM>" nor does the SVr4
+- documentation help, adding that it should be called after <STRONG>endwin</STRONG> if
++ documentation help, adding that it should be called after <EM>endwin</EM> if
+ a <EM>SCREEN</EM> is no longer needed.
+
+- <STRONG>o</STRONG> However, <EM>WINDOW</EM>s are implicitly associated with a <EM>SCREEN</EM>. so that
+- it is reasonable to expect <STRONG>delscreen</STRONG> to deal with these.
++ <STRONG>o</STRONG> However, <EM>WINDOW</EM>s are implicitly associated with a <EM>SCREEN</EM>, so it is
++ reasonable to expect <EM>delscreen</EM> to dispose of them.
++
++ <STRONG>o</STRONG> SVr4 deletes the standard <EM>WINDOW</EM> structures <EM>stdscr</EM> and <EM>curscr</EM> as
++ well as a work area <EM>newscr</EM>. It ignores other windows.
+
+- <STRONG>o</STRONG> SVr4 curses deletes the standard <EM>WINDOW</EM> structures <STRONG>stdscr</STRONG> and
+- <STRONG>curscr</STRONG> as well as a work area <STRONG>newscr</STRONG>. SVr4 curses ignores other
+- windows.
+-
+- <STRONG>o</STRONG> Since version 4.0 (1996), <EM>ncurses</EM> has maintained a list of all
+- windows for each screen, using that information to delete those
+- windows when <STRONG>delscreen</STRONG> is called.
++ <STRONG>o</STRONG> Since version 4.0 (1996), <EM>ncurses</EM> has maintained a list of all
++ windows for each screen, using that information to delete those
++ windows when <EM>delscreen</EM> is called.
+
+- <STRONG>o</STRONG> NetBSD copied this feature of <EM>ncurses</EM> in 2001. <EM>PDCurses</EM> follows
++ <STRONG>o</STRONG> NetBSD copied this feature of <EM>ncurses</EM> in 2001. <EM>PDCurses</EM> follows
+ the SVr4 model, deleting only the standard <EM>WINDOW</EM> structures.
+
+
+ </PRE><H3><a name="h3-High-level-versus-Low-level">High-level versus Low-level</a></H3><PRE>
+- Different implementations may disagree regarding the level of some
+- functions. For example, <EM>SCREEN</EM> (returned by <STRONG>newterm</STRONG>) and <EM>TERMINAL</EM>
+- (returned by <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>) hold file descriptors for the output
+- stream. If an application switches screens using <STRONG>set_term</STRONG>, or switches
++ Different implementations may disagree regarding the level of some
++ functions. For example, <EM>SCREEN</EM> (returned by <EM>newterm</EM>) and <EM>TERMINAL</EM>
++ (returned by <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>) hold file descriptors for the output
++ stream. If an application switches screens using <EM>set</EM><STRONG>_</STRONG><EM>term</EM>, or switches
+ terminals using <STRONG><A HREF="curs_terminfo.3x.html">set_curterm(3x)</A></STRONG>, applications which use the output file
+- descriptor can have different behavior depending on which structure
++ descriptor can have different behavior depending on which structure
+ holds the corresponding descriptor.
+
+- <STRONG>o</STRONG> NetBSD's <EM>baudrate</EM> function uses the descriptor in <EM>TERMINAL</EM>.
+- <EM>ncurses</EM> and SVr4 <EM>curses</EM> use the descriptor in <EM>SCREEN</EM>.
++ <STRONG>o</STRONG> NetBSD's <EM>baudrate</EM> function uses the descriptor in <EM>TERMINAL</EM>.
++ <EM>ncurses</EM> and SVr4 use the descriptor in <EM>SCREEN</EM>.
+
+- <STRONG>o</STRONG> NetBSD and <EM>ncurses</EM> use the descriptor in <EM>TERMINAL</EM> for terminal I/O
+- modes, e.g., <STRONG><A HREF="curs_kernel.3x.html">def_shell_mode(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">def_prog_mode(3x)</A></STRONG>. SVr4 curses
+- uses the descriptor in <EM>SCREEN</EM>.
++ <STRONG>o</STRONG> NetBSD and <EM>ncurses</EM> use the descriptor in <EM>TERMINAL</EM> for terminal I/O
++ modes, e.g., <STRONG><A HREF="curs_kernel.3x.html">def_shell_mode(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">def_prog_mode(3x)</A></STRONG>. SVr4 uses the
++ descriptor in <EM>SCREEN</EM>.
+
+ <STRONG>Unset</STRONG> <EM>TERM</EM> <STRONG>Variable</STRONG>
+- If the <EM>TERM</EM> variable is missing or empty, <STRONG>initscr</STRONG> uses the value
+- "unknown", which normally corresponds to a terminal entry with the
++ If the <EM>TERM</EM> variable is missing or empty, <EM>initscr</EM> uses the value
++ "unknown", which normally corresponds to a terminal entry with the
+ <STRONG>generic</STRONG> (<STRONG>gn</STRONG>) capability. Generic entries are detected by <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>
+- and cannot be used for full-screen operation. Other implementations
++ and cannot be used for full-screen operation. Other implementations
+ may handle a missing/empty <EM>TERM</EM> variable differently.
+
+
+ </PRE><H3><a name="h3-Signal-Handlers">Signal Handlers</a></H3><PRE>
+- Quoting from X/Open Curses Issue 7, section 3.1.1:
++ Quoting X/Open Curses Issue 7, section 3.1.1:
+
+- Curses implementations may provide for special handling of the
+- SIGINT, SIGQUIT, and SIGTSTP signals if their disposition is
+- SIG_DFL at the time <EM>initscr</EM> is called...
++ Curses implementations may provide for special handling of the
++ SIGINT, SIGQUIT, and SIGTSTP signals if their disposition is
++ SIG_DFL at the time <EM>initscr</EM>() is called...
+
+- Any special handling for these signals may remain in effect for
++ Any special handling for these signals may remain in effect for
+ the life of the process or until the process changes the
+ disposition of the signal.
+
+- None of the Curses functions are required to be safe with respect
++ None of the Curses functions are required to be safe with respect
+ to signals...
+
+- This implementation establishes signal handlers during initialization,
+- e.g., <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. Applications which must handle these signals
+- should set up the corresponding handlers <EM>after</EM> initializing the
+- library:
+-
+- <STRONG>SIGINT</STRONG>
+- The handler <EM>attempts</EM> to clean up the screen on exit. Although it
+- <EM>usually</EM> works as expected, there are limitations:
+-
+- <STRONG>o</STRONG> Walking the <EM>SCREEN</EM> list is unsafe, since all list management
+- is done without any signal blocking.
+-
+- <STRONG>o</STRONG> On systems which have <STRONG>REENTRANT</STRONG> turned on, <STRONG>set_term</STRONG> uses
+- functions which could deadlock or misbehave in other ways.
+-
+- <STRONG>o</STRONG> <STRONG>endwin</STRONG> calls other functions, many of which use <STRONG>stdio(3)</STRONG> or
+- other library functions which are clearly unsafe.
+-
+- <STRONG>SIGTERM</STRONG>
+- This uses the same handler as <STRONG>SIGINT</STRONG>, with the same limitations.
+- It is not mentioned in X/Open Curses, but is more suitable for
+- this purpose than <STRONG>SIGQUIT</STRONG> (which is used in debugging).
+-
+- <STRONG>SIGTSTP</STRONG>
+- This handles the <EM>stop</EM> signal, used in job control. When resuming
+- the process, this implementation discards pending input with
+- <STRONG><A HREF="curs_util.3x.html">flushinp(3x)</A></STRONG>, and repaints the screen assuming that it has been
+- completely altered. It also updates the saved terminal modes with
+- <STRONG><A HREF="curs_kernel.3x.html">def_shell_mode(3x)</A></STRONG>.
+-
+- <STRONG>SIGWINCH</STRONG>
+- This handles the window-size changes which were ignored in the
+- standardization efforts. The handler sets a (signal-safe)
+- variable that is later tested by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> and <STRONG><A HREF="curs_get_wch.3x.html">wget_wch(3x)</A></STRONG>.
+-
+- <STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns the key code <STRONG>KEY_RESIZE</STRONG>.
+-
+- <STRONG>o</STRONG> <STRONG>wget_wch</STRONG> returns <STRONG>KEY_CODE_YES</STRONG> and sets its <EM>wch</EM> parameter to
+- <STRONG>KEY_RESIZE</STRONG>.
+-
+- At the same time, <EM>ncurses</EM> calls <STRONG>resizeterm</STRONG> to adjust the standard
+- screen <STRONG>stdscr</STRONG>, and update other data such as <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG>.
++ Section "NOTES" above discusses <EM>ncurses</EM>'s signal handlers.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -319,7 +328,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -336,6 +345,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-PORTABILITY">PORTABILITY</a>
+ <ul>
+ <li><a href="#h3-Differences">Differences</a></li>
+Index: doc/html/man/curs_inopts.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_inopts.3x.html 2025-01-19 00:54:59.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_inopts.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_inopts.3x,v 1.89 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_inopts.3x,v 1.93 2025/02/02 00:02: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_inopts 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_inopts 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_inopts 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_inopts 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+
+@@ -93,11 +93,11 @@
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <EM>curses</EM> offers configurable parameters permitting an application to
+- control the handling of input from the terminal. Some are global,
+- applying to all windows; others apply only to a specific window. The
+- library does not automatically apply such parameters to new or derived
+- windows; an application must configure each window for the desired
+- behavior.
++ control the handling of input from the terminal. Some, such as those
++ affecting the terminal's <EM>mode</EM> or line discipline, are global, applying
++ to all windows; others apply only to a specific window. The library
++ does not automatically apply such parameters to new or derived windows;
++ an application must configure each window for the desired behavior.
+
+ Some descriptions below make reference to an <EM>input</EM> <EM>character</EM> <EM>reading</EM>
+ <EM>function</EM>: this is <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> in the non-wide character <EM>curses</EM> API and
+@@ -110,109 +110,113 @@
+ </PRE><H3><a name="h3-cbreak_nocbreak">cbreak, nocbreak</a></H3><PRE>
+ Normally, the terminal driver buffers typed characters, not delivering
+ them to an application until a line feed or carriage return is typed.
+- <STRONG>cbreak</STRONG> configures the terminal in <EM>cbreak</EM> <EM>mode</EM>, which disables line
+- buffering and erase and kill character processing (the interrupt, quit,
+- suspend, and flow control characters are unaffected) and makes
+- characters typed by the user immediately available to the program.
+- <STRONG>nocbreak</STRONG> restores the terminal's canonical ("cooked") line discipline.
++ This canonical ("cooked") line discipline also supports software flow
++ control, simple line editing functions (character and word erase, and
++ whole-line erasure or "kill"), and job control. <STRONG>cbreak</STRONG> configures the
++ terminal in <EM>cbreak</EM> <EM>mode</EM>, which disables line buffering and erase and
++ kill character processing -- the interrupt, quit, suspend, and flow
++ control characters are unaffected -- and makes characters typed by the
++ user immediately available to the program. <STRONG>nocbreak</STRONG> restores canonical
++ ("cooked") mode.
+
+- The state of the terminal is unknown to a <EM>curses</EM> application when it
++ The state of the terminal is unknown to a <EM>curses</EM> application when it
+ starts; therefore, a program should call <STRONG>cbreak</STRONG> or <STRONG>nocbreak</STRONG> explicitly.
+ Most interactive programs using <EM>curses</EM> set cbreak mode. Calling <STRONG>cbreak</STRONG>
+- overrides <STRONG>raw</STRONG>. The man page for the input character reading function
++ overrides <STRONG>raw</STRONG>. The man page for the input character reading function
+ discusses how <STRONG>cbreak</STRONG> and <STRONG>nocbreak</STRONG> interact with <STRONG>echo</STRONG> and <STRONG>noecho</STRONG>.
+
+
+ </PRE><H3><a name="h3-echo_noecho">echo, noecho</a></H3><PRE>
+- <STRONG>echo</STRONG> and <STRONG>noecho</STRONG> determine whether characters typed by the user are
++ <STRONG>echo</STRONG> and <STRONG>noecho</STRONG> determine whether characters typed by the user are
+ written to the <EM>curses</EM> window by the input character reading function as
+- they are typed. <EM>curses</EM> always disables the terminal driver's own
++ they are typed. <EM>curses</EM> always disables the terminal driver's own
+ echoing. By default, a <EM>curses</EM> screen's echo option is set. Authors of
+ most interactive programs prefer to do their own echoing in a
+- controlled area of the screen, or not to echo at all, so they call
++ controlled area of the screen, or not to echo at all, so they call
+ <STRONG>noecho</STRONG>. The man page for the input character reading function
+ discusses how <STRONG>echo</STRONG> and <STRONG>noecho</STRONG> interact with <STRONG>cbreak</STRONG> and <STRONG>nocbreak</STRONG>.
+
+
+ </PRE><H3><a name="h3-halfdelay">halfdelay</a></H3><PRE>
+- <STRONG>halfdelay</STRONG> configures <EM>half-delay</EM> <EM>mode</EM>, which is similar to cbreak mode
+- in that characters typed by the user are immediately available to the
+- program. However, after blocking for <EM>tenths</EM> tenth-seconds, an input
+- character reading function returns <STRONG>ERR</STRONG> if no input is pending. The
++ <STRONG>halfdelay</STRONG> configures <EM>half-delay</EM> <EM>mode</EM>, which is similar to cbreak mode
++ in that characters typed by the user are immediately available to the
++ program. However, after blocking for <EM>tenths</EM> tenth-seconds, an input
++ character reading function returns <STRONG>ERR</STRONG> if no input is pending. The
+ value of <EM>tenths</EM> must be between 1 and 255. Use <STRONG>nocbreak</STRONG> to leave half-
+ delay mode.
+
+
+ </PRE><H3><a name="h3-intrflush">intrflush</a></H3><PRE>
+- <STRONG>intrflush</STRONG> calls <STRONG>qiflush</STRONG> (see below) if <EM>bf</EM> is <STRONG>TRUE</STRONG>, and <STRONG>noqiflush</STRONG> if <EM>bf</EM>
++ <STRONG>intrflush</STRONG> calls <STRONG>qiflush</STRONG> (see below) if <EM>bf</EM> is <STRONG>TRUE</STRONG>, and <STRONG>noqiflush</STRONG> if <EM>bf</EM>
+ is <STRONG>FALSE</STRONG>. It ignores its <EM>win</EM> argument.
+
+
+ </PRE><H3><a name="h3-keypad">keypad</a></H3><PRE>
+- <STRONG>keypad</STRONG> enables recognition of a terminal's function keys. If enabled
+- (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the input character reading function returns a value
+- representing the function key, such as <STRONG>KEY_LEFT</STRONG>. (Wide-character API
+- users: <STRONG><A HREF="curs_get_wch.3x.html">wget_wch(3x)</A></STRONG> returns <STRONG>KEY_CODE_YES</STRONG> to indicate the availability
+- of a function key code in its <EM>wch</EM> parameter.) If disabled (<EM>bf</EM> is
+- <STRONG>FALSE</STRONG>), <EM>curses</EM> does not treat function keys specially and the program
++ <STRONG>keypad</STRONG> enables recognition of a terminal's function keys. If enabled
++ (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the input character reading function returns a value
++ representing the function key, such as <STRONG>KEY_LEFT</STRONG>. (Wide-character API
++ users: <STRONG><A HREF="curs_get_wch.3x.html">wget_wch(3x)</A></STRONG> returns <STRONG>KEY_CODE_YES</STRONG> to indicate the availability
++ of a function key code in its <EM>wch</EM> parameter.) If disabled (<EM>bf</EM> is
++ <STRONG>FALSE</STRONG>), <EM>curses</EM> does not treat function keys specially and the program
+ has to interpret escape sequences itself. If the terminal's keypad can
+- be turned on (made to transmit) and off (made to work locally), <STRONG>keypad</STRONG>
+- configures it consistently with the <EM>bf</EM> parameter. By default, a
++ be turned on (made to transmit) and off (made to work locally), <STRONG>keypad</STRONG>
++ configures it consistently with the <EM>bf</EM> parameter. By default, a
+ window's keypad mode is off.
+
+
+ </PRE><H3><a name="h3-meta">meta</a></H3><PRE>
+- Initially, whether the terminal returns 7- or 8-bit character codes on
+- input depends on the configuration of the terminal driver; on POSIX
+- systems, see <STRONG>termios(3)</STRONG>. To force 8 bits to be returned, call
+- <STRONG>meta(</STRONG>...<STRONG>,</STRONG> <STRONG>TRUE)</STRONG>; this is equivalent, on POSIX systems, to setting the
+- CS8 flag on the terminal. To force 7 bits to be returned, call
+- <STRONG>meta(</STRONG>...<STRONG>,</STRONG> <STRONG>FALSE)</STRONG>; this is equivalent, on POSIX systems, to setting the
+- CS7 flag on the terminal. The window argument, <EM>win</EM>, is always ignored.
+- If the <EM>terminfo</EM> string capabilities <STRONG>meta_on</STRONG> (<STRONG>smm</STRONG>) and <STRONG>meta_off</STRONG> (<STRONG>rmm</STRONG>)
+- are defined for the terminal type, enabling meta mode sends <STRONG>smm</STRONG> to the
++ Initially, whether the terminal returns 7- or 8-bit character codes on
++ input depends on the configuration of the terminal driver; on POSIX
++ systems, see <STRONG>termios(3)</STRONG>. To force 8 bits to be returned, call
++ <STRONG>meta(</STRONG>...<STRONG>,</STRONG> <STRONG>TRUE)</STRONG>; this is equivalent, on POSIX systems, to setting the
++ CS8 flag on the terminal. To force 7 bits to be returned, call
++ <STRONG>meta(</STRONG>...<STRONG>,</STRONG> <STRONG>FALSE)</STRONG>; this is equivalent, on POSIX systems, to setting the
++ CS7 flag on the terminal. <EM>curses</EM> ignores the window argument <EM>win</EM>. If
++ the <EM>terminfo</EM> string capabilities <STRONG>meta_on</STRONG> (<STRONG>smm</STRONG>) and <STRONG>meta_off</STRONG> (<STRONG>rmm</STRONG>) are
++ defined for the terminal type, enabling meta mode sends <STRONG>smm</STRONG> to the
+ terminal and disabling it sends <STRONG>rmm</STRONG> to the terminal.
+
+
+ </PRE><H3><a name="h3-nl_nonl">nl, nonl</a></H3><PRE>
+- Initially, whether the terminal reports a carriage return using the
+- character code for a line feed in cbreak or raw modes depends on the
+- configuration of the terminal driver; see <STRONG>termios(3)</STRONG>. <STRONG>nl</STRONG> configures
++ Initially, whether the terminal reports a carriage return using the
++ character code for a line feed in cbreak or raw modes depends on the
++ configuration of the terminal driver; see <STRONG>termios(3)</STRONG>. <STRONG>nl</STRONG> configures
+ the terminal to perform this translation. <STRONG>nonl</STRONG> disables it. Under its
+ canonical ("cooked") line discipline, the terminal driver always
+ translates carriage returns to line feeds.
+
+
+ </PRE><H3><a name="h3-nodelay">nodelay</a></H3><PRE>
+- <STRONG>nodelay</STRONG> configures the input character reading function to be non-
+- blocking for window <EM>win</EM>. If no input is ready, the reading function
+- returns <STRONG>ERR</STRONG>. If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the reading function does not
++ <STRONG>nodelay</STRONG> configures the input character reading function to be non-
++ blocking for window <EM>win</EM>. If no input is ready, the reading function
++ returns <STRONG>ERR</STRONG>. If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the reading function does not
+ return until it has input.
+
+
+ </PRE><H3><a name="h3-notimeout">notimeout</a></H3><PRE>
+- When the input character reading function reads an ESC character, it
+- sets a timer while waiting for the next character. <STRONG>notimeout(</STRONG><EM>win</EM><STRONG>,</STRONG>
+- <STRONG>TRUE)</STRONG> disables this timer. The purpose of the timeout is to
+- distinguish sequences produced by a function key from those typed by a
+- user. To configure the timeout rather than disabling it, see <STRONG>wtimeout</STRONG>
++ When the input character reading function reads an ESC character, it
++ sets a timer while waiting for the next character. <STRONG>notimeout(</STRONG><EM>win</EM><STRONG>,</STRONG>
++ <STRONG>TRUE)</STRONG> disables this timer. The purpose of the timeout is to
++ distinguish sequences produced by a function key from those typed by a
++ user. To configure the timeout rather than disabling it, see <STRONG>wtimeout</STRONG>
+ below.
+
+
+ </PRE><H3><a name="h3-qiflush_noqiflush">qiflush, noqiflush</a></H3><PRE>
+- <STRONG>qiflush</STRONG> and <STRONG>noqiflush</STRONG> configure the terminal driver's treatment of its
++ <STRONG>qiflush</STRONG> and <STRONG>noqiflush</STRONG> configure the terminal driver's treatment of its
+ input and output queues when it handles the interrupt, suspend, or quit
+ characters under the canonical ("cooked") or cbreak line disciplines on
+- POSIX systems; see <STRONG>termios(3)</STRONG>. The default behavior is inherited from
+- the terminal driver settings. Calling <STRONG>qiflush</STRONG> configures the terminal
+- to flush the queues when any of these events occurs, giving the
+- impression of faster response to user input, but making the library's
+- model of the screen contents incorrect. Calling <STRONG>noqiflush</STRONG> prevents
+- such flushing, but might frustrate impatient users on slow connections
+- if a <EM>curses</EM> update of the screen is in progress when the event occurs;
+- see <STRONG>typeahead</STRONG> below for a mitigation of this problem. You may want to
+- call <STRONG>noqiflush</STRONG> in a signal handler if, after the handler exits, you
+- want output to continue as though the interrupt had not occurred.
++ POSIX systems; see <STRONG>termios(3)</STRONG>. The default behavior is inherited from
++ the terminal driver settings. Calling <STRONG>qiflush</STRONG> configures the terminal
++ to <EM>flush</EM> the queues (discarding their contents) when any of these
++ events occurs, giving the impression of faster response to user input,
++ but making the library's model of the screen contents incorrect.
++ Calling <STRONG>noqiflush</STRONG> prevents such flushing, but might frustrate impatient
++ users on slow connections if a <EM>curses</EM> update of the screen is in
++ progress when the event occurs; see <STRONG>typeahead</STRONG> below for a mitigation of
++ this problem. You may want to call <STRONG>noqiflush</STRONG> in a signal handler if,
++ after the handler exits, you want output to continue as though the
++ interrupt had not occurred.
+
+
+ </PRE><H3><a name="h3-raw_noraw">raw, noraw</a></H3><PRE>
+@@ -229,8 +233,8 @@
+ </PRE><H3><a name="h3-timeout_wtimeout">timeout, wtimeout</a></H3><PRE>
+ <STRONG>wtimeout</STRONG> configures whether a <EM>curses</EM> input character reading function
+ called on window <EM>win</EM> uses blocking or non-blocking reads. If <EM>delay</EM> is
+- negative, a blocking read is used, waiting indefinitely for input. If
+- <EM>delay</EM> is zero, a non-blocking read is used; an input character reading
++ negative, <EM>curses</EM> uses a blocking read, waiting indefinitely for input.
++ If <EM>delay</EM> is zero, the read is non-blocking; an input character reading
+ function returns <STRONG>ERR</STRONG> if no input is pending. If <EM>delay</EM> is positive, an
+ input character reading function blocks for <EM>delay</EM> milliseconds, and
+ returns <STRONG>ERR</STRONG> if the delay elapses and there is still no input pending.
+@@ -350,11 +354,11 @@
+ key code to be reported. In <EM>ncurses</EM>, extended capabilities can be
+ interpreted as key definitions. These are loaded after the predefined
+ keys, and if a capability's value is the same as a previously loaded
+- key definition, the later definition is the one used.
++ key definition, the library uses the later definition.
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- 4BSD <EM>curses</EM> (1980) introduced <EM>echo</EM>, <EM>noecho</EM>, <EM>nl</EM>, <EM>nonl</EM>, <EM>raw</EM>, and <EM>noraw</EM>.
++ 4BSD (1980) introduced <EM>echo</EM>, <EM>noecho</EM>, <EM>nl</EM>, <EM>nonl</EM>, <EM>raw</EM>, and <EM>noraw</EM>.
+
+ SVr2 (1984) featured a new terminal driver, extending the <EM>curses</EM> API to
+ support it with <EM>cbreak</EM>, <EM>nocbreak</EM>, <EM>intrflush</EM>, <EM>keypad</EM>, <EM>meta</EM>, <EM>nodelay</EM>, and
+@@ -384,7 +388,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_ins_wch.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_ins_wch.3x.html 2025-01-19 00:54:59.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_ins_wch.3x.html 2025-02-02 00:43:57.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.43 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_ins_wch.3x,v 1.46 2025/02/02 00:00: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_ins_wch 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_ins_wch 3x 2025-02-01 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 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_ins_wch 3x 2025-02-01 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>
+
+@@ -71,16 +71,17 @@
+ </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 <EM>NULL</EM>.
++ Functions taking a <EM>WINDOW</EM> pointer argument fail if <EM>win</EM> is a null
++ pointer.
+
+- Functions prefixed with "mv" first perform cursor movement and fail if
++ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ <STRONG>ins_wch</STRONG>, <STRONG>mvins_wch</STRONG>, and <STRONG>mvwins_wch</STRONG> may be implemented as macros.
+
+- A terminal's <STRONG>insert_character</STRONG> (<STRONG>ich1</STRONG>) capability is not necessarily
++ A terminal's <STRONG>insert_character</STRONG> (<STRONG>ich1</STRONG>) capability is not necessarily
+ employed.
+
+
+@@ -90,11 +91,11 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- These functions were initially specified by X/Open Curses Issue 4
+- (1995). The System V Interface Definition Version 4 of the same year
+- 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
++ X/Open Curses Issue 4 (1995) initially specified these functions. The
++ System V Interface Definition Version 4 of the same year 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>.
+
+
+@@ -106,7 +107,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <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-20250125+/doc/html/man/curs_ins_wstr.3x.html 2025-01-19 00:54:59.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_ins_wstr.3x.html 2025-02-02 00:43:57.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.56 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_ins_wstr.3x,v 1.58 2025/02/01 22:54:32 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 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_ins_wstr 3x 2025-02-01 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 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_ins_wstr 3x 2025-02-01 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>
+
+@@ -125,7 +125,7 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- These functions were initially specified by X/Open Curses Issue 4. The
++ X/Open Curses Issue 4 (1995) initially specified these functions. 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).
+@@ -141,7 +141,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_insch.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_insch.3x.html 2025-01-19 00:54:59.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_insch.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_insch.3x,v 1.49 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_insch.3x,v 1.51 2025/02/02 00:00: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_insch 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_insch 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_insch 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_insch 3x 2025-02-01 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>
+
+@@ -70,23 +70,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.
+
+- Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <EM>NULL</EM>.
++ Functions taking a <EM>WINDOW</EM> pointer argument fail if <EM>win</EM> is a null
++ pointer.
+
+- Functions prefixed with "mv" first perform cursor movement and fail if
++ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ <STRONG>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be implemented as macros.
+
+- A terminal's <STRONG>insert_character</STRONG> (<STRONG>ich1</STRONG>) capability is not necessarily
++ A terminal's <STRONG>insert_character</STRONG> (<STRONG>ich1</STRONG>) capability is not necessarily
+ employed.
+
+
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ X/Open Curses Issue 4 describes these functions.
+
+- SVr4 describes a successful return value only as "an integer value
++ SVr4 describes a successful return value only as "an integer value
+ other than <EM>ERR</EM>".
+
+
+@@ -95,14 +96,14 @@
+
+
+ </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
++ <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.
+
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_insstr.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_insstr.3x.html 2025-01-19 00:54:59.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_insstr.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_insstr.3x,v 1.68 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_insstr.3x,v 1.70 2025/02/01 22:53:03 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_insstr 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_insstr 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_insstr 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_insstr 3x 2025-02-01 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>
+
+@@ -116,8 +116,8 @@
+ Issue 4 distinguished <EM>insnstr</EM> and <EM>winsnstr</EM> 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.
++ No implementation of <EM>curses</EM> manifests this inconsistency, and Issue 7
++ removed the claim.
+
+ 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
+@@ -126,7 +126,7 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- SVr3.1 (1987) introduced <EM>winsstr</EM> and <EM>winsnstr</EM>.
++ SVr3.1 (1987) introduced <EM>winsstr</EM> and <EM>winsnstr</EM> and their variants.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -137,7 +137,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_instr.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_instr.3x.html 2025-01-19 00:54:59.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_instr.3x.html 2025-02-02 00:43:57.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_instr.3x,v 1.68 2025/01/19 00:49:39 tom Exp @
++ * @Id: curs_instr.3x,v 1.70 2025/02/01 22:54:06 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_instr 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_instr 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_instr 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_instr 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+
+@@ -130,18 +130,19 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- SVr3.1 (1987) introduced these functions.
++ SVr3.1 (1987) introduced these functions. <EM>winstr</EM>, <EM>winnstr</EM>, and their
++ variants.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+- <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
++ <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ in its wide-character configuration (<EM>ncursesw</EM>).
+
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_move.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_move.3x.html 2025-01-19 00:54:59.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_move.3x.html 2025-02-02 00:43:58.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_move.3x,v 1.54 2025/01/19 00:51:10 tom Exp @
++ * @Id: curs_move.3x,v 1.57 2025/02/01 22:50: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 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_move 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_move 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_move 3x 2025-02-01 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>
+
+@@ -86,7 +86,7 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- 4BSD (1980) <EM>curses</EM> introduced <EM>wmove</EM>.
++ 4BSD (1980) introduced these functions.
+
+
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+@@ -94,7 +94,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_outopts.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_outopts.3x.html 2025-01-19 00:54:59.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_outopts.3x.html 2025-02-02 00:43:58.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_outopts.3x,v 1.78 2025/01/19 00:51:10 tom Exp @
++ * @Id: curs_outopts.3x,v 1.81 2025/02/01 22:49:13 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 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_outopts 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_outopts 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_outopts 3x 2025-02-01 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>
+
+@@ -184,7 +184,7 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- 4BSD (1980) <EM>curses</EM> introduced <EM>clearok</EM>, <EM>leaveok</EM>, and <EM>scrollok</EM>.
++ 4BSD (1980) introduced <EM>clearok</EM>, <EM>leaveok</EM>, and <EM>scrollok</EM>.
+
+ SVr2 (1984) supplied <EM>idlok</EM>, <EM>setscrreg</EM>, and <EM>wsetscrreg</EM>.
+
+@@ -200,7 +200,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_scroll.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_scroll.3x.html 2025-01-19 00:54:59.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_scroll.3x.html 2025-02-02 00:43:58.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_scroll.3x,v 1.55 2025/01/19 00:51:10 tom Exp @
++ * @Id: curs_scroll.3x,v 1.57 2025/02/02 00:02: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_scroll 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_scroll 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_scroll 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_scroll 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+
+@@ -61,34 +61,38 @@
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <STRONG>scroll</STRONG> scrolls the given window up one line. That is, every visible
+- line we might number <EM>i</EM> becomes line <EM>i</EM>-1. The text of the top line in
+- the window disappears and the bottom line is populated with the
+- background character; see <STRONG><A HREF="curs_bkgd.3x.html">bkgd(3x)</A></STRONG> (wide-character API users:
+- <STRONG><A HREF="curs_bkgrnd.3x.html">bkgrnd(3x)</A></STRONG>). As an optimization, if the scrolling region of the window
+- is the entire screen, the physical screen may be scrolled at the same
+- time; see <STRONG><A HREF="curs_variables.3x.html">curscr(3x)</A></STRONG>.
+-
+- <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> scrolls the specified window <EM>win</EM> up or down per the sign
+- of <EM>n</EM>.
++ line we might number <EM>i</EM> becomes line <EM>i</EM>-1. <STRONG>wscrl</STRONG> and <STRONG>scrl</STRONG> scroll the
++ specified window or <STRONG>stdscr</STRONG>, respectively, up or down per the sign of <EM>n</EM>.
+
+ <STRONG>o</STRONG> For positive <EM>n</EM>, line <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM> (scrolling up);
+
+- <STRONG>o</STRONG> for negative <EM>n</EM>, line <EM>i</EM>-<EM>n</EM> becomes <EM>i</EM> (scrolling down). <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+- describes the <STRONG>scrl</STRONG> variant of this function.
++ <STRONG>o</STRONG> for negative <EM>n</EM>, line <EM>i</EM>-<EM>n</EM> becomes <EM>i</EM> (scrolling down).
++
++ A line that scrolls beyond the window boundaries disappears; <EM>curses</EM>
++ populates a new one emerging at the opposite boundary with the
++ background character; see <STRONG><A HREF="curs_bkgd.3x.html">bkgd(3x)</A></STRONG> (wide-character API users:
++ <STRONG><A HREF="curs_bkgrnd.3x.html">bkgrnd(3x)</A></STRONG>). As an optimization, if the scrolling region of the window
++ is the entire screen, the physical screen may be scrolled at the same
++ time; see <STRONG><A HREF="curs_variables.3x.html">curscr(3x)</A></STRONG>.
+
+- The cursor does not move. These functions perform no operation unless
++ The cursor does not move. These functions perform no operation unless
+ scrolling is enabled for the window via <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>.
+
+
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These functions return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success.
+
+- <EM>ncurses</EM> returns <STRONG>ERR</STRONG> if scrolling is not enabled in the window, for
+- example with <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>, or if the <EM>WINDOW</EM> pointer is null.
++ In <EM>ncurses</EM>, they return <STRONG>ERR</STRONG> if
++
++ <STRONG>o</STRONG> the <EM>curses</EM> screen has not been initialized,
++
++ <STRONG>o</STRONG> <EM>win</EM> is a null pointer, or
++
++ <STRONG>o</STRONG> scrolling is not enabled in the window (as by <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>).
+
+
+ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+- <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> may be implemented as macros.
++ <STRONG>scroll</STRONG> and <STRONG>scrl</STRONG> may be implemented as macros.
+
+ Unusually, there is no <STRONG>wscroll</STRONG> function; <STRONG>scroll</STRONG> behaves as one would
+ expect <STRONG>wscroll</STRONG> to, accepting a <EM>WINDOW</EM> pointer argument.
+@@ -112,12 +116,19 @@
+ character. In <EM>ncurses</EM>, they do not.
+
+
++</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
++ 4BSD (1980) introduced <EM>scroll</EM>, defining it as a function.
++
++ SVr3.1 (1987) added <EM>scrl</EM> and <EM>wscrl</EM>, redefining <EM>scroll</EM> as a macro
++ wrapping the latter.
++
++
+ </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_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+@@ -127,6 +138,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_sp_funcs.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_sp_funcs.3x.html 2025-01-19 00:54:59.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_sp_funcs.3x.html 2025-02-02 00:43:58.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_sp_funcs.3x,v 1.54 2025/01/19 00:51:10 tom Exp @
++ * @Id: curs_sp_funcs.3x,v 1.57 2025/02/01 22:47:44 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_sp_funcs 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_sp_funcs 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_sp_funcs 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_sp_funcs 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+
+@@ -53,169 +53,169 @@
+ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+- <STRONG>int</STRONG> <STRONG>alloc_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>assume_default_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>baudrate_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>beep_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>bool</STRONG> <STRONG>can_change_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>cbreak_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>color_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>b</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>curs_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>visibility</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>def_prog_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>def_shell_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+-
+- <STRONG>int</STRONG> <STRONG>define_key_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>definition</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>delay_output_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>doupdate_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>echo_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>endwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>char</STRONG> <STRONG>erasechar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>erasewchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>alloc_pair_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>assume_default_colors_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>baudrate_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>beep_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>bool</STRONG> <STRONG>can_change_color_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>cbreak_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>color_content_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG> <EM>b</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>curs_set_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>visibility</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>def_prog_mode_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>def_shell_mode_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>define_key_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>definition</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>delay_output_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>doupdate_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>echo_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>endwin_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>char</STRONG> <STRONG>erasechar_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>erasewchar_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>extended_color_content_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>b</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>extended_pair_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>extended_slk_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>extended_pair_content_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>bg</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>extended_slk_color_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+
+- <STRONG>void</STRONG> <STRONG>filter_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>find_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>flash_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>flushinp_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>free_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>get_escdelay_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>getmouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>MEVENT*</STRONG> <EM>event</EM><STRONG>);</STRONG>
+- <STRONG>WINDOW*</STRONG> <STRONG>getwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>FILE*</STRONG> <EM>filep</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>halfdelay_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>tenths</EM><STRONG>);</STRONG>
+- <STRONG>bool</STRONG> <STRONG>has_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+-
+- <STRONG>bool</STRONG> <STRONG>has_ic_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>bool</STRONG> <STRONG>has_il_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
+- <STRONG>bool</STRONG> <STRONG>has_mouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>init_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>init_extended_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>init_extended_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>init_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>intrflush_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>is_cbreak_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+-
+- <STRONG>int</STRONG> <STRONG>is_echo_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>is_nl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>is_raw_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>bool</STRONG> <STRONG>is_term_resized_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
+- <STRONG>bool</STRONG> <STRONG>isendwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>key_defined_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>definition</EM><STRONG>);</STRONG>
+- <STRONG>char*</STRONG> <STRONG>keybound_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>count</EM><STRONG>);</STRONG>
+- <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>keyname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>keyok_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>enable</EM><STRONG>);</STRONG>
+- <STRONG>char</STRONG> <STRONG>killchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+-
+- <STRONG>int</STRONG> <STRONG>killwchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
+- <STRONG>char*</STRONG> <STRONG>longname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mcprint_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>len</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mouseinterval_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>erval</EM><STRONG>);</STRONG>
+- <STRONG>mmask_t</STRONG> <STRONG>mousemask_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvcur_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newcol</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>napms_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
+- <STRONG>WINDOW*</STRONG> <STRONG>newpad_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nrows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>);</STRONG>
+- <STRONG>SCREEN*</STRONG> <STRONG>new_prescr(void);</STRONG>
+- <STRONG>SCREEN*</STRONG> <STRONG>newterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outf</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>infd</EM><STRONG>);</STRONG>
+-
+- <STRONG>WINDOW*</STRONG> <STRONG>newwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>nl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>nocbreak_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>noecho_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>void</STRONG> <STRONG>nofilter_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>nonl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>void</STRONG> <STRONG>noqiflush_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>noraw_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>pair_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+- <STRONG>void</STRONG> <STRONG>qiflush_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+-
+- <STRONG>int</STRONG> <STRONG>raw_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>void</STRONG> <STRONG>reset_color_pairs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>reset_prog_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>reset_shell_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>resetty_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>resize_term_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>resizeterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>ripoffline_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>line</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>init</EM><STRONG>)(WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>));</STRONG>
+- <STRONG>int</STRONG> <STRONG>savetty_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>scr_init_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+-
+- <STRONG>int</STRONG> <STRONG>scr_restore_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>scr_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>set_escdelay_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>set_tabsize_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>cols</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>slk_attrset_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>slk_attr_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>slk_attroff_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>slk_attron_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG>
+- <STRONG>attr_t</STRONG> <STRONG>slk_attr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>slk_clear_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+-
+- <STRONG>int</STRONG> <STRONG>slk_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>slk_init_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
+- <STRONG>char*</STRONG> <STRONG>slk_label_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>labnum</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>slk_noutrefresh_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>slk_refresh_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>slk_restore_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>slk_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>slk_touch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>start_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>attr_t</STRONG> <STRONG>term_attrs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+-
+- <STRONG>chtype</STRONG> <STRONG>termattrs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>char*</STRONG> <STRONG>termname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>typeahead_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fd</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>ungetmouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>MEVENT*</STRONG> <EM>event</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>use_default_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>void</STRONG> <STRONG>use_env_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>use_legacy_coding_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>level</EM><STRONG>);</STRONG>
++ <STRONG>void</STRONG> <STRONG>filter_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>find_pair_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>flash_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>flushinp_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>free_pair_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>get_escdelay_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>getmouse_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>MEVENT</STRONG> <STRONG>*</STRONG> <EM>event</EM><STRONG>);</STRONG>
++ <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>getwin_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG> <EM>filep</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>halfdelay_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>tenths</EM><STRONG>);</STRONG>
++ <STRONG>bool</STRONG> <STRONG>has_colors_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++
++ <STRONG>bool</STRONG> <STRONG>has_ic_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>bool</STRONG> <STRONG>has_il_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
++ <STRONG>bool</STRONG> <STRONG>has_mouse_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>init_color_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>init_extended_color_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>init_extended_pair_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>init_pair_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>bg</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>intrflush_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>is_cbreak_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>is_echo_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>is_nl_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>is_raw_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>bool</STRONG> <STRONG>is_term_resized_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
++ <STRONG>bool</STRONG> <STRONG>isendwin_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>key_defined_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>definition</EM><STRONG>);</STRONG>
++ <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keybound_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>count</EM><STRONG>);</STRONG>
++ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keyname_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>keyok_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>enable</EM><STRONG>);</STRONG>
++ <STRONG>char</STRONG> <STRONG>killchar_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>killwchar_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
++ <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>longname_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mcprint_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>len</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mouseinterval_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>erval</EM><STRONG>);</STRONG>
++ <STRONG>mmask_t</STRONG> <STRONG>mousemask_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvcur_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newcol</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>napms_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
++ <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>newpad_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nrows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>);</STRONG>
++ <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> <STRONG>new_prescr(void);</STRONG>
++ <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> <STRONG>newterm_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outf</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>inf</EM><STRONG>);</STRONG>
++
++ <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>newwin_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>nl_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>nocbreak_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>noecho_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>void</STRONG> <STRONG>nofilter_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>nonl_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>void</STRONG> <STRONG>noqiflush_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>noraw_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>pair_content_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG> <EM>bg</EM><STRONG>);</STRONG>
++ <STRONG>void</STRONG> <STRONG>qiflush_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>raw_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>void</STRONG> <STRONG>reset_color_pairs_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>reset_prog_mode_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>reset_shell_mode_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>resetty_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>resize_term_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>resizeterm_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>ripoffline_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>line</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>init</EM><STRONG>)(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>));</STRONG>
++ <STRONG>int</STRONG> <STRONG>savetty_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>scr_init_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>scr_restore_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>scr_set_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>set_escdelay_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>set_tabsize_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>cols</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>slk_attrset_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>slk_attr_set_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>slk_attroff_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>slk_attron_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG>
++ <STRONG>attr_t</STRONG> <STRONG>slk_attr_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>slk_clear_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>slk_color_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>slk_init_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
++ <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>slk_label_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>labnum</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>slk_noutrefresh_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>slk_refresh_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>slk_restore_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>slk_set_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>slk_touch_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>start_color_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>attr_t</STRONG> <STRONG>term_attrs_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++
++ <STRONG>chtype</STRONG> <STRONG>termattrs_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>termname_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>typeahead_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fd</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>ungetmouse_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>MEVENT</STRONG> <STRONG>*</STRONG> <EM>event</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>use_default_colors_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>void</STRONG> <STRONG>use_env_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>use_legacy_coding_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>level</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>use_tioctl_sp(SCREEN</STRONG> <STRONG>*</STRONG><EM>sp</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+
+- <STRONG>int</STRONG> <STRONG>vid_attr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>vid_puts_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>vidattr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>vidputs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
+- <STRONG>wchar_t*</STRONG> <STRONG>wunctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>vid_attr_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>vid_puts_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>vidattr_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>vidputs_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
++ <STRONG>wchar_t</STRONG> <STRONG>*</STRONG> <STRONG>wunctrl_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+
+ <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
+
+- <STRONG>FORM*</STRONG> <STRONG>new_form_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**</STRONG><EM>fields</EM><STRONG>);</STRONG>
++ <STRONG>FORM</STRONG> <STRONG>*</STRONG> <STRONG>new_form_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**</STRONG><EM>fields</EM><STRONG>);</STRONG>
+
+ <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
+
+- <STRONG>MENU*</STRONG> <STRONG>new_menu_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**</STRONG><EM>items</EM><STRONG>);</STRONG>
++ <STRONG>MENU</STRONG> <STRONG>*</STRONG> <STRONG>new_menu_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**</STRONG><EM>items</EM><STRONG>);</STRONG>
+
+ <STRONG>#include</STRONG> <STRONG>&lt;panel.h&gt;</STRONG>
+
+- <STRONG>PANEL*</STRONG> <STRONG>ceiling_panel(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>PANEL*</STRONG> <STRONG>ground_panel(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+- <STRONG>void</STRONG> <STRONG>update_panels_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>PANEL</STRONG> <STRONG>*</STRONG> <STRONG>ceiling_panel(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>PANEL</STRONG> <STRONG>*</STRONG> <STRONG>ground_panel(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
++ <STRONG>void</STRONG> <STRONG>update_panels_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+
+ <STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
+
+- <STRONG>int</STRONG> <STRONG>del_curterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>TERMINAL</STRONG> <STRONG>*</STRONG><EM>oterm</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>putp_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>restartterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>filedes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
+- <STRONG>TERMINAL*</STRONG> <STRONG>set_curterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>TERMINAL*</STRONG><EM>nterm</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>tgetent_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>bp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>tgetflag_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>tgetnum_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+- <STRONG>char*</STRONG> <STRONG>tgetstr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>**</STRONG><EM>area</EM><STRONG>);</STRONG>
+- <STRONG>char*</STRONG> <STRONG>tgoto_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>col</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>row</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>del_curterm_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>TERMINAL</STRONG> <STRONG>*</STRONG><EM>oterm</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>putp_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>restartterm_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>filedes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
++ <STRONG>TERMINAL</STRONG> <STRONG>*</STRONG> <STRONG>set_curterm_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>TERMINAL</STRONG> <STRONG>*</STRONG><EM>nterm</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>tgetent_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>bp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>tgetflag_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>tgetnum_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
++ <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>tgetstr_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>**</STRONG><EM>area</EM><STRONG>);</STRONG>
++ <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>tgoto_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>col</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>row</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+
+- <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+- <STRONG>char*</STRONG> <STRONG>tigetstr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
++ <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>tigetstr_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+ <EM>/*</EM> <EM>tparm</EM><STRONG>_</STRONG><EM>sp</EM> <EM>may</EM> <EM>use</EM> <EM>9</EM> <EM>long</EM> <EM>parameters</EM> <EM>rather</EM> <EM>than</EM> <EM>being</EM> <EM>variadic</EM> <EM>*/</EM>
+- <STRONG>char*</STRONG> <STRONG>tparm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+- <STRONG>int</STRONG> <STRONG>tputs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>affcnt</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
++ <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>tparm_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
++ <STRONG>int</STRONG> <STRONG>tputs_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>affcnt</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
+
+ <STRONG>#include</STRONG> <STRONG>&lt;unctrl.h&gt;</STRONG>
+
+- <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>unctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
++ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>unctrl_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+
+
+ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+@@ -294,7 +294,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_termattrs.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_termattrs.3x.html 2025-01-19 00:54:59.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_termattrs.3x.html 2025-02-02 00:43:58.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_termattrs.3x,v 1.57 2025/01/19 00:51:10 tom Exp @
++ * @Id: curs_termattrs.3x,v 1.59 2025/02/01 22:49:13 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_termattrs 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_termattrs 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_termattrs 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_termattrs 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+
+@@ -153,7 +153,7 @@
+
+ SVr2 (1984) added <EM>baudrate</EM>, <EM>erasechar</EM>, <EM>killchar</EM>, <EM>has</EM><STRONG>_</STRONG><EM>ic</EM>, and <EM>has</EM><STRONG>_</STRONG><EM>il</EM>.
+
+- SVr3 (1987) furnished <EM>termname</EM>. SVr3.1 later that year supplied
++ SVr3 (1987) supplied <EM>termname</EM>. Later that year, SVr3.1 brought
+ <EM>termattrs</EM>.
+
+ X/Open Curses Issue 4 (1995) specified <EM>erasewchar</EM>, <EM>killwchar</EM>, and
+@@ -165,7 +165,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_termcap.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_termcap.3x.html 2025-01-19 00:54:59.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_termcap.3x.html 2025-02-02 00:43:58.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_termcap.3x,v 1.103 2025/01/19 00:51:10 tom Exp @
++ * @Id: curs_termcap.3x,v 1.105 2025/02/01 22:49:13 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+-<TITLE>curs_termcap 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_termcap 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_termcap 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_termcap 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+
+@@ -373,7 +373,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_util.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_util.3x.html 2025-01-19 00:55:00.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_util.3x.html 2025-02-02 00:43:58.000000000 +0000
+@@ -28,19 +28,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_util.3x,v 1.134 2025/01/19 00:51:10 tom Exp @
++ * @Id: curs_util.3x,v 1.136 2025/02/01 22:49:13 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 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_util 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_util 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_util 3x 2025-02-01 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>
+
+@@ -402,13 +402,13 @@
+
+
+ </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+- 4BSD (1980) defined <EM>unctrl</EM> (as a macro, in <EM>unctrl.h</EM>).
++ 4BSD (1980) introduced <EM>unctrl</EM>, defining it as a macro in <EM>unctrl.h</EM>.
+
+- SVr2 (1984) introduced <EM>delay</EM><STRONG>_</STRONG><EM>output</EM>, <EM>flushinp</EM>, and <EM>keyname</EM>.
++ SVr2 (1984) added <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>,
+- respectively.
++ SVr3 (1987) supplied <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>.
+
+@@ -424,7 +424,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/curs_window.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/curs_window.3x.html 2025-01-19 00:55:00.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/curs_window.3x.html 2025-02-02 00:43:58.000000000 +0000
+@@ -27,19 +27,19 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_window.3x,v 1.64 2025/01/19 00:51:10 tom Exp @
++ * @Id: curs_window.3x,v 1.66 2025/02/02 00:04: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_window 3x 2025-01-18 ncurses 6.5 Library calls</TITLE>
++<TITLE>curs_window 3x 2025-02-01 ncurses 6.5 Library calls</TITLE>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+ </HEAD>
+ <BODY>
+-<H1 class="no-header">curs_window 3x 2025-01-18 ncurses 6.5 Library calls</H1>
++<H1 class="no-header">curs_window 3x 2025-02-01 ncurses 6.5 Library calls</H1>
+ <PRE>
+ <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+
+@@ -242,7 +242,7 @@
+
+
+
+-ncurses 6.5 2025-01-18 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
++ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ </PRE>
+ <div class="nav">
+ <ul>
+Index: doc/html/man/ncurses.3x.html
+--- ncurses-6.5-20250125+/doc/html/man/ncurses.3x.html 2025-01-19 00:55:01.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/ncurses.3x.html 2025-02-02 00:44:00.000000000 +0000
+@@ -61,7 +61,7 @@
+ displays with output optimized to minimize screen updates. <EM>ncurses</EM>
+ replaces the <EM>curses</EM> libraries from System V Release 4 Unix ("SVr4") and
+ 4.4BSD Unix, the development of which ceased in the 1990s. This
+- document describes <EM>ncurses</EM> version 6.5 (patch 20250118).
++ document describes <EM>ncurses</EM> version 6.5 (patch 20250201).
+
+ <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
+Index: doc/html/man/terminfo.5.html
+--- ncurses-6.5-20250125+/doc/html/man/terminfo.5.html 2025-01-19 00:55:01.000000000 +0000
++++ ncurses-6.5-20250201/doc/html/man/terminfo.5.html 2025-02-02 00:44:00.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 20250118).
++ This document describes <EM>ncurses</EM> version 6.5 (patch 20250201).
+
+
+ </PRE><H3><a name="h3-terminfo-Entry-Syntax"><EM>terminfo</EM> Entry Syntax</a></H3><PRE>
+Index: man/curs_add_wch.3x
+Prereq: 1.88
+--- ncurses-6.5-20250125+/man/curs_add_wch.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_add_wch.3x 2025-02-01 23:54:03.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_add_wch.3x,v 1.88 2025/01/19 00:49:39 tom Exp $
+-.TH curs_add_wch 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_add_wch.3x,v 1.102 2025/02/01 23:54:03 tom Exp $
++.TH curs_add_wch 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -60,10 +60,70 @@
+ \fBint add_wch(const cchar_t *\fIwch\fP);
+ \fBint wadd_wch(WINDOW *\fIwin\fP, const cchar_t *\fIwch\fP);
+ \fBint mvadd_wch(int \fIy\fP, int \fIx\fP, const cchar_t *\fIwch\fP);
+-\fBint mvwadd_wch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const cchar_t *\fIwch\fP);
++\fBint mvwadd_wch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP,
++ const cchar_t *\fIwch\fP);
+ .PP
+ \fBint echo_wchar(const cchar_t *\fIwch\fP);
+ \fBint wecho_wchar(WINDOW *\fIwin\fP, const cchar_t *\fIwch\fP);
++.PP
++\fI/* (integer) constants */\fP
++/*\fI .\|.\|. */ \fBWACS_BLOCK;\fR
++/*\fI .\|.\|. */ \fBWACS_BOARD;\fR
++/*\fI .\|.\|. */ \fBWACS_BTEE;\fR
++/*\fI .\|.\|. */ \fBWACS_BULLET;\fR
++/*\fI .\|.\|. */ \fBWACS_CKBOARD;\fR
++/*\fI .\|.\|. */ \fBWACS_DARROW;\fR
++/*\fI .\|.\|. */ \fBWACS_DEGREE;\fR
++/*\fI .\|.\|. */ \fBWACS_DIAMOND;\fR
++/*\fI .\|.\|. */ \fBWACS_HLINE;\fR
++/*\fI .\|.\|. */ \fBWACS_LANTERN;\fR
++/*\fI .\|.\|. */ \fBWACS_LARROW;\fR
++/*\fI .\|.\|. */ \fBWACS_LLCORNER;\fR
++/*\fI .\|.\|. */ \fBWACS_LRCORNER;\fR
++/*\fI .\|.\|. */ \fBWACS_LTEE;\fR
++/*\fI .\|.\|. */ \fBWACS_PLMINUS;\fR
++/*\fI .\|.\|. */ \fBWACS_PLUS;\fR
++/*\fI .\|.\|. */ \fBWACS_RARROW;\fR
++/*\fI .\|.\|. */ \fBWACS_RTEE;\fR
++/*\fI .\|.\|. */ \fBWACS_S1;\fR
++/*\fI .\|.\|. */ \fBWACS_S9;\fR
++/*\fI .\|.\|. */ \fBWACS_TTEE;\fR
++/*\fI .\|.\|. */ \fBWACS_UARROW;\fR
++/*\fI .\|.\|. */ \fBWACS_ULCORNER;\fR
++/*\fI .\|.\|. */ \fBWACS_URCORNER;\fR
++/*\fI .\|.\|. */ \fBWACS_VLINE;\fR
++\fI/* extensions */\fP
++/*\fI .\|.\|. */ \fBWACS_GEQUAL;\fR
++/*\fI .\|.\|. */ \fBWACS_LEQUAL;\fR
++/*\fI .\|.\|. */ \fBWACS_NEQUAL;\fR
++/*\fI .\|.\|. */ \fBWACS_PI;\fR
++/*\fI .\|.\|. */ \fBWACS_S3;\fR
++/*\fI .\|.\|. */ \fBWACS_S7;\fR
++/*\fI .\|.\|. */ \fBWACS_STERLING;\fR
++\fI/* extensions for thick lines */\fP
++/*\fI .\|.\|. */ \fBWACS_T_BTEE;\fR
++/*\fI .\|.\|. */ \fBWACS_T_HLINE;\fR
++/*\fI .\|.\|. */ \fBWACS_T_LLCORNER;\fR
++/*\fI .\|.\|. */ \fBWACS_T_LRCORNER;\fR
++/*\fI .\|.\|. */ \fBWACS_T_LTEE;\fR
++/*\fI .\|.\|. */ \fBWACS_T_PLUS;\fR
++/*\fI .\|.\|. */ \fBWACS_T_RTEE;\fR
++/*\fI .\|.\|. */ \fBWACS_T_TTEE;\fR
++/*\fI .\|.\|. */ \fBWACS_T_ULCORNER;\fR
++/*\fI .\|.\|. */ \fBWACS_T_URCORNER;\fR
++/*\fI .\|.\|. */ \fBWACS_T_VLINE;\fR
++\fI/* extensions for double lines */\fP
++/*\fI .\|.\|. */ \fBWACS_D_BTEE;\fR
++/*\fI .\|.\|. */ \fBWACS_D_HLINE;\fR
++/*\fI .\|.\|. */ \fBWACS_D_LLCORNER;\fR
++/*\fI .\|.\|. */ \fBWACS_D_LRCORNER;\fR
++/*\fI .\|.\|. */ \fBWACS_D_LTEE;\fR
++/*\fI .\|.\|. */ \fBWACS_D_PLUS;\fR
++/*\fI .\|.\|. */ \fBWACS_D_RTEE;\fR
++/*\fI .\|.\|. */ \fBWACS_D_TTEE;\fR
++/*\fI .\|.\|. */ \fBWACS_D_ULCORNER;\fR
++/*\fI .\|.\|. */ \fBWACS_D_URCORNER;\fR
++/*\fI .\|.\|. */ \fBWACS_D_VLINE;\fR
+ .fi
+ .SH DESCRIPTION
+ .SS wadd_wch
+@@ -231,68 +291,76 @@
+ \& Unicode ACS acsc \&
+ Symbol Default Default char Glyph Name
+ _
+-WACS_BLOCK 0x25ae # 0 T{
++WACS_BLOCK U+25ae # 0 T{
+ solid square block
+ T}
+-WACS_BOARD 0x2592 # h board of squares
+-WACS_BTEE 0x2534 + v bottom tee
+-WACS_BULLET 0x00b7 o ~ bullet
+-WACS_CKBOARD 0x2592 : a T{
++WACS_BOARD U+2592 # h board of squares
++WACS_BTEE U+2534 + v bottom tee
++WACS_BULLET U+00b7 o ~ bullet
++WACS_CKBOARD U+2592 : a T{
+ checker board (stipple)
+ T}
+-WACS_DARROW 0x2193 v . T{
++WACS_DARROW U+2193 v . T{
+ arrow pointing down
+ T}
+-WACS_DEGREE 0x00b0 ' f degree symbol
+-WACS_DIAMOND 0x25c6 + \(ga diamond
+-WACS_GEQUAL 0x2265 > > T{
++WACS_DEGREE U+00b0 ' f degree symbol
++WACS_DIAMOND U+25c6 + \(ga diamond
++WACS_GEQUAL U+2265 > > T{
++.if n .na \" avoid adjustment warning from groff
+ greater-than-or-equal-to
+ T}
+-WACS_HLINE 0x2500 \- q horizontal line
+-WACS_LANTERN 0x2603 # i lantern symbol
+-WACS_LARROW 0x2190 < , T{
++WACS_HLINE U+2500 \- q horizontal line
++WACS_LANTERN U+2603 # i lantern symbol
++WACS_LARROW U+2190 < , T{
+ arrow pointing left
+ T}
+-WACS_LEQUAL 0x2264 < y T{
++WACS_LEQUAL U+2264 < y T{
++.if n .na \" avoid adjustment warning from groff
+ less-than-or-equal-to
+ T}
+-WACS_LLCORNER 0x2514 + m T{
++WACS_LLCORNER U+2514 + m T{
+ lower left-hand corner
+ T}
+-WACS_LRCORNER 0x2518 + j T{
++WACS_LRCORNER U+2518 + j T{
+ lower right-hand corner
+ T}
+-WACS_LTEE 0x2524 + t left tee
+-WACS_NEQUAL 0x2260 ! | not-equal
+-WACS_PI 0x03c0 * { greek pi
+-WACS_PLMINUS 0x00b1 # g plus/minus
+-WACS_PLUS 0x253c + n plus
+-WACS_RARROW 0x2192 > + T{
++WACS_LTEE U+2524 + t left tee
++WACS_NEQUAL U+2260 ! | not-equal
++WACS_PI U+03c0 * { greek pi
++WACS_PLMINUS U+00b1 # g plus/minus
++WACS_PLUS U+253c + n plus
++WACS_RARROW U+2192 > + T{
+ arrow pointing right
+ T}
+-WACS_RTEE 0x251c + u right tee
+-WACS_S1 0x23ba \- o scan line 1
+-WACS_S3 0x23bb \- p scan line 3
+-WACS_S7 0x23bc \- r scan line 7
+-WACS_S9 0x23bd \&_ s scan line 9
+-WACS_STERLING 0x00a3 f } T{
++WACS_RTEE U+251c + u right tee
++WACS_S1 U+23ba \- o scan line 1
++WACS_S3 U+23bb \- p scan line 3
++WACS_S7 U+23bc \- r scan line 7
++WACS_S9 U+23bd \&_ s scan line 9
++WACS_STERLING U+00a3 f } T{
++.if n .na \" avoid adjustment warning from groff
+ pound-sterling symbol
+ T}
+-WACS_TTEE 0x252c + w top tee
+-WACS_UARROW 0x2191 ^ \- T{
++WACS_TTEE U+252c + w top tee
++WACS_UARROW U+2191 ^ \- T{
+ arrow pointing up
+ T}
+-WACS_ULCORNER 0x250c + l T{
++WACS_ULCORNER U+250c + l T{
+ upper left-hand corner
+ T}
+-WACS_URCORNER 0x2510 + k T{
++WACS_URCORNER U+2510 + k T{
+ upper right-hand corner
+ T}
+-WACS_VLINE 0x2502 | x vertical line
++WACS_VLINE U+2502 | x vertical line
+ .TE
+ .PP
+-The wide-character configuration of \fI\%ncurses\fP also defines symbols
+-for thick lines (\fBacsc\fP \*(``J\*('' to \*(``V\*(''):
++The
++.I \%ncurses
++wide API also defines symbols for thick lines
++.RB \%( acsc
++\*(``J\*('' through \*(``N\*('',
++\*(``T\*('' through \*(``X\*('',
++and \*(``Q\*(''):
+ .PP
+ .TS
+ Lb Lb Lb Lb Lb
+@@ -301,42 +369,45 @@
+ \& Unicode ASCII acsc \&
+ ACS Name Default Default Char Glyph Name
+ _
+-WACS_T_BTEE 0x253b + V T{
++WACS_T_BTEE U+253b + V T{
+ thick tee pointing up
+ T}
+-WACS_T_HLINE 0x2501 - Q T{
++WACS_T_HLINE U+2501 - Q T{
+ thick horizontal line
+ T}
+-WACS_T_LLCORNER 0x2517 + M T{
++WACS_T_LLCORNER U+2517 + M T{
+ thick lower left corner
+ T}
+-WACS_T_LRCORNER 0x251b + J T{
++WACS_T_LRCORNER U+251b + J T{
+ thick lower right corner
+ T}
+-WACS_T_LTEE 0x252b + T T{
++WACS_T_LTEE U+252b + T T{
+ thick tee pointing right
+ T}
+-WACS_T_PLUS 0x254b + N T{
++WACS_T_PLUS U+254b + N T{
+ thick large plus
+ T}
+-WACS_T_RTEE 0x2523 + U T{
++WACS_T_RTEE U+2523 + U T{
+ thick tee pointing left
+ T}
+-WACS_T_TTEE 0x2533 + W T{
++WACS_T_TTEE U+2533 + W T{
+ thick tee pointing down
+ T}
+-WACS_T_ULCORNER 0x250f + L T{
++WACS_T_ULCORNER U+250f + L T{
+ thick upper left corner
+ T}
+-WACS_T_URCORNER 0x2513 + K T{
++WACS_T_URCORNER U+2513 + K T{
+ thick upper right corner
+ T}
+-WACS_T_VLINE 0x2503 | X T{
++WACS_T_VLINE U+2503 | X T{
+ thick vertical line
+ T}
+ .TE
+ .PP
+-and for double-lines (\fBacsc\fP \*(``A\*('' to \*(``I\*(''):
++and for double lines
++.RB \%( acsc
++\*(``A\*('' through \*(``I\*('',
++plus \*(``R\*('' and \*(``Y\*(''):
+ .PP
+ .TS
+ Lb Lb Lb Lb Lb
+@@ -345,37 +416,37 @@
+ \& Unicode ASCII acsc \&
+ ACS Name Default Default Char Glyph Name
+ _
+-WACS_D_BTEE 0x2569 + H T{
++WACS_D_BTEE U+2569 + H T{
+ double tee pointing up
+ T}
+-WACS_D_HLINE 0x2550 - R T{
++WACS_D_HLINE U+2550 - R T{
+ double horizontal line
+ T}
+-WACS_D_LLCORNER 0x255a + D T{
++WACS_D_LLCORNER U+255a + D T{
+ double lower left corner
+ T}
+-WACS_D_LRCORNER 0x255d + A T{
++WACS_D_LRCORNER U+255d + A T{
+ double lower right corner
+ T}
+-WACS_D_LTEE 0x2560 + F T{
++WACS_D_LTEE U+2560 + F T{
+ double tee pointing right
+ T}
+-WACS_D_PLUS 0x256c + E T{
++WACS_D_PLUS U+256c + E T{
+ double large plus
+ T}
+-WACS_D_RTEE 0x2563 + G T{
++WACS_D_RTEE U+2563 + G T{
+ double tee pointing left
+ T}
+-WACS_D_TTEE 0x2566 + I T{
++WACS_D_TTEE U+2566 + I T{
+ double tee pointing down
+ T}
+-WACS_D_ULCORNER 0x2554 + C T{
++WACS_D_ULCORNER U+2554 + C T{
+ double upper left corner
+ T}
+-WACS_D_URCORNER 0x2557 + B T{
++WACS_D_URCORNER U+2557 + B T{
+ double upper right corner
+ T}
+-WACS_D_VLINE 0x2551 | Y T{
++WACS_D_VLINE U+2551 | Y T{
+ double vertical line
+ T}
+ .TE
+@@ -410,13 +481,18 @@
+ .I curses
+ screen has not been initialized,
+ .bP
++(for functions taking a
++.I \%WINDOW
++pointer argument)
+ .I win
+-is
+-.IR NULL ","
++is a null pointer,
+ .bP
+ wrapping to a new line is impossible because \fB\%scrollok\fP(3X) has
+ not been called on
+ .I win
++(or
++.BR stdscr ","
++as applicable)
+ when writing to its bottom right location is attempted,
+ or
+ .bP
+@@ -435,71 +511,136 @@
+ .B echo_wchar
+ may be implemented as macros.
+ .SH EXTENSIONS
+-.SS TABSIZE
++The symbols
++.RI \%( WACS_S3 ","
++.IR \%WACS_S7 ","
++.IR \%WACS_LEQUAL ","
++.IR \%WACS_GEQUAL ","
++.IR \%WACS_PI ","
++.IR \%WACS_NEQUAL ","
++and
++.IR \%WACS_STERLING ")"
++are not standard.
++However,
++many publicly available
++.I \%term\%info
++entries include
++.I \%acs_chars
++.RB \%( acsc )
++capabilities in which their key characters
++.RB ( pryz{|} )
++are embedded,
++and a second-hand list of their character descriptions has come to
++light.
+ The
+-.B TABSIZE
+-variable is implemented in SVr4 and other versions of
+-.IR curses ,
+-but is not specified by X/Open Curses
+-(see \fBcurs_variables\fP(3X)).
++.I \%ncurses
++developers invented WACS-prefixed names for them.
++.\" in v5_2_20020209
+ .SH PORTABILITY
++Applications employing
++.I \%ncurses
++extensions should condition their use on the visibility of the
++.B \%NCURSES_VERSION
++preprocessor macro.
++.PP
+ These functions are described in X/Open Curses Issue\ 4.
+ It specifies no error conditions for them.
+ .PP
+ The defaults specified for forms-drawing characters apply in the POSIX
+ locale.
+ X/Open Curses makes it clear that the WACS_ symbols should be defined as
+-a pointer to \fBcchar_t\fP data, e.g., in the discussion of \fBborder_set\fP.
++a pointer to
++.I \%cchar_t
++data, e.g., in the discussion of
++.IR \%border_set "."
+ A few implementations are problematic:
+ .bP
+-NetBSD curses defines the symbols as a \fBwchar_t\fP within a \fBcchar_t\fP.
++NetBSD
++.I curses
++defines the symbols as a
++.I \%wchar_t
++within a
++.IR \%cchar_t "."
+ .bP
+-HP-UX curses equates some of the \fBACS_\fP symbols
+-to the analogous \fBWACS_\fP symbols as if the \fBACS_\fP symbols were
++HP-UX
++.I curses
++equates some of the
++.I \%ACS_
++symbols to the analogous
++.I \%WACS_
++symbols as if the
++.I \%ACS_
++symbols were
+ wide characters.
+ The misdefined symbols are the arrows
+ and other symbols which are not used for line-drawing.
+ .PP
+ X/Open Curses does not specify symbols for thick- or double-lines.
+-SVr4 curses implementations defined their line-drawing symbols in
+-terms of intermediate symbols.
+-This implementation extends those symbols, providing new definitions
+-which are not in the SVr4 implementations.
++SVr4
++.I curses
++implementations defined their line-drawing symbols
++in terms of intermediate symbols.
++.I \%ncurses
++extends those symbols,
++providing new definitions not found in SVr4 implementations.
+ .PP
+ Not all Unicode-capable terminals provide support for VT100-style
+-alternate character sets (i.e., the \fBacsc\fP capability),
++alternate character sets (i.e., the
++.I \%acsc_chars
++.RB ( acsc )
++capability),
+ with their corresponding line-drawing characters.
+ X/Open Curses did not address the aspect of integrating Unicode with
+ line-drawing characters.
+-Existing implementations of Unix curses (AIX, HP-UX, Solaris)
+-use only the \fBacsc\fP character-mapping to provide this feature.
+-As a result, those implementations can only use single-byte line-drawing
+-characters.
+-\fI\%ncurses\fP 5.3 (2002) provided a table of Unicode values to solve
++Existing implementations of System\ V
++.I curses
++(AIX, HP-UX, Solaris)
++use only the
++.I \%acsc_chars
++.RB ( acsc )
++character-mapping to provide this feature.
++As a result,
++those implementations can use only single-byte line-drawing characters.
++.I \%ncurses
++5.3 (2002) provided a table of Unicode values to solve
+ these problems.
+-NetBSD curses incorporated that table in 2010.
++NetBSD
++.I curses
++incorporated that table in 2010.
+ .PP
+-In this implementation, the Unicode values are used instead of the
+-terminal description's \fBacsc\fP mapping as discussed in
++.I \%ncurses
++uses the Unicode values instead of the terminal type description's
++.I \%acsc_chars
++.RB ( acsc )
++mapping as discussed in
+ \fB\%ncurses\fP(3X) for the environment variable
+-\fINCURSES_NO_UTF8_ACS\fP.
++.IR \%NCURSES_NO_UTF8_ACS "."
+ In contrast, for the same cases, the line-drawing characters
+ described in \fB\%addch\fP(3X) will use only the ASCII default values.
+ .PP
+ Having Unicode available does not solve all of the problems with
+-line-drawing for curses:
++line-drawing for
++.IR curses ":"
+ .bP
+ The closest Unicode equivalents to the
+-VT100 graphics \fIS1\fP, \fIS3\fP, \fIS7\fP and \fIS9\fP
++VT100 graphics
++.IR S1 ","
++.IR S3 ","
++.IR S7 ","
++and
++.I S9
+ frequently are not displayed at
+ the regular intervals which the terminal used.
+ .bP
+-The \fIlantern\fP is a special case.
++The
++.I lantern
++is a special case.
+ It originated with the AT&T 4410 terminal in the early 1980s.
+ There is no accessible documentation depicting the lantern symbol
+ on the AT&T terminal.
+ .IP
+-Lacking documentation, most readers assume that a \fIstorm lantern\fP
++Lacking documentation, most readers assume that a
++.I "storm lantern"
+ was intended.
+ But there are several possibilities, all with problems.
+ .IP
+@@ -509,7 +650,9 @@
+ and as a result are unavailable on many terminals.
+ They are not storm lanterns, in any case.
+ .IP
+-Most \fIstorm lanterns\fP have a tapering glass chimney
++Most
++.I "storm lanterns"
++have a tapering glass chimney
+ (to guard against tipping);
+ some have a wire grid protecting the chimney.
+ .IP
+@@ -553,15 +696,15 @@
+ .I \%ncurses
+ adds the non-spacing character to the active complex character.
+ .SH HISTORY
+-These functions were initially specified by X/Open Curses Issue\ 4
+-(1995).
+-The System\ V Interface Definition Version\ 4
++X/Open Curses Issue\ 4 (1995) initially specified these functions.
++The System\ V Interface Definition (SVID) Version\ 4
+ of the same year
+ specified functions named
+ .I \%waddwch
++(and the usual variants),
++.IR \%echowchar ","
+ and
+-.I \%wechowchar
+-(and the usual variants).
++.IR \%wechowchar "."
+ .\" SVID 4, vol 3., p. 475
+ These were later additions to
+ .RI SVr4. x ,
+@@ -574,6 +717,29 @@
+ .I \%wchar_t
+ instead of
+ .IR \%cchar_t "."
++SVID defined no
++.I \% WACS_
++symbols.
++.PP
++X/Open Curses Issue\ 4 also defined many of the
++.I WACS_
++constants,
++excepting
++.IR \%WACS_GEQUAL ","
++.IR \%WACS_LEQUAL ","
++.IR \%WACS_NEQUAL ","
++.IR \%WACS_PI ","
++.IR \%WACS_S3 ","
++.IR \%WACS_S7 ","
++and
++.IR \%WACS_STERLING ";"
++and those for drawing thick and double lines.
++.PP
++.I \%ncurses
++5.3 (2002)
++furnished the remaining
++.I WACS_
++constants.
+ .SH SEE ALSO
+ \fB\%curs_addch\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_add_wchstr.3x
+Prereq: 1.52
+--- ncurses-6.5-20250125+/man/curs_add_wchstr.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_add_wchstr.3x 2025-02-01 22:57:57.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_add_wchstr.3x,v 1.52 2025/01/19 00:49:39 tom Exp $
+-.TH curs_add_wchstr 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_add_wchstr.3x,v 1.55 2025/02/01 22:57:57 tom Exp $
++.TH curs_add_wchstr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -144,8 +144,9 @@
+ 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),
++X/Open Curses Issue\ 4 (1995) initially specified these functions.
++The System\ V Interface Definition Version\ 4
++of the same year
+ specified functions named
+ .I \%waddwchstr
+ and
+Index: man/curs_addch.3x
+Prereq: 1.113
+--- ncurses-6.5-20250125+/man/curs_addch.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_addch.3x 2025-02-01 23:54:03.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addch.3x,v 1.113 2025/01/19 00:49:39 tom Exp $
+-.TH curs_addch 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_addch.3x,v 1.122 2025/02/01 23:54:03 tom Exp $
++.TH curs_addch 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -70,6 +70,41 @@
+ .PP
+ \fBint echochar(const chtype \fIch\fP);
+ \fBint wechochar(WINDOW *\fIwin\fP, const chtype \fIch\fP);
++.PP
++\fI/* (integer) constants */\fP
++/*\fI .\|.\|. */ \fBACS_BLOCK;\fR
++/*\fI .\|.\|. */ \fBACS_BOARD;\fR
++/*\fI .\|.\|. */ \fBACS_BTEE;\fR
++/*\fI .\|.\|. */ \fBACS_BULLET;\fR
++/*\fI .\|.\|. */ \fBACS_CKBOARD;\fR
++/*\fI .\|.\|. */ \fBACS_DARROW;\fR
++/*\fI .\|.\|. */ \fBACS_DEGREE;\fR
++/*\fI .\|.\|. */ \fBACS_DIAMOND;\fR
++/*\fI .\|.\|. */ \fBACS_HLINE;\fR
++/*\fI .\|.\|. */ \fBACS_LANTERN;\fR
++/*\fI .\|.\|. */ \fBACS_LARROW;\fR
++/*\fI .\|.\|. */ \fBACS_LLCORNER;\fR
++/*\fI .\|.\|. */ \fBACS_LRCORNER;\fR
++/*\fI .\|.\|. */ \fBACS_LTEE;\fR
++/*\fI .\|.\|. */ \fBACS_PLMINUS;\fR
++/*\fI .\|.\|. */ \fBACS_PLUS;\fR
++/*\fI .\|.\|. */ \fBACS_RARROW;\fR
++/*\fI .\|.\|. */ \fBACS_RTEE;\fR
++/*\fI .\|.\|. */ \fBACS_S1;\fR
++/*\fI .\|.\|. */ \fBACS_S9;\fR
++/*\fI .\|.\|. */ \fBACS_TTEE;\fR
++/*\fI .\|.\|. */ \fBACS_UARROW;\fR
++/*\fI .\|.\|. */ \fBACS_ULCORNER;\fR
++/*\fI .\|.\|. */ \fBACS_URCORNER;\fR
++/*\fI .\|.\|. */ \fBACS_VLINE;\fR
++\fI/* extensions */\fP
++/*\fI .\|.\|. */ \fBACS_GEQUAL;\fR
++/*\fI .\|.\|. */ \fBACS_LEQUAL;\fR
++/*\fI .\|.\|. */ \fBACS_NEQUAL;\fR
++/*\fI .\|.\|. */ \fBACS_PI;\fR
++/*\fI .\|.\|. */ \fBACS_S3;\fR
++/*\fI .\|.\|. */ \fBACS_S7;\fR
++/*\fI .\|.\|. */ \fBACS_STERLING;\fR
+ .fi
+ .SH DESCRIPTION
+ .SS waddch
+@@ -268,13 +303,18 @@
+ .I curses
+ screen has not been initialized,
+ .bP
++(for functions taking a
++.I \%WINDOW
++pointer argument)
+ .I win
+-is
+-.IR NULL ","
++is a null pointer,
+ .bP
+ wrapping to a new line is impossible because \fB\%scrollok\fP(3X) has
+ not been called on
+ .I win
++(or
++.BR stdscr ","
++as applicable)
+ when a write to its bottom right location is attempted,
+ or
+ .bP
+@@ -305,14 +345,35 @@
+ .B \%echochar
+ may be implemented as macros.
+ .SH EXTENSIONS
+-.SS TABSIZE
+-SVr4 and other versions of
+-.I curses
+-implement the
+-.B \%TABSIZE
+-variable,
+-but X/Open Curses does not specify it;
+-see \fB\%curs_variables\fP(3X).
++The symbols
++.RI \%( ACS_S3 ","
++.IR \%ACS_S7 ","
++.IR \%ACS_LEQUAL ","
++.IR \%ACS_GEQUAL ","
++.IR \%ACS_PI ","
++.IR \%ACS_NEQUAL ","
++and
++.IR \%ACS_STERLING ")"
++were not documented in any publicly released System\ V
++.\" And did not exist yet as late as SVr4.
++.\" https://github.com/ryanwoodsmall/oldsysv/blob/master/\
++.\" sysvr4/svr4/lib/xlibcurses/screen/curses.ed
++and are not standard.
++However,
++many publicly available
++.I \%term\%info
++entries include
++.I \%acs_chars
++.RB \%( acsc )
++capabilities in which their key characters
++.RB ( pryz{|} )
++are embedded,
++and a second-hand list of their character descriptions has come to
++light.
++The
++.I \%ncurses
++developers invented ACS-prefixed names for them.
++.\" in v1_9_5_950928_e227
+ .SH PORTABILITY
+ Applications employing
+ .I \%ncurses
+@@ -331,7 +392,7 @@
+ locale.
+ .SS "ACS Symbols"
+ X/Open Curses states that the
+-.B \%ACS_
++.I \%ACS_
+ definitions are
+ .I char
+ constants.
+@@ -343,25 +404,25 @@
+ defines the ACS symbols as constants;
+ others define them as elements of an array.
+ .IP
+-This implementation uses an array,
+-.BR \%acs_map ,
+-as did SVr4
+-.IR curses .
+-NetBSD also uses an array,
++SVr4 used an array,
++.IR \%acs_map ,
++as does
++.IR \%ncurses "."
++NetBSD
++.I curses
++also uses an array,
+ actually named
+-.BR \%_acs_char ,
+-with a
+-.B \%#define
+-for compatibility.
++.IR \%_acs_char ,
++with a \%\*(``#define\*('' for compatibility.
+ .bP
+ HP-UX
+ .I curses
+ equates some of the
+-.B \%ACS_
++.I \%ACS_
+ symbols to the analogous
+-.B \%WACS_
++.I \%WACS_
+ symbols as if the
+-.B \%ACS_
++.I \%ACS_
+ symbols were wide characters
+ (see \fB\%curs_add_wch\fP(3X)).
+ The misdefined symbols are the arrows and others that are not used for
+@@ -371,7 +432,7 @@
+ (Issues\ 2 through 7)
+ has a typographical error
+ for the
+-.B \%ACS_LANTERN
++.I \%ACS_LANTERN
+ symbol, equating its \*(``VT100+ Character\*('' to \*(``I\*(''
+ (capital I),
+ while the header files for SVr4
+@@ -391,37 +452,10 @@
+ (AT&T PC6300 with EMOTS Terminal Emulator)
+ description uses lowercase i.
+ .PP
+-Some ACS symbols
+-.RB \%( ACS_S3 ,
+-.BR \%ACS_S7 ,
+-.BR \%ACS_LEQUAL ,
+-.BR \%ACS_GEQUAL ,
+-.BR \%ACS_PI ,
+-.BR \%ACS_NEQUAL ,
+-and
+-.BR \%ACS_STERLING )
+-were not documented in any publicly released System\ V.
+-.\" And did not exist yet as late as SVr4.
+-.\" https://github.com/ryanwoodsmall/oldsysv/blob/master/\
+-.\" sysvr4/svr4/lib/xlibcurses/screen/curses.ed
+-However,
+-many publicly available
+-.I \%term\%info
+-entries include
+-.B \%acsc
+-capabilities in which their key characters
+-.RB ( pryz{|} )
+-are embedded,
+-and a second-hand list of their character descriptions has come to
+-light.
+-The
+-.I \%ncurses
+-developers invented ACS-prefixed names for them.
+-.PP
+ The
+ .I displayed
+ values of
+-.B \%ACS_
++.I \%ACS_
+ constants depend on
+ .bP
+ the
+@@ -442,7 +476,7 @@
+ environment variable in \fB\%ncurses\fP(3X).
+ .SS "Character Set"
+ X/Open Curses assumes that the parameter passed to
+-.B \%waddch
++.I \%waddch
+ contains a single character.
+ That character may have been more than eight bits wide in an SVr3 or
+ SVr4 implementation,
+@@ -454,7 +488,7 @@
+ attributes and a color pair identifier into a
+ .I \%chtype
+ for passage to
+-.B \%waddch
++.I \%waddch
+ is common.
+ A portable application uses only the macros discussed in
+ \fB\%curs_attr\fP(3X) to manipulate a
+@@ -466,10 +500,10 @@
+ holds an eight-bit character,
+ but the library allows a multibyte character sequence to be passed via a
+ succession of calls to
+-.BR \%waddch "."
++.IR \%waddch "."
+ Other implementations do not;
+ a
+-.B \%waddch
++.I \%waddch
+ call transmits exactly one character,
+ which may be rendered in one or more screen locations depending on
+ whether it is printable
+@@ -477,7 +511,7 @@
+ Depending on the locale,
+ .I \%ncurses
+ inspects the byte passed in each
+-.B \%waddch
++.I \%waddch
+ call and checks whether the latest call continues a multibyte character.
+ When a character is
+ .IR complete ","
+@@ -506,13 +540,33 @@
+ .IR \%wadd_wch "."
+ .SH HISTORY
+ 4BSD (1980)
+-.I curses
+ introduced
+-.IR \%waddch "."
++.I \%waddch
++and its variants.
+ .PP
+ SVr3 (1987)
+-added
+-.IR \%wechochar "."
++added the
++.I \%echochar
++and
++.I \%wechochar
++functions and most of the
++.I ACS_
++constants,
++except for
++.IR \%ACS_GEQUAL ","
++.IR \%ACS_LEQUAL ","
++.IR \%ACS_NEQUAL ","
++.IR \%ACS_PI ","
++.IR \%ACS_S3 ","
++.IR \%ACS_S7 ","
++and
++.IR \%ACS_STERLING "."
++.PP
++.I \%ncurses
++1.9.6 (1995)
++furnished the remaining
++.I ACS_
++constants.
+ .SH SEE ALSO
+ \fB\%curs_add_wch\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_addchstr.3x
+Prereq: 1.58
+--- ncurses-6.5-20250125+/man/curs_addchstr.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_addchstr.3x 2025-02-01 22:50:42.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addchstr.3x,v 1.58 2025/01/19 00:49:39 tom Exp $
+-.TH curs_addchstr 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_addchstr.3x,v 1.60 2025/02/01 22:50:42 tom Exp $
++.TH curs_addchstr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -147,10 +147,7 @@
+ .IR ERR \*(''. \" Courier roman in source; SVID 4, vol. 3, p. 473
+ .SH HISTORY
+ SVr3.1 (1987)
+-introduced
+-.I \%waddchstr
+-and
+-.IR \%waddchnstr "."
++introduced these functions.
+ .SH SEE ALSO
+ \fB\%curs_add_wchstr\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_addstr.3x
+Prereq: 1.65
+--- ncurses-6.5-20250125+/man/curs_addstr.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_addstr.3x 2025-02-01 22:48:11.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addstr.3x,v 1.65 2025/01/19 00:49:39 tom Exp $
+-.TH curs_addstr 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_addstr.3x,v 1.67 2025/02/01 22:48:11 tom Exp $
++.TH curs_addstr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -133,7 +133,6 @@
+ .IR ERR \*(''. \" Courier roman in source; SVID 4, vol. 3, p. 474
+ .SH HISTORY
+ 4BSD (1980)
+-.I curses
+ introduced
+ .I \%waddstr
+ along with its variants,
+Index: man/curs_addwstr.3x
+Prereq: 1.56
+--- ncurses-6.5-20250125+/man/curs_addwstr.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_addwstr.3x 2025-02-01 22:54:32.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addwstr.3x,v 1.56 2025/01/19 00:49:39 tom Exp $
+-.TH curs_addwstr 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_addwstr.3x,v 1.58 2025/02/01 22:54:32 tom Exp $
++.TH curs_addwstr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -142,8 +142,7 @@
+ \*(``an integer value other than
+ .IR ERR \*(''. \" Courier roman in source; SVID 4, vol. 3, p. 478
+ .SH HISTORY
+-These functions were initially specified by X/Open Curses Issue\ 4
+-(1995).
++X/Open Curses Issue\ 4 (1995) initially specified these functions.
+ The System\ V Interface Definition Version\ 4
+ of the same year
+ specified functions named
+Index: man/curs_attr.3x
+Prereq: 1.127
+--- ncurses-6.5-20250125+/man/curs_attr.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_attr.3x 2025-02-01 23:59:36.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_attr.3x,v 1.127 2025/01/19 00:49:39 tom Exp $
+-.TH curs_attr 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_attr.3x,v 1.133 2025/02/01 23:59:36 tom Exp $
++.TH curs_attr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -362,6 +362,7 @@
+ .BR \%chgat ","
+ .BR \%mvchgat ","
+ .BR \%mvwchgat ","
++.BR \%wchgat ","
+ and
+ .B \%color_set
+ are part of
+@@ -380,7 +381,7 @@
+ .B \%standend
+ may be implemented as macros.
+ .PP
+-Color pair values be logically \*(``or\*(''-ed with attributes
++Color pair values may be logically \*(``or\*(''-ed with attributes
+ if the pair number is less than 256.
+ The alternate functions such as \fBcolor_set\fP can pass a color pair
+ value directly.
+@@ -556,7 +557,6 @@
+ .\" ---------------------------------------------------------------------------
+ .SH HISTORY
+ 4BSD (1980)
+-.I curses
+ used a
+ .I char
+ to represent each cell of the terminal screen.
+@@ -582,7 +582,8 @@
+ .I curses
+ could do nothing with them.
+ .PP
+-SVr2 (1984) provided an improved
++SVr2 (1984)
++provided an improved
+ .I curses
+ library,
+ introducing
+@@ -621,7 +622,7 @@
+ macro along with a color system;
+ see \fBcurs_color\fP(3X).
+ .PP
+-X/Open Curses is largely based on SVr4
++X/Open Curses Issue\ 4 (1995) is largely based on SVr4
+ .IR curses ","
+ but recognized that the
+ .I \%wchar_t
+@@ -648,13 +649,11 @@
+ and
+ .IR \%wattr_set "),"
+ and some new
+-.RI \%( color_set ,
+-.IR \%wcolor_set ","
+-.IR \%chgat ","
+-.IR \%wchgat ","
+-.IR \%mvchgat ","
++.RI \%( chgat
++and its variants,
++.IR \%color_set ","
+ and
+-.IR \%mvwchgat ")."
++.IR \%wcolor_set ")."
+ .PP
+ Different Unix systems used differently sized bit fields in
+ .I \%chtype
+Index: man/curs_beep.3x
+Prereq: 1.39
+--- ncurses-6.5-20250125+/man/curs_beep.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_beep.3x 2025-02-01 23:46:11.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_beep.3x,v 1.39 2025/01/19 00:49:39 tom Exp $
+-.TH curs_beep 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_beep.3x,v 1.42 2025/02/01 23:46:11 tom Exp $
++.TH curs_beep 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .SH NAME
+ \fB\%beep\fP,
+ \fB\%flash\fP \-
+@@ -97,13 +97,14 @@
+ On SVr4
+ .IR curses ","
+ they always return
+-.BR OK ","
++.IR OK ","
+ and X/Open Curses specifies them as doing so.
+ .SH HISTORY
++SVr2 (1984)
++introduced
+ .I beep
+ and
+-.I flash
+-appeared in SVr2 (1984).
++.IR flash "."
+ .SH SEE ALSO
+ \fB\%curses\fP(3X),
+ \fB\%terminfo\fP(5)
+Index: man/curs_bkgrnd.3x
+Prereq: 1.55
+--- ncurses-6.5-20250125+/man/curs_bkgrnd.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_bkgrnd.3x 2025-02-01 22:54:32.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_bkgrnd.3x,v 1.55 2025/01/19 00:49:39 tom Exp $
+-.TH curs_bkgrnd 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_bkgrnd.3x,v 1.57 2025/02/01 22:54:32 tom Exp $
++.TH curs_bkgrnd 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -250,7 +250,7 @@
+ .IR curses 's
+ non-wide functions for manipulating the window background.
+ .SH HISTORY
+-These functions were initially specified by X/Open Curses Issue\ 4.
++X/Open Curses Issue\ 4 (1995) initially specified these functions.
+ .SH SEE ALSO
+ \fB\%curs_bkgd\fP(3X) describes the corresponding functions in the
+ non-wide configuration of
+Index: man/curs_border.3x
+Prereq: 1.60
+--- ncurses-6.5-20250125+/man/curs_border.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_border.3x 2025-02-02 00:00:33.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_border.3x,v 1.60 2025/01/19 00:49:39 tom Exp $
+-.TH curs_border 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_border.3x,v 1.63 2025/02/02 00:00:33 tom Exp $
++.TH curs_border 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -39,6 +39,11 @@
+ .ie t .ds '' ''
+ .el .ds '' ""
+ .\}
++.
++.de bP
++.ie n .IP \(bu 4
++.el .IP \(bu 2
++..
+ .SH NAME
+ \fB\%border\fP,
+ \fB\%wborder\fP,
+@@ -57,90 +62,129 @@
+ \fB#include <curses.h>
+ .PP
+ \fBint border(chtype \fIls\fP, chtype \fIrs\fP, chtype \fIts\fP, chtype \fIbs\fP,
+- \fBchtype \fItl\fB, chtype \fItr\fB, chtype \fIbl\fB, chtype \fIbr\fB);\fR
++ \fBchtype \fItl\fB, chtype \fItr\fB, chtype \fIbl\fB, chtype \fIbr\fB);\fR
+ \fBint wborder(WINDOW *\fIwin\fB, chtype \fIls\fB, chtype \fIrs\fB,\fR
+- \fBchtype \fIts\fB, chtype \fIbs\fB, chtype \fItl\fB, chtype \fItr\fB,\fR
+- \fBchtype \fIbl\fB, chtype \fIbr\fB);\fR
++ \fBchtype \fIts\fB, chtype \fIbs\fB, chtype \fItl\fB, chtype \fItr\fB,\fR
++ \fBchtype \fIbl\fB, chtype \fIbr\fB);\fR
+ .PP
+ \fBint box(WINDOW *\fIwin\fB, chtype \fIverch\fB, chtype \fIhorch\fB);\fR
+ .PP
+ \fBint hline(chtype \fIch\fB, int \fIn\fB);\fR
+ \fBint whline(WINDOW *\fIwin\fB, chtype \fIch\fB, int \fIn\fB);\fR
+-\fBint vline(chtype \fIch\fB, int \fIn\fB);\fR
+-\fBint wvline(WINDOW *\fIwin\fB, chtype \fIch\fB, int \fIn\fB);\fR
+-.PP
+ \fBint mvhline(int \fIy\fB, int \fIx\fB, chtype \fIch\fB, int \fIn\fB);\fR
+ \fBint mvwhline(WINDOW *\fIwin\fB, int \fIy\fB, int \fIx\fB, chtype \fIch\fB, int \fIn\fB);\fR
++.PP
++\fBint vline(chtype \fIch\fB, int \fIn\fB);\fR
++\fBint wvline(WINDOW *\fIwin\fB, chtype \fIch\fB, int \fIn\fB);\fR
+ \fBint mvvline(int \fIy\fB, int \fIx\fB, chtype \fIch\fB, int \fIn\fB);\fR
+ \fBint mvwvline(WINDOW *\fIwin\fB, int \fIy\fB, int \fIx\fB, chtype \fIch\fB, int \fIn\fB);\fR
+ .fi
+ .SH DESCRIPTION
+-The \fBborder\fP, \fBwborder\fP and \fBbox\fP routines
+-draw a box around the edges of a window.
+-Other than the window, each argument is a character with attributes:
+-.sp
++.B \%wborder
++and
++.B \%border
++draw a box at the edges of the specified window or
++.BR \%stdscr ","
++respectively.
++Each
++.I \%chtype
++argument corresponds to a geometric component of the border as follows:
+ .RS
+-\fIls\fP \- left side,
++.I ls
++\- left side,
+ .br
+-\fIrs\fP \- right side,
++.I rs
++\- right side,
+ .br
+-\fIts\fP \- top side,
++.I ts
++\- top side,
+ .br
+-\fIbs\fP \- bottom side,
++.I bs
++\- bottom side,
+ .br
+-\fItl\fP \- top left-hand corner,
++.I tl
++\- top left-hand corner,
+ .br
+-\fItr\fP \- top right-hand corner,
++.I tr
++\- top right-hand corner,
+ .br
+-\fIbl\fP \- bottom left-hand corner, and
++.I bl
++\- bottom left-hand corner, and
+ .br
+-\fIbr\fP \- bottom right-hand corner.
++.I br
++\- bottom right-hand corner.
+ .RE
+ .PP
+-If any of these arguments is zero, then the corresponding
+-default values (defined in \fBcurses.h\fP) are used instead:
+-.sp
++If any
++.I \%chtype
++argument is
++.BR 0 ","
++then
++.I curses
++uses forms-drawing characters
++(see \fBaddch\fP(3X))
++in the following correspondence:
+ .RS
+-\fBACS_VLINE\fP,
++.BR \%ACS_VLINE ","
+ .br
+-\fBACS_VLINE\fP,
++.BR \%ACS_VLINE ","
+ .br
+-\fBACS_HLINE\fP,
++.BR \%ACS_HLINE ","
+ .br
+-\fBACS_HLINE\fP,
++.BR \%ACS_HLINE ","
+ .br
+-\fBACS_ULCORNER\fP,
++.BR \%ACS_ULCORNER ","
+ .br
+-\fBACS_URCORNER\fP,
++.BR \%ACS_URCORNER ","
+ .br
+-\fBACS_LLCORNER\fP,
++.BR \%ACS_LLCORNER ","
++and
+ .br
+-\fBACS_LRCORNER\fP.
++.BR \%ACS_LRCORNER "."
+ .RE
+ .PP
+-\fBbox(\fIwin\fB, \fIverch\fB, \fIhorch\fB)\fR is a shorthand
+-for the following call: \fBwborder(\fIwin\fB,\fR \fIverch\fB,\fR
+-\fIverch\fB,\fR \fIhorch\fB,\fR \fIhorch\fB, 0, 0, 0, 0)\fR.
+-.PP
+-The \fBhline\fP and \fBwhline\fP functions draw a horizontal (left to right)
+-line using \fIch\fP starting at the current cursor position in the window.
+-The
+-current cursor position is not changed.
+-The line is at most \fIn\fP characters
+-long, or as many as fit into the window.
+-.PP
+-The \fBvline\fP and \fBwvline\fP functions draw a vertical (top to bottom) line
+-using \fIch\fP starting at the current cursor position in the window.
+-The
+-current cursor position is not changed.
+-The line is at most \fIn\fP characters
+-long, or as many as fit into the window.
++.BI \%box( win ","
++.IB verch ,
++.IB horch )
++is shorthand for
++.RB \%\*(`` wborder(\c
++.IB win ,
++.IB verch ,
++.IB horch ,
++.BR "0, 0, 0, 0)" "\*(''."
++.PP
++.B \%whline
++draws a horizontal line of
++.I ch
++from left to right,
++and
++.B \%wvline
++a vertical one from top to bottom,
++stopping once
++.I n
++characters have been drawn or upon reaching the boundary of
++.IR win "."
++These functions do not update the cursor position
++(beyond any motion directed by their \*(``mv\*('' variants).
++\fB\%ncurses\fP(3X) describes the variants of these functions.
+ .SH RETURN VALUE
+-All routines return the integer \fBOK\fP.
+-.PP
+-This implementation returns
++These functions return
++.B OK
++on success and
+ .B ERR
+-if the window pointer is null.
++on failure.
++.PP
++In
++.IR \%ncurses ","
++.bP
++these functions fail if the screen is not initialized;
++and
++.bP
++functions taking a
++.I \%WINDOW
++pointer argument fail if
++.I win
++is a null pointer.
+ .PP
+ Functions prefixed with \*(``mv\*('' first perform cursor movement and
+ fail if the position
+@@ -148,13 +192,33 @@
+ .IR x )
+ is outside the window boundaries.
+ .SH NOTES
+-.B \%border
+-and
++Unusually,
++there is no
++.B \%wbox
++function;
+ .B \%box
++behaves as one would expect
++.B \%wbox
++to,
++accepting a
++.I \%WINDOW
++pointer argument.
++.PP
++.BR \%border ","
++.BR \%box ","
++.BR \%hline ","
++.BR \%mvhline ","
++.BR \%mvwhline ","
++.BR \%vline ","
++.BR \%mvvline ","
++and
++.B \%mvwvline
+ may be implemented as macros.
+ .PP
+-The borders generated by these functions are \fIinside\fP borders (this
+-is also true of SVr4 curses, though the fact is not documented).
++Borders drawn by these functions are
++.I interior
++borders.
++.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/lib/libcurses/box.c
+ .SH PORTABILITY
+ These functions are described in X/Open Curses Issue\ 4.
+ It specifies no error conditions for them.
+@@ -176,6 +240,42 @@
+ in
+ .IR \%ncurses ","
+ it does not.
++.PP
++BSD
++.I curses
++drew boxes with
++.I horch
++in
++.I every
++character cell of the top and bottom lines of the window,
++whereas SVr3.1 and later
++.IR curses ","
++because its
++.I box
++wrapped
++.IR wborder ","
++used the default corner characters.
++.\" https://github.com/ryanwoodsmall/oldsysv/blob/master/sysvr3/31/\
++.\" usr/src/lib/libcurses/screen/curses.ed#L454
++.SH HISTORY
++4BSD (1980)
++introduced
++.IR box ","
++defining it as a function.
++.PP
++SVr3.1 (1987)
++added
++.I \%whline
++and
++.I \%wvline
++and their variants,
++as well as
++.I \%border
++and
++.IR \%wborder ","
++redefining
++.I \%box
++as a macro wrapping the latter.
+ .SH SEE ALSO
+ \fB\%curses\fP(3X),
+ \fB\%curs_outopts\fP(3X)
+Index: man/curs_border_set.3x
+Prereq: 1.43
+--- ncurses-6.5-20250125+/man/curs_border_set.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_border_set.3x 2025-02-02 00:04:21.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_border_set.3x,v 1.43 2025/01/19 00:49:39 tom Exp $
+-.TH curs_border_set 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_border_set.3x,v 1.48 2025/02/02 00:04:21 tom Exp $
++.TH curs_border_set 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -56,46 +56,33 @@
+ .nf
+ \fB#include <curses.h>
+ .PP
+-\fBint border_set(
+- \fBconst cchar_t *\fIls\fB, const cchar_t *\fIrs\fP,
+- \fBconst cchar_t *\fIts\fB, const cchar_t *\fIbs\fP,
+- \fBconst cchar_t *\fItl\fB, const cchar_t *\fItr\fP,
+- \fBconst cchar_t *\fIbl\fB, const cchar_t *\fIbr\fB);\fR
+-.br
+-\fBint wborder_set(\fP
+- \fBWINDOW *\fIwin\fP,
+- \fBconst cchar_t *\fIls\fB, const cchar_t *\fIrs\fP,
+- \fBconst cchar_t *\fIts\fB, const cchar_t *\fIbs\fP,
+- \fBconst cchar_t *\fItl\fB, const cchar_t *\fItr\fP,
+- \fBconst cchar_t *\fIbl\fB, const cchar_t *\fIbr\fB);\fR
+-\fBint box_set(\fP
+- \fBWINDOW *\fIwin\fP,
+- \fBconst cchar_t *\fIverch\fP,
+- \fBconst cchar_t *\fIhorch\fB);\fR
+-\fBint hline_set(\fP
+- \fBconst cchar_t *\fIwch\fB, int \fIn\fB);\fR
+-\fBint whline_set(\fP
+- \fBWINDOW *\fIwin\fP,
+- \fBconst cchar_t *\fIwch\fB, int \fIn\fB);\fR
+-\fBint mvhline_set(\fP
+- \fBint \fIy\fB, int \fIx\fP,
+- \fBconst cchar_t *\fIwch\fB, int \fIn\fB);\fR
+-\fBint mvwhline_set(\fP
+- \fBWINDOW *\fIwin\fP,
+- \fBint \fIy\fB, int \fIx\fP,
+- \fBconst cchar_t *\fIwch\fB, int \fIn\fB);\fR
+-\fBint vline_set(\fP
+- \fBconst cchar_t *\fIwch\fB, int \fIn\fB);\fR
+-\fBint wvline_set(\fP
+- \fBWINDOW *\fIwin\fP,
+- \fBconst cchar_t *\fIwch\fB, int \fIn\fB);\fR
+-\fBint mvvline_set(\fP
+- \fBint \fIy\fB, int \fIx\fP,
+- \fBconst cchar_t *\fIwch\fB, int \fIn\fB);\fR
+-\fBint mvwvline_set(\fP
+- \fBWINDOW *\fIwin\fP,
+- \fBint \fIy\fB, int \fIx\fP,
+- \fBconst cchar_t *\fIwch\fB, int \fIn\fB);\fR
++\fBint border_set(const cchar_t *\fIls\fB, const cchar_t *\fIrs\fP,
++ \fBconst cchar_t *\fIts\fB, const cchar_t *\fIbs\fP,
++ \fBconst cchar_t *\fItl\fB, const cchar_t *\fItr\fP,
++ \fBconst cchar_t *\fIbl\fB, const cchar_t *\fIbr\fB);\fR
++.br
++\fBint wborder_set(\fBWINDOW *\fIwin\fP,
++ \fBconst cchar_t *\fIls\fB, const cchar_t *\fIrs\fP,
++ \fBconst cchar_t *\fIts\fB, const cchar_t *\fIbs\fP,
++ \fBconst cchar_t *\fItl\fB, const cchar_t *\fItr\fP,
++ \fBconst cchar_t *\fIbl\fB, const cchar_t *\fIbr\fB);\fR
++.PP
++\fBint box_set(\fBWINDOW *\fIwin\fP, \fBconst cchar_t *\fIverch\fP,
++ \fBconst cchar_t *\fIhorch\fB);\fR
++.PP
++\fBint hline_set(const cchar_t *\fIwch\fB, int \fIn\fB);\fR
++\fBint whline_set(WINDOW *\fIwin\fP, \fBconst cchar_t *\fIwch\fB, int \fIn\fB);\fR
++\fBint mvhline_set(int \fIy\fB, int \fIx\fP, \fBconst cchar_t *\fIwch\fB,\fR
++ \fBint \fIn\fB);\fR
++\fBint mvwhline_set(WINDOW *\fIwin\fP, \fBint \fIy\fB, int \fIx\fP,
++ \fBconst cchar_t *\fIwch\fB, int \fIn\fB);\fR
++.PP
++\fBint vline_set(const cchar_t *\fIwch\fB, int \fIn\fB);\fR
++\fBint wvline_set(WINDOW *\fIwin\fP, \fBconst cchar_t *\fIwch\fB, int \fIn\fB);\fR
++\fBint mvvline_set(int \fIy\fB, int \fIx\fP, \fBconst cchar_t *\fIwch\fB,\fR
++ \fBint \fIn\fB);\fR
++\fBint mvwvline_set(WINDOW *\fIwin\fP, \fBint \fIy\fB, int \fIx\fP,
++ \fBconst cchar_t *\fIwch\fB, int \fIn\fB);\fR
+ .fi
+ .SH DESCRIPTION
+ The
+@@ -197,7 +184,10 @@
+ .B \%vline_set
+ may be implemented as macros.
+ .SH PORTABILITY
+-These functions are described in X/Open Curses Issue\ 4.
++X/Open Curses Issue\ 4 describes these functions.
++It specifies no error conditions for them.
++.SH HISTORY
++X/Open Curses Issue\ 4 (1995) initially specified these functions.
+ .SH SEE ALSO
+ \fB\%curses\fP(3X),
+ \fB\%curs_add_wch\fP(3X),
+Index: man/curs_deleteln.3x
+Prereq: 1.48
+--- ncurses-6.5-20250125+/man/curs_deleteln.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_deleteln.3x 2025-02-01 22:49:56.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_deleteln.3x,v 1.48 2025/01/19 00:49:39 tom Exp $
+-.TH curs_deleteln 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_deleteln.3x,v 1.51 2025/02/01 22:49:56 tom Exp $
++.TH curs_deleteln 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -132,14 +132,17 @@
+ .IR ERR \*(''. \" Courier roman in source; SVID 4, vol. 3, p. 490
+ .SH HISTORY
+ 4BSD (1980)
+-.I curses
+ introduced
+-.I \%wdeleteln
++.IR \%deleteln ","
++.IR \%wdeleteln ","
++.IR \%insertln ","
+ and
+ .IR \%winsertln "."
+ .PP
+ SVr3.1 (1987)
+ added
++.I \%insdelln
++and
+ .IR \%winsdelln "."
+ .SH SEE ALSO
+ \fB\%curses\fP(3X)
+Index: man/curs_get_wch.3x
+Prereq: 1.59
+--- ncurses-6.5-20250125+/man/curs_get_wch.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_get_wch.3x 2025-02-02 00:01:24.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_get_wch.3x,v 1.59 2025/01/19 00:49:39 tom Exp $
+-.TH curs_get_wch 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_get_wch.3x,v 1.64 2025/02/02 00:01:24 tom Exp $
++.TH curs_get_wch 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -193,8 +193,9 @@
+ .PP
+ Functions taking a
+ .I \%WINDOW
+-pointer argument fail if the pointer is
+-.IR NULL "."
++pointer argument fail if
++.I win
++is a null pointer.
+ .PP
+ Functions prefixed with \*(``mv\*('' first perform cursor movement and
+ fail if the position
+@@ -248,17 +249,15 @@
+ .PP
+ See the \*(``PORTABILITY\*('' section of \fB\%wgetch\fP(3X) regarding
+ the interaction of
+-.B \%wget_wch
++.I \%wget_wch
+ with signal handlers.
+ .SH HISTORY
+-These functions were initially specified by X/Open Curses Issue\ 4
+-(1995).
++X/Open Curses Issue\ 4 (1995) initially specified these functions.
+ The System\ V Interface Definition Version\ 4
+ of the same year
+ specified functions named
+ .I \%wgetwch
+-(with the usual variants)
+-and
++(with its variants)
+ .IR \%ungetwch "."
+ .\" SVID 4, vol 3., pp. 496-499
+ These were later additions to
+Index: man/curs_get_wstr.3x
+Prereq: 1.64
+--- ncurses-6.5-20250125+/man/curs_get_wstr.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_get_wstr.3x 2025-02-01 22:54:32.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_get_wstr.3x,v 1.64 2025/01/19 00:49:39 tom Exp $
+-.TH curs_get_wstr 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_get_wstr.3x,v 1.68 2025/02/01 22:54:32 tom Exp $
++.TH curs_get_wstr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -98,7 +98,7 @@
+ .IR WEOF );
+ .bP
+ interprets the screen's erase and kill characters
+-(see \fB\%erasechar\fP(3X) and \fB\%killchar\fP(3X));
++(see \fB\%erasewchar\fP(3X) and \fB\%killwchar\fP(3X));
+ .bP
+ recognizes function keys only if the screen's keypad option is enabled
+ (see \fB\%keypad\fP(3X));
+@@ -363,6 +363,28 @@
+ for consistency with SVr4
+ .IR curses 's
+ .IR \%wgetnstr .
++.SH HISTORY
++X/Open Curses Issue\ 4 (1995) initially specified these functions.
++The System\ V Interface Definition Version\ 4
++of the same year
++specified functions named
++.I \%wgetwstr
++and
++.I \%wgetnwstr
++(and the usual variants).
++.\" SVID 4, vol 3., p. 500
++These were later additions to
++.RI SVr4. x ,
++not appearing in the first SVr4 (1989).
++Except in name,
++their declarations did not differ from X/Open's later
++.I \%wget_wstr
++and
++.I \%wgetn_wstr
++until
++X/Open Curses Issue 7 (2009)
++eventually changed the type of the buffer argument to a pointer to
++.IR \%wint_t "."
+ .SH SEE ALSO
+ \fB\%curs_getstr\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_getcchar.3x
+Prereq: 1.53
+--- ncurses-6.5-20250125+/man/curs_getcchar.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_getcchar.3x 2025-02-01 23:46:11.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getcchar.3x,v 1.53 2025/01/19 00:49:39 tom Exp $
+-.TH curs_getcchar 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_getcchar.3x,v 1.56 2025/02/01 23:46:11 tom Exp $
++.TH curs_getcchar 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds ' \(aq
+ .\}
+@@ -274,7 +274,7 @@
+ attributes
+ (at least 15 bits' worth,
+ inferred from the count of specified
+-.B WA_
++.I WA_
+ constants),
+ .\" See X/Open Curses Issue 7, p. 307.
+ .bP
+@@ -344,8 +344,7 @@
+ value;
+ doing so alters the library's ABI.
+ .SH HISTORY
+-These functions were initially specified by X/Open Curses Issue\ 4
+-(1995).
++X/Open Curses Issue\ 4 (1995) initially specified these functions.
+ .SH SEE ALSO
+ \fB\%curses\fP(3X),
+ \fB\%curs_attr\fP(3X),
+Index: man/curs_getch.3x
+Prereq: 1.114
+--- ncurses-6.5-20250125+/man/curs_getch.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_getch.3x 2025-02-02 00:00:59.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getch.3x,v 1.114 2025/01/19 00:49:39 tom Exp $
+-.TH curs_getch 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_getch.3x,v 1.117 2025/02/02 00:00:59 tom Exp $
++.TH curs_getch 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -477,8 +477,9 @@
+ .PP
+ Functions taking a
+ .I \%WINDOW
+-pointer argument fail if the pointer is
+-.IR NULL "."
++pointer argument fail if
++.I win
++is a null pointer.
+ .PP
+ Functions prefixed with \*(``mv\*('' first perform cursor movement and
+ fail if the position
+@@ -648,16 +649,16 @@
+ \*(``an integer value other than
+ .IR ERR \*(''. \" Courier roman in source; SVID 4, vol. 3, p. 494
+ .PP
+-.B \%wgetch
++.I \%wgetch
+ reads only single-byte characters.
+ .PP
+ The echo behavior of these functions on input of
+-.B KEY_
++.I KEY_
+ or backspace characters is not documented in SVr4
+ .IR curses "."
+ .PP
+ The behavior of
+-.B \%wgetch
++.I \%wgetch
+ in the presence of signal handlers is not documented in SVr4
+ .I curses
+ and is unspecified by X/Open Curses.
+@@ -673,18 +674,18 @@
+ .I curses
+ application prepares for two cases:
+ (a) signal receipt does not interrupt
+-.BR \%wgetch ";"
++.IR \%wgetch ";"
+ or
+ (b) signal receipt interrupts
+-.B \%wgetch
++.I \%wgetch
+ and causes it to return
+-.B ERR
++.I ERR
+ with
+-.B \%errno
++.I \%errno
+ set to
+-.BR \%EINTR "."
++.IR \%EINTR "."
+ .PP
+-.B \%KEY_MOUSE
++.I \%KEY_MOUSE
+ is mentioned in X/Open Curses,
+ along with a few related
+ .I \%term\%info
+@@ -694,9 +695,9 @@
+ .I \%ncurses
+ is an extension.
+ .PP
+-.B \%KEY_RESIZE
++.I \%KEY_RESIZE
+ and
+-.B \%has_key
++.I \%has_key
+ are extensions first implemented for
+ .IR \%ncurses "."
+ By 2022,
+@@ -707,7 +708,7 @@
+ .I curses
+ .\" https://web.archive.org/web/20200923185647/https://man.netbsd.org/curses_input.3
+ had added them along with
+-.BR \%KEY_MOUSE "."
++.IR \%KEY_MOUSE "."
+ .SH SEE ALSO
+ ECMA-6 \*(``7-bit coded Character Set\*(''
+ \%<https://\*:ecma\-international\*:.org/\
+Index: man/curs_getstr.3x
+Prereq: 1.80
+--- ncurses-6.5-20250125+/man/curs_getstr.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_getstr.3x 2025-02-01 22:49:13.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getstr.3x,v 1.80 2025/01/19 00:49:39 tom Exp $
+-.TH curs_getstr 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_getstr.3x,v 1.85 2025/02/01 22:49:13 tom Exp $
++.TH curs_getstr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -289,8 +289,7 @@
+ .PP
+ without further detail.
+ It lied.
+-In fact,
+-the \*(``character\*('' value
++The \*(``character\*('' value
+ appended to the string
+ by those implementations
+ was predictable but not useful \(em
+@@ -482,7 +481,6 @@
+ .IR curses "."
+ .SH HISTORY
+ 4BSD (1980)
+-.I curses
+ introduced
+ .I \%wgetstr
+ along with its variants.
+@@ -492,11 +490,12 @@
+ .IR \%wgetnstr ","
+ but none of its variants.
+ .PP
+-X/Open Curses Issue\ 4 (1995) specified
++X/Open Curses Issue\ 4 (1995)
++specified
+ .IR \%getnstr ","
+-.IR \%mvwgetnstr ","
++.IR \%mvgetnstr ","
+ and
+-.IR \%mvgetnstr "."
++.IR \%mvwgetnstr "."
+ .SH SEE ALSO
+ \fB\%curs_get_wstr\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_getyx.3x
+Prereq: 1.53
+--- ncurses-6.5-20250125+/man/curs_getyx.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_getyx.3x 2025-02-01 22:48:11.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getyx.3x,v 1.53 2025/01/19 00:49:39 tom Exp $
+-.TH curs_getyx 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_getyx.3x,v 1.55 2025/02/01 22:48:11 tom Exp $
++.TH curs_getyx 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -157,7 +157,6 @@
+ macro hides this difference.
+ .SH HISTORY
+ 4BSD (1980)
+-.I curses
+ introduced
+ .IR \%getyx "."
+ .PP
+Index: man/curs_in_wch.3x
+Prereq: 1.42
+--- ncurses-6.5-20250125+/man/curs_in_wch.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_in_wch.3x 2025-02-01 22:54:32.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_in_wch.3x,v 1.42 2025/01/19 00:49:39 tom Exp $
+-.TH curs_in_wch 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_in_wch.3x,v 1.44 2025/02/01 22:54:32 tom Exp $
++.TH curs_in_wch 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -104,8 +104,7 @@
+ 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
+-(1995).
++X/Open Curses Issue\ 4 (1995) initially specified these functions.
+ The System\ V Interface Definition Version\ 4
+ of the same year
+ specified a function named
+Index: man/curs_in_wchstr.3x
+Prereq: 1.46
+--- ncurses-6.5-20250125+/man/curs_in_wchstr.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_in_wchstr.3x 2025-02-01 22:54:32.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_in_wchstr.3x,v 1.46 2025/01/19 00:49:39 tom Exp $
+-.TH curs_in_wchstr 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_in_wchstr.3x,v 1.48 2025/02/01 22:54:32 tom Exp $
++.TH curs_in_wchstr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -126,8 +126,7 @@
+ 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
+-(1995).
++X/Open Curses Issue\ 4 (1995) initially specified these functions.
+ The System\ V Interface Definition Version\ 4
+ of the same year
+ specified a function named
+Index: man/curs_initscr.3x
+Prereq: 1.86
+--- ncurses-6.5-20250125+/man/curs_initscr.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_initscr.3x 2025-02-02 00:01:55.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_initscr.3x,v 1.86 2025/01/19 00:49:39 tom Exp $
+-.TH curs_initscr 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_initscr.3x,v 1.92 2025/02/02 00:01:55 tom Exp $
++.TH curs_initscr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -219,7 +219,7 @@
+ restores terminal modes (see \fB\%reset_shell_mode\fP(3X)).
+ .PP
+ Calling \fB\%refresh\fP(3X) or \fB\%doupdate\fP(3X) after a
+-temporary escape causes
++temporary suspension causes
+ .I curses
+ to resume managing the terminal.
+ .SS isendwin
+@@ -319,58 +319,214 @@
+ In
+ .IR \%ncurses ","
+ .B \%set_term
+-does not fail.
++does not fail,
++and
++.B \%initscr
++exits the application if it does not operate successfully.
++.SH NOTES
++.I \%ncurses
++establishes signal handlers when a function that initializes a
++.IR SCREEN ","
++either
++.B \%initscr
++or
++.BR \%newterm ","
++is first called.
++Applications that wish to handle the following signals themselves
++should set up their corresponding handlers
++.I after
++initializing the screen.
++.TP
++.I SIGINT
++.IR \%ncurses 's
++handler
++.I attempts
++to clean up the screen on exit.
++Although it
++.I usually
++works as expected,
++there are limitations.
++.RS
++.bP
++Walking the
++.I SCREEN
++list is unsafe, since all list management
++is done without any signal blocking.
++.bP
++When an application has been built with the
++.I \%_REENTRANT
++macro defined
++(and corresponding system support),
++.B \%set_term
++uses functions that could deadlock or misbehave in other ways.
++.bP
++.B \%endwin
++calls other functions,
++many of which use \fI\%stdio\fP(3) or other library functions that are
++clearly unsafe.
++.RE
++.TP
++.I SIGTERM
++.I \%ncurses
++uses the same handler as for
++.IR \%SIGINT ","
++with the same limitations.
++It is not mentioned in X/Open Curses,
++but is more suitable for this purpose than
++.I \%SIGQUIT
++(which is used in debugging).
++.TP
++.I SIGTSTP
++.IR \%ncurses 's
++handler manages the terminal-generated stop signal,
++used in job control.
++When resuming the process,
++.I \%ncurses
++discards pending input with \fB\%flushinp\fP(3X)
++and repaints the screen,
++assuming that it has been completely altered.
++It also updates the saved terminal modes with
++\fB\%def_shell_mode\fP(3X).
++.TP
++.I SIGWINCH
++.I \%ncurses
++handles changes to the terminal's window size,
++a phenomenon ignored in standardization efforts.
++It sets a (signal-safe) variable
++that is later tested by \fB\%wgetch\fP(3X) and \fB\%wget_wch\fP(3X).
++.RS
++.bP
++.B \%wgetch
++returns the key code
++.BR \%KEY_RESIZE "."
++.bP
++.B \%wget_wch
++returns
++.B \%KEY_CODE_YES
++and sets its
++.I wch
++parameter to
++.BR \%KEY_RESIZE "."
++.RE
++.IP
++At the same time,
++.I \%ncurses
++calls \fB\%resizeterm\fP(3X)
++to adjust the standard screen
++.BR \%stdscr ","
++and update global variables such as
++.B LINES
++and
++.BR COLS "."
+ .SH PORTABILITY
+ X/Open Curses Issue\ 4 describes these functions.
+ It specifies no error conditions for them.
+ .SS Differences
+ X/Open Curses specifies that portable applications must not
+-call \fB\%initscr\fP more than once:
++call
++.I \%initscr
++more than once.
+ .bP
+-The portable way to use \fB\%initscr\fP is once only,
+-using \fB\%refresh\fP(3X)
+-to restore the screen after \fB\%endwin\fP.
++The portable way to use
++.I \%initscr
++is once only,
++using
++.I \%refresh
++to restore the screen after
++.IR \%endwin "."
+ .bP
+-This implementation allows using \fB\%initscr\fP after \fB\%endwin\fP.
++.I \%ncurses
++permits use of
++.I \%initscr
++after
++.IR \%endwin "."
+ .PP
+-Old versions of curses, e.g., BSD 4.4, would return a null pointer
+-from \fB\%initscr\fP when an error is detected, rather than exiting.
+-It is safe but redundant to check the return value of \fB\%initscr\fP
++.I \%initscr
++in BSD,
++from its inception (1980) through the Net/2 release (1991) returned
++.I ERR
++cast to a
++.I \%WINDOW
++pointer when detecting an error.
++.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/lib/libcurses/initscr.c
++.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=Net2/usr/src/lib/libcurses/initscr.c
++4.4BSD (1995)
++instead returned a null pointer.
++.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=4.4BSD/usr/src/lib/libcurses/initscr.c
++Neither exited the application.
++It is safe but redundant to check the return value of
++.I \%initscr
+ in X/Open Curses.
+ .PP
+-Calling \fB\%endwin\fP does not dispose of the memory allocated in
+-\fB\%initscr\fP or \fB\%newterm\fP.
+-Deleting a \fISCREEN\fP provides a way to do this:
+-.bP
+-X/Open Curses does not say what happens to \fI\%WINDOW\fPs when
+-\fB\%delscreen\fP
+-\*(``frees storage associated with the \fISCREEN\fP\*(''
++Calling
++.I \%endwin
++does not dispose of the memory allocated by
++.I \%initscr
++or
++.IR \%newterm "."
++Deleting a
++.I SCREEN
++provides a way to do this.
++.bP
++X/Open Curses does not say what happens to
++.IR \%WINDOW s
++when
++.I \%delscreen
++\*(``frees storage associated with the
++.IR SCREEN "\*(''"
+ nor does the SVr4 documentation help,
+-adding that it should be called after \fB\%endwin\fP if a \fISCREEN\fP
++adding that it should be called after
++.I \%endwin
++if a
++.I SCREEN
+ is no longer needed.
+ .bP
+-However, \fI\%WINDOW\fPs are implicitly associated with a \fISCREEN\fP.
+-so that it is reasonable to expect \fB\%delscreen\fP to deal with these.
+-.bP
+-SVr4 curses deletes the standard \fI\%WINDOW\fP structures
+-\fB\%stdscr\fP and \fB\%curscr\fP as well as a work area \fB\%newscr\fP.
+-SVr4 curses ignores other windows.
++However,
++.IR \%WINDOW s
++are implicitly associated with a
++.IR SCREEN ","
++so it is reasonable to expect
++.I \%delscreen
++to dispose of them.
++.bP
++SVr4 deletes the standard
++.I \%WINDOW
++structures
++.I \%stdscr
++and
++.I \%curscr
++as well as a work area
++.IR \%newscr "."
++It ignores other windows.
+ .bP
+ Since version 4.0 (1996),
+-\fI\%ncurses\fP has maintained a list of all windows for each screen,
+-using that information to delete those windows when \fB\%delscreen\fP is
++.I \%ncurses
++has maintained a list of all windows for each screen,
++using that information to delete those windows when
++.I \%delscreen
++is
+ called.
+ .bP
+-NetBSD copied this feature of \fI\%ncurses\fP in 2001.
++NetBSD copied this feature of
++.I \%ncurses
++in 2001.
+ .I \%PDCurses
+ follows the SVr4 model,
+-deleting only the standard \fI\%WINDOW\fP structures.
++deleting only the standard
++.I \%WINDOW
++structures.
+ .SS "High-level versus Low-level"
+ Different implementations may disagree regarding the level of some functions.
+-For example, \fISCREEN\fP (returned by \fB\%newterm\fP) and
+-\fI\%TERMINAL\fP (returned by \fB\%setupterm\fP(3X)) hold file
++For example,
++.I SCREEN
++(returned by
++.IR \%newterm ")"
++and
++.I \%TERMINAL
++(returned by \fB\%setupterm\fP(3X)) hold file
+ descriptors for the output stream.
+-If an application switches screens using \fB\%set_term\fR,
++If an application switches screens using
++.IR \%set_term ","
+ or switches terminals using \fB\%set_curterm\fP(3X),
+ applications which use the output file descriptor can have different
+ behavior depending on which structure holds the corresponding descriptor.
+@@ -380,21 +536,26 @@
+ function uses the descriptor in
+ .IR \%TERMINAL "."
+ .I \%ncurses
+-and SVr4
+-.I curses
+-use the descriptor in
++and SVr4 use the descriptor in
+ .IR SCREEN "."
+ .bP
+-NetBSD and \fI\%ncurses\fP use the descriptor
+-in \fI\%TERMINAL\fP
++NetBSD and
++.I \%ncurses
++use the descriptor
++in
++.I \%TERMINAL
+ for terminal I/O modes,
+ e.g.,
+ \fB\%def_shell_mode\fP(3X),
+ \fB\%def_prog_mode\fP(3X).
+-SVr4 curses uses the descriptor in \fISCREEN\fP.
++SVr4 uses the descriptor in
++.IR SCREEN "."
+ .SS "Unset \fITERM\fP Variable"
+-If the \fITERM\fP variable is missing or empty, \fB\%initscr\fP uses the
+-value \*(``unknown\*('',
++If the
++.I TERM
++variable is missing or empty,
++.I \%initscr
++uses the value \*(``unknown\*('',
+ which normally corresponds to a terminal entry with the
+ .B \%generic
+ .RB ( gn )
+@@ -402,16 +563,19 @@
+ Generic entries are detected by \fB\%setupterm\fP(3X)
+ and cannot be used for full-screen operation.
+ Other implementations may handle
+-a missing/empty \fITERM\fP variable differently.
++a missing/empty
++.I TERM
++variable differently.
+ .SS "Signal Handlers"
+-Quoting from X/Open Curses Issue\ 7, section 3.1.1:
++Quoting X/Open Curses Issue\ 7,
++section 3.1.1:
+ .RS 5
+ .PP
+ Curses implementations may provide for special handling of the
+ \%SIGINT,
+ \%SIGQUIT,
+ and \%SIGTSTP signals if their disposition is \%SIG_DFL at the time
+-.I \%initscr
++.IR \%initscr ()
+ is called.\|.\|.
+ .PP
+ Any special handling for these signals may remain in effect for the
+@@ -422,63 +586,9 @@
+ with respect to signals.\|.\|.
+ .RE
+ .PP
+-This implementation establishes signal handlers during initialization,
+-e.g., \fB\%initscr\fP or \fB\%newterm\fP.
+-Applications which must handle these signals should set up the corresponding
+-handlers \fIafter\fP initializing the library:
+-.TP 5
+-.B SIGINT
+-The handler \fIattempts\fP to clean up the screen on exit.
+-Although it \fIusually\fP works as expected, there are limitations:
+-.RS 5
+-.bP
+-Walking the \fISCREEN\fP list is unsafe, since all list management
+-is done without any signal blocking.
+-.bP
+-On systems which have \fB\%REENTRANT\fP turned on, \fB\%set_term\fP uses
+-functions which could deadlock or misbehave in other ways.
+-.bP
+-\fB\%endwin\fP calls other functions,
+-many of which use \fI\%stdio\fP(3) or other library functions which are
+-clearly unsafe.
+-.RE
+-.TP 5
+-.B SIGTERM
+-This uses the same handler as \fB\%SIGINT\fP, with the same limitations.
+-It is not mentioned in X/Open Curses, but is more suitable for this
+-purpose than \fB\%SIGQUIT\fP (which is used in debugging).
+-.TP 5
+-.B SIGTSTP
+-This handles the \fIstop\fP signal, used in job control.
+-When resuming the process, this implementation discards pending
+-input with \fB\%flushinp\fP(3X), and repaints the screen
+-assuming that it has been completely altered.
+-It also updates the saved terminal modes with
+-\fB\%def_shell_mode\fP(3X).
+-.TP 5
+-.B SIGWINCH
+-This handles the window-size changes which were ignored in
+-the standardization efforts.
+-The handler sets a (signal-safe) variable
+-that is later tested by \fB\%wgetch\fP(3X) and \fB\%wget_wch\fP(3X).
+-.RS
+-.bP
+-.B \%wgetch
+-returns the key code
+-.BR \%KEY_RESIZE "."
+-.bP
+-.B \%wget_wch
+-returns
+-.B \%KEY_CODE_YES
+-and sets its
+-.I wch
+-parameter to
+-.BR \%KEY_RESIZE "."
+-.RE
+-.IP
+-At the same time, \fI\%ncurses\fP calls \fB\%resizeterm\fP to adjust the
+-standard screen \fB\%stdscr\fP,
+-and update other data such as \fBLINES\fP and \fBCOLS\fP.
++Section \*(``NOTES\*('' above discusses
++.IR \%ncurses 's
++signal handlers.
+ .SH SEE ALSO
+ \fB\%curses\fP(3X),
+ \fB\%curs_kernel\fP(3X),
+Index: man/curs_inopts.3x
+Prereq: 1.89
+--- ncurses-6.5-20250125+/man/curs_inopts.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_inopts.3x 2025-02-02 00:02:25.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_inopts.3x,v 1.89 2025/01/19 00:49:39 tom Exp $
+-.TH curs_inopts 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_inopts.3x,v 1.93 2025/02/02 00:02:25 tom Exp $
++.TH curs_inopts 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -111,7 +111,11 @@
+ .I curses
+ offers configurable parameters permitting an application to control the
+ handling of input from the terminal.
+-Some are global,
++Some,
++such as those affecting the terminal's
++.I mode
++or line discipline,
++are global,
+ applying to all windows;
+ others apply only to a specific window.
+ The library does not automatically apply such parameters to new or
+@@ -135,19 +139,25 @@
+ the terminal driver buffers typed characters,
+ not delivering them to an application
+ until a line feed or carriage return is typed.
++This canonical (\*(``cooked\*('') line discipline also supports
++software flow control,
++simple line editing functions
++(character and word erase,
++and whole-line erasure or \*(``kill\*(''),
++and job control.
+ .B \%cbreak
+ configures the terminal in
+ .IR "cbreak mode" ","
+ which disables line buffering
+-and erase and kill character processing
+-(the interrupt,
++and erase and kill character processing \(em
++the interrupt,
+ quit,
+ suspend,
+-and flow control characters are unaffected)
++and flow control characters are unaffected \(em
+ and makes characters typed by the user immediately available to the
+ program.
+ .B \%nocbreak
+-restores the terminal's canonical (\*(``cooked\*('') line discipline.
++restores canonical (\*(``cooked\*('') mode.
+ .PP
+ The state of the terminal is unknown to a
+ .I curses
+@@ -299,9 +309,9 @@
+ this is equivalent,
+ on POSIX systems,
+ to setting the CS7 flag on the terminal.
+-The window argument,
+-.IR win ,
+-is always ignored.
++.I curses
++ignores the window argument
++.IR win "."
+ If the
+ .I \%term\%info
+ string capabilities
+@@ -371,8 +381,11 @@
+ The default behavior is inherited from the terminal driver settings.
+ Calling
+ .B \%qiflush
+-configures the terminal to flush the queues when any of these events
+-occurs,
++configures the terminal to
++.I flush
++the queues
++(discarding their contents)
++when any of these events occurs,
+ giving the impression of faster response to user input,
+ but making the library's model of the screen contents incorrect.
+ Calling
+@@ -424,12 +437,13 @@
+ If
+ .I delay
+ is negative,
+-a blocking read is used,
++.I curses
++uses a blocking read,
+ waiting indefinitely for input.
+ If
+ .I delay
+ is zero,
+-a non-blocking read is used;
++the read is non-blocking;
+ an input character reading function returns
+ .B ERR
+ if no input is pending.
+@@ -732,11 +746,9 @@
+ These are loaded after the predefined keys,
+ and if a capability's value is the same as a previously loaded
+ key definition,
+-the later definition is the one used.
++the library uses the later definition.
+ .SH HISTORY
+-4BSD
+-.I curses
+-(1980)
++4BSD (1980)
+ introduced
+ .IR echo ","
+ .IR \%noecho ","
+@@ -746,7 +758,8 @@
+ and
+ .IR \%noraw "." \" also crmod and nocrmod, never standardized
+ .PP
+-SVr2 (1984) featured a new terminal driver,
++SVr2 (1984)
++featured a new terminal driver,
+ extending the
+ .I curses
+ API to support it with
+Index: man/curs_ins_wch.3x
+Prereq: 1.43
+--- ncurses-6.5-20250125+/man/curs_ins_wch.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_ins_wch.3x 2025-02-02 00:00:59.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_ins_wch.3x,v 1.43 2025/01/19 00:49:39 tom Exp $
+-.TH curs_ins_wch 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_ins_wch.3x,v 1.46 2025/02/02 00:00:59 tom Exp $
++.TH curs_ins_wch 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -72,8 +72,9 @@
+ .PP
+ Functions taking a
+ .I \%WINDOW
+-pointer argument fail if the pointer is
+-.IR NULL .
++pointer argument fail if
++.I win
++is a null pointer.
+ .PP
+ Functions prefixed with \*(``mv\*('' first perform cursor movement and
+ fail if the position
+@@ -96,8 +97,7 @@
+ 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
+-(1995).
++X/Open Curses Issue\ 4 (1995) initially specified these functions.
+ The System\ V Interface Definition Version\ 4
+ of the same year
+ specified a function named
+Index: man/curs_ins_wstr.3x
+Prereq: 1.56
+--- ncurses-6.5-20250125+/man/curs_ins_wstr.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_ins_wstr.3x 2025-02-01 22:54:32.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_ins_wstr.3x,v 1.56 2025/01/19 00:49:39 tom Exp $
+-.TH curs_ins_wstr 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_ins_wstr.3x,v 1.58 2025/02/01 22:54:32 tom Exp $
++.TH curs_ins_wstr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -183,7 +183,7 @@
+ Nevertheless,
+ Issue\ 7 retains the language.
+ .SH HISTORY
+-These functions were initially specified by X/Open Curses Issue 4.
++X/Open Curses Issue\ 4 (1995) initially specified these functions.
+ The System\ V Interface Definition Version\ 4 (1995),
+ specified functions named
+ .I \%winswstr
+Index: man/curs_insch.3x
+Prereq: 1.49
+--- ncurses-6.5-20250125+/man/curs_insch.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_insch.3x 2025-02-02 00:00:59.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_insch.3x,v 1.49 2025/01/19 00:49:39 tom Exp $
+-.TH curs_insch 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_insch.3x,v 1.51 2025/02/02 00:00:59 tom Exp $
++.TH curs_insch 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -76,8 +76,9 @@
+ .PP
+ Functions taking a
+ .I \%WINDOW
+-pointer argument fail if the pointer is
+-.IR NULL .
++pointer argument fail if
++.I win
++is a null pointer.
+ .PP
+ Functions prefixed with \*(``mv\*('' first perform cursor movement and
+ fail if the position
+Index: man/curs_insstr.3x
+Prereq: 1.68
+--- ncurses-6.5-20250125+/man/curs_insstr.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_insstr.3x 2025-02-01 22:53:03.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_insstr.3x,v 1.68 2025/01/19 00:49:39 tom Exp $
+-.TH curs_insstr 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_insstr.3x,v 1.70 2025/02/01 22:53:03 tom Exp $
++.TH curs_insstr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -173,8 +173,8 @@
+ since it makes this group of functions inconsistent.
+ No implementation of
+ .I curses
+-documents this inconsistency,
+-and Issue\ 7 removed it.
++manifests this inconsistency,
++and Issue\ 7 removed the claim.
+ .PP
+ Issue\ 4 states that the entire string is inserted if
+ .I n
+@@ -196,7 +196,8 @@
+ introduced
+ .I \%winsstr
+ and
+-.IR \%winsnstr "."
++.I \%winsnstr
++and their variants.
+ .SH SEE ALSO
+ \fB\%curs_ins_wstr\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_instr.3x
+Prereq: 1.68
+--- ncurses-6.5-20250125+/man/curs_instr.3x 2025-01-19 00:49:39.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_instr.3x 2025-02-01 22:54:06.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_instr.3x,v 1.68 2025/01/19 00:49:39 tom Exp $
+-.TH curs_instr 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_instr.3x,v 1.70 2025/02/01 22:54:06 tom Exp $
++.TH curs_instr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -207,6 +207,9 @@
+ .SH HISTORY
+ SVr3.1 (1987)
+ introduced these functions.
++.IR winstr ","
++.IR winnstr ","
++and their variants.
+ .SH SEE ALSO
+ \fB\%curs_inwstr\fP(3X) describes comparable functions of the
+ .I \%ncurses
+Index: man/curs_move.3x
+Prereq: 1.54
+--- ncurses-6.5-20250125+/man/curs_move.3x 2025-01-19 00:51:10.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_move.3x 2025-02-01 22:50:42.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_move.3x,v 1.54 2025/01/19 00:51:10 tom Exp $
+-.TH curs_move 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_move.3x,v 1.57 2025/02/01 22:50:42 tom Exp $
++.TH curs_move 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -101,9 +101,7 @@
+ .IR ERR \*(''. \" Courier roman in source; SVID 4, vol. 3, p. 503
+ .SH HISTORY
+ 4BSD (1980)
+-.I curses
+-introduced
+-.IR \%wmove "."
++introduced these functions.
+ .SH SEE ALSO
+ \fB\%curses\fP(3X),
+ \fB\%curs_refresh\fP(3X)
+Index: man/curs_outopts.3x
+Prereq: 1.78
+--- ncurses-6.5-20250125+/man/curs_outopts.3x 2025-01-19 00:51:10.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_outopts.3x 2025-02-01 22:49:13.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_outopts.3x,v 1.78 2025/01/19 00:51:10 tom Exp $
+-.TH curs_outopts 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_outopts.3x,v 1.81 2025/02/01 22:49:13 tom Exp $
++.TH curs_outopts 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -218,20 +218,21 @@
+ Use \fB\%curs_set\fP(3X) to make the cursor invisible.
+ .SH HISTORY
+ 4BSD (1980)
+-.I curses
+ introduced
+ .IR \%clearok ","
+ .IR \%leaveok ","
+ and
+ .IR \%scrollok "."
+ .PP
+-SVr2 (1984) supplied
++SVr2 (1984)
++supplied
+ .IR \%idlok ","
+ .IR \%setscrreg ","
+ and
+ .IR \%wsetscrreg "."
+ .PP
+-SVr3.1 (1987) implemented
++SVr3.1 (1987)
++implemented
+ .I \%idcok
+ and
+ .IR \%immedok "."
+Index: man/curs_scroll.3x
+Prereq: 1.55
+--- ncurses-6.5-20250125+/man/curs_scroll.3x 2025-01-19 00:51:10.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_scroll.3x 2025-02-02 00:02:49.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_scroll.3x,v 1.55 2025/01/19 00:51:10 tom Exp $
+-.TH curs_scroll 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_scroll.3x,v 1.57 2025/02/02 00:02:49 tom Exp $
++.TH curs_scroll 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -66,20 +66,12 @@
+ .I i
+ becomes line
+ .IR i "\-1."
+-The text of the top line in the window disappears and the bottom line
+-is populated with the background character;
+-see \fB\%bkgd\fP(3X)
+-(wide-character API users: \fB\%bkgrnd\fP(3X)).
+-As an optimization,
+-if the scrolling region of the window is the entire screen,
+-the physical screen may be scrolled at the same time;
+-see \fB\%curscr\fP(3X).
+-.PP
+-.B \%scrl
+-and
+ .B \%wscrl
+-scrolls the specified window
+-.I win
++and
++.B \%scrl
++scroll the specified window or
++.BR \%stdscr ","
++respectively,
+ up or down per the sign of
+ .IR n "."
+ .bP
+@@ -98,9 +90,17 @@
+ becomes
+ .I i
+ (scrolling down).
+-\fB\%ncurses\fP(3X) describes the
+-.B \%scrl
+-variant of this function.
++.PP
++A line that scrolls beyond the window boundaries disappears;
++.I curses
++populates a new one emerging at the opposite boundary
++with the background character;
++see \fB\%bkgd\fP(3X)
++(wide-character API users: \fB\%bkgrnd\fP(3X)).
++As an optimization,
++if the scrolling region of the window is the entire screen,
++the physical screen may be scrolled at the same time;
++see \fB\%curscr\fP(3X).
+ .PP
+ The cursor does not move.
+ These functions perform no operation unless scrolling is enabled for the
+@@ -112,18 +112,26 @@
+ .B OK
+ upon success.
+ .PP
+-.I \%ncurses
+-returns
++In
++.IR \%ncurses ","
++they return
+ .B ERR
+-if scrolling is not enabled in the window,
+-for example with \fB\%scrollok\fP(3X),
+-or if the
+-.I \%WINDOW
+-pointer is null.
++if
++.bP
++the
++.I curses
++screen has not been initialized,
++.bP
++.I win
++is a null pointer,
++or
++.bP
++scrolling is not enabled in the window
++(as by \fB\%scrollok\fP(3X)).
+ .SH NOTES
+-.B \%scrl
++.B \%scroll
+ and
+-.B \%wscrl
++.B \%scrl
+ may be implemented as macros.
+ .PP
+ Unusually,
+@@ -160,6 +168,20 @@
+ In
+ .IR \%ncurses ","
+ they do not.
++.SH HISTORY
++4BSD (1980)
++introduced
++.IR scroll ","
++defining it as a function.
++.PP
++SVr3.1 (1987)
++added
++.I \%scrl
++and
++.IR \%wscrl ","
++redefining
++.I \%scroll
++as a macro wrapping the latter.
+ .SH SEE ALSO
+ \fB\%curses\fP(3X),
+ \fB\%curs_outopts\fP(3X)
+Index: man/curs_sp_funcs.3x
+Prereq: 1.54
+--- ncurses-6.5-20250125+/man/curs_sp_funcs.3x 2025-01-19 00:51:10.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_sp_funcs.3x 2025-02-01 22:47:44.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_sp_funcs.3x,v 1.54 2025/01/19 00:51:10 tom Exp $
+-.TH curs_sp_funcs 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_sp_funcs.3x,v 1.57 2025/02/01 22:47:44 tom Exp $
++.TH curs_sp_funcs 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -46,169 +46,169 @@
+ .nf
+ \fB#include <curses.h>
+ .PP
+-\fBint alloc_pair_sp(SCREEN* \fIsp\fP, int \fIfg\fP, int \fIbg\fP);
+-\fBint assume_default_colors_sp(SCREEN* \fIsp\fP, int \fIfg\fP, int \fIbg\fP);
+-\fBint baudrate_sp(SCREEN* \fIsp\fP);
+-\fBint beep_sp(SCREEN* \fIsp\fP);
+-\fBbool can_change_color_sp(SCREEN* \fIsp\fP);
+-\fBint cbreak_sp(SCREEN* \fIsp\fP);
+-\fBint color_content_sp(SCREEN* \fIsp\fP, short \fIcolor\fP, short* \fIr\fP, short* \fIg\fP, short* \fIb\fP);
+-\fBint curs_set_sp(SCREEN* \fIsp\fP, int \fIvisibility\fP);
+-\fBint def_prog_mode_sp(SCREEN* \fIsp\fP);
+-\fBint def_shell_mode_sp(SCREEN* \fIsp\fP);
+-.PP
+-\fBint define_key_sp(SCREEN* \fIsp\fP, const char * \fIdefinition\fP, int \fIkeycode\fP);
+-\fBint delay_output_sp(SCREEN* \fIsp\fP, int \fIms\fP);
+-\fBint doupdate_sp(SCREEN* \fIsp\fP);
+-\fBint echo_sp(SCREEN* \fIsp\fP);
+-\fBint endwin_sp(SCREEN* \fIsp\fP);
+-\fBchar erasechar_sp(SCREEN* \fIsp\fP);
+-\fBint erasewchar_sp(SCREEN* \fIsp\fP, wchar_t *\fIwc\fP);
++\fBint alloc_pair_sp(SCREEN * \fIsp\fP, int \fIfg\fP, int \fIbg\fP);
++\fBint assume_default_colors_sp(SCREEN * \fIsp\fP, int \fIfg\fP, int \fIbg\fP);
++\fBint baudrate_sp(SCREEN * \fIsp\fP);
++\fBint beep_sp(SCREEN * \fIsp\fP);
++\fBbool can_change_color_sp(SCREEN * \fIsp\fP);
++\fBint cbreak_sp(SCREEN * \fIsp\fP);
++\fBint color_content_sp(SCREEN * \fIsp\fP, short \fIcolor\fP, short * \fIr\fP, short * \fIg\fP, short * \fIb\fP);
++\fBint curs_set_sp(SCREEN * \fIsp\fP, int \fIvisibility\fP);
++\fBint def_prog_mode_sp(SCREEN * \fIsp\fP);
++\fBint def_shell_mode_sp(SCREEN * \fIsp\fP);
++.PP
++\fBint define_key_sp(SCREEN * \fIsp\fP, const char * \fIdefinition\fP, int \fIkeycode\fP);
++\fBint delay_output_sp(SCREEN * \fIsp\fP, int \fIms\fP);
++\fBint doupdate_sp(SCREEN * \fIsp\fP);
++\fBint echo_sp(SCREEN * \fIsp\fP);
++\fBint endwin_sp(SCREEN * \fIsp\fP);
++\fBchar erasechar_sp(SCREEN * \fIsp\fP);
++\fBint erasewchar_sp(SCREEN * \fIsp\fP, wchar_t *\fIwc\fP);
+ \fBint extended_color_content_sp(SCREEN * \fIsp\fP, int \fIcolor\fP, int * \fIr\fP, int * \fIg\fP, int * \fIb\fP);
+-\fBint extended_pair_content_sp(SCREEN* \fIsp\fP, int \fIpair\fP, int * \fIfg\fP, int * \fIbg\fP);
+-\fBint extended_slk_color_sp(SCREEN* \fIsp\fP, int \fIpair\fP);
++\fBint extended_pair_content_sp(SCREEN * \fIsp\fP, int \fIpair\fP, int * \fIfg\fP, int * \fIbg\fP);
++\fBint extended_slk_color_sp(SCREEN * \fIsp\fP, int \fIpair\fP);
+ .PP
+-\fBvoid filter_sp(SCREEN* \fIsp\fP);
+-\fBint find_pair_sp(SCREEN* \fIsp\fP, int \fIfg\fP, int \fIbg\fP);
+-\fBint flash_sp(SCREEN* \fIsp\fP);
+-\fBint flushinp_sp(SCREEN* \fIsp\fP);
+-\fBint free_pair_sp(SCREEN* \fIsp\fP, int \fIpair\fP);
+-\fBint get_escdelay_sp(SCREEN* \fIsp\fP);
+-\fBint getmouse_sp(SCREEN* \fIsp\fP, MEVENT* \fIevent\fP);
+-\fBWINDOW* getwin_sp(SCREEN* \fIsp\fP, FILE* \fIfilep\fP);
+-\fBint halfdelay_sp(SCREEN* \fIsp\fP, int \fItenths\fP);
+-\fBbool has_colors_sp(SCREEN* \fIsp\fP);
+-.PP
+-\fBbool has_ic_sp(SCREEN* \fIsp\fP);
+-\fBbool has_il_sp(SCREEN* \fIsp\fP);
+-\fBint has_key_sp(SCREEN* \fIsp\fP, int \fIc\fP);
+-\fBbool has_mouse_sp(SCREEN* \fIsp\fP);
+-\fBint init_color_sp(SCREEN* \fIsp\fP, short \fIcolor\fP, short \fIr\fP, short \fIg\fP, short \fIb\fP);
+-\fBint init_extended_color_sp(SCREEN* \fIsp\fP, int \fIcolor\fP, int \fIr\fP, int \fIg\fP, int \fIb\fP);
+-\fBint init_extended_pair_sp(SCREEN* \fIsp\fP, int \fIpair\fP, int \fIfg\fP, int \fIbg\fP);
+-\fBint init_pair_sp(SCREEN* \fIsp\fP, short \fIpair\fP, short \fIfg\fP, short \fIbg\fP);
+-\fBint intrflush_sp(SCREEN* \fIsp\fP, WINDOW* \fIwin\fP, bool \fIbf\fP);
+-\fBint is_cbreak_sp(SCREEN* \fIsp\fP);
+-.PP
+-\fBint is_echo_sp(SCREEN* \fIsp\fP);
+-\fBint is_nl_sp(SCREEN* \fIsp\fP);
+-\fBint is_raw_sp(SCREEN* \fIsp\fP);
+-\fBbool is_term_resized_sp(SCREEN* \fIsp\fP, int \fIlines\fP, int \fIcolumns\fP);
+-\fBbool isendwin_sp(SCREEN* \fIsp\fP);
+-\fBint key_defined_sp(SCREEN* \fIsp\fP, const char *\fIdefinition\fP);
+-\fBchar* keybound_sp(SCREEN* \fIsp\fP, int \fIkeycode\fP, int \fIcount\fP);
+-\fBNCURSES_CONST char* keyname_sp(SCREEN* \fIsp\fP, int \fIc\fP);
+-\fBint keyok_sp(SCREEN* \fIsp\fP, int \fIkeycode\fP, bool \fIenable\fP);
+-\fBchar killchar_sp(SCREEN* \fIsp\fP);
+-.PP
+-\fBint killwchar_sp(SCREEN* \fIsp\fP, wchar_t *\fIwc\fP);
+-\fBchar* longname_sp(SCREEN* \fIsp\fP);
+-\fBint mcprint_sp(SCREEN* \fIsp\fP, char *\fIdata\fP, int \fIlen\fP);
+-\fBint mouseinterval_sp(SCREEN* \fIsp\fP, int \fIerval\fP);
+-\fBmmask_t mousemask_sp(SCREEN* \fIsp\fP, mmask_t \fInewmask\fP, mmask_t *\fIoldmask\fP);
+-\fBint mvcur_sp(SCREEN* \fIsp\fP, int \fIoldrow\fP, int \fIoldcol\fP, int \fInewrow\fP, int \fInewcol\fP);
+-\fBint napms_sp(SCREEN* \fIsp\fP, int \fIms\fP);
+-\fBWINDOW* newpad_sp(SCREEN* \fIsp\fP, int \fInrows\fP, int \fIncols\fP);
+-\fBSCREEN* new_prescr(void);
+-\fBSCREEN* newterm_sp(SCREEN* \fIsp\fP, const char *\fItype\fP, FILE *\fIoutf\fP, FILE *\fIinfd\fP);
+-.PP
+-\fBWINDOW* newwin_sp(SCREEN* \fIsp\fP, int \fInlines\fP, int \fIncols\fP, int \fIbegin_y\fP, int \fIbegin_x\fP);
+-\fBint nl_sp(SCREEN* \fIsp\fP);
+-\fBint nocbreak_sp(SCREEN* \fIsp\fP);
+-\fBint noecho_sp(SCREEN* \fIsp\fP);
+-\fBvoid nofilter_sp(SCREEN* \fIsp\fP);
+-\fBint nonl_sp(SCREEN* \fIsp\fP);
+-\fBvoid noqiflush_sp(SCREEN* \fIsp\fP);
+-\fBint noraw_sp(SCREEN* \fIsp\fP);
+-\fBint pair_content_sp(SCREEN* \fIsp\fP, short \fIpair\fP, short* \fIfg\fP, short* \fIbg\fP);
+-\fBvoid qiflush_sp(SCREEN* \fIsp\fP);
+-.PP
+-\fBint raw_sp(SCREEN* \fIsp\fP);
+-\fBvoid reset_color_pairs_sp(SCREEN* \fIsp\fP);
+-\fBint reset_prog_mode_sp(SCREEN* \fIsp\fP);
+-\fBint reset_shell_mode_sp(SCREEN* \fIsp\fP);
+-\fBint resetty_sp(SCREEN* \fIsp\fP);
+-\fBint resize_term_sp(SCREEN* \fIsp\fP, int \fIlines\fP, int \fIcolumns\fP);
+-\fBint resizeterm_sp(SCREEN* \fIsp\fP, int \fIlines\fP, int \fIcolumns\fP);
+-\fBint ripoffline_sp(SCREEN* \fIsp\fP, int \fIline\fP, int (*\fIinit\fP)(WINDOW* \fIwin\fP, int \fIfmt\fP));
+-\fBint savetty_sp(SCREEN* \fIsp\fP);
+-\fBint scr_init_sp(SCREEN* \fIsp\fP, const char *\fIfilename\fP);
+-.PP
+-\fBint scr_restore_sp(SCREEN* \fIsp\fP, const char *\fIfilename\fP);
+-\fBint scr_set_sp(SCREEN* \fIsp\fP, const char *\fIfilename\fP);
+-\fBint set_escdelay_sp(SCREEN* \fIsp\fP, int \fIms\fP);
+-\fBint set_tabsize_sp(SCREEN* \fIsp\fP, int \fIcols\fP);
+-\fBint slk_attrset_sp(SCREEN* \fIsp\fP, const chtype \fIa\fP);
+-\fBint slk_attr_set_sp(SCREEN* \fIsp\fP, const attr_t \fIattrs\fP, short \fIpair\fP, void*\fIopts\fP);
+-\fBint slk_attroff_sp(SCREEN* \fIsp\fP, const chtype \fIa\fP);
+-\fBint slk_attron_sp(SCREEN* \fIsp\fP, const chtype \fIa\fP);
+-\fBattr_t slk_attr_sp(SCREEN* \fIsp\fP);
+-\fBint slk_clear_sp(SCREEN* \fIsp\fP);
+-.PP
+-\fBint slk_color_sp(SCREEN* \fIsp\fP, short \fIpair\fP);
+-\fBint slk_init_sp(SCREEN* \fIsp\fP, int \fIfmt\fP);
+-\fBchar* slk_label_sp(SCREEN* \fIsp\fP, int \fIlabnum\fP);
+-\fBint slk_noutrefresh_sp(SCREEN* \fIsp\fP);
+-\fBint slk_refresh_sp(SCREEN* \fIsp\fP);
+-\fBint slk_restore_sp(SCREEN* \fIsp\fP);
+-\fBint slk_set_sp(SCREEN* \fIsp\fP, int \fIlabnum\fP, const char * \fIlabel\fP, int \fIfmt\fP);
+-\fBint slk_touch_sp(SCREEN* \fIsp\fP);
+-\fBint start_color_sp(SCREEN* \fIsp\fP);
+-\fBattr_t term_attrs_sp(SCREEN* \fIsp\fP);
+-.PP
+-\fBchtype termattrs_sp(SCREEN* \fIsp\fP);
+-\fBchar* termname_sp(SCREEN* \fIsp\fP);
+-\fBint typeahead_sp(SCREEN* \fIsp\fP, int \fIfd\fP);
+-\fBint unget_wch_sp(SCREEN* \fIsp\fP, const wchar_t \fIwc\fP);
+-\fBint ungetch_sp(SCREEN* \fIsp\fP, int \fIc\fP);
+-\fBint ungetmouse_sp(SCREEN* \fIsp\fP, MEVENT* \fIevent\fP);
+-\fBint use_default_colors_sp(SCREEN* \fIsp\fP);
+-\fBvoid use_env_sp(SCREEN* \fIsp\fP, bool \fIbf\fP);
+-\fBint use_legacy_coding_sp(SCREEN* \fIsp\fP, int \fIlevel\fP);
++\fBvoid filter_sp(SCREEN * \fIsp\fP);
++\fBint find_pair_sp(SCREEN * \fIsp\fP, int \fIfg\fP, int \fIbg\fP);
++\fBint flash_sp(SCREEN * \fIsp\fP);
++\fBint flushinp_sp(SCREEN * \fIsp\fP);
++\fBint free_pair_sp(SCREEN * \fIsp\fP, int \fIpair\fP);
++\fBint get_escdelay_sp(SCREEN * \fIsp\fP);
++\fBint getmouse_sp(SCREEN * \fIsp\fP, MEVENT * \fIevent\fP);
++\fBWINDOW * getwin_sp(SCREEN * \fIsp\fP, FILE * \fIfilep\fP);
++\fBint halfdelay_sp(SCREEN * \fIsp\fP, int \fItenths\fP);
++\fBbool has_colors_sp(SCREEN * \fIsp\fP);
++.PP
++\fBbool has_ic_sp(SCREEN * \fIsp\fP);
++\fBbool has_il_sp(SCREEN * \fIsp\fP);
++\fBint has_key_sp(SCREEN * \fIsp\fP, int \fIc\fP);
++\fBbool has_mouse_sp(SCREEN * \fIsp\fP);
++\fBint init_color_sp(SCREEN * \fIsp\fP, short \fIcolor\fP, short \fIr\fP, short \fIg\fP, short \fIb\fP);
++\fBint init_extended_color_sp(SCREEN * \fIsp\fP, int \fIcolor\fP, int \fIr\fP, int \fIg\fP, int \fIb\fP);
++\fBint init_extended_pair_sp(SCREEN * \fIsp\fP, int \fIpair\fP, int \fIfg\fP, int \fIbg\fP);
++\fBint init_pair_sp(SCREEN * \fIsp\fP, short \fIpair\fP, short \fIfg\fP, short \fIbg\fP);
++\fBint intrflush_sp(SCREEN * \fIsp\fP, WINDOW * \fIwin\fP, bool \fIbf\fP);
++\fBint is_cbreak_sp(SCREEN * \fIsp\fP);
++.PP
++\fBint is_echo_sp(SCREEN * \fIsp\fP);
++\fBint is_nl_sp(SCREEN * \fIsp\fP);
++\fBint is_raw_sp(SCREEN * \fIsp\fP);
++\fBbool is_term_resized_sp(SCREEN * \fIsp\fP, int \fIlines\fP, int \fIcolumns\fP);
++\fBbool isendwin_sp(SCREEN * \fIsp\fP);
++\fBint key_defined_sp(SCREEN * \fIsp\fP, const char *\fIdefinition\fP);
++\fBchar * keybound_sp(SCREEN * \fIsp\fP, int \fIkeycode\fP, int \fIcount\fP);
++\fBNCURSES_CONST char * keyname_sp(SCREEN * \fIsp\fP, int \fIc\fP);
++\fBint keyok_sp(SCREEN * \fIsp\fP, int \fIkeycode\fP, bool \fIenable\fP);
++\fBchar killchar_sp(SCREEN * \fIsp\fP);
++.PP
++\fBint killwchar_sp(SCREEN * \fIsp\fP, wchar_t *\fIwc\fP);
++\fBchar * longname_sp(SCREEN * \fIsp\fP);
++\fBint mcprint_sp(SCREEN * \fIsp\fP, char *\fIdata\fP, int \fIlen\fP);
++\fBint mouseinterval_sp(SCREEN * \fIsp\fP, int \fIerval\fP);
++\fBmmask_t mousemask_sp(SCREEN * \fIsp\fP, mmask_t \fInewmask\fP, mmask_t *\fIoldmask\fP);
++\fBint mvcur_sp(SCREEN * \fIsp\fP, int \fIoldrow\fP, int \fIoldcol\fP, int \fInewrow\fP, int \fInewcol\fP);
++\fBint napms_sp(SCREEN * \fIsp\fP, int \fIms\fP);
++\fBWINDOW * newpad_sp(SCREEN * \fIsp\fP, int \fInrows\fP, int \fIncols\fP);
++\fBSCREEN * new_prescr(void);
++\fBSCREEN * newterm_sp(SCREEN * \fIsp\fP, const char *\fItype\fP, FILE *\fIoutf\fP, FILE *\fIinf\fP);
++.PP
++\fBWINDOW * newwin_sp(SCREEN * \fIsp\fP, int \fInlines\fP, int \fIncols\fP, int \fIbegin_y\fP, int \fIbegin_x\fP);
++\fBint nl_sp(SCREEN * \fIsp\fP);
++\fBint nocbreak_sp(SCREEN * \fIsp\fP);
++\fBint noecho_sp(SCREEN * \fIsp\fP);
++\fBvoid nofilter_sp(SCREEN * \fIsp\fP);
++\fBint nonl_sp(SCREEN * \fIsp\fP);
++\fBvoid noqiflush_sp(SCREEN * \fIsp\fP);
++\fBint noraw_sp(SCREEN * \fIsp\fP);
++\fBint pair_content_sp(SCREEN * \fIsp\fP, short \fIpair\fP, short * \fIfg\fP, short * \fIbg\fP);
++\fBvoid qiflush_sp(SCREEN * \fIsp\fP);
++.PP
++\fBint raw_sp(SCREEN * \fIsp\fP);
++\fBvoid reset_color_pairs_sp(SCREEN * \fIsp\fP);
++\fBint reset_prog_mode_sp(SCREEN * \fIsp\fP);
++\fBint reset_shell_mode_sp(SCREEN * \fIsp\fP);
++\fBint resetty_sp(SCREEN * \fIsp\fP);
++\fBint resize_term_sp(SCREEN * \fIsp\fP, int \fIlines\fP, int \fIcolumns\fP);
++\fBint resizeterm_sp(SCREEN * \fIsp\fP, int \fIlines\fP, int \fIcolumns\fP);
++\fBint ripoffline_sp(SCREEN * \fIsp\fP, int \fIline\fP, int (*\fIinit\fP)(WINDOW * \fIwin\fP, int \fIfmt\fP));
++\fBint savetty_sp(SCREEN * \fIsp\fP);
++\fBint scr_init_sp(SCREEN * \fIsp\fP, const char *\fIfilename\fP);
++.PP
++\fBint scr_restore_sp(SCREEN * \fIsp\fP, const char *\fIfilename\fP);
++\fBint scr_set_sp(SCREEN * \fIsp\fP, const char *\fIfilename\fP);
++\fBint set_escdelay_sp(SCREEN * \fIsp\fP, int \fIms\fP);
++\fBint set_tabsize_sp(SCREEN * \fIsp\fP, int \fIcols\fP);
++\fBint slk_attrset_sp(SCREEN * \fIsp\fP, const chtype \fIa\fP);
++\fBint slk_attr_set_sp(SCREEN * \fIsp\fP, const attr_t \fIattrs\fP, short \fIpair\fP, void *\fIopts\fP);
++\fBint slk_attroff_sp(SCREEN * \fIsp\fP, const chtype \fIa\fP);
++\fBint slk_attron_sp(SCREEN * \fIsp\fP, const chtype \fIa\fP);
++\fBattr_t slk_attr_sp(SCREEN * \fIsp\fP);
++\fBint slk_clear_sp(SCREEN * \fIsp\fP);
++.PP
++\fBint slk_color_sp(SCREEN * \fIsp\fP, short \fIpair\fP);
++\fBint slk_init_sp(SCREEN * \fIsp\fP, int \fIfmt\fP);
++\fBchar * slk_label_sp(SCREEN * \fIsp\fP, int \fIlabnum\fP);
++\fBint slk_noutrefresh_sp(SCREEN * \fIsp\fP);
++\fBint slk_refresh_sp(SCREEN * \fIsp\fP);
++\fBint slk_restore_sp(SCREEN * \fIsp\fP);
++\fBint slk_set_sp(SCREEN * \fIsp\fP, int \fIlabnum\fP, const char * \fIlabel\fP, int \fIfmt\fP);
++\fBint slk_touch_sp(SCREEN * \fIsp\fP);
++\fBint start_color_sp(SCREEN * \fIsp\fP);
++\fBattr_t term_attrs_sp(SCREEN * \fIsp\fP);
++.PP
++\fBchtype termattrs_sp(SCREEN * \fIsp\fP);
++\fBchar * termname_sp(SCREEN * \fIsp\fP);
++\fBint typeahead_sp(SCREEN * \fIsp\fP, int \fIfd\fP);
++\fBint unget_wch_sp(SCREEN * \fIsp\fP, const wchar_t \fIwc\fP);
++\fBint ungetch_sp(SCREEN * \fIsp\fP, int \fIc\fP);
++\fBint ungetmouse_sp(SCREEN * \fIsp\fP, MEVENT * \fIevent\fP);
++\fBint use_default_colors_sp(SCREEN * \fIsp\fP);
++\fBvoid use_env_sp(SCREEN * \fIsp\fP, bool \fIbf\fP);
++\fBint use_legacy_coding_sp(SCREEN * \fIsp\fP, int \fIlevel\fP);
+ \fBvoid use_tioctl_sp(SCREEN *\fIsp\fP, bool \fIbf\fP);
+ .PP
+-\fBint vid_attr_sp(SCREEN* \fIsp\fP, attr_t \fIattrs\fP, short \fIpair\fP, void * \fIopts\fP);
+-\fBint vid_puts_sp(SCREEN* \fIsp\fP, attr_t \fIattrs\fP, short \fIpair\fP, void * \fIopts\fP, NCURSES_SP_OUTC \fIputc\fP);
+-\fBint vidattr_sp(SCREEN* \fIsp\fP, chtype \fIattrs\fP);
+-\fBint vidputs_sp(SCREEN* \fIsp\fP, chtype \fIattrs\fP, NCURSES_SP_OUTC \fIputc\fP);
+-\fBwchar_t* wunctrl_sp(SCREEN* \fIsp\fP, cchar_t *\fIwch\fP);
++\fBint vid_attr_sp(SCREEN * \fIsp\fP, attr_t \fIattrs\fP, short \fIpair\fP, void * \fIopts\fP);
++\fBint vid_puts_sp(SCREEN * \fIsp\fP, attr_t \fIattrs\fP, short \fIpair\fP, void * \fIopts\fP, NCURSES_SP_OUTC \fIputc\fP);
++\fBint vidattr_sp(SCREEN * \fIsp\fP, chtype \fIattrs\fP);
++\fBint vidputs_sp(SCREEN * \fIsp\fP, chtype \fIattrs\fP, NCURSES_SP_OUTC \fIputc\fP);
++\fBwchar_t * wunctrl_sp(SCREEN * \fIsp\fP, cchar_t *\fIwch\fP);
+ .PP
+ \fB#include <form.h>
+ .PP
+-\fBFORM* new_form_sp(SCREEN* \fIsp\fP, FIELD **\fIfields\fP);
++\fBFORM * new_form_sp(SCREEN * \fIsp\fP, FIELD **\fIfields\fP);
+ .PP
+ \fB#include <menu.h>
+ .PP
+-\fBMENU* new_menu_sp(SCREEN* \fIsp\fP, ITEM **\fIitems\fP);
++\fBMENU * new_menu_sp(SCREEN * \fIsp\fP, ITEM **\fIitems\fP);
+ .PP
+ \fB#include <panel.h>
+ .PP
+-\fBPANEL* ceiling_panel(SCREEN* \fIsp\fP);
+-\fBPANEL* ground_panel(SCREEN* \fIsp\fP);
+-\fBvoid update_panels_sp(SCREEN* \fIsp\fP);
++\fBPANEL * ceiling_panel(SCREEN * \fIsp\fP);
++\fBPANEL * ground_panel(SCREEN * \fIsp\fP);
++\fBvoid update_panels_sp(SCREEN * \fIsp\fP);
+ .PP
+ \fB#include <term.h>
+ .PP
+-\fBint del_curterm_sp(SCREEN* \fIsp\fP, TERMINAL *\fIoterm\fP);
+-\fBint putp_sp(SCREEN* \fIsp\fP, const char *\fIstr\fP);
+-\fBint restartterm_sp(SCREEN* \fIsp\fP, NCURSES_CONST char*\fIterm\fP, int \fIfiledes\fP, int *\fIerrret\fP);
+-\fBTERMINAL* set_curterm_sp(SCREEN* \fIsp\fP, TERMINAL*\fInterm\fP);
+-\fBint tgetent_sp(SCREEN* \fIsp\fP, char *\fIbp\fP, const char *\fIname\fP);
+-\fBint tgetflag_sp(SCREEN* \fIsp\fP, const char *\fIcapname\fP);
+-\fBint tgetnum_sp(SCREEN* \fIsp\fP, const char *\fIcapname\fP);
+-\fBchar* tgetstr_sp(SCREEN* \fIsp\fP, const char *\fIcapname\fP, char **\fIarea\fP);
+-\fBchar* tgoto_sp(SCREEN* \fIsp\fP, const char *\fIcapname\fP, int \fIcol\fP, int \fIrow\fP);
+-\fBint tigetflag_sp(SCREEN* \fIsp\fP, const char *\fIcapname\fP);
++\fBint del_curterm_sp(SCREEN * \fIsp\fP, TERMINAL *\fIoterm\fP);
++\fBint putp_sp(SCREEN * \fIsp\fP, const char *\fIstr\fP);
++\fBint restartterm_sp(SCREEN * \fIsp\fP, NCURSES_CONST char *\fIterm\fP, int \fIfiledes\fP, int *\fIerrret\fP);
++\fBTERMINAL * set_curterm_sp(SCREEN * \fIsp\fP, TERMINAL *\fInterm\fP);
++\fBint tgetent_sp(SCREEN * \fIsp\fP, char *\fIbp\fP, const char *\fIname\fP);
++\fBint tgetflag_sp(SCREEN * \fIsp\fP, const char *\fIcapname\fP);
++\fBint tgetnum_sp(SCREEN * \fIsp\fP, const char *\fIcapname\fP);
++\fBchar * tgetstr_sp(SCREEN * \fIsp\fP, const char *\fIcapname\fP, char **\fIarea\fP);
++\fBchar * tgoto_sp(SCREEN * \fIsp\fP, const char *\fIcapname\fP, int \fIcol\fP, int \fIrow\fP);
++\fBint tigetflag_sp(SCREEN * \fIsp\fP, const char *\fIcapname\fP);
+ .PP
+-\fBint tigetnum_sp(SCREEN* \fIsp\fP, const char *\fIcapname\fP);
+-\fBchar* tigetstr_sp(SCREEN* \fIsp\fP, const char *\fIcapname\fP);
++\fBint tigetnum_sp(SCREEN * \fIsp\fP, const char *\fIcapname\fP);
++\fBchar * tigetstr_sp(SCREEN * \fIsp\fP, const char *\fIcapname\fP);
+ \fI/* tparm_sp may use 9 long parameters rather than being variadic */
+-\fBchar* tparm_sp(SCREEN* \fIsp\fP, const char *\fIstr\fP, ...);
+-\fBint tputs_sp(SCREEN* \fIsp\fP, const char *\fIstr\fP, int \fIaffcnt\fP, NCURSES_SP_OUTC \fIputc\fP);
++\fBchar * tparm_sp(SCREEN * \fIsp\fP, const char *\fIstr\fP, ...);
++\fBint tputs_sp(SCREEN * \fIsp\fP, const char *\fIstr\fP, int \fIaffcnt\fP, NCURSES_SP_OUTC \fIputc\fP);
+ .PP
+ \fB#include <unctrl.h>
+ .PP
+-\fBNCURSES_CONST char* unctrl_sp(SCREEN* \fIsp\fP, chtype \fIch\fP);
++\fBNCURSES_CONST char * unctrl_sp(SCREEN * \fIsp\fP, chtype \fIch\fP);
+ .fi
+ .SH DESCRIPTION
+ This implementation can be configured to provide a set of functions which
+Index: man/curs_termattrs.3x
+Prereq: 1.57
+--- ncurses-6.5-20250125+/man/curs_termattrs.3x 2025-01-19 00:51:10.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_termattrs.3x 2025-02-01 22:49:13.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_termattrs.3x,v 1.57 2025/01/19 00:51:10 tom Exp $
+-.TH curs_termattrs 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_termattrs.3x,v 1.59 2025/02/01 22:49:13 tom Exp $
++.TH curs_termattrs 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -188,10 +188,12 @@
+ .I \%termname
+ to 14 characters.
+ .SH HISTORY
+-4BSD (1980) introduced
++4BSD (1980)
++introduced
+ .IR \%longname "."
+ .PP
+-SVr2 (1984) added
++SVr2 (1984)
++added
+ .IR \%baudrate ","
+ .IR \%erasechar ","
+ .IR \%killchar ","
+@@ -199,9 +201,11 @@
+ and
+ .IR \%has_il "."
+ .PP
+-SVr3 (1987) furnished
++SVr3 (1987)
++supplied
+ .IR \%termname "."
+-SVr3.1 later that year supplied
++Later that year,
++SVr3.1 brought
+ .IR \%termattrs "."
+ .PP
+ X/Open Curses Issue\ 4 (1995)
+Index: man/curs_termcap.3x
+Prereq: 1.103
+--- ncurses-6.5-20250125+/man/curs_termcap.3x 2025-01-19 00:51:10.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_termcap.3x 2025-02-01 22:49:13.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_termcap.3x,v 1.103 2025/01/19 00:51:10 tom Exp $
+-.TH curs_termcap 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_termcap.3x,v 1.105 2025/02/01 22:49:13 tom Exp $
++.TH curs_termcap 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -509,8 +509,7 @@
+ .\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/man/man3/\
+ .\" termlib.3
+ .PP
+-4BSD
+-(November 1980)
++4BSD (November 1980)
+ renamed
+ .I termlib
+ to
+Index: man/curs_util.3x
+Prereq: 1.134
+--- ncurses-6.5-20250125+/man/curs_util.3x 2025-01-19 00:51:10.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_util.3x 2025-02-01 22:49:13.000000000 +0000
+@@ -28,8 +28,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_util.3x,v 1.134 2025/01/19 00:51:10 tom Exp $
+-.TH curs_util 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_util.3x,v 1.136 2025/02/01 22:49:13 tom Exp $
++.TH curs_util 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -534,19 +534,20 @@
+ is not provided by other implementations of curses.
+ .SH HISTORY
+ 4BSD (1980)
+-defined
+-.I \%unctrl
+-(as a macro,
++introduced
++.IR \%unctrl ","
++defining it as a macro
+ in
+-.IR \%unctrl.h ")."
++.IR \%unctrl.h "."
+ .PP
+-SVr2 (1984) introduced
++SVr2 (1984)
++added
+ .IR \%delay_output ","
+ .IR \%flushinp ","
+ and
+ .IR \%keyname "."
+ .PP
+-SVr3 (1987) added
++SVr3 (1987) supplied
+ .IR \%filter "."
+ Later that year,
+ SVr3.1 brought
+Index: man/curs_window.3x
+Prereq: 1.64
+--- ncurses-6.5-20250125+/man/curs_window.3x 2025-01-19 00:51:10.000000000 +0000
++++ ncurses-6.5-20250201/man/curs_window.3x 2025-02-02 00:04:58.000000000 +0000
+@@ -27,8 +27,8 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_window.3x,v 1.64 2025/01/19 00:51:10 tom Exp $
+-.TH curs_window 3X 2025-01-18 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
++.\" $Id: curs_window.3x,v 1.66 2025/02/02 00:04:58 tom Exp $
++.TH curs_window 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+ .ie \n(.g \{\
+ .ds `` \(lq
+ .ds '' \(rq
+@@ -61,17 +61,17 @@
+ .nf
+ \fB#include <curses.h>
+ .PP
+-\fBWINDOW * newwin(
+- int \fInlines\fP, int \fIncols\fP,
+- int \fIbegin_y\fP, int \fIbegin_x\fP);
++\fBWINDOW * newwin(\fR
++ \fBint \fInlines\fP, int \fIncols\fP,
++ \fBint \fIbegin_y\fP, int \fIbegin_x\fP);
+ \fBint delwin(WINDOW * \fIwin\fP);
+ \fBint mvwin(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP);
+ \fBWINDOW * subwin(WINDOW * \fIorig\fP,
+- int \fInlines\fP, int \fIncols\fP,
+- int \fIbegin_y\fP, int \fIbegin_x\fP);
++ \fBint \fInlines\fP, int \fIncols\fP,
++ \fBint \fIbegin_y\fP, int \fIbegin_x\fP);
+ \fBWINDOW * derwin(WINDOW * \fIorig\fP,
+- int \fInlines\fP, int \fIncols\fP,
+- int \fIbegin_y\fP, int \fIbegin_x\fP);
++ \fBint \fInlines\fP, int \fIncols\fP,
++ \fBint \fIbegin_y\fP, int \fIbegin_x\fP);
+ \fBint mvderwin(WINDOW * \fIwin\fP, int \fIpar_y\fP, int \fIpar_x\fP);
+ \fBWINDOW * dupwin(WINDOW * \fIwin\fP);
+ \fBvoid wsyncup(WINDOW * \fIwin\fP);
+Index: man/man_db.renames.in
+Prereq: 1.83
+--- ncurses-6.5-20250125+/man/man_db.renames.in 2025-01-19 01:00:28.000000000 +0000
++++ ncurses-6.5-20250201/man/man_db.renames.in 2025-02-01 22:46:00.000000000 +0000
+@@ -26,7 +26,7 @@
+ # use or other dealings in this Software without prior written #
+ # authorization. #
+ ##############################################################################
+-# $Id: man_db.renames.in,v 1.83 2025/01/19 01:00:28 tom Exp $
++# $Id: man_db.renames.in,v 1.84 2025/02/01 22:46:00 Branden.Robinson Exp $
+ # Manual-page renamings for the man_db program
+ #
+ # Files:
+@@ -221,6 +221,7 @@
+ keyname.3x keyname.3ncurses
+ keypad.3x keypad.3ncurses
+ killchar.3x killchar.3ncurses
++killwchar.3x killwchar.3ncurses
+ leaveok.3x leaveok.3ncurses
+ longname.3x longname.3ncurses
+ meta.3x meta.3ncurses
+Index: man/manhtml.aliases
+Prereq: 1.46
+--- ncurses-6.5-20250125+/man/manhtml.aliases 2025-01-19 01:13:04.000000000 +0000
++++ ncurses-6.5-20250201/man/manhtml.aliases 2025-02-02 00:58:13.000000000 +0000
+@@ -1,4 +1,4 @@
+-# $Id: manhtml.aliases,v 1.46 2025/01/19 01:13:04 tom Exp $
++# $Id: manhtml.aliases,v 1.47 2025/02/02 00:58:13 tom Exp $
+ #***************************************************************************
+ # Copyright 2019-2024,2025 Thomas E. Dickey *
+ # Copyright 2013,2017 Free Software Foundation, Inc. *
+@@ -73,6 +73,7 @@
+ is_cbreak(3X) curs_inopts(3X)
+ is_scrollok(3X) curs_opaque(3X)
+ killchar(3X) curs_termattrs(3X)
++killwchar(3X) curs_termattrs(3X)
+ keyname(3X) curs_util(3X)
+ keypad(3X) curs_inopts(3X)
+ longname(3X) curs_termattrs(3X)
+Index: ncurses/base/MKlib_gen.sh
+Prereq: 1.77
+--- ncurses-6.5-20250125+/ncurses/base/MKlib_gen.sh 2024-12-29 10:49:59.000000000 +0000
++++ ncurses-6.5-20250201/ncurses/base/MKlib_gen.sh 2025-02-01 22:09:10.000000000 +0000
+@@ -2,10 +2,10 @@
+ #
+ # MKlib_gen.sh -- generate sources from curses.h macro definitions
+ #
+-# ($Id: MKlib_gen.sh,v 1.77 2024/12/29 10:49:59 tom Exp $)
++# ($Id: MKlib_gen.sh,v 1.78 2025/02/01 22:09:10 tom Exp $)
+ #
+ ##############################################################################
+-# Copyright 2018-2022,2024 Thomas E. Dickey #
++# Copyright 2018-2024,2025 Thomas E. Dickey #
+ # Copyright 1998-2016,2017 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+@@ -203,6 +203,8 @@
+ s/^\(.*\) \(.*\) (\(.*\))\$/\1 call_\2 (\3)/
+ }
+ s/\([^_]\)NCURSES_SP_NAME___\([a-zA-Z][a-zA-Z_]*\)/\1NCURSES_SP_NAME(\2)/g
++/call_NCURSES_SP_NAME/s,(0,(NULL,
++/call\(_NCURSES_SP_NAME\)\?_*\(delscreen\|ripoffline\|set_term\|vidputs\|vid_puts\)/s,0),NULL),
+ EOF
+ fi
+
+@@ -443,6 +445,7 @@
+ print " */"
+ print "#define NCURSES_ATTR_T int"
+ print "#include <ncurses_cfg.h>"
++ print "#include <stdbool.h>"
+ print ""
+ print "#undef NCURSES_NOMACROS /* _this_ file uses macros */"
+ print "#define NCURSES_NOMACROS 1"
+@@ -480,15 +483,30 @@
+ sub(/^[0-9a-zA-Z_]+ /,"",value);
+ sub(/^[*][ \t]*/,"",value);
+ gsub("struct[ \t]*[0-9a-zA-Z_]+[ \t]*[*]","",value);
++ arg_l = index(value, "(");
++ arg_r = index(value, ")");
++ if ( arg_l > 0 && arg_r > arg_l + 1 ) {
++ args = substr(value, arg_l + 1, arg_r - arg_l - 1);
++ gsub(/[0-9a-zA-Z_]+[ \t]*[*][ \t]*[0-9a-zA-Z_]+/,"NULL",args);
++ gsub(/ (bool|int|short|attr_t|chtype|wchar_t|NCURSES_BOOL|NCURSES_OUTC|NCURSES_OUTC_sp|va_list) /," ",args);
++ value = substr(value,0,arg_l) args substr(value,arg_r);
++ }
+ gsub(/[0-9a-zA-Z_]+[ \t]*[*][ \t]*/,"",value);
+ gsub(/ (const) /," ",value);
+- gsub(/ (int|short|attr_t|chtype|wchar_t|NCURSES_BOOL|NCURSES_OUTC|NCURSES_OUTC_sp|va_list) /," ",value);
++ gsub(/ (bool|int|short|attr_t|chtype|wchar_t|NCURSES_BOOL|NCURSES_OUTC|NCURSES_OUTC_sp|va_list) /," ",value);
+ gsub(/ void /,"",value);
+ sub(/^/,"call_",value);
+ gsub(/ (a[0-9]|z) /, " 0 ", value);
+ gsub(/ int[ \t]*[(][^)]+[)][(][^)]+[)]/, "0", value);
++ if ( index(value, "call_NCURSES_SP_NAME") > 0 ) {
++ sub("0","NULL", value);
++ }
+ printf " case %d: %s; break;\n", casenum++, value;
+ } else {
++ if ( index(value, "call_NCURSES_SP_NAME") > 0 ) {
++ printf "/* FIXME %s */\n", value;
++ sub("0","NULL", value);
++ }
+ print value;
+ }
+ }
+Index: ncurses/tty/lib_mvcur.c
+Prereq: 1.164
+--- ncurses-6.5-20250125+/ncurses/tty/lib_mvcur.c 2025-01-12 10:51:43.000000000 +0000
++++ ncurses-6.5-20250201/ncurses/tty/lib_mvcur.c 2025-02-01 21:53:19.000000000 +0000
+@@ -160,7 +160,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_mvcur.c,v 1.164 2025/01/12 10:51:43 tom Exp $")
++MODULE_ID("$Id: lib_mvcur.c,v 1.165 2025/02/01 21:53:19 tom Exp $")
+
+ #define WANT_CHAR(sp, y, x) NewScreen(sp)->_line[y].text[x] /* desired state */
+
+@@ -1338,7 +1338,7 @@
+ * is winning.
+ */
+ else if (sscanf(buf, "t %d", &n) == 1) {
+- float cumtime = 0.0, perchar;
++ double cumtime = 0.0, perchar;
+ int speeds[] =
+ {2400, 9600, 14400, 19200, 28800, 38400, 0};
+
+@@ -1384,14 +1384,14 @@
+ * transmission both. Transmission time is an estimate
+ * assuming 9 bits/char, 8 bits + 1 stop bit.
+ */
+- float totalest = cumtime + xmits * 9 * 1e6 / speeds[i];
++ double totalest = cumtime + (double) xmits * 9 * 1e6 / speeds[i];
+
+ /*
+ * Per-character optimization overhead in character transmits
+ * at the current speed. Round this to the nearest integer
+ * to figure COMPUTE_OVERHEAD for the speed.
+ */
+- float overhead = speeds[i] * perchar / 1e6;
++ double overhead = speeds[i] * perchar / 1e6;
+
+ (void)
+ printf("%6d bps: %3.2f char-xmits overhead; total estimated time %15.2f\n",
+Index: package/debian-mingw/changelog
+--- ncurses-6.5-20250125+/package/debian-mingw/changelog 2025-01-24 20:34:16.000000000 +0000
++++ ncurses-6.5-20250201/package/debian-mingw/changelog 2025-01-31 21:35:49.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6td (6.5+20250125) unstable; urgency=low
++ncurses6td (6.5+20250201) unstable; urgency=low
+
+ * latest weekly patch
+
+- -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 24 Jan 2025 15:34:16 -0500
++ -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 31 Jan 2025 16:35:49 -0500
+
+ ncurses6 (5.9+20131005) unstable; urgency=low
+
+Index: package/debian-mingw64/changelog
+--- ncurses-6.5-20250125+/package/debian-mingw64/changelog 2025-01-24 20:34:16.000000000 +0000
++++ ncurses-6.5-20250201/package/debian-mingw64/changelog 2025-01-31 21:35:49.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6td (6.5+20250125) unstable; urgency=low
++ncurses6td (6.5+20250201) unstable; urgency=low
+
+ * latest weekly patch
+
+- -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 24 Jan 2025 15:34:16 -0500
++ -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 31 Jan 2025 16:35:49 -0500
+
+ ncurses6 (5.9+20131005) unstable; urgency=low
+
+Index: package/debian/changelog
+--- ncurses-6.5-20250125+/package/debian/changelog 2025-01-24 20:34:16.000000000 +0000
++++ ncurses-6.5-20250201/package/debian/changelog 2025-01-31 21:35:49.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6td (6.5+20250125) unstable; urgency=low
++ncurses6td (6.5+20250201) unstable; urgency=low
+
+ * latest weekly patch
+
+- -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 24 Jan 2025 15:34:16 -0500
++ -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 31 Jan 2025 16:35:49 -0500
+
+ ncurses6 (5.9+20120608) unstable; urgency=low
+
+Index: package/mingw-ncurses.nsi
+Prereq: 1.686
+--- ncurses-6.5-20250125+/package/mingw-ncurses.nsi 2025-01-24 20:34:16.000000000 +0000
++++ ncurses-6.5-20250201/package/mingw-ncurses.nsi 2025-01-31 21:35:49.000000000 +0000
+@@ -1,4 +1,4 @@
+-; $Id: mingw-ncurses.nsi,v 1.686 2025/01/24 20:34:16 tom Exp $
++; $Id: mingw-ncurses.nsi,v 1.687 2025/01/31 21:35:49 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 "2025"
+-!define VERSION_MMDD "0125"
++!define VERSION_MMDD "0201"
+ !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
+
+ !define MY_ABI "5"
+Index: package/mingw-ncurses.spec
+--- ncurses-6.5-20250125+/package/mingw-ncurses.spec 2025-01-24 20:34:16.000000000 +0000
++++ ncurses-6.5-20250201/package/mingw-ncurses.spec 2025-01-31 21:35:49.000000000 +0000
+@@ -3,7 +3,7 @@
+ Summary: shared libraries for terminal handling
+ Name: mingw32-ncurses6
+ Version: 6.5
+-Release: 20250125
++Release: 20250201
+ License: X11
+ Group: Development/Libraries
+ URL: https://invisible-island.net/ncurses/
+Index: package/ncurses.spec
+--- ncurses-6.5-20250125+/package/ncurses.spec 2025-01-24 20:34:16.000000000 +0000
++++ ncurses-6.5-20250201/package/ncurses.spec 2025-01-31 21:35:49.000000000 +0000
+@@ -1,7 +1,7 @@
+ Summary: shared libraries for terminal handling
+ Name: ncurses6
+ Version: 6.5
+-Release: 20250125
++Release: 20250201
+ License: X11
+ Group: Development/Libraries
+ URL: https://invisible-island.net/ncurses/
+Index: package/ncursest.spec
+--- ncurses-6.5-20250125+/package/ncursest.spec 2025-01-24 20:34:16.000000000 +0000
++++ ncurses-6.5-20250201/package/ncursest.spec 2025-01-31 21:35:49.000000000 +0000
+@@ -1,7 +1,7 @@
+ Summary: Curses library with POSIX thread support.
+ Name: ncursest6
+ Version: 6.5
+-Release: 20250125
++Release: 20250201
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz