diff options
Diffstat (limited to 'system/ncurses/ncurses-6.3-20220101.patch')
-rw-r--r-- | system/ncurses/ncurses-6.3-20220101.patch | 1076 |
1 files changed, 0 insertions, 1076 deletions
diff --git a/system/ncurses/ncurses-6.3-20220101.patch b/system/ncurses/ncurses-6.3-20220101.patch deleted file mode 100644 index 4b6a7f147..000000000 --- a/system/ncurses/ncurses-6.3-20220101.patch +++ /dev/null @@ -1,1076 +0,0 @@ -# ncurses 6.3 - patch 20220101 - Thomas E. Dickey -# -# ------------------------------------------------------------------------------ -# -# Ncurses 6.3 is at -# ftp://ftp.invisible-island.net/ncurses/ -# https://invisible-mirror.net/archives/ncurses/ -# https://ftp.gnu.org/gnu/ncurses/ -# -# Patches for ncurses 6.3 can be found at -# ftp://ftp.invisible-island.net/ncurses/6.3 -# https://invisible-mirror.net/archives/ncurses/6.3 -# -# ------------------------------------------------------------------------------ -# ftp://ftp.invisible-island.net/ncurses/6.3/ncurses-6.3-20220101.patch.gz -# patch by Thomas E. Dickey <dickey@invisible-island.net> -# created Sun Jan 2 01:07:07 UTC 2022 -# ------------------------------------------------------------------------------ -# Ada95/package/debian/copyright | 2 -# COPYING | 4 -# NEWS | 8 + -# VERSION | 2 -# dist.mk | 6 - -# doc/html/man/adacurses6-config.1.html | 2 -# doc/html/man/captoinfo.1m.html | 2 -# doc/html/man/clear.1.html | 2 -# doc/html/man/curs_termcap.3x.html | 44 +++++++-- -# doc/html/man/curs_terminfo.3x.html | 146 +++++++++++++++++++------------- -# doc/html/man/form.3x.html | 2 -# doc/html/man/infocmp.1m.html | 2 -# doc/html/man/infotocap.1m.html | 2 -# doc/html/man/menu.3x.html | 2 -# doc/html/man/ncurses.3x.html | 2 -# doc/html/man/ncurses6-config.1.html | 2 -# doc/html/man/panel.3x.html | 2 -# doc/html/man/tabs.1.html | 2 -# doc/html/man/terminfo.5.html | 2 -# doc/html/man/tic.1m.html | 2 -# doc/html/man/toe.1m.html | 2 -# doc/html/man/tput.1.html | 2 -# doc/html/man/tset.1.html | 2 -# man/curs_termcap.3x | 36 ++++++- -# man/curs_terminfo.3x | 31 ++++++ -# package/debian-mingw/changelog | 4 -# package/debian-mingw/copyright | 2 -# package/debian-mingw64/changelog | 4 -# package/debian-mingw64/copyright | 2 -# package/debian/changelog | 4 -# package/debian/copyright | 2 -# package/mingw-ncurses.nsi | 6 - -# package/mingw-ncurses.spec | 2 -# package/ncurses.spec | 2 -# package/ncursest.spec | 2 -# test/package/debian-mingw/copyright | 2 -# test/package/debian-mingw64/copyright | 2 -# test/package/debian/copyright | 2 -# 38 files changed, 228 insertions(+), 119 deletions(-) -# ------------------------------------------------------------------------------ -Index: Ada95/package/debian/copyright ---- ncurses-6.3-20211225+/Ada95/package/debian/copyright 2021-01-01 09:54:30.000000000 +0000 -+++ ncurses-6.3-20220101/Ada95/package/debian/copyright 2022-01-02 00:28:07.000000000 +0000 -@@ -4,7 +4,7 @@ - - ------------------------------------------------------------------------------- - Files: * --Copyright: 2017-2020,2021 by Thomas E. Dickey -+Copyright: 2017-2021,2022 by Thomas E. Dickey - Copyright: 1998-2016,2017 Free Software Foundation, Inc. - Licence: X11 - -Index: COPYING -Prereq: 1.10 ---- ncurses-6.3-20211225+/COPYING 2021-01-01 09:54:30.000000000 +0000 -+++ ncurses-6.3-20220101/COPYING 2022-01-01 11:47:50.000000000 +0000 -@@ -1,4 +1,4 @@ --Copyright 2018-2020,2021 Thomas E. Dickey -+Copyright 2018-2021,2022 Thomas E. Dickey - Copyright 1998-2017,2018 Free Software Foundation, Inc. - - Permission is hereby granted, free of charge, to any person obtaining a -@@ -26,4 +26,4 @@ - authorization. - - -- vile:txtmode fc=72 ---- $Id: COPYING,v 1.10 2021/01/01 09:54:30 tom Exp $ -+-- $Id: COPYING,v 1.11 2022/01/01 11:47:50 tom Exp $ -Index: NEWS -Prereq: 1.3761 ---- ncurses-6.3-20211225+/NEWS 2021-12-26 00:29:27.000000000 +0000 -+++ ncurses-6.3-20220101/NEWS 2022-01-01 23:59:36.000000000 +0000 -@@ -1,5 +1,5 @@ - ------------------------------------------------------------------------------- ---- Copyright 2018-2020,2021 Thomas E. Dickey -- -+-- Copyright 2018-2021,2022 Thomas E. Dickey -- - -- Copyright 1998-2017,2018 Free Software Foundation, Inc. -- - -- -- - -- Permission is hereby granted, free of charge, to any person obtaining a -- -@@ -26,7 +26,7 @@ - -- sale, use or other dealings in this Software without prior written -- - -- authorization. -- - ------------------------------------------------------------------------------- ---- $Id: NEWS,v 1.3761 2021/12/26 00:29:27 tom Exp $ -+-- $Id: NEWS,v 1.3764 2022/01/01 23:59:36 tom Exp $ - ------------------------------------------------------------------------------- - - This is a log of changes that ncurses has gone through since Zeyd started -@@ -46,6 +46,10 @@ - Changes through 1.9.9e did not credit all contributions; - it is not possible to add this information. - -+20220101 -+ + add section on releasing memory to curs_termcap.3x and -+ curs_terminfo.3x manpages. -+ - 20211225 - + improve markup, e.g., for external manpage links in the manpages - (prompted by report by Helge Kreutzmann). -Index: VERSION ---- ncurses-6.3-20211225+/VERSION 2021-12-24 20:26:19.000000000 +0000 -+++ ncurses-6.3-20220101/VERSION 2022-01-01 11:46:49.000000000 +0000 -@@ -1 +1 @@ --5:0:10 6.3 20211225 -+5:0:10 6.3 20220101 -Index: dist.mk -Prereq: 1.1458 ---- ncurses-6.3-20211225+/dist.mk 2021-12-25 22:11:07.000000000 +0000 -+++ ncurses-6.3-20220101/dist.mk 2022-01-01 11:48:38.000000000 +0000 -@@ -1,5 +1,5 @@ - ############################################################################## --# Copyright 2018-2020,2021 Thomas E. Dickey # -+# Copyright 2018-2021,2022 Thomas E. Dickey # - # Copyright 1998-2017,2018 Free Software Foundation, Inc. # - # # - # Permission is hereby granted, free of charge, to any person obtaining a # -@@ -26,7 +26,7 @@ - # use or other dealings in this Software without prior written # - # authorization. # - ############################################################################## --# $Id: dist.mk,v 1.1458 2021/12/25 22:11:07 tom Exp $ -+# $Id: dist.mk,v 1.1460 2022/01/01 11:48: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 = 3 --NCURSES_PATCH = 20211225 -+NCURSES_PATCH = 20220101 - - # We don't append the patch to the version, since this only applies to releases - VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) -Index: doc/html/man/adacurses6-config.1.html ---- ncurses-6.3-20211225+/doc/html/man/adacurses6-config.1.html 2021-12-25 22:12:43.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/adacurses6-config.1.html 2022-01-02 00:19:47.000000000 +0000 -@@ -126,7 +126,7 @@ - </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> - -- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - - -Index: doc/html/man/captoinfo.1m.html ---- ncurses-6.3-20211225+/doc/html/man/captoinfo.1m.html 2021-12-25 22:12:43.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/captoinfo.1m.html 2022-01-02 00:19:47.000000000 +0000 -@@ -199,7 +199,7 @@ - </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> - -- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - - </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> -Index: doc/html/man/clear.1.html ---- ncurses-6.3-20211225+/doc/html/man/clear.1.html 2021-12-26 00:19:27.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/clear.1.html 2022-01-02 00:19:47.000000000 +0000 -@@ -150,7 +150,7 @@ - </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG>xterm(1)</STRONG>. - -- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - - -Index: doc/html/man/curs_termcap.3x.html ---- ncurses-6.3-20211225+/doc/html/man/curs_termcap.3x.html 2021-12-26 00:04:53.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/curs_termcap.3x.html 2022-01-02 00:19:51.000000000 +0000 -@@ -1,6 +1,6 @@ - <!-- - **************************************************************************** -- * Copyright 2018-2020,2021 Thomas E. Dickey * -+ * Copyright 2018-2021,2022 Thomas E. Dickey * - * Copyright 1998-2017,2018 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * -@@ -27,7 +27,7 @@ - * sale, use or other dealings in this Software without prior written * - * authorization. * - **************************************************************************** -- * @Id: curs_termcap.3x,v 1.52 2021/12/25 21:31:00 tom Exp @ -+ * @Id: curs_termcap.3x,v 1.55 2022/01/01 23:49:07 tom Exp @ - --> - <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> - <HTML> -@@ -76,7 +76,7 @@ - been compiled. - - --</PRE><H3><a name="h3-INITIALIZATION">INITIALIZATION</a></H3><PRE> -+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE> - The <STRONG>tgetent</STRONG> routine loads the entry for <EM>name</EM>. It returns: - - 1 on success, -@@ -100,7 +100,7 @@ - ing. - - --</PRE><H3><a name="h3-CAPABILITY-VALUES">CAPABILITY VALUES</a></H3><PRE> -+</PRE><H3><a name="h3-Capability-Values">Capability Values</a></H3><PRE> - The <STRONG>tgetflag</STRONG> routine gets the boolean entry for <EM>id</EM>, or zero if it is - not available. - -@@ -129,7 +129,7 @@ - and <STRONG>tgetstr</STRONG> are compared in lookups. - - --</PRE><H3><a name="h3-FORMATTING-CAPABILITIES">FORMATTING CAPABILITIES</a></H3><PRE> -+</PRE><H3><a name="h3-Formatting-Capabilities">Formatting Capabilities</a></H3><PRE> - The <STRONG>tgoto</STRONG> routine expands the given capability using the parameters. - - <STRONG>o</STRONG> Because the capability may have padding characters, the output of -@@ -157,7 +157,7 @@ - It can retrieve capabilities by either termcap or terminfo name. - - --</PRE><H3><a name="h3-GLOBAL-VARIABLES">GLOBAL VARIABLES</a></H3><PRE> -+</PRE><H3><a name="h3-Global-Variables">Global Variables</a></H3><PRE> - The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the terminfo entry's - data for <STRONG>pad_char</STRONG>, <STRONG>cursor_up</STRONG> and <STRONG>backspace_if_not_bs</STRONG>, respectively. <STRONG>UP</STRONG> - is not used by ncurses. <STRONG>PC</STRONG> is used in the <STRONG>tdelay_output</STRONG> function. <STRONG>BC</STRONG> -@@ -165,6 +165,29 @@ - in a system-specific coding to reflect the terminal speed. - - -+</PRE><H3><a name="h3-Releasing-Memory">Releasing Memory</a></H3><PRE> -+ The termcap functions provide no means for freeing memory, because -+ legacy termcap implementations used only the buffer areas provided by -+ the caller via <STRONG>tgetent</STRONG> and <STRONG>tgetstr</STRONG>. Those buffers are unused in ter- -+ minfo. -+ -+ On the other hand, terminfo allocates memory. It uses <STRONG>setupterm</STRONG> to re- -+ trieve the data used by <STRONG>tgetent</STRONG> and the functions which return capabil- -+ ity values such as <STRONG>tgetstr</STRONG>. One could use -+ -+ <STRONG>del_curterm(cur_term);</STRONG> -+ -+ -+ to free this memory, but there is an additional complication with -+ ncurses. It uses a fixed-size <EM>pool</EM> of storage locations, one per set- -+ ting of the <STRONG>TERM</STRONG> variable when <STRONG>tgetent</STRONG> is called. The <STRONG>screen(1)</STRONG> pro- -+ gram relies upon this arrangement, to improve its performance. -+ -+ An application which uses only the low-level termcap functions could -+ free the memory using <STRONG>del_curterm</STRONG>, because the pool is freed using oth- -+ er functions (see <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>). -+ -+ - </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - Except where explicitly noted, routines that return an integer return - <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other -@@ -322,10 +345,11 @@ - <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> - <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> - <ul> --<li><a href="#h3-INITIALIZATION">INITIALIZATION</a></li> --<li><a href="#h3-CAPABILITY-VALUES">CAPABILITY VALUES</a></li> --<li><a href="#h3-FORMATTING-CAPABILITIES">FORMATTING CAPABILITIES</a></li> --<li><a href="#h3-GLOBAL-VARIABLES">GLOBAL VARIABLES</a></li> -+<li><a href="#h3-Initialization">Initialization</a></li> -+<li><a href="#h3-Capability-Values">Capability Values</a></li> -+<li><a href="#h3-Formatting-Capabilities">Formatting Capabilities</a></li> -+<li><a href="#h3-Global-Variables">Global Variables</a></li> -+<li><a href="#h3-Releasing-Memory">Releasing Memory</a></li> - </ul> - </li> - <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -Index: doc/html/man/curs_terminfo.3x.html ---- ncurses-6.3-20211225+/doc/html/man/curs_terminfo.3x.html 2021-12-26 00:04:53.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/curs_terminfo.3x.html 2022-01-02 00:19:51.000000000 +0000 -@@ -1,6 +1,6 @@ - <!-- - **************************************************************************** -- * Copyright 2018-2020,2021 Thomas E. Dickey * -+ * Copyright 2018-2021,2022 Thomas E. Dickey * - * Copyright 1998-2016,2017 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * -@@ -27,7 +27,9 @@ - * sale, use or other dealings in this Software without prior written * - * authorization. * - **************************************************************************** -- * @Id: curs_terminfo.3x,v 1.79 2021/12/25 21:34:58 tom Exp @ -+ * @Id: curs_terminfo.3x,v 1.80 2022/01/01 21:50:06 tom Exp @ -+ * *************************************************************************** -+ * *************************************************************************** - * *************************************************************************** - * *************************************************************************** - * *************************************************************************** -@@ -348,9 +350,34 @@ - <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*strnames[]</STRONG>, <STRONG>*strcodes[]</STRONG>, <STRONG>*strfnames[]</STRONG> - - -+</PRE><H3><a name="h3-Releasing-Memory">Releasing Memory</a></H3><PRE> -+ Each successful call to <STRONG>setupterm</STRONG> allocates memory to hold the terminal -+ description. As a side-effect, it sets <STRONG>cur_term</STRONG> to point to this memo- -+ ry. If an application calls -+ -+ <STRONG>del_curterm(cur_term);</STRONG> -+ -+ the memory will be freed. -+ -+ The formatting functions <STRONG>tparm</STRONG> and <STRONG>tiparm</STRONG> extend the storage allocated -+ by <STRONG>setupterm</STRONG>: -+ -+ <STRONG>o</STRONG> the "static" terminfo variables [a-z]. Before ncurses 6.3, those -+ were shared by all screens. With ncurses 6.3, those are allocated -+ per screen. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details. -+ -+ <STRONG>o</STRONG> to improve performance, ncurses 6.3 caches the result of analyzing -+ terminfo strings for their parameter types. That is stored as a -+ binary tree referenced from the <STRONG>TERMINAL</STRONG> structure. -+ -+ The higher-level <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> functions use <STRONG>setupterm</STRONG>. Normally -+ they do not free this memory, but it is possible to do that using the -+ <STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG> function. -+ -+ - </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> -- Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 -- only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com- -+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 -+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com- - pletion, unless otherwise noted in the preceding routine descriptions. - - Routines that return pointers always return <STRONG>NULL</STRONG> on error. -@@ -372,25 +399,25 @@ - ditions are documented above. - - <STRONG>tputs</STRONG> -- returns an error if the string parameter is null. It does not -- detect I/O errors: X/Open states that <STRONG>tputs</STRONG> ignores the return -+ returns an error if the string parameter is null. It does not -+ detect I/O errors: X/Open states that <STRONG>tputs</STRONG> ignores the return - value of the output function <EM>putc</EM>. - - - </PRE><H3><a name="h3-Compatibility-macros">Compatibility macros</a></H3><PRE> -- This implementation provides a few macros for compatibility with sys- -+ This implementation provides a few macros for compatibility with sys- - tems before SVr4 (see <EM>HISTORY</EM>). Those include <STRONG>crmode</STRONG>, <STRONG>fixterm</STRONG>, - <STRONG>gettmode</STRONG>, <STRONG>nocrmode</STRONG>, <STRONG>resetterm</STRONG>, <STRONG>saveterm</STRONG>, and <STRONG>setterm</STRONG>. - -- In SVr4, those are found in <STRONG><curses.h></STRONG>, but except for <STRONG>setterm</STRONG>, are -+ In SVr4, those are found in <STRONG><curses.h></STRONG>, but except for <STRONG>setterm</STRONG>, are - likewise macros. The one function, <STRONG>setterm</STRONG>, is mentioned in the manual -- page. The manual page notes that the <STRONG>setterm</STRONG> routine was replaced by -+ page. The manual page notes that the <STRONG>setterm</STRONG> routine was replaced by - <STRONG>setupterm</STRONG>, stating that the call: - - <STRONG>setupterm(</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0)</STRONG> - - provides the same functionality as <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>, and is not recommend- -- ed for new programs. This implementation provides each of those sym- -+ ed for new programs. This implementation provides each of those sym- - bols as macros for BSD compatibility, - - -@@ -403,7 +430,7 @@ - fixterm restore tty to "in curses" state - gettmode establish current tty modes - mvcur low level cursor motion -- putp utility function that uses <STRONG>tputs</STRONG> to send char- -+ putp utility function that uses <STRONG>tputs</STRONG> to send char- - acters via <STRONG>putchar</STRONG>. - resetterm set tty modes to "out of curses" state - resetty reset tty flags to stored value -@@ -414,10 +441,10 @@ - tparm instantiate a string expression with parameters - tputs apply padding information to a string - vidattr like <STRONG>vidputs</STRONG>, but outputs through <STRONG>putchar</STRONG> -- vidputs output a string to put terminal in a specified -+ vidputs output a string to put terminal in a specified - video attribute mode - -- The programming manual also mentioned functions provided for termcap -+ The programming manual also mentioned functions provided for termcap - compatibility (commenting that they "may go away at a later date"): - - <STRONG>Function</STRONG> <STRONG>Description</STRONG> -@@ -430,19 +457,20 @@ - tputs apply padding to capability, calling - a function to put characters - -- Early terminfo programs obtained capability values from the <STRONG>TERMINAL</STRONG> -+ Early terminfo programs obtained capability values from the <STRONG>TERMINAL</STRONG> - structure initialized by <STRONG>setupterm</STRONG>. - -- SVr3 extended terminfo by adding functions to retrieve capability val- -+ SVr3 extended terminfo by adding functions to retrieve capability val- - ues (like the termcap interface), and reusing tgoto and tputs: - - <STRONG>Function</STRONG> <STRONG>Description</STRONG> - ------------------------------------------- - tigetflag get boolean entry for given <EM>id</EM> -+ - tigetnum get numeric entry for given <EM>id</EM> - tigetstr get string entry for given <EM>id</EM> - -- SVr3 also replaced several of the SVr2 terminfo functions which had no -+ SVr3 also replaced several of the SVr2 terminfo functions which had no - counterpart in the termcap interface, documenting them as obsolete: - - <STRONG>Function</STRONG> <STRONG>Replaced</STRONG> <STRONG>by</STRONG> -@@ -455,20 +483,20 @@ - saveterm def_prog_mode - setterm setupterm - -- SVr3 kept the <STRONG>mvcur</STRONG>, <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> functions, along with <STRONG>putp</STRONG>, -- <STRONG>tparm</STRONG> and <STRONG>tputs</STRONG>. The latter were needed to support padding, and han- -- dling functions such as <STRONG>vidattr</STRONG> (which used more than the two parame- -+ SVr3 kept the <STRONG>mvcur</STRONG>, <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> functions, along with <STRONG>putp</STRONG>, -+ <STRONG>tparm</STRONG> and <STRONG>tputs</STRONG>. The latter were needed to support padding, and han- -+ dling functions such as <STRONG>vidattr</STRONG> (which used more than the two parame- - ters supported by <STRONG>tgoto</STRONG>). - -- SVr3 introduced the functions for switching between terminal descrip- -+ SVr3 introduced the functions for switching between terminal descrip- - tions, e.g., <STRONG>set_curterm</STRONG>. Some of that was incremental improvements to - the SVr2 library: - -- <STRONG>o</STRONG> The <STRONG>TERMINAL</STRONG> type definition was introduced in SVr3.01, for the -+ <STRONG>o</STRONG> The <STRONG>TERMINAL</STRONG> type definition was introduced in SVr3.01, for the - <STRONG>term</STRONG> structure provided in SVr2. - -- <STRONG>o</STRONG> The various global variables such as <STRONG>boolnames</STRONG> were mentioned in -- the programming manual at this point, though the variables were -+ <STRONG>o</STRONG> The various global variables such as <STRONG>boolnames</STRONG> were mentioned in -+ the programming manual at this point, though the variables were - provided in SVr2. - - SVr4 added the <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> functions. -@@ -483,15 +511,15 @@ - </PRE><H3><a name="h3-Legacy-functions">Legacy functions</a></H3><PRE> - X/Open notes that <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> may be macros. - -- The function <STRONG>setterm</STRONG> is not described by X/Open and must be considered -+ The function <STRONG>setterm</STRONG> is not described by X/Open and must be considered - non-portable. All other functions are as described by X/Open. - - - </PRE><H3><a name="h3-Legacy-data">Legacy data</a></H3><PRE> -- <STRONG>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>. This is not -+ <STRONG>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>. This is not - part of X/Open Curses, but is assumed by some applications. - -- Other implementions may not declare the capability name arrays. Some -+ Other implementions may not declare the capability name arrays. Some - provide them without declaring them. X/Open does not specify them. - - Extended terminal capability names, e.g., as defined by <STRONG>tic</STRONG> <STRONG>-x</STRONG>, are not -@@ -499,14 +527,14 @@ - - - </PRE><H3><a name="h3-Output-buffering">Output buffering</a></H3><PRE> -- Older versions of <STRONG>ncurses</STRONG> assumed that the file descriptor passed to -+ Older versions of <STRONG>ncurses</STRONG> assumed that the file descriptor passed to - <STRONG>setupterm</STRONG> from <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> uses buffered I/O, and would write to -- the corresponding stream. In addition to the limitation that the ter- -- minal was left in block-buffered mode on exit (like System V curses), -- it was problematic because <STRONG>ncurses</STRONG> did not allow a reliable way to -+ the corresponding stream. In addition to the limitation that the ter- -+ minal was left in block-buffered mode on exit (like System V curses), -+ it was problematic because <STRONG>ncurses</STRONG> did not allow a reliable way to - cleanup on receiving SIGTSTP. - -- The current version (ncurses6) uses output buffers managed directly by -+ The current version (ncurses6) uses output buffers managed directly by - <STRONG>ncurses</STRONG>. Some of the low-level functions described in this manual page - write to the standard output. They are not signal-safe. The high-lev- - el functions in <STRONG>ncurses</STRONG> use alternate versions of these functions using -@@ -515,70 +543,71 @@ - - </PRE><H3><a name="h3-Function-prototypes">Function prototypes</a></H3><PRE> - The X/Open Curses prototypes are based on the SVr4 curses header decla- -- rations, which were defined at the same time the C language was first -+ rations, which were defined at the same time the C language was first - standardized in the late 1980s. - -- <STRONG>o</STRONG> X/Open Curses uses <STRONG>const</STRONG> less effectively than a later design -- might, in some cases applying it needlessly to values are already -- constant, and in most cases overlooking parameters which normally -- would use <STRONG>const</STRONG>. Using constant parameters for functions which do -+ <STRONG>o</STRONG> X/Open Curses uses <STRONG>const</STRONG> less effectively than a later design -+ might, in some cases applying it needlessly to values are already -+ constant, and in most cases overlooking parameters which normally -+ would use <STRONG>const</STRONG>. Using constant parameters for functions which do - not use <STRONG>const</STRONG> may prevent the program from compiling. On the other - hand, <EM>writable</EM> <EM>strings</EM> are an obsolescent feature. - -- As an extension, this implementation can be configured to change -- the function prototypes to use the <STRONG>const</STRONG> keyword. The ncurses ABI -+ As an extension, this implementation can be configured to change -+ the function prototypes to use the <STRONG>const</STRONG> keyword. The ncurses ABI - 6 enables this feature by default. - -- <STRONG>o</STRONG> X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of parameters, -+ <STRONG>o</STRONG> X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of parameters, - rather than a variable argument list. - -- This implementation uses a variable argument list, but can be con- -- figured to use the fixed-parameter list. Portable applications -- should provide 9 parameters after the format; zeroes are fine for -+ This implementation uses a variable argument list, but can be con- -+ figured to use the fixed-parameter list. Portable applications -+ should provide 9 parameters after the format; zeroes are fine for - this purpose. - -- In response to review comments by Thomas E. Dickey, X/Open Curses -+ In response to review comments by Thomas E. Dickey, X/Open Curses - Issue 7 proposed the <STRONG>tiparm</STRONG> function in mid-2009. - - - </PRE><H3><a name="h3-Special-TERM-treatment">Special TERM treatment</a></H3><PRE> - If configured to use the terminal-driver, e.g., for the MinGW port, - -- <STRONG>o</STRONG> <STRONG>setupterm</STRONG> interprets a missing/empty TERM variable as the special -+ <STRONG>o</STRONG> <STRONG>setupterm</STRONG> interprets a missing/empty TERM variable as the special - value "unknown". - -- <STRONG>o</STRONG> <STRONG>setupterm</STRONG> allows explicit use of the the windows console driver by -- checking if $TERM is set to "#win32con" or an abbreviation of that -+ <STRONG>o</STRONG> <STRONG>setupterm</STRONG> allows explicit use of the the windows console driver by -+ checking if $TERM is set to "#win32con" or an abbreviation of that - string. - - - </PRE><H3><a name="h3-Other-portability-issues">Other portability issues</a></H3><PRE> -- In System V Release 4, <STRONG>set_curterm</STRONG> has an <STRONG>int</STRONG> return type and returns -+ In System V Release 4, <STRONG>set_curterm</STRONG> has an <STRONG>int</STRONG> return type and returns - <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. We have chosen to implement the X/Open Curses semantics. - -- In System V Release 4, the third argument of <STRONG>tputs</STRONG> has the type <STRONG>int</STRONG> -+ In System V Release 4, the third argument of <STRONG>tputs</STRONG> has the type <STRONG>int</STRONG> - <STRONG>(*putc)(char)</STRONG>. - -- At least one implementation of X/Open Curses (Solaris) returns a value -- other than <STRONG>OK</STRONG>/<STRONG>ERR</STRONG> from <STRONG>tputs</STRONG>. That returns the length of the string, -+ At least one implementation of X/Open Curses (Solaris) returns a value -+ other than <STRONG>OK</STRONG>/<STRONG>ERR</STRONG> from <STRONG>tputs</STRONG>. That returns the length of the string, - and does no error-checking. - -- X/Open notes that after calling <STRONG>mvcur</STRONG>, the curses state may not match -+ X/Open notes that after calling <STRONG>mvcur</STRONG>, the curses state may not match - the actual terminal state, and that an application should touch and re- - fresh the window before resuming normal curses calls. Both <STRONG>ncurses</STRONG> and -- System V Release 4 curses implement <STRONG>mvcur</STRONG> using the SCREEN data allo- -- cated in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. So though it is documented as a -- terminfo function, <STRONG>mvcur</STRONG> is really a curses function which is not well -+ System V Release 4 curses implement <STRONG>mvcur</STRONG> using the SCREEN data allo- -+ cated in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. So though it is documented as a -+ terminfo function, <STRONG>mvcur</STRONG> is really a curses function which is not well - specified. - -- X/Open states that the old location must be given for <STRONG>mvcur</STRONG>. This im- -- plementation allows the caller to use -1's for the old ordinates. In -+ X/Open states that the old location must be given for <STRONG>mvcur</STRONG>. This im- -+ plementation allows the caller to use -1's for the old ordinates. In - that case, the old location is unknown. - - - </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_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, -- <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</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_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>, -+ <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG>ter-</STRONG> -+ <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG> - - - -@@ -596,6 +625,7 @@ - <li><a href="#h3-Output-Functions">Output Functions</a></li> - <li><a href="#h3-Terminal-Capability-Functions">Terminal Capability Functions</a></li> - <li><a href="#h3-Terminal-Capability-Names">Terminal Capability Names</a></li> -+<li><a href="#h3-Releasing-Memory">Releasing Memory</a></li> - </ul> - </li> - <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a> -Index: doc/html/man/form.3x.html ---- ncurses-6.3-20211225+/doc/html/man/form.3x.html 2021-12-25 22:12:46.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/form.3x.html 2022-01-02 00:19:52.000000000 +0000 -@@ -248,7 +248,7 @@ - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed - descriptions of the entry points. - -- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - - -Index: doc/html/man/infocmp.1m.html ---- ncurses-6.3-20211225+/doc/html/man/infocmp.1m.html 2021-12-25 22:12:47.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/infocmp.1m.html 2022-01-02 00:19:53.000000000 +0000 -@@ -514,7 +514,7 @@ - - https://invisible-island.net/ncurses/tctest.html - -- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - - </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> -Index: doc/html/man/infotocap.1m.html ---- ncurses-6.3-20211225+/doc/html/man/infotocap.1m.html 2021-12-25 22:12:47.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/infotocap.1m.html 2022-01-02 00:19:53.000000000 +0000 -@@ -91,7 +91,7 @@ - </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> - -- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - - </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> -Index: doc/html/man/menu.3x.html ---- ncurses-6.3-20211225+/doc/html/man/menu.3x.html 2021-12-25 22:12:47.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/menu.3x.html 2022-01-02 00:19:53.000000000 +0000 -@@ -223,7 +223,7 @@ - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed - descriptions of the entry points. - -- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - - -Index: doc/html/man/ncurses.3x.html ---- ncurses-6.3-20211225+/doc/html/man/ncurses.3x.html 2021-12-26 00:04:56.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/ncurses.3x.html 2022-01-02 00:19:55.000000000 +0000 -@@ -60,7 +60,7 @@ - method of updating character screens with reasonable optimization. - This implementation is "new curses" (ncurses) and is the approved - replacement for 4.4BSD classic curses, which has been discontinued. -- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - The <STRONG>ncurses</STRONG> library emulates the curses library of System V Release 4 - UNIX, and XPG4 (X/Open Portability Guide) curses (also known as XSI -Index: doc/html/man/ncurses6-config.1.html ---- ncurses-6.3-20211225+/doc/html/man/ncurses6-config.1.html 2021-12-25 22:12:48.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/ncurses6-config.1.html 2022-01-02 00:19:55.000000000 +0000 -@@ -113,7 +113,7 @@ - </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> - -- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - - -Index: doc/html/man/panel.3x.html ---- ncurses-6.3-20211225+/doc/html/man/panel.3x.html 2021-12-25 22:12:48.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/panel.3x.html 2022-01-02 00:19:55.000000000 +0000 -@@ -281,7 +281,7 @@ - </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_variables.3x.html">curs_variables(3x)</A></STRONG>, - -- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - - </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> -Index: doc/html/man/tabs.1.html ---- ncurses-6.3-20211225+/doc/html/man/tabs.1.html 2021-12-25 22:12:48.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/tabs.1.html 2022-01-02 00:19:55.000000000 +0000 -@@ -252,7 +252,7 @@ - </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. - -- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - - -Index: doc/html/man/terminfo.5.html ---- ncurses-6.3-20211225+/doc/html/man/terminfo.5.html 2021-12-25 22:12:49.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/terminfo.5.html 2022-01-02 00:19:56.000000000 +0000 -@@ -106,7 +106,7 @@ - have, by specifying how to perform screen operations, and by specifying - padding requirements and initialization sequences. - -- This manual describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This manual describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - - </PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE> -Index: doc/html/man/tic.1m.html ---- ncurses-6.3-20211225+/doc/html/man/tic.1m.html 2021-12-25 22:12:50.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/tic.1m.html 2022-01-02 00:19:56.000000000 +0000 -@@ -461,7 +461,7 @@ - <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, - <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>. - -- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - - </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> -Index: doc/html/man/toe.1m.html ---- ncurses-6.3-20211225+/doc/html/man/toe.1m.html 2021-12-25 22:12:50.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/toe.1m.html 2022-01-02 00:19:56.000000000 +0000 -@@ -171,7 +171,7 @@ - <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, - <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. - -- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - - -Index: doc/html/man/tput.1.html ---- ncurses-6.3-20211225+/doc/html/man/tput.1.html 2021-12-26 00:04:56.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/tput.1.html 2022-01-02 00:19:56.000000000 +0000 -@@ -545,7 +545,7 @@ - </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. - -- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - - -Index: doc/html/man/tset.1.html ---- ncurses-6.3-20211225+/doc/html/man/tset.1.html 2021-12-26 00:04:57.000000000 +0000 -+++ ncurses-6.3-20220101/doc/html/man/tset.1.html 2022-01-02 00:19:56.000000000 +0000 -@@ -391,7 +391,7 @@ - <STRONG>csh(1)</STRONG>, <STRONG>sh(1)</STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>tty(4)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, - <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG> - -- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225). -+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101). - - - -Index: man/curs_termcap.3x -Prereq: 1.52 ---- ncurses-6.3-20211225+/man/curs_termcap.3x 2021-12-25 21:31:00.000000000 +0000 -+++ ncurses-6.3-20220101/man/curs_termcap.3x 2022-01-01 23:49:07.000000000 +0000 -@@ -1,5 +1,5 @@ - .\"*************************************************************************** --.\" Copyright 2018-2020,2021 Thomas E. Dickey * -+.\" Copyright 2018-2021,2022 Thomas E. Dickey * - .\" Copyright 1998-2017,2018 Free Software Foundation, Inc. * - .\" * - .\" Permission is hereby granted, free of charge, to any person obtaining a * -@@ -27,7 +27,7 @@ - .\" authorization. * - .\"*************************************************************************** - .\" --.\" $Id: curs_termcap.3x,v 1.52 2021/12/25 21:31:00 tom Exp $ -+.\" $Id: curs_termcap.3x,v 1.55 2022/01/01 23:49:07 tom Exp $ - .TH curs_termcap 3X "" - .ie \n(.g .ds `` \(lq - .el .ds `` `` -@@ -86,7 +86,7 @@ - Thus, they - can only be used to query the capabilities of entries for which a - terminfo entry has been compiled. --.SS INITIALIZATION -+.SS Initialization - .PP - The \fBtgetent\fP routine loads the entry for \fIname\fP. - It returns: -@@ -118,7 +118,7 @@ - description is marked with the \fIgeneric\fP capability, - or if the terminal description has cursor-addressing. - .RE --.SS CAPABILITY VALUES -+.SS Capability Values - .PP - The \fBtgetflag\fP routine gets the boolean entry for \fIid\fP, - or zero if it is not available. -@@ -152,7 +152,7 @@ - \fBtgetflag\fP, - \fBtgetnum\fP and - \fBtgetstr\fP are compared in lookups. --.SS FORMATTING CAPABILITIES -+.SS Formatting Capabilities - .PP - The \fBtgoto\fP routine expands the given capability using the parameters. - .bP -@@ -181,7 +181,7 @@ - The \fBtputs\fP routine is described on the \fBcurs_terminfo\fP(3X) manual - page. - It can retrieve capabilities by either termcap or terminfo name. --.SS GLOBAL VARIABLES -+.SS Global Variables - .PP - The variables - \fBPC\fP, -@@ -197,6 +197,30 @@ - \fBBC\fP is used in the \fBtgoto\fP emulation. - The variable \fBospeed\fP is set by ncurses in a system-specific coding - to reflect the terminal speed. -+.SS Releasing Memory -+The termcap functions provide no means for freeing memory, -+because legacy termcap implementations used only the buffer -+areas provided by the caller via \fBtgetent\fP and \fBtgetstr\fP. -+Those buffers are unused in terminfo. -+.PP -+On the other hand, terminfo allocates memory. -+It uses \fBsetupterm\fP to retrieve the data used by \fBtgetent\fP -+and the functions which return capability values such as \fBtgetstr\fP. -+One could use -+.sp -+ \fBdel_curterm(cur_term);\fP -+.sp -+.PP -+to free this memory, but there is an additional complication with ncurses. -+It uses a fixed-size \fIpool\fP of storage locations, -+one per setting of the \fBTERM\fP variable when \fBtgetent\fP is called. -+The \fBscreen\fP(1) program relies upon this arrangement, -+to improve its performance. -+.PP -+An application which uses only the low-level termcap functions could -+free the memory using \fBdel_curterm\fP, -+because the pool is freed using other functions -+(see \fBcurs_memleaks\fP(3X)). - . - .SH RETURN VALUE - Except where explicitly noted, -Index: man/curs_terminfo.3x -Prereq: 1.79 ---- ncurses-6.3-20211225+/man/curs_terminfo.3x 2021-12-25 21:34:58.000000000 +0000 -+++ ncurses-6.3-20220101/man/curs_terminfo.3x 2022-01-01 21:50:06.000000000 +0000 -@@ -1,5 +1,5 @@ - .\"*************************************************************************** --.\" Copyright 2018-2020,2021 Thomas E. Dickey * -+.\" Copyright 2018-2021,2022 Thomas E. Dickey * - .\" Copyright 1998-2016,2017 Free Software Foundation, Inc. * - .\" * - .\" Permission is hereby granted, free of charge, to any person obtaining a * -@@ -27,7 +27,7 @@ - .\" authorization. * - .\"*************************************************************************** - .\" --.\" $Id: curs_terminfo.3x,v 1.79 2021/12/25 21:34:58 tom Exp $ -+.\" $Id: curs_terminfo.3x,v 1.80 2022/01/01 21:50:06 tom Exp $ - .TH curs_terminfo 3X "" - .ie \n(.g .ds `` \(lq - .el .ds `` `` -@@ -407,6 +407,32 @@ - .br - \fBconst char *strnames[]\fP, \fB*strcodes[]\fP, \fB*strfnames[]\fP - .RE -+.\" *************************************************************************** -+.SS Releasing Memory -+Each successful call to \fBsetupterm\fP allocates memory to hold the terminal -+description. As a side-effect, it sets \fBcur_term\fP to point to this memory. -+If an application calls -+.sp -+ \fBdel_curterm(cur_term);\fP -+.sp -+the memory will be freed. -+.PP -+The formatting functions \fBtparm\fP and \fBtiparm\fP extend the storage -+allocated by \fBsetupterm\fP: -+.bP -+the \*(``static\*('' terminfo variables [a-z]. -+Before ncurses 6.3, those were shared by all screens. -+With ncurses 6.3, those are allocated per screen. -+See \fBterminfo\fP(\*n) for details. -+.bP -+to improve performance, ncurses 6.3 caches the result of analyzing terminfo -+strings for their parameter types. -+That is stored as a binary tree referenced from the \fBTERMINAL\fP structure. -+.PP -+The higher-level \fBinitscr\fP and \fBnewterm\fP functions use \fBsetupterm\fP. -+Normally they do not free this memory, but it is possible to do that using -+the \fBdelscreen\fP(3X) function. -+.\" *************************************************************************** - .SH RETURN VALUE - Routines that return an integer return \fBERR\fP upon failure and \fBOK\fP - (SVr4 only specifies \*(``an integer value other than \fBERR\fP\*('') -@@ -675,6 +701,7 @@ - \fBcurses\fP(3X), - \fBcurs_initscr\fP(3X), - \fBcurs_kernel\fP(3X), -+\fBcurs_memleaks\fP(3X), - \fBcurs_termcap\fP(3X), - \fBcurs_variables\fP(3X), - \fBterm_variables\fP(3X), -Index: package/debian-mingw/changelog ---- ncurses-6.3-20211225+/package/debian-mingw/changelog 2021-12-24 20:26:19.000000000 +0000 -+++ ncurses-6.3-20220101/package/debian-mingw/changelog 2022-01-01 11:46:49.000000000 +0000 -@@ -1,8 +1,8 @@ --ncurses6 (6.3+20211225) unstable; urgency=low -+ncurses6 (6.3+20220101) unstable; urgency=low - - * latest weekly patch - -- -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 24 Dec 2021 15:26:19 -0500 -+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 01 Jan 2022 06:46:49 -0500 - - ncurses6 (5.9-20131005) unstable; urgency=low - -Index: package/debian-mingw/copyright ---- ncurses-6.3-20211225+/package/debian-mingw/copyright 2021-01-01 09:54:30.000000000 +0000 -+++ ncurses-6.3-20220101/package/debian-mingw/copyright 2022-01-02 00:28:07.000000000 +0000 -@@ -5,7 +5,7 @@ - - ------------------------------------------------------------------------------- - Files: * --Copyright: 2017-2020,2021 by Thomas E. Dickey -+Copyright: 2017-2021,2022 by Thomas E. Dickey - Copyright: 1998-2016,2017 Free Software Foundation, Inc. - Licence: X11 - -Index: package/debian-mingw64/changelog ---- ncurses-6.3-20211225+/package/debian-mingw64/changelog 2021-12-24 20:26:19.000000000 +0000 -+++ ncurses-6.3-20220101/package/debian-mingw64/changelog 2022-01-01 11:46:49.000000000 +0000 -@@ -1,8 +1,8 @@ --ncurses6 (6.3+20211225) unstable; urgency=low -+ncurses6 (6.3+20220101) unstable; urgency=low - - * latest weekly patch - -- -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 24 Dec 2021 15:26:19 -0500 -+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 01 Jan 2022 06:46:49 -0500 - - ncurses6 (5.9-20131005) unstable; urgency=low - -Index: package/debian-mingw64/copyright ---- ncurses-6.3-20211225+/package/debian-mingw64/copyright 2021-01-01 09:54:30.000000000 +0000 -+++ ncurses-6.3-20220101/package/debian-mingw64/copyright 2022-01-02 00:28:07.000000000 +0000 -@@ -5,7 +5,7 @@ - - ------------------------------------------------------------------------------- - Files: * --Copyright: 2017-2020,2021 by Thomas E. Dickey -+Copyright: 2017-2021,2022 by Thomas E. Dickey - Copyright: 1998-2016,2017 Free Software Foundation, Inc. - Licence: X11 - -Index: package/debian/changelog ---- ncurses-6.3-20211225+/package/debian/changelog 2021-12-24 20:26:19.000000000 +0000 -+++ ncurses-6.3-20220101/package/debian/changelog 2022-01-01 11:46:49.000000000 +0000 -@@ -1,8 +1,8 @@ --ncurses6 (6.3+20211225) unstable; urgency=low -+ncurses6 (6.3+20220101) unstable; urgency=low - - * latest weekly patch - -- -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 24 Dec 2021 15:26:19 -0500 -+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 01 Jan 2022 06:46:49 -0500 - - ncurses6 (5.9-20120608) unstable; urgency=low - -Index: package/debian/copyright ---- ncurses-6.3-20211225+/package/debian/copyright 2021-01-01 09:54:30.000000000 +0000 -+++ ncurses-6.3-20220101/package/debian/copyright 2022-01-02 00:28:07.000000000 +0000 -@@ -5,7 +5,7 @@ - - ------------------------------------------------------------------------------- - Files: * --Copyright: 2017-2020,2021 by Thomas E. Dickey -+Copyright: 2017-2021,2022 by Thomas E. Dickey - Copyright: 1998-2016,2017 Free Software Foundation, Inc. - Licence: X11 - -Index: package/mingw-ncurses.nsi -Prereq: 1.499 ---- ncurses-6.3-20211225+/package/mingw-ncurses.nsi 2021-12-24 20:26:19.000000000 +0000 -+++ ncurses-6.3-20220101/package/mingw-ncurses.nsi 2022-01-01 11:46:49.000000000 +0000 -@@ -1,4 +1,4 @@ --; $Id: mingw-ncurses.nsi,v 1.499 2021/12/24 20:26:19 tom Exp $
-+; $Id: mingw-ncurses.nsi,v 1.500 2022/01/01 11:46:49 tom Exp $
-
- ; TODO add examples
- ; TODO bump ABI to 6
-@@ -9,8 +9,8 @@ -
- !define VERSION_MAJOR "6"
- !define VERSION_MINOR "3"
--!define VERSION_YYYY "2021"
--!define VERSION_MMDD "1225"
-+!define VERSION_YYYY "2022"
-+!define VERSION_MMDD "0101"
- !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
-
- !define MY_ABI "5"
-Index: package/mingw-ncurses.spec ---- ncurses-6.3-20211225+/package/mingw-ncurses.spec 2021-12-24 20:26:19.000000000 +0000 -+++ ncurses-6.3-20220101/package/mingw-ncurses.spec 2022-01-01 11:46:49.000000000 +0000 -@@ -3,7 +3,7 @@ - Summary: shared libraries for terminal handling - Name: mingw32-ncurses6 - Version: 6.3 --Release: 20211225 -+Release: 20220101 - License: X11 - Group: Development/Libraries - Source: ncurses-%{version}-%{release}.tgz -Index: package/ncurses.spec ---- ncurses-6.3-20211225+/package/ncurses.spec 2021-12-24 20:26:19.000000000 +0000 -+++ ncurses-6.3-20220101/package/ncurses.spec 2022-01-01 11:46:49.000000000 +0000 -@@ -1,7 +1,7 @@ - Summary: shared libraries for terminal handling - Name: ncurses6 - Version: 6.3 --Release: 20211225 -+Release: 20220101 - License: X11 - Group: Development/Libraries - Source: ncurses-%{version}-%{release}.tgz -Index: package/ncursest.spec ---- ncurses-6.3-20211225+/package/ncursest.spec 2021-12-24 20:26:19.000000000 +0000 -+++ ncurses-6.3-20220101/package/ncursest.spec 2022-01-01 11:46:49.000000000 +0000 -@@ -1,7 +1,7 @@ - Summary: Curses library with POSIX thread support. - Name: ncursest6 - Version: 6.3 --Release: 20211225 -+Release: 20220101 - License: X11 - Group: Development/Libraries - Source: ncurses-%{version}-%{release}.tgz -Index: test/package/debian-mingw/copyright ---- ncurses-6.3-20211225+/test/package/debian-mingw/copyright 2021-01-01 09:54:30.000000000 +0000 -+++ ncurses-6.3-20220101/test/package/debian-mingw/copyright 2022-01-02 00:28:07.000000000 +0000 -@@ -4,7 +4,7 @@ - - ------------------------------------------------------------------------------- - Files: * --Copyright: 2017-2020,2021 Thomas E. Dickey -+Copyright: 2017-2021,2022 Thomas E. Dickey - Copyright: 1998-2016,2017 Free Software Foundation, Inc. - Licence: X11 - -Index: test/package/debian-mingw64/copyright ---- ncurses-6.3-20211225+/test/package/debian-mingw64/copyright 2021-01-01 09:54:30.000000000 +0000 -+++ ncurses-6.3-20220101/test/package/debian-mingw64/copyright 2022-01-02 00:28:07.000000000 +0000 -@@ -4,7 +4,7 @@ - - ------------------------------------------------------------------------------- - Files: * --Copyright: 2017-2020,2021 Thomas E. Dickey -+Copyright: 2017-2021,2022 Thomas E. Dickey - Copyright: 1998-2016,2017 Free Software Foundation, Inc. - Licence: X11 - -Index: test/package/debian/copyright ---- ncurses-6.3-20211225+/test/package/debian/copyright 2021-01-01 09:54:30.000000000 +0000 -+++ ncurses-6.3-20220101/test/package/debian/copyright 2022-01-02 00:28:07.000000000 +0000 -@@ -4,7 +4,7 @@ - - ------------------------------------------------------------------------------- - Files: * --Copyright: 2017-2020,2021 Thomas E. Dickey -+Copyright: 2017-2021,2022 Thomas E. Dickey - Copyright: 1998-2016,2017 Free Software Foundation, Inc. - Licence: X11 - |