-- 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
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.
-5:0:10 6.2 20200308
+5:0:10 6.2 20200314
# 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
# 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)
</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).
</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>
</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).
* 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>
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 <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 improve-
+ ment, BSD curses did not use function prototypes (or even declare func-
+ tions) in the <curses.h> 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 <varargs.h>, 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
+ <varargs.h> or <stdarg.h> 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 <stdarg.h>.
+
+
</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><stdarg.h></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><varargs.h></STRONG>, which cannot be used in the same file as <STRONG><stdarg.h></STRONG>.
- This implementation uses <STRONG><stdarg.h></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><varargs.h></STRONG>, which cannot be used in the same file as <STRONG><stdarg.h></STRONG>.
+ This implementation uses <STRONG><stdarg.h></STRONG> for both, because that header
is included in <STRONG><curses.h</STRONG>>.
- <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.
<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>
* 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>
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 <varargs.h>, 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 <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.
+
+ 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 <varargs.h>, 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
+ <varargs.h> or <stdarg.h> 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 <stdarg.h>.
+
+
</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><stdarg.h></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><varargs.h></STRONG>, which cannot be used in the same file as <STRONG><stdarg.h></STRONG>.
- This implementation uses <STRONG><stdarg.h></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><varargs.h></STRONG>, which cannot be used in the same file as <STRONG><stdarg.h></STRONG>.
+ This implementation uses <STRONG><stdarg.h></STRONG> for both, because that header
is included in <STRONG><curses.h</STRONG>>.
- <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.
<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>
<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).
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>
</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>
<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).
* 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>
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
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:
+ <stdarg.h> before <curses.h> 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 <varargs.h> or <stdarg.h>. Initially, that was done
+ by using <STRONG>void*</STRONG> for the <STRONG>va_list</STRONG> 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>.
+
+ 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.
+
</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&T System V Release 3 curses.
</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).
</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>
</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).
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>
<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>
<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).
</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).
<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).
.\" 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 `` ``
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.
.\" 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 `` ``
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.
.\" 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
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
-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
-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
-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
-; $Id: mingw-ncurses.nsi,v 1.384 2020/03/08 14:28:23 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.385 2020/03/14 15:30:00 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "2"\r
!define VERSION_YYYY "2020"\r
-!define VERSION_MMDD "0308"\r
+!define VERSION_MMDD "0314"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\r
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
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
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