From c0f109a299a82a33c16bd7af942a12ce9aefaaf0 Mon Sep 17 00:00:00 2001 From: "Thomas E. Dickey" Date: Sun, 15 Mar 2020 01:36:38 +0000 Subject: [PATCH] ncurses 6.2 - patch 20200314 + add history note to curs_scanw.3x for and + add history note to curs_printw.3x for and + add portability note to ncurses.3x regarding --- 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(-) diff --git a/NEWS b/NEWS index b2b4b3f9..353d1582 100644 --- a/NEWS +++ b/NEWS @@ -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 @@ See the AUTHORS file for the corresponding full names. 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 and + + add history note to curs_printw.3x for and + + add portability note to ncurses.3x regarding + 20200308 + update copyright notices in test-packages. + modify tracemunch to guard against errors in its known_p1 table. diff --git a/VERSION b/VERSION index e15247a7..efb469b9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5:0:10 6.2 20200308 +5:0:10 6.2 20200314 diff --git a/dist.mk b/dist.mk index 64d46536..50d914e5 100644 --- a/dist.mk +++ b/dist.mk @@ -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 @@ SHELL = /bin/sh # 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) diff --git a/doc/html/man/adacurses6-config.1.html b/doc/html/man/adacurses6-config.1.html index 3a95cbd4..537019d1 100644 --- a/doc/html/man/adacurses6-config.1.html +++ b/doc/html/man/adacurses6-config.1.html @@ -126,7 +126,7 @@

SEE ALSO

        curses(3x)
 
-       This describes ncurses version 6.2 (patch 20200222).
+       This describes ncurses version 6.2 (patch 20200314).
 
 
 
diff --git a/doc/html/man/captoinfo.1m.html b/doc/html/man/captoinfo.1m.html
index efbb6b27..a637dd0a 100644
--- a/doc/html/man/captoinfo.1m.html
+++ b/doc/html/man/captoinfo.1m.html
@@ -199,7 +199,7 @@
 

SEE ALSO

        infocmp(1m), curses(3x), terminfo(5)
 
-       This describes ncurses version 6.2 (patch 20200222).
+       This describes ncurses version 6.2 (patch 20200314).
 
 
 

AUTHOR

diff --git a/doc/html/man/clear.1.html b/doc/html/man/clear.1.html
index f4e23ae6..375bbfd8 100644
--- a/doc/html/man/clear.1.html
+++ b/doc/html/man/clear.1.html
@@ -149,7 +149,7 @@
 

SEE ALSO

        tput(1), terminfo(5)
 
-       This describes ncurses version 6.2 (patch 20200222).
+       This describes ncurses version 6.2 (patch 20200314).
 
 
 
diff --git a/doc/html/man/curs_printw.3x.html b/doc/html/man/curs_printw.3x.html
index c38fc4e3..cb50d7b7 100644
--- a/doc/html/man/curs_printw.3x.html
+++ b/doc/html/man/curs_printw.3x.html
@@ -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 @
 -->
 
 
@@ -91,21 +91,48 @@
        the window pointer is null.
 
 
+

HISTORY

+       While printw 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 printw, wprintw  tersely  as  "printf  on  stdscr"  and
+       tersely as "printf on win", respectively.
+
+       SVr3  added  mvprintw,  and mvwprintw, with a three-line summary saying
+       that they were analogous to printf(3), explaining that the string which
+       would be output from printf(3) would instead be output using waddstr on
+       the given window.  SVr3 also added vwprintw, saying that the third  pa-
+       rameter  is a va_list, defined in <varargs.h>, and referring the reader
+       to the manual pages for varargs and vprintf for detailed descriptions.
+
+       SVr4 added  no  new  variations  of  printw,  but  provided  for  using
+       <varargs.h> or <stdarg.h> to define the va_list type.
+
+       X/Open  Curses  added  vw_printw  to replace vwprintw, stating that its
+       va_list definition requires <stdarg.h>.
+
+
 

PORTABILITY

-       In  this implementation, vw_printw and vwprintw are equivalent, to sup-
+       In this implementation, vw_printw and vwprintw are equivalent, to  sup-
        port legacy applications.  However, the latter (vwprintw) is obsolete:
 
-       o   The XSI Curses standard, Issue 4 described  these  functions.   The
-           function  vwprintw is marked TO BE WITHDRAWN, and is to be replaced
+       o   The  XSI  Curses  standard, Issue 4 described these functions.  The
+           function vwprintw is marked TO BE WITHDRAWN, and is to be  replaced
            by a function vw_printw using the <stdarg.h> interface.
 
-       o   The Single Unix Specification, Version 2 states that vw_printw   is
-           preferred   to   vwprintw   since  the  latter  requires  including
-           <varargs.h>, which cannot be used in the same file  as  <stdarg.h>.
-           This  implementation  uses <stdarg.h> for both, because that header
+       o   The  Single Unix Specification, Version 2 states that vw_printw  is
+           preferred  to  vwprintw  since  the   latter   requires   including
+           <varargs.h>,  which  cannot be used in the same file as <stdarg.h>.
+           This implementation uses <stdarg.h> for both, because  that  header
            is included in <curses.h>.
 
-       o   X/Open Curses, Issue 5 (December 2007) marked vwprintw (along  with
+       o   X/Open  Curses, Issue 5 (December 2007) marked vwprintw (along with
            vwscanw and the termcap interface) as withdrawn.
 
 
@@ -123,6 +150,7 @@
 
  • SYNOPSIS
  • DESCRIPTION
  • RETURN VALUE
  • +
  • HISTORY
  • PORTABILITY
  • SEE ALSO
  • diff --git a/doc/html/man/curs_scanw.3x.html b/doc/html/man/curs_scanw.3x.html index a7576669..8bbd242f 100644 --- a/doc/html/man/curs_scanw.3x.html +++ b/doc/html/man/curs_scanw.3x.html @@ -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 @ --> @@ -89,41 +89,70 @@ the window pointer is null. +

    HISTORY

    +       While  scanw  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 scanw, wscanw tersely as  "scanf  through  stdscr"  and
    +       tersely as "scanf through win", respectively.
    +
    +       SVr3 added mvscanw, and mvwscanw, with a three-line summary saying that
    +       they were analogous to scanf(3), explaining that the string which would
    +       be  output  from  scanf(3) would instead be output using waddstr on the
    +       given window.  SVr3 also added vwscanw, saying that the third parameter
    +       is  a  va_list, defined in <varargs.h>, and referring the reader to the
    +       manual  pages  for  varargs  and  vprintf  for  detailed  descriptions.
    +       (Because the SVr3 documentation does not mention vscanf, that reference
    +       to vprintf may not be an error).
    +
    +       SVr4  added  no  new  variations  of  scanw,  but  provided  for  using
    +       <varargs.h> or <stdarg.h> to define the va_list type.
    +
    +       X/Open  Curses  added  vw_scanw  to  replace  vwscanw, stating that its
    +       va_list definition requires <stdarg.h>.
    +
    +
     

    PORTABILITY

            In this implementation, vw_scanw and vwscanw are equivalent, to support
            legacy applications.  However, the latter (vwscanw) is obsolete:
     
    -       o   The XSI Curses standard, Issue 4 described these functions,  noting
    -           that  the  function vwscanw is marked TO BE WITHDRAWN, and is to be
    +       o   The  XSI Curses standard, Issue 4 described these functions, noting
    +           that the function vwscanw is marked TO BE WITHDRAWN, and is  to  be
                replaced by a function vw_scanw using the <stdarg.h> interface.
     
    -       o   The Single Unix Specification, Version 2 states that  vw_scanw   is
    -           preferred   to   vwscanw   since   the  latter  requires  including
    -           <varargs.h>, which cannot be used in the same file  as  <stdarg.h>.
    -           This  implementation  uses <stdarg.h> for both, because that header
    +       o   The  Single  Unix Specification, Version 2 states that vw_scanw  is
    +           preferred  to  vwscanw  since   the   latter   requires   including
    +           <varargs.h>,  which  cannot be used in the same file as <stdarg.h>.
    +           This implementation uses <stdarg.h> for both, because  that  header
                is included in <curses.h>.
     
    -       o   X/Open Curses, Issue 5 (December 2007) marked vwscanw  (along  with
    +       o   X/Open  Curses,  Issue 5 (December 2007) marked vwscanw (along with
                vwprintw 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 ERR or OK.
     
    -       o   Since the underlying  scanf(3)  can  return  the  number  of  items
    +       o   Since  the  underlying  scanf(3)  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.
     
    -       o   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
    +       o   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 vsscanf to scan the string, which returns EOF on error.
     
    -       o   Portable applications should only test if the return value is  ERR,
    +       o   Portable  applications should only test if the return value is ERR,
                since the OK 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 @@
     
  • SYNOPSIS
  • DESCRIPTION
  • RETURN VALUE
  • +
  • HISTORY
  • PORTABILITY
  • SEE ALSO
  • diff --git a/doc/html/man/form.3x.html b/doc/html/man/form.3x.html index afb44f0b..0e56d213 100644 --- a/doc/html/man/form.3x.html +++ b/doc/html/man/form.3x.html @@ -247,7 +247,7 @@ curses(3x) and related pages whose names begin "form_" for detailed descriptions of the entry points. - This describes ncurses version 6.2 (patch 20200222). + This describes ncurses version 6.2 (patch 20200314). diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html index efa54b8a..7dfa3e08 100644 --- a/doc/html/man/infocmp.1m.html +++ b/doc/html/man/infocmp.1m.html @@ -513,7 +513,7 @@ https://invisible-island.net/ncurses/tctest.html - This describes ncurses version 6.2 (patch 20200222). + This describes ncurses version 6.2 (patch 20200314).

    AUTHOR

    diff --git a/doc/html/man/infotocap.1m.html b/doc/html/man/infotocap.1m.html
    index f5366dd7..4945c503 100644
    --- a/doc/html/man/infotocap.1m.html
    +++ b/doc/html/man/infotocap.1m.html
    @@ -91,7 +91,7 @@
     

    SEE ALSO

            curses(3x), tic(1m), infocmp(1m), terminfo(5)
     
    -       This describes ncurses version 6.2 (patch 20200222).
    +       This describes ncurses version 6.2 (patch 20200314).
     
     
     

    AUTHOR

    diff --git a/doc/html/man/menu.3x.html b/doc/html/man/menu.3x.html
    index 2bf45a21..0677ce8f 100644
    --- a/doc/html/man/menu.3x.html
    +++ b/doc/html/man/menu.3x.html
    @@ -222,7 +222,7 @@
            curses(3x)  and  related  pages  whose names begin "menu_" for detailed
            descriptions of the entry points.
     
    -       This describes ncurses version 6.2 (patch 20200222).
    +       This describes ncurses version 6.2 (patch 20200314).
     
     
     
    diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html
    index ca468266..bda5c0cc 100644
    --- a/doc/html/man/ncurses.3x.html
    +++ b/doc/html/man/ncurses.3x.html
    @@ -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 @
     -->
     
     
    @@ -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 ncurses version 6.2 (patch 20200222).
    +       This describes ncurses version 6.2 (patch 20200314).
     
            The  ncurses  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 _XOPEN_SOURCE feature test
                macro.
     
    +       o   X/Open  Curses  documents  one  required header, in a special case:
    +           <stdarg.h>  before  <curses.h>  to  prototype  the  vw_printw   and
    +           vw_scanw  functions  (as well as the obsolete the vwprintw and vws-
    +           canw functions).  Each of those uses a va_list 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 void* for the va_list 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.
    +
     
     

    NOTES

    -       If  standard  output from a ncurses program is re-directed to something
    -       which is not a tty, screen updates will be directed to standard  error.
    +       If standard output from a ncurses 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.
     
     
    diff --git a/doc/html/man/ncurses6-config.1.html b/doc/html/man/ncurses6-config.1.html
    index 6af75618..e2f9914b 100644
    --- a/doc/html/man/ncurses6-config.1.html
    +++ b/doc/html/man/ncurses6-config.1.html
    @@ -113,7 +113,7 @@
     

    SEE ALSO

            curses(3x)
     
    -       This describes ncurses version 6.2 (patch 20200222).
    +       This describes ncurses version 6.2 (patch 20200314).
     
     
     
    diff --git a/doc/html/man/panel.3x.html b/doc/html/man/panel.3x.html
    index d5aa1ad6..5a11c981 100644
    --- a/doc/html/man/panel.3x.html
    +++ b/doc/html/man/panel.3x.html
    @@ -281,7 +281,7 @@
     

    SEE ALSO

            curses(3x), curs_variables(3x),
     
    -       This describes ncurses version 6.2 (patch 20200222).
    +       This describes ncurses version 6.2 (patch 20200314).
     
     
     

    AUTHOR

    diff --git a/doc/html/man/tabs.1.html b/doc/html/man/tabs.1.html
    index 4d0781c6..635a9960 100644
    --- a/doc/html/man/tabs.1.html
    +++ b/doc/html/man/tabs.1.html
    @@ -206,7 +206,7 @@
     

    SEE ALSO

            tset(1), infocmp(1m), curses(3x), terminfo(5).
     
    -       This describes ncurses version 6.2 (patch 20200222).
    +       This describes ncurses version 6.2 (patch 20200314).
     
     
     
    diff --git a/doc/html/man/terminfo.5.html b/doc/html/man/terminfo.5.html
    index 4ec3ef3a..6e879dd4 100644
    --- a/doc/html/man/terminfo.5.html
    +++ b/doc/html/man/terminfo.5.html
    @@ -105,7 +105,7 @@
            have, by specifying how to perform screen operations, and by specifying
            padding requirements and initialization sequences.
     
    -       This manual describes ncurses version 6.2 (patch 20200222).
    +       This manual describes ncurses version 6.2 (patch 20200314).
     
     
     

    Terminfo Entry Syntax

    diff --git a/doc/html/man/tic.1m.html b/doc/html/man/tic.1m.html
    index c10d02e5..87b98176 100644
    --- a/doc/html/man/tic.1m.html
    +++ b/doc/html/man/tic.1m.html
    @@ -461,7 +461,7 @@
            infocmp(1m),   captoinfo(1m),   infotocap(1m),   toe(1m),   curses(3x),
            term(5).  terminfo(5).  user_caps(5).
     
    -       This describes ncurses version 6.2 (patch 20200222).
    +       This describes ncurses version 6.2 (patch 20200314).
     
     
     

    AUTHOR

    diff --git a/doc/html/man/toe.1m.html b/doc/html/man/toe.1m.html
    index bed037e8..56bd133f 100644
    --- a/doc/html/man/toe.1m.html
    +++ b/doc/html/man/toe.1m.html
    @@ -171,7 +171,7 @@
            tic(1m), infocmp(1m), captoinfo(1m),  infotocap(1m),  curses(3x),  ter-
            minfo(5).
     
    -       This describes ncurses version 6.2 (patch 20200222).
    +       This describes ncurses version 6.2 (patch 20200314).
     
     
     
    diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html
    index ff331ea8..91a183f1 100644
    --- a/doc/html/man/tput.1.html
    +++ b/doc/html/man/tput.1.html
    @@ -523,7 +523,7 @@
     

    SEE ALSO

            clear(1), stty(1), tabs(1), tset(1), terminfo(5), curs_termcap(3x).
     
    -       This describes ncurses version 6.2 (patch 20200222).
    +       This describes ncurses version 6.2 (patch 20200314).
     
     
     
    diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html
    index 72bf3694..3d334abc 100644
    --- a/doc/html/man/tset.1.html
    +++ b/doc/html/man/tset.1.html
    @@ -390,7 +390,7 @@
            csh(1),  sh(1),  stty(1),   curs_terminfo(3x),   tty(4),   terminfo(5),
            ttys(5), environ(7)
     
    -       This describes ncurses version 6.2 (patch 20200222).
    +       This describes ncurses version 6.2 (patch 20200314).
     
     
     
    diff --git a/man/curs_printw.3x b/man/curs_printw.3x
    index 4d060d73..cd311fe6 100644
    --- a/man/curs_printw.3x
    +++ b/man/curs_printw.3x
    @@ -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 @@ It will return an error if the window pointer is null.
     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 , 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  internally in 4.4BSD curses.
    +Even with this improvement,
    +BSD curses did not use function prototypes (or even declare
    +functions) in the  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 ,
    +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  or  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 .
     .SH PORTABILITY
     In this implementation, \fBvw_printw\fP and \fBvwprintw\fP are equivalent,
     to support legacy applications.
    diff --git a/man/curs_scanw.3x b/man/curs_scanw.3x
    index 9407ae64..870b4b4c 100644
    --- a/man/curs_scanw.3x
    +++ b/man/curs_scanw.3x
    @@ -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 @@ which were mapped in the call.
     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 , 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  internally in 4.4BSD curses.
    +Even with this improvement,
    +BSD curses did not use function prototypes (or even declare
    +functions) in the  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 ,
    +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  or  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 .
     .SH PORTABILITY
     In this implementation, \fBvw_scanw\fP and \fBvwscanw\fP are equivalent,
     to support legacy applications.
    diff --git a/man/ncurses.3x b/man/ncurses.3x
    index 74f390cb..d51a9505 100644
    --- a/man/ncurses.3x
    +++ b/man/ncurses.3x
    @@ -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 @@ wide-character support.
     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:  before  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  or .
    +Initially, that was done by using \fBvoid*\fP for the \fBva_list\fP
    +parameter.
    +Later, a special type (defined in ) was introduced,
    +to allow for compiler type-checking.
    +That special type is always available,
    +because  is always included by .
    +.IP
    +None of the X/Open Curses implementations require an application
    +to include  before  because they either
    +have allowed for a special type, or (like ncurses) include 
    +directly to provide a portable interface.
     .SH NOTES
     .PP
     If standard output from a \fBncurses\fR program is re-directed to something
    diff --git a/package/debian-mingw/changelog b/package/debian-mingw/changelog
    index df6ed077..3f097d1a 100644
    --- a/package/debian-mingw/changelog
    +++ b/package/debian-mingw/changelog
    @@ -1,8 +1,8 @@
    -ncurses6 (6.2+20200308) unstable; urgency=low
    +ncurses6 (6.2+20200314) unstable; urgency=low
     
       * latest weekly patch
     
    - -- Thomas E. Dickey   Sun, 08 Mar 2020 10:28:23 -0400
    + -- Thomas E. Dickey   Sat, 14 Mar 2020 11:30:00 -0400
     
     ncurses6 (5.9-20131005) unstable; urgency=low
     
    diff --git a/package/debian-mingw64/changelog b/package/debian-mingw64/changelog
    index df6ed077..3f097d1a 100644
    --- a/package/debian-mingw64/changelog
    +++ b/package/debian-mingw64/changelog
    @@ -1,8 +1,8 @@
    -ncurses6 (6.2+20200308) unstable; urgency=low
    +ncurses6 (6.2+20200314) unstable; urgency=low
     
       * latest weekly patch
     
    - -- Thomas E. Dickey   Sun, 08 Mar 2020 10:28:23 -0400
    + -- Thomas E. Dickey   Sat, 14 Mar 2020 11:30:00 -0400
     
     ncurses6 (5.9-20131005) unstable; urgency=low
     
    diff --git a/package/debian/changelog b/package/debian/changelog
    index 9c56f8e8..5d883a1f 100644
    --- a/package/debian/changelog
    +++ b/package/debian/changelog
    @@ -1,8 +1,8 @@
    -ncurses6 (6.2+20200308) unstable; urgency=low
    +ncurses6 (6.2+20200314) unstable; urgency=low
     
       * latest weekly patch
     
    - -- Thomas E. Dickey   Sun, 08 Mar 2020 10:28:23 -0400
    + -- Thomas E. Dickey   Sat, 14 Mar 2020 11:30:00 -0400
     
     ncurses6 (5.9-20120608) unstable; urgency=low
     
    diff --git a/package/mingw-ncurses.nsi b/package/mingw-ncurses.nsi
    index 58bccfd5..40ce7c32 100644
    --- a/package/mingw-ncurses.nsi
    +++ b/package/mingw-ncurses.nsi
    @@ -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"
    diff --git a/package/mingw-ncurses.spec b/package/mingw-ncurses.spec
    index 53bd219b..53f3020c 100644
    --- a/package/mingw-ncurses.spec
    +++ b/package/mingw-ncurses.spec
    @@ -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
    diff --git a/package/ncurses.spec b/package/ncurses.spec
    index f44da34c..de34e5a3 100644
    --- a/package/ncurses.spec
    +++ b/package/ncurses.spec
    @@ -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
    diff --git a/package/ncursest.spec b/package/ncursest.spec
    index df35ece2..978c06b0 100644
    --- a/package/ncursest.spec
    +++ b/package/ncursest.spec
    @@ -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
    -- 
    2.44.0