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