ncurses/ncurses-6.2-20200314.patch
2024-01-06 07:33:58 +01:00

774 lines
40 KiB
Diff

# ncurses 6.2 - patch 20200314 - Thomas E. Dickey
#
# ------------------------------------------------------------------------------
#
# Ncurses 6.2 is at
# ftp.gnu.org:/pub/gnu
#
# Patches for ncurses 6.2 can be found at
# ftp://ftp.invisible-island.net/ncurses/6.2
# http://invisible-mirror.net/archives/ncurses/6.2
#
# ------------------------------------------------------------------------------
# ftp://ftp.invisible-island.net/ncurses/6.2/ncurses-6.2-20200314.patch.gz
# patch by Thomas E. Dickey <dickey@invisible-island.net>
# created Sun Mar 15 01:36:38 UTC 2020
# ------------------------------------------------------------------------------
# NEWS | 7 +++
# VERSION | 2 -
# dist.mk | 4 +-
# 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_printw.3x.html | 46 ++++++++++++++++++-----
# doc/html/man/curs_scanw.3x.html | 64 +++++++++++++++++++++++---------
# 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 | 27 +++++++++++--
# 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_printw.3x | 38 ++++++++++++++++++-
# man/curs_scanw.3x | 40 +++++++++++++++++++-
# man/ncurses.3x | 25 ++++++++++++
# 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 -
# 31 files changed, 242 insertions(+), 63 deletions(-)
# ------------------------------------------------------------------------------
Index: NEWS
Prereq: 1.3461
--- ncurses-6.2-20200308+/NEWS 2020-03-08 14:28:23.000000000 +0000
+++ ncurses-6.2-20200314/NEWS 2020-03-15 00:15:32.000000000 +0000
@@ -26,7 +26,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3461 2020/03/08 14:28:23 tom Exp $
+-- $Id: NEWS,v 1.3463 2020/03/15 00:15:32 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
@@ -46,6 +46,11 @@
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20200314
+ + add history note to curs_scanw.3x for <stdarg.h> and <varargs.h>
+ + add history note to curs_printw.3x for <stdarg.h> and <varargs.h>
+ + add portability note to ncurses.3x regarding <stdarg.h>
+
20200308
+ update copyright notices in test-packages.
+ modify tracemunch to guard against errors in its known_p1 table.
Index: VERSION
--- ncurses-6.2-20200308+/VERSION 2020-03-08 14:28:23.000000000 +0000
+++ ncurses-6.2-20200314/VERSION 2020-03-14 15:30:00.000000000 +0000
@@ -1 +1 @@
-5:0:10 6.2 20200308
+5:0:10 6.2 20200314
Index: dist.mk
Prereq: 1.1340
--- ncurses-6.2-20200308+/dist.mk 2020-03-08 14:28:23.000000000 +0000
+++ ncurses-6.2-20200314/dist.mk 2020-03-14 15:30:00.000000000 +0000
@@ -26,7 +26,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1340 2020/03/08 14:28:23 tom Exp $
+# $Id: dist.mk,v 1.1341 2020/03/14 15:30:00 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 = 2
-NCURSES_PATCH = 20200308
+NCURSES_PATCH = 20200314
# 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.2-20200308+/doc/html/man/adacurses6-config.1.html 2020-02-23 01:14:14.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/adacurses6-config.1.html 2020-03-15 00:28:07.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.2 (patch 20200222).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
Index: doc/html/man/captoinfo.1m.html
--- ncurses-6.2-20200308+/doc/html/man/captoinfo.1m.html 2020-02-23 01:14:14.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/captoinfo.1m.html 2020-03-15 00:28:07.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.2 (patch 20200222).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Index: doc/html/man/clear.1.html
--- ncurses-6.2-20200308+/doc/html/man/clear.1.html 2020-02-23 01:14:14.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/clear.1.html 2020-03-15 00:28:08.000000000 +0000
@@ -149,7 +149,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>
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
Index: doc/html/man/curs_printw.3x.html
--- ncurses-6.2-20200308+/doc/html/man/curs_printw.3x.html 2020-02-03 01:26:26.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/curs_printw.3x.html 2020-03-15 00:28:09.000000000 +0000
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_printw.3x,v 1.25 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_printw.3x,v 1.26 2020/03/14 23:48:47 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -91,21 +91,48 @@
the window pointer is null.
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ While <STRONG>printw</STRONG> was implemented in 4BSD, it was unused until 4.2BSD (which
+ used it in games). That early version of curses was before the ANSI C
+ standard. It did not use &lt;varargs.h&gt;, though that was available. In
+ 1991 (a couple of years after SVr4 was generally available, and after
+ the C standard was published), other developers updated the library,
+ using &lt;stdarg.h&gt; internally in 4.4BSD curses. Even with this improve-
+ ment, BSD curses did not use function prototypes (or even declare func-
+ tions) in the &lt;curses.h&gt; header until 1992.
+
+ SVr2 documented <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG> tersely as "printf on <EM>stdscr</EM>" and
+ tersely as "printf on <EM>win</EM>", respectively.
+
+ SVr3 added <STRONG>mvprintw</STRONG>, and <STRONG>mvwprintw</STRONG>, with a three-line summary saying
+ that they were analogous to <STRONG>printf(3)</STRONG>, explaining that the string which
+ would be output from <STRONG>printf(3)</STRONG> would instead be output using <STRONG>waddstr</STRONG> on
+ the given window. SVr3 also added <STRONG>vwprintw</STRONG>, saying that the third pa-
+ rameter is a <STRONG>va_list</STRONG>, defined in &lt;varargs.h&gt;, and referring the reader
+ to the manual pages for <EM>varargs</EM> and <EM>vprintf</EM> for detailed descriptions.
+
+ SVr4 added no new variations of <STRONG>printw</STRONG>, but provided for using
+ &lt;varargs.h&gt; or &lt;stdarg.h&gt; to define the <STRONG>va_list</STRONG> type.
+
+ X/Open Curses added <STRONG>vw_printw</STRONG> to replace <STRONG>vwprintw</STRONG>, stating that its
+ <STRONG>va_list</STRONG> definition requires &lt;stdarg.h&gt;.
+
+
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- In this implementation, <STRONG>vw_printw</STRONG> and <STRONG>vwprintw</STRONG> are equivalent, to sup-
+ In this implementation, <STRONG>vw_printw</STRONG> and <STRONG>vwprintw</STRONG> are equivalent, to sup-
port legacy applications. However, the latter (<STRONG>vwprintw</STRONG>) is obsolete:
- <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions. The
- function <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN, and is to be replaced
+ <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions. The
+ function <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN, and is to be replaced
by a function <STRONG>vw_printw</STRONG> using the <STRONG>&lt;stdarg.h&gt;</STRONG> interface.
- <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_printw</STRONG> is
- preferred to <STRONG>vwprintw</STRONG> since the latter requires including
- <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.
- This implementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
+ <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_printw</STRONG> is
+ preferred to <STRONG>vwprintw</STRONG> since the latter requires including
+ <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.
+ This implementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
is included in <STRONG>&lt;curses.h</STRONG>&gt;.
- <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwprintw</STRONG> (along with
+ <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwprintw</STRONG> (along with
<STRONG>vwscanw</STRONG> and the termcap interface) as withdrawn.
@@ -123,6 +150,7 @@
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
</ul>
Index: doc/html/man/curs_scanw.3x.html
--- ncurses-6.2-20200308+/doc/html/man/curs_scanw.3x.html 2020-02-03 01:26:26.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/curs_scanw.3x.html 2020-03-15 00:28:09.000000000 +0000
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scanw.3x,v 1.26 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_scanw.3x,v 1.27 2020/03/15 00:14:30 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -89,41 +89,70 @@
the window pointer is null.
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ While <STRONG>scanw</STRONG> was implemented in 4BSD, none of the BSD releases used it
+ until 4.4BSD (in a game). That early version of curses was before the
+ ANSI C standard. It did not use &lt;varargs.h&gt;, though that was avail-
+ able. In 1991 (a couple of years after SVr4 was generally available,
+ and after the C standard was published), other developers updated the
+ library, using &lt;stdarg.h&gt; internally in 4.4BSD curses. Even with this
+ improvement, BSD curses did not use function prototypes (or even
+ declare functions) in the &lt;curses.h&gt; header until 1992.
+
+ SVr2 documented <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG> tersely as "scanf through <EM>stdscr</EM>" and
+ tersely as "scanf through <EM>win</EM>", respectively.
+
+ SVr3 added <STRONG>mvscanw</STRONG>, and <STRONG>mvwscanw</STRONG>, with a three-line summary saying that
+ they were analogous to <STRONG>scanf(3)</STRONG>, explaining that the string which would
+ be output from <STRONG>scanf(3)</STRONG> would instead be output using <STRONG>waddstr</STRONG> on the
+ given window. SVr3 also added <STRONG>vwscanw</STRONG>, saying that the third parameter
+ is a <STRONG>va_list</STRONG>, defined in &lt;varargs.h&gt;, and referring the reader to the
+ manual pages for <EM>varargs</EM> and <EM>vprintf</EM> for detailed descriptions.
+ (Because the SVr3 documentation does not mention <EM>vscanf</EM>, that reference
+ to <EM>vprintf</EM> may not be an error).
+
+ SVr4 added no new variations of <STRONG>scanw</STRONG>, but provided for using
+ &lt;varargs.h&gt; or &lt;stdarg.h&gt; to define the <STRONG>va_list</STRONG> type.
+
+ X/Open Curses added <STRONG>vw_scanw</STRONG> to replace <STRONG>vwscanw</STRONG>, stating that its
+ <STRONG>va_list</STRONG> definition requires &lt;stdarg.h&gt;.
+
+
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
In this implementation, <STRONG>vw_scanw</STRONG> and <STRONG>vwscanw</STRONG> are equivalent, to support
legacy applications. However, the latter (<STRONG>vwscanw</STRONG>) is obsolete:
- <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions, noting
- that the function <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN, and is to be
+ <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions, noting
+ that the function <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN, and is to be
replaced by a function <STRONG>vw_scanw</STRONG> using the <STRONG>&lt;stdarg.h&gt;</STRONG> interface.
- <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_scanw</STRONG> is
- preferred to <STRONG>vwscanw</STRONG> since the latter requires including
- <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.
- This implementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
+ <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_scanw</STRONG> is
+ preferred to <STRONG>vwscanw</STRONG> since the latter requires including
+ <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.
+ This implementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
is included in <STRONG>&lt;curses.h</STRONG>&gt;.
- <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwscanw</STRONG> (along with
+ <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwscanw</STRONG> (along with
<STRONG>vwprintw</STRONG> and the termcap interface) as withdrawn.
- Both XSI and The Single Unix Specification, Version 2 state that these
+ Both XSI and The Single Unix Specification, Version 2 state that these
functions return <STRONG>ERR</STRONG> or <STRONG>OK</STRONG>.
- <STRONG>o</STRONG> Since the underlying <STRONG>scanf(3)</STRONG> can return the number of items
+ <STRONG>o</STRONG> Since the underlying <STRONG>scanf(3)</STRONG> can return the number of items
scanned, and the SVr4 code was documented to use this feature, this
- is probably an editing error which was introduced in XSI, rather
+ is probably an editing error which was introduced in XSI, rather
than being done intentionally.
- <STRONG>o</STRONG> This implementation returns the number of items scanned, for com-
- patibility with SVr4 curses. As of 2018, NetBSD curses also
- returns the number of items scanned. Both ncurses and NetBSD
+ <STRONG>o</STRONG> This implementation returns the number of items scanned, for com-
+ patibility with SVr4 curses. As of 2018, NetBSD curses also
+ returns the number of items scanned. Both ncurses and NetBSD
curses call <STRONG>vsscanf</STRONG> to scan the string, which returns <STRONG>EOF</STRONG> on error.
- <STRONG>o</STRONG> Portable applications should only test if the return value is <STRONG>ERR</STRONG>,
+ <STRONG>o</STRONG> Portable applications should only test if the return value is <STRONG>ERR</STRONG>,
since the <STRONG>OK</STRONG> value (zero) is likely to be misleading.
- One possible way to get useful results would be to use a "%n" con-
- version at the end of the format string to ensure that something
+ One possible way to get useful results would be to use a "%n" con-
+ version at the end of the format string to ensure that something
was processed.
@@ -141,6 +170,7 @@
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
</ul>
Index: doc/html/man/form.3x.html
--- ncurses-6.2-20200308+/doc/html/man/form.3x.html 2020-02-23 01:14:18.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/form.3x.html 2020-03-15 00:28:10.000000000 +0000
@@ -247,7 +247,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.2 (patch 20200222).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
Index: doc/html/man/infocmp.1m.html
--- ncurses-6.2-20200308+/doc/html/man/infocmp.1m.html 2020-02-23 01:14:19.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/infocmp.1m.html 2020-03-15 00:28:11.000000000 +0000
@@ -513,7 +513,7 @@
https://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Index: doc/html/man/infotocap.1m.html
--- ncurses-6.2-20200308+/doc/html/man/infotocap.1m.html 2020-02-23 01:14:19.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/infotocap.1m.html 2020-03-15 00:28:11.000000000 +0000
@@ -91,7 +91,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="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Index: doc/html/man/menu.3x.html
--- ncurses-6.2-20200308+/doc/html/man/menu.3x.html 2020-02-23 01:14:19.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/menu.3x.html 2020-03-15 00:28:11.000000000 +0000
@@ -222,7 +222,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.2 (patch 20200222).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
Index: doc/html/man/ncurses.3x.html
--- ncurses-6.2-20200308+/doc/html/man/ncurses.3x.html 2020-02-23 01:14:21.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/ncurses.3x.html 2020-03-15 00:28:12.000000000 +0000
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: ncurses.3x,v 1.145 2020/02/23 01:05:45 tom Exp @
+ * @Id: ncurses.3x,v 1.146 2020/03/14 23:13:18 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -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.2 (patch 20200222).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
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
@@ -1406,10 +1406,29 @@
ble. That depends on the value used for <STRONG>_XOPEN_SOURCE</STRONG> feature test
macro.
+ <STRONG>o</STRONG> X/Open Curses documents one required header, in a special case:
+ &lt;stdarg.h&gt; before &lt;curses.h&gt; to prototype the <STRONG>vw_printw</STRONG> and
+ <STRONG>vw_scanw</STRONG> functions (as well as the obsolete the <STRONG>vwprintw</STRONG> and <STRONG>vws-</STRONG>
+ <STRONG>canw</STRONG> functions). Each of those uses a <STRONG>va_list</STRONG> parameter.
+
+ The two obsolete functions were introduced in SVr3. The other
+ functions were introduced in X/Open Curses. In between, SVr4
+ curses provided for the possibility that an application might
+ include either &lt;varargs.h&gt; or &lt;stdarg.h&gt;. Initially, that was done
+ by using <STRONG>void*</STRONG> for the <STRONG>va_list</STRONG> parameter. Later, a special type
+ (defined in &lt;stdio.h&gt;) was introduced, to allow for compiler type-
+ checking. That special type is always available, because &lt;stdio.h&gt;
+ is always included by &lt;curses.h&gt;.
+
+ None of the X/Open Curses implementations require an application to
+ include &lt;stdarg.h&gt; before &lt;curses.h&gt; because they either have
+ allowed for a special type, or (like ncurses) include &lt;stdarg.h&gt;
+ directly to provide a portable interface.
+
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- If standard output from a <STRONG>ncurses</STRONG> program is re-directed to something
- which is not a tty, screen updates will be directed to standard error.
+ If standard output from a <STRONG>ncurses</STRONG> program is re-directed to something
+ which is not a tty, screen updates will be directed to standard error.
This was an undocumented feature of AT&amp;T System V Release 3 curses.
Index: doc/html/man/ncurses6-config.1.html
--- ncurses-6.2-20200308+/doc/html/man/ncurses6-config.1.html 2020-02-23 01:14:21.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/ncurses6-config.1.html 2020-03-15 00:28:12.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.2 (patch 20200222).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
Index: doc/html/man/panel.3x.html
--- ncurses-6.2-20200308+/doc/html/man/panel.3x.html 2020-02-23 01:14:21.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/panel.3x.html 2020-03-15 00:28:12.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.2 (patch 20200222).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Index: doc/html/man/tabs.1.html
--- ncurses-6.2-20200308+/doc/html/man/tabs.1.html 2020-02-23 01:14:21.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/tabs.1.html 2020-03-15 00:28:12.000000000 +0000
@@ -206,7 +206,7 @@
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <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.2 (patch 20200222).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
Index: doc/html/man/terminfo.5.html
--- ncurses-6.2-20200308+/doc/html/man/terminfo.5.html 2020-02-23 01:14:21.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/terminfo.5.html 2020-03-15 00:28:12.000000000 +0000
@@ -105,7 +105,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.2 (patch 20200222).
+ This manual describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
</PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
Index: doc/html/man/tic.1m.html
--- ncurses-6.2-20200308+/doc/html/man/tic.1m.html 2020-02-23 01:14:21.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/tic.1m.html 2020-03-15 00:28:12.000000000 +0000
@@ -461,7 +461,7 @@
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(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.2 (patch 20200222).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Index: doc/html/man/toe.1m.html
--- ncurses-6.2-20200308+/doc/html/man/toe.1m.html 2020-02-23 01:14:21.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/toe.1m.html 2020-03-15 00:28:12.000000000 +0000
@@ -171,7 +171,7 @@
<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>ter-</STRONG>
<STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
Index: doc/html/man/tput.1.html
--- ncurses-6.2-20200308+/doc/html/man/tput.1.html 2020-02-23 01:14:21.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/tput.1.html 2020-03-15 00:28:12.000000000 +0000
@@ -523,7 +523,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="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
Index: doc/html/man/tset.1.html
--- ncurses-6.2-20200308+/doc/html/man/tset.1.html 2020-02-23 01:14:22.000000000 +0000
+++ ncurses-6.2-20200314/doc/html/man/tset.1.html 2020-03-15 00:28:12.000000000 +0000
@@ -390,7 +390,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.2 (patch 20200222).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200314).
Index: man/curs_printw.3x
Prereq: 1.25
--- ncurses-6.2-20200308+/man/curs_printw.3x 2020-02-02 23:34:34.000000000 +0000
+++ ncurses-6.2-20200314/man/curs_printw.3x 2020-03-14 23:48:47.000000000 +0000
@@ -27,7 +27,7 @@
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_printw.3x,v 1.25 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_printw.3x,v 1.26 2020/03/14 23:48:47 tom Exp $
.TH curs_printw 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
@@ -89,6 +89,42 @@
Functions with a \*(``mv\*('' prefix first perform a cursor movement using
\fBwmove\fP, and return an error if the position is outside the window,
or if the window pointer is null.
+.SH HISTORY
+While \fBprintw\fP was implemented in 4BSD,
+it was unused until 4.2BSD (which used it in games).
+That early version of curses was before the ANSI C standard.
+It did not use <varargs.h>, though that was available.
+In 1991 (a couple of years after SVr4 was generally available,
+and after the C standard was published),
+other developers updated the library,
+using <stdarg.h> internally in 4.4BSD curses.
+Even with this improvement,
+BSD curses did not use function prototypes (or even declare
+functions) in the <curses.h> header until 1992.
+.PP
+SVr2 documented
+\fBprintw\fP,
+\fBwprintw\fP
+tersely as \*(``printf on \fIstdscr\fP\*('' and
+tersely as \*(``printf on \fIwin\fP\*('', respectively.
+.PP
+SVr3 added
+\fBmvprintw\fP, and
+\fBmvwprintw\fP, with a three-line summary saying that they were analogous
+to \fBprintf\fP(3),
+explaining that the string which would be output from \fBprintf\fP(3) would
+instead be output using \fBwaddstr\fP on the given window.
+SVr3 also added \fBvwprintw\fP, saying that the third parameter
+is a \fBva_list\fP, defined in <varargs.h>,
+and referring the reader to the manual pages for \fIvarargs\fP and
+\fIvprintf\fP for detailed descriptions.
+.PP
+SVr4 added no new variations of \fBprintw\fP,
+but provided for using <varargs.h> or <stdarg.h> to define the \fBva_list\fP
+type.
+.PP
+X/Open Curses added \fBvw_printw\fP to replace \fBvwprintw\fP,
+stating that its \fBva_list\fP definition requires <stdarg.h>.
.SH PORTABILITY
In this implementation, \fBvw_printw\fP and \fBvwprintw\fP are equivalent,
to support legacy applications.
Index: man/curs_scanw.3x
Prereq: 1.26
--- ncurses-6.2-20200308+/man/curs_scanw.3x 2020-02-02 23:34:34.000000000 +0000
+++ ncurses-6.2-20200314/man/curs_scanw.3x 2020-03-15 00:14:30.000000000 +0000
@@ -27,7 +27,7 @@
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scanw.3x,v 1.26 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_scanw.3x,v 1.27 2020/03/15 00:14:30 tom Exp $
.TH curs_scanw 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
@@ -83,6 +83,44 @@
Functions with a \*(``mv\*('' prefix first perform a cursor movement using
\fBwmove\fP, and return an error if the position is outside the window,
or if the window pointer is null.
+.SH HISTORY
+While \fBscanw\fP was implemented in 4BSD,
+none of the BSD releases used it until 4.4BSD (in a game).
+That early version of curses was before the ANSI C standard.
+It did not use <varargs.h>, though that was available.
+In 1991 (a couple of years after SVr4 was generally available,
+and after the C standard was published),
+other developers updated the library,
+using <stdarg.h> internally in 4.4BSD curses.
+Even with this improvement,
+BSD curses did not use function prototypes (or even declare
+functions) in the <curses.h> header until 1992.
+.PP
+SVr2 documented
+\fBscanw\fP,
+\fBwscanw\fP
+tersely as \*(``scanf through \fIstdscr\fP\*('' and
+tersely as \*(``scanf through \fIwin\fP\*('', respectively.
+.PP
+SVr3 added
+\fBmvscanw\fP, and
+\fBmvwscanw\fP, with a three-line summary saying that they were analogous
+to \fBscanf\fP(3),
+explaining that the string which would be output from \fBscanf\fP(3) would
+instead be output using \fBwaddstr\fP on the given window.
+SVr3 also added \fBvwscanw\fP, saying that the third parameter
+is a \fBva_list\fP, defined in <varargs.h>,
+and referring the reader to the manual pages for \fIvarargs\fP and
+\fIvprintf\fP for detailed descriptions.
+(Because the SVr3 documentation does not mention \fIvscanf\fP,
+that reference to \fIvprintf\fP may not be an error).
+.PP
+SVr4 added no new variations of \fBscanw\fP,
+but provided for using <varargs.h> or <stdarg.h> to define the \fBva_list\fP
+type.
+.PP
+X/Open Curses added \fBvw_scanw\fP to replace \fBvwscanw\fP,
+stating that its \fBva_list\fP definition requires <stdarg.h>.
.SH PORTABILITY
In this implementation, \fBvw_scanw\fP and \fBvwscanw\fP are equivalent,
to support legacy applications.
Index: man/ncurses.3x
Prereq: 1.145
--- ncurses-6.2-20200308+/man/ncurses.3x 2020-02-23 01:05:45.000000000 +0000
+++ ncurses-6.2-20200314/man/ncurses.3x 2020-03-14 23:13:18.000000000 +0000
@@ -28,7 +28,7 @@
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: ncurses.3x,v 1.145 2020/02/23 01:05:45 tom Exp $
+.\" $Id: ncurses.3x,v 1.146 2020/03/14 23:13:18 tom Exp $
.hy 0
.TH ncurses 3X ""
.ie \n(.g .ds `` \(lq
@@ -1483,6 +1483,29 @@
If the header is included, its symbols may be made visible.
That depends on the value used for \fB_XOPEN_SOURCE\fP
feature test macro.
+.bP
+X/Open Curses documents one required header,
+in a special case: <stdarg.h> before <curses.h> to prototype
+the \fBvw_printw\fP and \fBvw_scanw\fP functions
+(as well as the obsolete
+the \fBvwprintw\fP and \fBvwscanw\fP functions).
+Each of those uses a \fBva_list\fP parameter.
+.IP
+The two obsolete functions were introduced in SVr3.
+The other functions were introduced in X/Open Curses.
+In between, SVr4 curses provided for the possibility that
+an application might include either <varargs.h> or <stdarg.h>.
+Initially, that was done by using \fBvoid*\fP for the \fBva_list\fP
+parameter.
+Later, a special type (defined in <stdio.h>) was introduced,
+to allow for compiler type-checking.
+That special type is always available,
+because <stdio.h> is always included by <curses.h>.
+.IP
+None of the X/Open Curses implementations require an application
+to include <stdarg.h> before <curses.h> because they either
+have allowed for a special type, or (like ncurses) include <stdarg.h>
+directly to provide a portable interface.
.SH NOTES
.PP
If standard output from a \fBncurses\fR program is re-directed to something
Index: package/debian-mingw/changelog
--- ncurses-6.2-20200308+/package/debian-mingw/changelog 2020-03-08 14:28:23.000000000 +0000
+++ ncurses-6.2-20200314/package/debian-mingw/changelog 2020-03-14 15:30:00.000000000 +0000
@@ -1,8 +1,8 @@
-ncurses6 (6.2+20200308) unstable; urgency=low
+ncurses6 (6.2+20200314) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 08 Mar 2020 10:28:23 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 14 Mar 2020 11:30:00 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
Index: package/debian-mingw64/changelog
--- ncurses-6.2-20200308+/package/debian-mingw64/changelog 2020-03-08 14:28:23.000000000 +0000
+++ ncurses-6.2-20200314/package/debian-mingw64/changelog 2020-03-14 15:30:00.000000000 +0000
@@ -1,8 +1,8 @@
-ncurses6 (6.2+20200308) unstable; urgency=low
+ncurses6 (6.2+20200314) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 08 Mar 2020 10:28:23 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 14 Mar 2020 11:30:00 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
Index: package/debian/changelog
--- ncurses-6.2-20200308+/package/debian/changelog 2020-03-08 14:28:23.000000000 +0000
+++ ncurses-6.2-20200314/package/debian/changelog 2020-03-14 15:30:00.000000000 +0000
@@ -1,8 +1,8 @@
-ncurses6 (6.2+20200308) unstable; urgency=low
+ncurses6 (6.2+20200314) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 08 Mar 2020 10:28:23 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 14 Mar 2020 11:30:00 -0400
ncurses6 (5.9-20120608) unstable; urgency=low
Index: package/mingw-ncurses.nsi
Prereq: 1.384
--- ncurses-6.2-20200308+/package/mingw-ncurses.nsi 2020-03-08 14:28:23.000000000 +0000
+++ ncurses-6.2-20200314/package/mingw-ncurses.nsi 2020-03-14 15:30:00.000000000 +0000
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.384 2020/03/08 14:28:23 tom Exp $
+; $Id: mingw-ncurses.nsi,v 1.385 2020/03/14 15:30:00 tom Exp $
; TODO add examples
; TODO bump ABI to 6
@@ -10,7 +10,7 @@
!define VERSION_MAJOR "6"
!define VERSION_MINOR "2"
!define VERSION_YYYY "2020"
-!define VERSION_MMDD "0308"
+!define VERSION_MMDD "0314"
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
!define MY_ABI "5"
Index: package/mingw-ncurses.spec
--- ncurses-6.2-20200308+/package/mingw-ncurses.spec 2020-03-08 14:28:23.000000000 +0000
+++ ncurses-6.2-20200314/package/mingw-ncurses.spec 2020-03-14 15:30:00.000000000 +0000
@@ -3,7 +3,7 @@
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.2
-Release: 20200308
+Release: 20200314
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Index: package/ncurses.spec
--- ncurses-6.2-20200308+/package/ncurses.spec 2020-03-08 14:28:23.000000000 +0000
+++ ncurses-6.2-20200314/package/ncurses.spec 2020-03-14 15:30:00.000000000 +0000
@@ -1,7 +1,7 @@
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.2
-Release: 20200308
+Release: 20200314
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Index: package/ncursest.spec
--- ncurses-6.2-20200308+/package/ncursest.spec 2020-03-08 14:28:23.000000000 +0000
+++ ncurses-6.2-20200314/package/ncursest.spec 2020-03-14 15:30:00.000000000 +0000
@@ -1,7 +1,7 @@
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.2
-Release: 20200308
+Release: 20200314
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz