Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ncurses for openSUSE:Factory checked 
in at 2021-06-02 22:10:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ncurses (Old)
 and      /work/SRC/openSUSE:Factory/.ncurses.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ncurses"

Wed Jun  2 22:10:20 2021 rev:189 rq:895215 version:6.2.MACRO

Changes:
--------
--- /work/SRC/openSUSE:Factory/ncurses/ncurses.changes  2021-05-17 
18:44:46.608760533 +0200
+++ /work/SRC/openSUSE:Factory/.ncurses.new.1898/ncurses.changes        
2021-06-02 22:10:21.988128335 +0200
@@ -1,0 +2,16 @@
+Mon May 17 06:29:16 UTC 2021 - Dr. Werner Fink <wer...@suse.de>
+
+- Add ncurses patch 20210515
+  + improve manual pages for wgetnstr, newwin (prompted by
+    report/testcase by Bill Gray).
+- Add ncurses patch 20210508
+  + modify tputs' error check to allow it to be used without first
+    calling tgetent or setupterm, noting that terminfo initialization
+    is requires for supporting the terminfo delay feature (report by
+    Sebastiano Vigna).
+  + fix several warnings from clang --analyze
+  + add null-pointer check in comp_parse.c, when a "use=" clause refers
+    to a nonexisting terminal description (report/patch by Miroslav
+    Lichvar, cf: 20210227).
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ncurses-6.2-patches.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches/ncurses-6.2-20210508.patch 
new/patches/ncurses-6.2-20210508.patch
--- old/patches/ncurses-6.2-20210508.patch      1970-01-01 01:00:00.000000000 
+0100
+++ new/patches/ncurses-6.2-20210508.patch      2021-05-17 08:21:07.436170082 
+0200
@@ -0,0 +1,805 @@
+# ncurses 6.2 - patch 20210508 - 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-20210508.patch.gz
+# patch by Thomas E. Dickey <dic...@invisible-island.net>
+# created  Sun May  9 00:34:51 UTC 2021
+# 
------------------------------------------------------------------------------
+# NEWS                             |   12 +++++-
+# VERSION                          |    2 -
+# dist.mk                          |    4 +-
+# menu/m_post.c                    |   55 +++++++++++++++-------------
+# ncurses/base/lib_bkgd.c          |    4 +-
+# ncurses/base/lib_color.c         |   71 +++++++++++++++++++------------------
+# ncurses/base/lib_set_term.c      |    8 ++--
+# ncurses/base/new_pair.c          |    4 +-
+# ncurses/tinfo/alloc_entry.c      |    6 +--
+# ncurses/tinfo/comp_parse.c       |   12 +++---
+# ncurses/tinfo/lib_tputs.c        |   38 +++++++++----------
+# package/debian-mingw/changelog   |    4 +-
+# package/debian-mingw64/changelog |    4 +-
+# package/debian/changelog         |    4 +-
+# package/mingw-ncurses.nsi        |    4 +-
+# package/mingw-ncurses.spec       |    2 -
+# package/ncurses.spec             |    2 -
+# package/ncursest.spec            |    2 -
+# test/demo_menus.c                |    4 +-
+# test/hanoi.c                     |    6 +--
+# test/knight.c                    |    4 +-
+# test/ncurses.c                   |    6 +--
+# test/picsmap.c                   |    3 -
+# test/test_add_wchstr.c           |    6 +--
+# test/view.c                      |    8 +---
+# 25 files changed, 146 insertions(+), 129 deletions(-)
+# 
------------------------------------------------------------------------------
+Index: NEWS
+Prereq:  1.3660 
+--- ncurses-6.2-20210501+/NEWS 2021-05-01 21:55:29.000000000 +0000
++++ ncurses-6.2-20210508/NEWS  2021-05-08 23:37:13.000000000 +0000
+@@ -26,7 +26,7 @@
+ -- sale, use or other dealings in this Software without prior written        
--
+ -- authorization.                                                            
--
+ 
-------------------------------------------------------------------------------
+--- $Id: NEWS,v 1.3660 2021/05/01 21:55:29 tom Exp $
++-- $Id: NEWS,v 1.3662 2021/05/08 23:37:13 tom Exp $
+ 
-------------------------------------------------------------------------------
+ 
+ This is a log of changes that ncurses has gone through since Zeyd started
+@@ -46,6 +46,16 @@
+ Changes through 1.9.9e did not credit all contributions;
+ it is not possible to add this information.
+ 
++20210508
++      + modify tputs' error check to allow it to be used without first
++        calling tgetent or setupterm, noting that terminfo initialization
++        is requires for supporting the terminfo delay feature (report by
++        Sebastiano Vigna).
++      + fix several warnings from clang --analyze
++      + add null-pointer check in comp_parse.c, when a "use=" clause refers
++        to a nonexisting terminal description (report/patch by Miroslav
++        Lichvar, cf: 20210227).
++
+ 20210501
+       + add a special case in the configure script to work around one of the
+         build-time breakages reported for OpenBSD 6 here:
+Index: VERSION
+--- ncurses-6.2-20210501+/VERSION      2021-05-01 09:40:30.000000000 +0000
++++ ncurses-6.2-20210508/VERSION       2021-05-08 13:20:24.000000000 +0000
+@@ -1 +1 @@
+-5:0:10        6.2     20210501
++5:0:10        6.2     20210508
+Index: dist.mk
+Prereq:  1.1413 
+--- ncurses-6.2-20210501+/dist.mk      2021-05-01 09:40:30.000000000 +0000
++++ ncurses-6.2-20210508/dist.mk       2021-05-08 13:20:24.000000000 +0000
+@@ -26,7 +26,7 @@
+ # use or other dealings in this Software without prior written               #
+ # authorization.                                                             #
+ ##############################################################################
+-# $Id: dist.mk,v 1.1413 2021/05/01 09:40:30 tom Exp $
++# $Id: dist.mk,v 1.1414 2021/05/08 13:20:24 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 = 20210501
++NCURSES_PATCH = 20210508
+ 
+ # We don't append the patch to the version, since this only applies to 
releases
+ VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
+Index: menu/m_post.c
+Prereq:  1.35 
+--- ncurses-6.2-20210501+/menu/m_post.c        2021-03-27 23:46:29.000000000 
+0000
++++ ncurses-6.2-20210508/menu/m_post.c 2021-05-08 20:20:01.000000000 +0000
+@@ -38,7 +38,7 @@
+ 
+ #include "menu.priv.h"
+ 
+-MODULE_ID("$Id: m_post.c,v 1.35 2021/03/27 23:46:29 tom Exp $")
++MODULE_ID("$Id: m_post.c,v 1.36 2021/05/08 20:20:01 tom Exp $")
+ 
+ /*---------------------------------------------------------------------------
+ |   Facility      :  libnmenu
+@@ -215,45 +215,48 @@
+ 
+   lastvert = (menu->opt & O_NONCYCLIC) ? (ITEM *)0 : item;
+ 
+-  do
++  if (item != NULL)
+     {
+-      ITEM *lasthor;
+-
+-      wmove(menu->win, y, 0);
+-
+-      hitem = item;
+-      lasthor = (menu->opt & O_NONCYCLIC) ? (ITEM *)0 : hitem;
+-
+       do
+       {
+-        _nc_Post_Item(menu, hitem);
++        ITEM *lasthor;
+ 
+-        wattron(menu->win, (int)menu->back);
+-        if (((hitem = hitem->right) != lasthor) && hitem)
++        wmove(menu->win, y, 0);
++
++        hitem = item;
++        lasthor = (menu->opt & O_NONCYCLIC) ? (ITEM *)0 : hitem;
++
++        do
+           {
+-            int i, j, cy, cx;
+-            chtype ch = ' ';
++            _nc_Post_Item(menu, hitem);
+ 
+-            getyx(menu->win, cy, cx);
+-            for (j = 0; j < menu->spc_rows; j++)
++            wattron(menu->win, (int)menu->back);
++            if (((hitem = hitem->right) != lasthor) && hitem)
+               {
+-                wmove(menu->win, cy + j, cx);
+-                for (i = 0; i < menu->spc_cols; i++)
++                int i, j, cy, cx;
++                chtype ch = ' ';
++
++                getyx(menu->win, cy, cx);
++                for (j = 0; j < menu->spc_rows; j++)
+                   {
+-                    waddch(menu->win, ch);
++                    wmove(menu->win, cy + j, cx);
++                    for (i = 0; i < menu->spc_cols; i++)
++                      {
++                        waddch(menu->win, ch);
++                      }
+                   }
++                wmove(menu->win, cy, cx + menu->spc_cols);
+               }
+-            wmove(menu->win, cy, cx + menu->spc_cols);
+           }
+-      }
+-      while (hitem && (hitem != lasthor));
+-      wattroff(menu->win, (int)menu->back);
++        while (hitem && (hitem != lasthor));
++        wattroff(menu->win, (int)menu->back);
+ 
+-      item = item->down;
+-      y += menu->spc_rows;
++        item = item->down;
++        y += menu->spc_rows;
+ 
++      }
++      while (item && (item != lastvert));
+     }
+-  while (item && (item != lastvert));
+ }
+ 
+ /*---------------------------------------------------------------------------
+Index: ncurses/base/lib_bkgd.c
+Prereq:  1.62 
+--- ncurses-6.2-20210501+/ncurses/base/lib_bkgd.c      2021-02-13 
20:06:54.000000000 +0000
++++ ncurses-6.2-20210508/ncurses/base/lib_bkgd.c       2021-05-08 
14:58:12.000000000 +0000
+@@ -37,7 +37,7 @@
+ 
+ #include <curses.priv.h>
+ 
+-MODULE_ID("$Id: lib_bkgd.c,v 1.62 2021/02/13 20:06:54 tom Exp $")
++MODULE_ID("$Id: lib_bkgd.c,v 1.63 2021/05/08 14:58:12 tom Exp $")
+ 
+ static const NCURSES_CH_T blank = NewChar(BLANK_TEXT);
+ 
+@@ -64,7 +64,7 @@
+       {
+           int pair;
+ 
+-          if ((pair = GetPair(win->_nc_bkgd)) != 0)
++          if (GetPair(win->_nc_bkgd) != 0)
+               SET_WINDOW_PAIR(win, 0);
+           if ((pair = GetPair(CHDEREF(ch))) != 0)
+               SET_WINDOW_PAIR(win, pair);
+Index: ncurses/base/lib_color.c
+Prereq:  1.146 
+--- ncurses-6.2-20210501+/ncurses/base/lib_color.c     2021-02-14 
00:17:09.000000000 +0000
++++ ncurses-6.2-20210508/ncurses/base/lib_color.c      2021-05-08 
15:11:48.000000000 +0000
+@@ -49,7 +49,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+ 
+-MODULE_ID("$Id: lib_color.c,v 1.146 2021/02/14 00:17:09 tom Exp $")
++MODULE_ID("$Id: lib_color.c,v 1.147 2021/05/08 15:11:48 tom Exp $")
+ 
+ #ifdef USE_TERM_DRIVER
+ #define CanChange      InfoOf(SP_PARM).canchange
+@@ -266,7 +266,7 @@
+           ;
+       }
+ 
+-      if ((n = tigetflag(name)) > 0) {
++      if (tigetflag(name) > 0) {
+           n = (width + 2) / 3;
+           result->bits.red = UChar(n);
+           result->bits.green = UChar(n);
+@@ -840,52 +840,57 @@
+        (void *) g,
+        (void *) b));
+ 
+-    if (sp == 0)
+-      returnCode(result);
+-
+-    maxcolors = MaxColors;
++    if (sp != 0) {
++      maxcolors = MaxColors;
+ 
+-    if (color < 0 || !OkColorHi(color) || !sp->_coloron) {
+-      result = ERR;
+-    } else {
+-      int c_r, c_g, c_b;
++      if (color >= 0 && OkColorHi(color) && sp->_coloron) {
++          int c_r, c_g, c_b;
+ 
+-      if (sp->_direct_color.value) {
+-          rgb_bits_t *work = &(sp->_direct_color);
++          if (sp->_direct_color.value) {
++              rgb_bits_t *work = &(sp->_direct_color);
+ 
+ #define max_direct_color(name)        ((1 << work->bits.name) - 1)
+ #define value_direct_color(max) (1000 * ((color >> bitoff) & max)) / max
+ 
+-          int max_r = max_direct_color(red);
+-          int max_g = max_direct_color(green);
+-          int max_b = max_direct_color(blue);
++              int max_r = max_direct_color(red);
++              int max_g = max_direct_color(green);
++              int max_b = max_direct_color(blue);
+ 
+-          int bitoff = 0;
++              int bitoff = 0;
+ 
+-          c_b = value_direct_color(max_b);
+-          bitoff += work->bits.blue;
++              c_b = value_direct_color(max_b);
++              bitoff += work->bits.blue;
+ 
+-          c_g = value_direct_color(max_g);
+-          bitoff += work->bits.green;
++              c_g = value_direct_color(max_g);
++              bitoff += work->bits.green;
+ 
+-          c_r = value_direct_color(max_r);
++              c_r = value_direct_color(max_r);
+ 
+-      } else {
+-          c_r = sp->_color_table[color].red;
+-          c_g = sp->_color_table[color].green;
+-          c_b = sp->_color_table[color].blue;
+-      }
++          } else {
++              c_r = sp->_color_table[color].red;
++              c_g = sp->_color_table[color].green;
++              c_b = sp->_color_table[color].blue;
++          }
++
++          if (r)
++              *r = c_r;
++          if (g)
++              *g = c_g;
++          if (b)
++              *b = c_b;
+ 
++          TR(TRACE_ATTRS, ("...color_content(%d,%d,%d,%d)",
++                           color, c_r, c_g, c_b));
++          result = OK;
++      }
++    }
++    if (result != OK) {
+       if (r)
+-          *r = c_r;
++          *r = 0;
+       if (g)
+-          *g = c_g;
++          *g = 0;
+       if (b)
+-          *b = c_b;
+-
+-      TR(TRACE_ATTRS, ("...color_content(%d,%d,%d,%d)",
+-                       color, c_r, c_g, c_b));
+-      result = OK;
++          *b = 0;
+     }
+     returnCode(result);
+ }
+Index: ncurses/base/lib_set_term.c
+Prereq:  1.177 
+--- ncurses-6.2-20210501+/ncurses/base/lib_set_term.c  2021-04-17 
15:04:41.000000000 +0000
++++ ncurses-6.2-20210508/ncurses/base/lib_set_term.c   2021-05-08 
21:48:34.000000000 +0000
+@@ -54,7 +54,7 @@
+ #undef CUR
+ #define CUR SP_TERMTYPE
+ 
+-MODULE_ID("$Id: lib_set_term.c,v 1.177 2021/04/17 15:04:41 tom Exp $")
++MODULE_ID("$Id: lib_set_term.c,v 1.179 2021/05/08 21:48:34 tom Exp $")
+ 
+ #ifdef USE_TERM_DRIVER
+ #define MaxColors      InfoOf(sp).maxcolors
+@@ -417,7 +417,6 @@
+     fflush(output);
+     _setmode(fileno(output), _O_BINARY);
+ #endif
+-    NCURSES_SP_NAME(_nc_set_buffer) (NCURSES_SP_ARGx output, TRUE);
+     sp->_lines = (NCURSES_SIZE_T) slines;
+     sp->_lines_avail = (NCURSES_SIZE_T) slines;
+     sp->_columns = (NCURSES_SIZE_T) scolumns;
+@@ -500,7 +499,7 @@
+       p = extract_fgbg(p, &(sp->_default_fg));
+       p = extract_fgbg(p, &(sp->_default_bg));
+       if (*p)                 /* assume rxvt was compiled with xpm support */
+-          p = extract_fgbg(p, &(sp->_default_bg));
++          extract_fgbg(p, &(sp->_default_bg));
+       TR(TRACE_CHARPUT | TRACE_MOVE, ("decoded fg=%d, bg=%d",
+                                       sp->_default_fg, sp->_default_bg));
+       if (sp->_default_fg >= MaxColors) {
+@@ -697,6 +696,9 @@
+              formats (4-4 or 3-2-3) for which there may be some hardware
+              support. */
+           if (rop->hook == _nc_slk_initialize) {
++              if (!TerminalOf(sp)) {
++                  continue;
++              }
+               if (!(NumLabels <= 0 || !SLK_STDFMT(slk_format))) {
+                   continue;
+               }
+Index: ncurses/base/new_pair.c
+Prereq:  1.21 
+--- ncurses-6.2-20210501+/ncurses/base/new_pair.c      2021-02-14 
00:17:09.000000000 +0000
++++ ncurses-6.2-20210508/ncurses/base/new_pair.c       2021-05-08 
15:26:34.000000000 +0000
+@@ -61,7 +61,7 @@
+ 
+ #endif
+ 
+-MODULE_ID("$Id: new_pair.c,v 1.21 2021/02/14 00:17:09 tom Exp $")
++MODULE_ID("$Id: new_pair.c,v 1.22 2021/05/08 15:26:34 tom Exp $")
+ 
+ #if NCURSES_EXT_COLORS
+ 
+@@ -297,7 +297,7 @@
+                   found = TRUE;
+               }
+           }
+-          if (!found) {
++          if (!found && SP_PARM->_color_pairs != NULL) {
+               for (pair = 1; pair <= hint; pair++) {
+                   if (SP_PARM->_color_pairs[pair].mode == cpFREE) {
+                       T(("found gap %d", pair));
+Index: ncurses/tinfo/alloc_entry.c
+Prereq:  1.64 
+--- ncurses-6.2-20210501+/ncurses/tinfo/alloc_entry.c  2020-02-02 
23:34:34.000000000 +0000
++++ ncurses-6.2-20210508/ncurses/tinfo/alloc_entry.c   2021-05-04 
23:15:34.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2019,2020 Thomas E. Dickey                                *
++ * Copyright 2018-2020,2021 Thomas E. Dickey                                *
+  * Copyright 1998-2013,2017 Free Software Foundation, Inc.                  *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+@@ -48,7 +48,7 @@
+ 
+ #include <tic.h>
+ 
+-MODULE_ID("$Id: alloc_entry.c,v 1.64 2020/02/02 23:34:34 tom Exp $")
++MODULE_ID("$Id: alloc_entry.c,v 1.65 2021/05/04 23:15:34 tom Exp $")
+ 
+ #define ABSENT_OFFSET    -1
+ #define CANCELLED_OFFSET -2
+@@ -242,7 +242,7 @@
+     _nc_align_termtype(to, from);
+ #endif
+     for_each_boolean(i, from) {
+-      if (to->Booleans[i] != (char) CANCELLED_BOOLEAN) {
++      if (to->Booleans[i] != (NCURSES_SBOOL) CANCELLED_BOOLEAN) {
+           int mergebool = from->Booleans[i];
+ 
+           if (mergebool == CANCELLED_BOOLEAN)
+Index: ncurses/tinfo/comp_parse.c
+Prereq:  1.112 
+--- ncurses-6.2-20210501+/ncurses/tinfo/comp_parse.c   2021-02-27 
21:01:21.000000000 +0000
++++ ncurses-6.2-20210508/ncurses/tinfo/comp_parse.c    2021-05-08 
15:03:42.000000000 +0000
+@@ -48,7 +48,7 @@
+ 
+ #include <tic.h>
+ 
+-MODULE_ID("$Id: comp_parse.c,v 1.112 2021/02/27 21:01:21 tom Exp $")
++MODULE_ID("$Id: comp_parse.c,v 1.113 2021/05/08 15:03:42 tom Exp $")
+ 
+ static void sanity_check2(TERMTYPE2 *, bool);
+ NCURSES_IMPEXP void (NCURSES_API *_nc_check_termtype2) (TERMTYPE2 *, bool) = 
sanity_check2;
+@@ -457,8 +457,9 @@
+ 
+                   /* verify that there are no earlier uses */
+                   for (j = 0; j < i; ++j) {
+-                      if (!strcmp(qp->uses[j].link->tterm.term_names,
+-                                  rp->tterm.term_names)) {
++                      if (qp->uses[j].link != NULL
++                          && !strcmp(qp->uses[j].link->tterm.term_names,
++                                     rp->tterm.term_names)) {
+                           _nc_warning("duplicate use=%s", lookfor);
+                           break;
+                       }
+@@ -487,8 +488,9 @@
+ 
+                   /* verify that there are no earlier uses */
+                   for (j = 0; j < i; ++j) {
+-                      if (!strcmp(qp->uses[j].link->tterm.term_names,
+-                                  rp->tterm.term_names)) {
++                      if (qp->uses[j].link != NULL
++                          && !strcmp(qp->uses[j].link->tterm.term_names,
++                                     rp->tterm.term_names)) {
+                           _nc_warning("duplicate use=%s", lookfor);
+                           break;
+                       }
+Index: ncurses/tinfo/lib_tputs.c
+Prereq:  1.107 
+--- ncurses-6.2-20210501+/ncurses/tinfo/lib_tputs.c    2021-04-03 
18:45:53.000000000 +0000
++++ ncurses-6.2-20210508/ncurses/tinfo/lib_tputs.c     2021-05-08 
23:27:40.000000000 +0000
+@@ -52,7 +52,7 @@
+ #include <termcap.h>          /* ospeed */
+ #include <tic.h>
+ 
+-MODULE_ID("$Id: lib_tputs.c,v 1.107 2021/04/03 18:45:53 tom Exp $")
++MODULE_ID("$Id: lib_tputs.c,v 1.108 2021/05/08 23:27:40 tom Exp $")
+ 
+ NCURSES_EXPORT_VAR(char) PC = 0;              /* used by termcap library */
+ NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed = 0;        /* used by termcap 
library */
+@@ -276,8 +276,8 @@
+                       NCURSES_SP_OUTC outc)
+ {
+     NCURSES_SP_OUTC my_outch = GetOutCh();
+-    bool always_delay;
+-    bool normal_delay;
++    bool always_delay = FALSE;
++    bool normal_delay = FALSE;
+     int number;
+ #if BSD_TPUTS
+     int trailpad;
+@@ -305,32 +305,30 @@
+     }
+ #endif /* TRACE */
+ 
+-    if (SP_PARM != 0 && !HasTInfoTerminal(SP_PARM))
+-      return ERR;
+-
+     if (!VALID_STRING(string))
+       return ERR;
+ 
+-    if (
++    if (SP_PARM != 0 && HasTInfoTerminal(SP_PARM)) {
++      if (
+ #if NCURSES_SP_FUNCS
+-         (SP_PARM != 0 && SP_PARM->_term == 0)
++             (SP_PARM != 0 && SP_PARM->_term == 0)
+ #else
+-         cur_term == 0
++             cur_term == 0
+ #endif
+-      ) {
+-      always_delay = FALSE;
+-      normal_delay = TRUE;
+-    } else {
+-      always_delay = (string == bell) || (string == flash_screen);
+-      normal_delay =
+-          !xon_xoff
+-          && padding_baud_rate
++          ) {
++          always_delay = FALSE;
++          normal_delay = TRUE;
++      } else {
++          always_delay = (string == bell) || (string == flash_screen);
++          normal_delay =
++              !xon_xoff
++              && padding_baud_rate
+ #if NCURSES_NO_PADDING
+-          && !GetNoPadding(SP_PARM)
++              && !GetNoPadding(SP_PARM)
+ #endif
+-          && (_nc_baudrate(ospeed) >= padding_baud_rate);
++              && (_nc_baudrate(ospeed) >= padding_baud_rate);
++      }
+     }
+-
+ #if BSD_TPUTS
+     /*
+      * This ugly kluge deals with the fact that some ancient BSD programs
+Index: package/debian-mingw/changelog
+--- ncurses-6.2-20210501+/package/debian-mingw/changelog       2021-05-01 
09:40:30.000000000 +0000
++++ ncurses-6.2-20210508/package/debian-mingw/changelog        2021-05-08 
13:20:24.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.2+20210501) unstable; urgency=low
++ncurses6 (6.2+20210508) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 01 May 2021 05:40:30 
-0400
++ -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 08 May 2021 09:20:24 
-0400
+ 
+ ncurses6 (5.9-20131005) unstable; urgency=low
+ 
+Index: package/debian-mingw64/changelog
+--- ncurses-6.2-20210501+/package/debian-mingw64/changelog     2021-05-01 
09:40:30.000000000 +0000
++++ ncurses-6.2-20210508/package/debian-mingw64/changelog      2021-05-08 
13:20:24.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.2+20210501) unstable; urgency=low
++ncurses6 (6.2+20210508) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 01 May 2021 05:40:30 
-0400
++ -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 08 May 2021 09:20:24 
-0400
+ 
+ ncurses6 (5.9-20131005) unstable; urgency=low
+ 
+Index: package/debian/changelog
+--- ncurses-6.2-20210501+/package/debian/changelog     2021-05-01 
09:40:30.000000000 +0000
++++ ncurses-6.2-20210508/package/debian/changelog      2021-05-08 
13:20:24.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.2+20210501) unstable; urgency=low
++ncurses6 (6.2+20210508) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 01 May 2021 05:40:30 
-0400
++ -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 08 May 2021 09:20:24 
-0400
+ 
+ ncurses6 (5.9-20120608) unstable; urgency=low
+ 
+Index: package/mingw-ncurses.nsi
+Prereq:  1.456 
+--- ncurses-6.2-20210501+/package/mingw-ncurses.nsi    2021-05-01 
09:40:30.000000000 +0000
++++ ncurses-6.2-20210508/package/mingw-ncurses.nsi     2021-05-08 
13:20:24.000000000 +0000
+@@ -1,4 +1,4 @@
+-; $Id: mingw-ncurses.nsi,v 1.456 2021/05/01 09:40:30 tom Exp $
++; $Id: mingw-ncurses.nsi,v 1.457 2021/05/08 13:20:24 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  "2021"
+-!define VERSION_MMDD  "0501"
++!define VERSION_MMDD  "0508"
+ !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
+ 
+ !define MY_ABI   "5"
+Index: package/mingw-ncurses.spec
+--- ncurses-6.2-20210501+/package/mingw-ncurses.spec   2021-05-01 
09:40:30.000000000 +0000
++++ ncurses-6.2-20210508/package/mingw-ncurses.spec    2021-05-08 
13:20:24.000000000 +0000
+@@ -3,7 +3,7 @@
+ Summary: shared libraries for terminal handling
+ Name: mingw32-ncurses6
+ Version: 6.2
+-Release: 20210501
++Release: 20210508
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: package/ncurses.spec
+--- ncurses-6.2-20210501+/package/ncurses.spec 2021-05-01 09:40:30.000000000 
+0000
++++ ncurses-6.2-20210508/package/ncurses.spec  2021-05-08 13:20:24.000000000 
+0000
+@@ -1,7 +1,7 @@
+ Summary: shared libraries for terminal handling
+ Name: ncurses6
+ Version: 6.2
+-Release: 20210501
++Release: 20210508
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: package/ncursest.spec
+--- ncurses-6.2-20210501+/package/ncursest.spec        2021-05-01 
09:40:30.000000000 +0000
++++ ncurses-6.2-20210508/package/ncursest.spec 2021-05-08 13:20:24.000000000 
+0000
+@@ -1,7 +1,7 @@
+ Summary: Curses library with POSIX thread support.
+ Name: ncursest6
+ Version: 6.2
+-Release: 20210501
++Release: 20210508
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: test/demo_menus.c
+Prereq:  1.72 
+--- ncurses-6.2-20210501+/test/demo_menus.c    2021-03-20 16:05:49.000000000 
+0000
++++ ncurses-6.2-20210508/test/demo_menus.c     2021-05-08 19:41:08.000000000 
+0000
+@@ -27,7 +27,7 @@
+  * authorization.                                                           *
+  ****************************************************************************/
+ /*
+- * $Id: demo_menus.c,v 1.72 2021/03/20 16:05:49 tom Exp $
++ * $Id: demo_menus.c,v 1.73 2021/05/08 19:41:08 tom Exp $
+  *
+  * Demonstrate a variety of functions from the menu library.
+  * Thomas Dickey - 2005/4/9
+@@ -565,7 +565,7 @@
+     }
+     _nc_SPRINTF(buf, _nc_SLIMIT(need) "0x%02x = {", tlevel);
+     if (tlevel == 0) {
+-      _nc_STRCAT(buf, t_tbl[0].name, need);
++      _nc_STRCAT(buf, t_tbl[0].name ? t_tbl[0].name : "", need);
+       _nc_STRCAT(buf, ", ", need);
+     } else {
+       for (n = 1; t_tbl[n].name != 0; n++)
+Index: test/hanoi.c
+Prereq:  1.41 
+--- ncurses-6.2-20210501+/test/hanoi.c 2020-02-02 23:34:34.000000000 +0000
++++ ncurses-6.2-20210508/test/hanoi.c  2021-05-08 20:44:44.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2019,2020 Thomas E. Dickey                                     *
++ * Copyright 2019-2020,2021 Thomas E. Dickey                                *
+  * Copyright 1998-2014,2017 Free Software Foundation, Inc.                  *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+@@ -42,7 +42,7 @@
+  *
+  *    Date: 05.Nov.90
+  *
+- * $Id: hanoi.c,v 1.41 2020/02/02 23:34:34 tom Exp $
++ * $Id: hanoi.c,v 1.42 2021/05/08 20:44:44 tom Exp $
+  */
+ 
+ #include <test.priv.h>
+@@ -283,7 +283,7 @@
+     }
+     setlocale(LC_ALL, "");
+ 
+-    switch (ch = (argc - optind)) {
++    switch (argc - optind) {
+     case 2:
+       if (strcmp(argv[optind + 1], "a")) {
+           usage();
+Index: test/knight.c
+Prereq:  1.48 
+--- ncurses-6.2-20210501+/test/knight.c        2021-04-25 00:10:43.000000000 
+0000
++++ ncurses-6.2-20210508/test/knight.c 2021-05-08 19:32:15.000000000 +0000
+@@ -34,7 +34,7 @@
+  * Eric S. Raymond <e...@snark.thyrsus.com> July 22 1995.  Mouse support
+  * added September 20th 1995.
+  *
+- * $Id: knight.c,v 1.48 2021/04/25 00:10:43 tom Exp $
++ * $Id: knight.c,v 1.49 2021/05/08 19:32:15 tom Exp $
+  */
+ 
+ #include <test.priv.h>
+@@ -621,10 +621,10 @@
+ 
+       for (i = 0; i < ylimit; i++) {
+           for (j = 0; j < xlimit; j++) {
+-              squares[i][j] = FALSE;
+               unmarkcell(i, j);
+           }
+       }
++      memset(squares, 0, sizeof(squares));
+       memset(history, 0, sizeof(history));
+       history[0].y = history[0].x = -1;
+       history[1].y = history[1].x = -1;
+Index: test/ncurses.c
+Prereq:  1.524 
+--- ncurses-6.2-20210501+/test/ncurses.c       2021-03-20 16:11:50.000000000 
+0000
++++ ncurses-6.2-20210508/test/ncurses.c        2021-05-08 19:44:31.000000000 
+0000
+@@ -41,7 +41,7 @@
+    Author: Eric S. Raymond <e...@snark.thyrsus.com> 1993
+            Thomas E. Dickey (beginning revision 1.27 in 1996).
+ 
+-$Id: ncurses.c,v 1.524 2021/03/20 16:11:50 tom Exp $
++$Id: ncurses.c,v 1.525 2021/05/08 19:44:31 tom Exp $
+ 
+ ***************************************************************************/
+ 
+@@ -5531,7 +5531,7 @@
+       "Number repeats.  Toggle legend:? filler:a timer:t scrollmark:s."
+     };
+     int n = ((int) SIZEOF(legend) - (LINES - line));
+-    if (n >= 0) {
++    if (n >= 0 && n < (int) SIZEOF(legend)) {
+       if (move(line, 0) != ERR) {
+           if (show_panner_legend)
+               printw("%s", legend[n]);
+@@ -6232,7 +6232,7 @@
+     }
+     _nc_SPRINTF(buf, _nc_SLIMIT(need) "0x%02x = {", tlevel);
+     if (tlevel == 0) {
+-      _nc_STRCAT(buf, t_tbl[0].name, need);
++      _nc_STRCAT(buf, t_tbl[0].name ? t_tbl[0].name : "", need);
+       _nc_STRCAT(buf, ", ", need);
+     } else {
+       for (n = 1; t_tbl[n].name != 0; n++)
+Index: test/picsmap.c
+Prereq:  1.138 
+--- ncurses-6.2-20210501+/test/picsmap.c       2021-05-01 20:38:40.000000000 
+0000
++++ ncurses-6.2-20210508/test/picsmap.c        2021-05-08 15:56:05.000000000 
+0000
+@@ -27,7 +27,7 @@
+  * authorization.                                                           *
+  ****************************************************************************/
+ /*
+- * $Id: picsmap.c,v 1.138 2021/05/01 20:38:40 tom Exp $
++ * $Id: picsmap.c,v 1.139 2021/05/08 15:56:05 tom Exp $
+  *
+  * Author: Thomas E. Dickey
+  *
+@@ -604,7 +604,6 @@
+                   continue;
+               }
+           }
+-          s += strlen(s);
+ 
+           if (tries & 2) {
+               int len = (int) strlen(filename);
+Index: test/test_add_wchstr.c
+Prereq:  1.28 
+--- ncurses-6.2-20210501+/test/test_add_wchstr.c       2021-03-27 
23:41:34.000000000 +0000
++++ ncurses-6.2-20210508/test/test_add_wchstr.c        2021-05-08 
20:04:10.000000000 +0000
+@@ -27,7 +27,7 @@
+  * authorization.                                                           *
+  ****************************************************************************/
+ /*
+- * $Id: test_add_wchstr.c,v 1.28 2021/03/27 23:41:34 tom Exp $
++ * $Id: test_add_wchstr.c,v 1.29 2021/05/08 20:04:10 tom Exp $
+  *
+  * Demonstrate the waddwchstr() and wadd_wch functions.
+  * Thomas Dickey - 2009/9/12
+@@ -133,10 +133,10 @@
+       size_t adjust = 0;
+       size_t n;
+ 
+-      for (n = 0; n < result; ++n) {
++      for (n = 0; source[n] != 0; ++n) {
+           const char *s;
+ 
+-          if (source[n] < 256 && (s = unctrl((chtype) source[n])) != 0) {
++          if ((source[n] < 256) && (s = unctrl((chtype) source[n])) != 0) {
+               adjust += (strlen(s) - 1);
+           }
+       }
+Index: test/view.c
+Prereq:  1.140 
+--- ncurses-6.2-20210501+/test/view.c  2021-03-27 22:42:22.000000000 +0000
++++ ncurses-6.2-20210508/test/view.c   2021-05-08 15:57:04.000000000 +0000
+@@ -52,7 +52,7 @@
+  * scroll operation worked, and the refresh() code only had to do a
+  * partial repaint.
+  *
+- * $Id: view.c,v 1.140 2021/03/27 22:42:22 tom Exp $
++ * $Id: view.c,v 1.141 2021/05/08 15:57:04 tom Exp $
+  */
+ 
+ #include <test.priv.h>
+@@ -78,9 +78,7 @@
+ static bool n_option = FALSE;
+ #endif
+ 
+-static GCC_NORETURN void usage(void);
+-
+-static void
++static GCC_NORETURN void
+ failed(const char *msg)
+ {
+     endwin();
+@@ -368,7 +366,7 @@
+     free(my_blob);
+ }
+ 
+-static void
++static GCC_NORETURN void
+ usage(void)
+ {
+     static const char *msg[] =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches/ncurses-6.2-20210515.patch 
new/patches/ncurses-6.2-20210515.patch
--- old/patches/ncurses-6.2-20210515.patch      1970-01-01 01:00:00.000000000 
+0100
+++ new/patches/ncurses-6.2-20210515.patch      2021-05-17 08:23:00.786079677 
+0200
@@ -0,0 +1,776 @@
+# ncurses 6.2 - patch 20210515 - 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-20210515.patch.gz
+# patch by Thomas E. Dickey <dic...@invisible-island.net>
+# created  Sun May 16 00:32:33 UTC 2021
+# 
------------------------------------------------------------------------------
+# NEWS                                  |    8 +-
+# 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_getstr.3x.html      |  120 ++++++++++++++++++++------------
+# doc/html/man/curs_window.3x.html      |   12 ++-
+# doc/html/man/form.3x.html             |    2 
+# doc/html/man/infocmp.1m.html          |    2 
+# doc/html/man/infotocap.1m.html        |    2 
+# doc/html/man/menu.3x.html             |    2 
+# doc/html/man/ncurses.3x.html          |    2 
+# doc/html/man/ncurses6-config.1.html   |    2 
+# doc/html/man/panel.3x.html            |    2 
+# doc/html/man/tabs.1.html              |    2 
+# doc/html/man/terminfo.5.html          |    2 
+# doc/html/man/tic.1m.html              |    2 
+# doc/html/man/toe.1m.html              |    2 
+# doc/html/man/tput.1.html              |    2 
+# doc/html/man/tset.1.html              |    2 
+# man/curs_getstr.3x                    |   58 +++++++++++++--
+# man/curs_window.3x                    |   31 +++++++-
+# 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 
+# 30 files changed, 200 insertions(+), 89 deletions(-)
+# 
------------------------------------------------------------------------------
+Index: NEWS
+Prereq:  1.3662 
+--- ncurses-6.2-20210508+/NEWS 2021-05-08 23:37:13.000000000 +0000
++++ ncurses-6.2-20210515/NEWS  2021-05-15 23:59:31.000000000 +0000
+@@ -26,7 +26,7 @@
+ -- sale, use or other dealings in this Software without prior written        
--
+ -- authorization.                                                            
--
+ 
-------------------------------------------------------------------------------
+--- $Id: NEWS,v 1.3662 2021/05/08 23:37:13 tom Exp $
++-- $Id: NEWS,v 1.3665 2021/05/15 23:59:31 tom Exp $
+ 
-------------------------------------------------------------------------------
+ 
+ This is a log of changes that ncurses has gone through since Zeyd started
+@@ -46,10 +46,14 @@
+ Changes through 1.9.9e did not credit all contributions;
+ it is not possible to add this information.
+ 
++20210515
++      + improve manual pages for wgetnstr, newwin (prompted by
++        report/testcase by Bill Gray).
++
+ 20210508
+       + modify tputs' error check to allow it to be used without first
+         calling tgetent or setupterm, noting that terminfo initialization
+-        is requires for supporting the terminfo delay feature (report by
++        is required for supporting the terminfo delay feature (report by
+         Sebastiano Vigna).
+       + fix several warnings from clang --analyze
+       + add null-pointer check in comp_parse.c, when a "use=" clause refers
+Index: VERSION
+--- ncurses-6.2-20210508+/VERSION      2021-05-08 13:20:24.000000000 +0000
++++ ncurses-6.2-20210515/VERSION       2021-05-15 09:37:23.000000000 +0000
+@@ -1 +1 @@
+-5:0:10        6.2     20210508
++5:0:10        6.2     20210515
+Index: dist.mk
+Prereq:  1.1414 
+--- ncurses-6.2-20210508+/dist.mk      2021-05-08 13:20:24.000000000 +0000
++++ ncurses-6.2-20210515/dist.mk       2021-05-15 09:37:23.000000000 +0000
+@@ -26,7 +26,7 @@
+ # use or other dealings in this Software without prior written               #
+ # authorization.                                                             #
+ ##############################################################################
+-# $Id: dist.mk,v 1.1414 2021/05/08 13:20:24 tom Exp $
++# $Id: dist.mk,v 1.1415 2021/05/15 09:37:23 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 = 20210508
++NCURSES_PATCH = 20210515
+ 
+ # 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-20210508+/doc/html/man/adacurses6-config.1.html        
2021-04-03 23:06:57.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/adacurses6-config.1.html 2021-05-16 
00:01:19.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 20210403).
++       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
+ 
+ 
+ 
+Index: doc/html/man/captoinfo.1m.html
+--- ncurses-6.2-20210508+/doc/html/man/captoinfo.1m.html       2021-04-03 
23:06:57.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/captoinfo.1m.html        2021-05-16 
00:01:19.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 20210403).
++       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
+ 
+ 
+ </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+Index: doc/html/man/clear.1.html
+--- ncurses-6.2-20210508+/doc/html/man/clear.1.html    2021-04-03 
23:06:57.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/clear.1.html     2021-05-16 
00:01:19.000000000 +0000
+@@ -150,7 +150,7 @@
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+        <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A 
HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
++       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
+ 
+ 
+ 
+Index: doc/html/man/curs_getstr.3x.html
+--- ncurses-6.2-20210508+/doc/html/man/curs_getstr.3x.html     2020-10-18 
00:48:14.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/curs_getstr.3x.html      2021-05-16 
00:01:20.000000000 +0000
+@@ -1,6 +1,6 @@
+ <!-- 
+   ****************************************************************************
+-  * Copyright 2018-2019,2020 Thomas E. Dickey                                *
++  * Copyright 2018-2020,2021 Thomas E. Dickey                                *
+   * Copyright 1998-2010,2017 Free Software Foundation, Inc.                  *
+   *                                                                          *
+   * Permission is hereby granted, free of charge, to any person obtaining a  *
+@@ -27,7 +27,7 @@
+   * sale, use or other dealings in this Software without prior written       *
+   * authorization.                                                           *
+   ****************************************************************************
+-  * @Id: curs_getstr.3x,v 1.31 2020/10/18 00:27:44 tom Exp @
++  * @Id: curs_getstr.3x,v 1.32 2021/05/15 23:37:18 tom Exp @
+   * X/Open says also until EOf
+   * X/Open says then an EOS is added to the result
+   * X/Open doesn't mention n&lt;0
+@@ -74,35 +74,44 @@
+        not included in the returned string).  The resulting value is placed in
+        the area pointed to by the character pointer <EM>str</EM>, followed by 
a NUL.
+ 
+-       <STRONG>wgetnstr</STRONG>  reads  at most <EM>n</EM> characters, thus 
preventing a possible over-
+-       flow of the input buffer.  Any attempt to enter more characters  (other
+-       than  the terminating newline or carriage return) causes a beep.  Func-
+-       tion keys also cause a beep and  are  ignored.   The  
<STRONG>getnstr</STRONG>  function
+-       reads from the <EM>stdscr</EM> default window.
+-
+-       The  user's  erase and kill characters are interpreted.  If keypad mode
+-       is on for the window, <STRONG>KEY_LEFT</STRONG> and 
<STRONG>KEY_BACKSPACE</STRONG>  are  both  considered
+-       equivalent to the user's kill character.
++       The  <STRONG>getnstr</STRONG>  function reads from the <EM>stdscr</EM> 
default window.  The other
++       functions, such as <STRONG>wgetnstr</STRONG>, read from the window 
given as a parameter.
+ 
+-       Characters  input  are  echoed  only  if <STRONG>echo</STRONG> is 
currently on.  In that
+-       case, backspace is echoed as deletion of the previous character  (typi-
++       <STRONG>getnstr</STRONG> reads at most <EM>n</EM> characters, thus 
preventing a possible overflow
++       of  the input buffer.  Any attempt to enter more characters (other than
++       the terminating newline or carriage return) causes  a  beep.   Function
++       keys also cause a beep and are ignored.
++
++       The user's <EM>erase</EM> and <EM>kill</EM> characters are interpreted:
++
++       <STRONG>o</STRONG>   The  <EM>erase</EM>  character (e.g., 
<STRONG>^H</STRONG>) erases the character at the end of
++           the buffer, moving the cursor to the left.
++
++           If <EM>keypad</EM> mode is on for the window, 
<STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are
++           both considered equivalent to the user's erase character.
++
++       <STRONG>o</STRONG>   The <EM>kill</EM> character (e.g., 
<STRONG>^U</STRONG>) erases the entire buffer, leaving the
++           cursor at the beginning of the buffer.
++
++       Characters input are echoed only if <STRONG>echo</STRONG>  is  
currently  on.   In  that
++       case,  backspace is echoed as deletion of the previous character (typi-
+        cally a left motion).
+ 
+ 
+ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+        All routines return the integer <STRONG>ERR</STRONG> upon failure and 
an <STRONG>OK</STRONG> (SVr4 speci-
+-       fies only "an integer value other than <STRONG>ERR</STRONG>")  upon  
successful  comple-
++       fies  only  "an  integer value other than <STRONG>ERR</STRONG>") upon 
successful comple-
+        tion.
+ 
+        X/Open defines no error conditions.
+ 
+-       In  this  implementation, these functions return an error if the window
++       In this implementation, these functions return an error if  the  window
+        pointer is null, or if its timeout expires without having any data.
+ 
+-       This implementation provides an extension as well.  If a  
<STRONG>SIGWINCH</STRONG>  in-
++       This  implementation  provides an extension as well.  If a 
<STRONG>SIGWINCH</STRONG> in-
+        terrupts the function, it will return <STRONG>KEY_RESIZE</STRONG> 
rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>.
+ 
+-       Functions  with  a  "mv"  prefix  first perform a cursor movement using
++       Functions with a "mv" prefix first  perform  a  cursor  movement  using
+        <STRONG>wmove</STRONG>, and return an error if the position is outside 
the window, or if
+        the window pointer is null.
+ 
+@@ -112,66 +121,89 @@
+ 
+ 
+ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+-       These  functions  are  described  in  the XSI Curses standard, Issue 4.
+-       They read single-byte characters only.  The standard  does  not  define
+-       any  error  conditions.   This implementation returns 
<STRONG>ERR</STRONG> if the window
++       These functions are described in the  XSI  Curses  standard,  Issue  4.
++       They  read  single-byte  characters only.  The standard does not define
++       any error conditions.  This implementation returns 
<STRONG>ERR</STRONG>  if  the  window
+        pointer is null, or if the lower-level <STRONG><A 
HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> call returns an 
<STRONG>ERR</STRONG>.
+ 
+-       SVr3 and early SVr4 curses  implementations  did  not  reject  function
+-       keys;  the  SVr4.0  documentation  claimed that "special keys" (such as
+-       function keys, "home" key, "clear" key, <EM>etc</EM>.) are 
"interpreted",  with-
+-       out  giving details.  It lied.  In fact, the "character" value appended
+-       to the string by those implementations was predictable but  not  useful
++       SVr3  and  early  SVr4  curses  implementations did not reject function
++       keys; the SVr4.0 documentation claimed that  "special  keys"  (such  as
++       function  keys, "home" key, "clear" key, <EM>etc</EM>.) are 
"interpreted", with-
++       out giving details.  It lied.  In fact, the "character" value  appended
++       to  the  string by those implementations was predictable but not useful
+        (being, in fact, the low-order eight bits of the key's KEY_ value).
+ 
+-       The  functions  <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, 
and <STRONG>mvwgetnstr</STRONG> were present but not
++       The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, 
and <STRONG>mvwgetnstr</STRONG> were present  but  not
+        documented in SVr4.
+ 
+        X/Open Curses, Issue 5 (2007) stated that these functions "read at most
+-       <EM>n</EM>  bytes"  but  did not state whether the terminating NUL is 
counted in
+-       that limit.  X/Open Curses, Issue 7 (2009) changed  that  to  say  they
++       <EM>n</EM> bytes" but did not state whether the terminating NUL  is  
counted  in
++       that  limit.   X/Open  Curses,  Issue 7 (2009) changed that to say they
+        "read at most <EM>n</EM>-1 bytes" to allow for the terminating NUL.  
As of 2018,
+        some implementations do, some do not count it:
+ 
+-       <STRONG>o</STRONG>   ncurses 6.1 and PDCurses do not count the NUL in 
the  given  limit,
++       <STRONG>o</STRONG>   ncurses  6.1  and PDCurses do not count the NUL 
in the given limit,
+            while
+ 
+        <STRONG>o</STRONG>   Solaris SVr4 and NetBSD curses count the NUL as 
part of the limit.
+ 
+-       <STRONG>o</STRONG>   Solaris  xcurses  provides  both:  its 
wide-character <STRONG>wget_nstr</STRONG> re-
++       <STRONG>o</STRONG>   Solaris xcurses provides both:  its  
wide-character  <STRONG>wget_nstr</STRONG>  re-
+            serves a NUL, but its <STRONG>wgetnstr</STRONG> does not count the 
NUL consistently.
+ 
+        In SVr4 curses, a negative value of <EM>n</EM> tells 
<STRONG>wgetnstr</STRONG> to assume that the
+-       caller's  buffer  is large enough to hold the result, i.e., to act like
+-       <STRONG>wgetstr</STRONG>.  X/Open Curses does not mention this (or 
anything  related  to
+-       negative  or  zero  values  of <EM>n</EM>), however most 
implementations use the
++       caller's buffer is large enough to hold the result, i.e., to  act  like
++       <STRONG>wgetstr</STRONG>.   X/Open  Curses does not mention this (or 
anything related to
++       negative or zero values of <EM>n</EM>), however  most  implementations 
 use  the
+        feature, with different limits:
+ 
+-       <STRONG>o</STRONG>   Solaris SVr4 curses and PDCurses limit the  
result  to  255  bytes.
++       <STRONG>o</STRONG>   Solaris  SVr4  curses  and  PDCurses limit the 
result to 255 bytes.
+            Other Unix systems than Solaris are likely to use the same limit.
+ 
+        <STRONG>o</STRONG>   Solaris xcurses limits the result to 
<STRONG>LINE_MAX</STRONG> bytes.
+ 
+-       <STRONG>o</STRONG>   NetBSD  7  assumes no particular limit for the 
result from <STRONG>wgetstr</STRONG>.
+-           However, it limits the <STRONG>wgetnstr</STRONG> parameter 
<EM>n</EM> to ensure  that  it  is
++       <STRONG>o</STRONG>   NetBSD 7 assumes no particular limit for the 
result  from  <STRONG>wgetstr</STRONG>.
++           However,  it  limits  the <STRONG>wgetnstr</STRONG> parameter 
<EM>n</EM> to ensure that it is
+            greater than zero.
+ 
+-           A  comment in NetBSD's source code states that this is specified in
++           A comment in NetBSD's source code states that this is specified  in
+            SUSv2.
+ 
+-       <STRONG>o</STRONG>   ncurses (before 6.2) assumes no particular  limit 
 for  the  result
+-           from  <STRONG>wgetstr</STRONG>,  and  treats  the  <EM>n</EM> 
parameter of <STRONG>wgetnstr</STRONG> like SVr4
++       <STRONG>o</STRONG>   ncurses  (before  6.2)  assumes  no particular 
limit for the result
++           from <STRONG>wgetstr</STRONG>, and treats the <EM>n</EM>  
parameter  of  <STRONG>wgetnstr</STRONG>  like  SVr4
+            curses.
+ 
+-       <STRONG>o</STRONG>   ncurses 6.2 uses <STRONG>LINE_MAX</STRONG>, or  a 
 larger  (system-dependent)  value
+-           which  the  <STRONG>sysconf</STRONG>  function  may provide.  If 
neither <STRONG>LINE_MAX</STRONG> or
+-           <STRONG>sysconf</STRONG> is available, ncurses uses the POSIX 
value for <STRONG>LINE_MAX</STRONG>  (a
+-           2048  byte limit).  In either case, it reserves a byte for the ter-
++       <STRONG>o</STRONG>   ncurses  6.2  uses  <STRONG>LINE_MAX</STRONG>,  
or a larger (system-dependent) value
++           which the <STRONG>sysconf</STRONG> function may provide.   If  
neither  <STRONG>LINE_MAX</STRONG>  or
++           <STRONG>sysconf</STRONG>  is available, ncurses uses the POSIX 
value for <STRONG>LINE_MAX</STRONG> (a
++           2048 byte limit).  In either case, it reserves a byte for the  ter-
+            minating NUL.
+ 
++       Although  <STRONG>getnstr</STRONG>  is equivalent to a series of calls 
to <STRONG>getch</STRONG>, it also
++       makes changes to the curses modes to allow simple editing of the  input
++       buffer:
++
++       <STRONG>o</STRONG>   <STRONG>getnstr</STRONG>  saves  the  current  
value of the <STRONG>nl</STRONG>, <STRONG>echo</STRONG>, <STRONG>raw</STRONG> 
and <STRONG>cbreak</STRONG>
++           modes, and sets <STRONG>nl</STRONG>, <STRONG>noecho</STRONG>, 
<STRONG>noraw</STRONG>, and <STRONG>cbreak</STRONG>.
++
++           <STRONG>getnstr</STRONG> handles the echoing of characters, rather 
than  relying  on
++           the caller to set an appropriate mode.
++
++       <STRONG>o</STRONG>   It  also  obtains  the <EM>erase</EM> and 
<EM>kill</EM> characters from <STRONG>erasechar</STRONG> and
++           <STRONG>killchar</STRONG>, respectively.
++
++       <STRONG>o</STRONG>   On return, <STRONG>getnstr</STRONG> restores the 
modes to their previous values.
++
++       Other implementations differ.  While they may set the <EM>echo</EM>  
mode,  they
++       do  not  modify  the  <EM>raw</EM> mode, and may take the 
<EM>cbreak</EM> mode set by the
++       caller into account when deciding  whether  to  handle  echoing  within
++       <STRONG>getnstr</STRONG>  or  as a side-effect of the 
<STRONG>getch</STRONG> calls.  Because ncurses sets
++       these modes, its signal handlers for INTR and QUIT (e.g., 
<STRONG>^C</STRONG> or <STRONG>^\</STRONG>) may
++       catch  a signal and stop the program, where other implementations allow
++       one to enter those characters in the buffer.
++
+ 
+ </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_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A 
HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
++       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A 
HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A 
HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>, <STRONG><A 
HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+ 
+ 
+ 
+Index: doc/html/man/curs_window.3x.html
+--- ncurses-6.2-20210508+/doc/html/man/curs_window.3x.html     2020-02-03 
01:26:26.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/curs_window.3x.html      2021-05-16 
00:01:21.000000000 +0000
+@@ -1,6 +1,6 @@
+ <!-- 
+   ****************************************************************************
+-  * Copyright 2020 Thomas E. Dickey                                          *
++  * Copyright 2020,2021 Thomas E. Dickey                                     *
+   * Copyright 1998-2015,2016 Free Software Foundation, Inc.                  *
+   *                                                                          *
+   * Permission is hereby granted, free of charge, to any person obtaining a  *
+@@ -27,7 +27,7 @@
+   * sale, use or other dealings in this Software without prior written       *
+   * authorization.                                                           *
+   ****************************************************************************
+-  * @Id: curs_window.3x,v 1.21 2020/02/02 23:34:34 tom Exp @
++  * @Id: curs_window.3x,v 1.22 2021/05/15 23:57:14 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+@@ -88,6 +88,14 @@
+ 
+        A new full-screen window is created by calling 
<STRONG>newwin(0,0,0,0)</STRONG>.
+ 
++       Regardless of the function  used  for  creating  a  new  window  (e.g.,
++       <STRONG>newwin</STRONG>, <STRONG>subwin</STRONG>, 
<STRONG>derwin</STRONG>, <STRONG>newpad</STRONG>), rather than a duplicate 
(with <STRONG>dupwin</STRONG>),
++       all of the window modes are initialized to the default  values.   These
++       functions set window modes after a window is created:
++
++              idcok, idlok, immedok, keypad, leaveok, nodelay, scrollok,
++              setscrreg, syncok, wbkgdset, wbkgrndset, and wtimeout
++
+ 
+ </PRE><H3><a name="h3-delwin">delwin</a></H3><PRE>
+        Calling <STRONG>delwin</STRONG> deletes the named window, freeing all 
memory  associated
+Index: doc/html/man/form.3x.html
+--- ncurses-6.2-20210508+/doc/html/man/form.3x.html    2021-04-03 
23:06:59.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/form.3x.html     2021-05-16 
00:01:21.000000000 +0000
+@@ -248,7 +248,7 @@
+        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related 
pages whose names  begin  "form_"  for  detailed
+        descriptions of the entry points.
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
++       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
+ 
+ 
+ 
+Index: doc/html/man/infocmp.1m.html
+--- ncurses-6.2-20210508+/doc/html/man/infocmp.1m.html 2021-04-03 
23:07:01.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/infocmp.1m.html  2021-05-16 
00:01:22.000000000 +0000
+@@ -514,7 +514,7 @@
+ 
+        https://invisible-island.net/ncurses/tctest.html
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
++       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
+ 
+ 
+ </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+Index: doc/html/man/infotocap.1m.html
+--- ncurses-6.2-20210508+/doc/html/man/infotocap.1m.html       2021-04-03 
23:07:01.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/infotocap.1m.html        2021-05-16 
00:01:22.000000000 +0000
+@@ -91,7 +91,7 @@
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A 
HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A 
HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A 
HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
++       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
+ 
+ 
+ </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+Index: doc/html/man/menu.3x.html
+--- ncurses-6.2-20210508+/doc/html/man/menu.3x.html    2021-04-03 
23:07:01.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/menu.3x.html     2021-05-16 
00:01:22.000000000 +0000
+@@ -223,7 +223,7 @@
+        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related 
pages whose names  begin  "menu_"  for  detailed
+        descriptions of the entry points.
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
++       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
+ 
+ 
+ 
+Index: doc/html/man/ncurses.3x.html
+--- ncurses-6.2-20210508+/doc/html/man/ncurses.3x.html 2021-04-03 
23:07:02.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/ncurses.3x.html  2021-05-16 
00:01:23.000000000 +0000
+@@ -60,7 +60,7 @@
+        method of updating  character  screens  with  reasonable  optimization.
+        This  implementation  is  "new  curses"  (ncurses)  and is the approved
+        replacement for 4.4BSD classic curses,  which  has  been  discontinued.
+-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
++       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
+ 
+        The  <STRONG>ncurses</STRONG>  library emulates the curses library of 
System V Release 4
+        UNIX, and XPG4 (X/Open Portability Guide) curses  (also  known  as  XSI
+Index: doc/html/man/ncurses6-config.1.html
+--- ncurses-6.2-20210508+/doc/html/man/ncurses6-config.1.html  2021-04-03 
23:07:02.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/ncurses6-config.1.html   2021-05-16 
00:01:23.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 20210403).
++       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
+ 
+ 
+ 
+Index: doc/html/man/panel.3x.html
+--- ncurses-6.2-20210508+/doc/html/man/panel.3x.html   2021-04-03 
23:07:02.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/panel.3x.html    2021-05-16 
00:01:23.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 20210403).
++       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
+ 
+ 
+ </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+Index: doc/html/man/tabs.1.html
+--- ncurses-6.2-20210508+/doc/html/man/tabs.1.html     2021-04-03 
23:07:02.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/tabs.1.html      2021-05-16 
00:01:23.000000000 +0000
+@@ -207,7 +207,7 @@
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A 
HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A 
HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A 
HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
++       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
+ 
+ 
+ 
+Index: doc/html/man/terminfo.5.html
+--- ncurses-6.2-20210508+/doc/html/man/terminfo.5.html 2021-04-03 
23:07:02.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/terminfo.5.html  2021-05-16 
00:01:24.000000000 +0000
+@@ -106,7 +106,7 @@
+        have, by specifying how to perform screen operations, and by specifying
+        padding requirements and initialization sequences.
+ 
+-       This manual describes <STRONG>ncurses</STRONG> version 6.2 (patch 
20210403).
++       This manual describes <STRONG>ncurses</STRONG> version 6.2 (patch 
20210515).
+ 
+ 
+ </PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry 
Syntax</a></H3><PRE>
+Index: doc/html/man/tic.1m.html
+--- ncurses-6.2-20210508+/doc/html/man/tic.1m.html     2021-04-03 
23:07:02.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/tic.1m.html      2021-05-16 
00:01:24.000000000 +0000
+@@ -461,7 +461,7 @@
+        <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A 
HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,   <STRONG><A 
HREF="toe.1m.html">toe(1m)</A></STRONG>,   <STRONG><A 
HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
+        <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.  <STRONG><A 
HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  <STRONG><A 
HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
++       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
+ 
+ 
+ </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+Index: doc/html/man/toe.1m.html
+--- ncurses-6.2-20210508+/doc/html/man/toe.1m.html     2021-04-03 
23:07:02.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/toe.1m.html      2021-05-16 
00:01:24.000000000 +0000
+@@ -171,7 +171,7 @@
+        <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A 
HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,   <STRONG><A 
HREF="tic.1m.html">tic(1m)</A></STRONG>,   <STRONG><A 
HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
+        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
++       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
+ 
+ 
+ 
+Index: doc/html/man/tput.1.html
+--- ncurses-6.2-20210508+/doc/html/man/tput.1.html     2021-04-03 
23:07:02.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/tput.1.html      2021-05-16 
00:01:24.000000000 +0000
+@@ -526,7 +526,7 @@
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+        <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, 
<STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, 
<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A 
HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A 
HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
++       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
+ 
+ 
+ 
+Index: doc/html/man/tset.1.html
+--- ncurses-6.2-20210508+/doc/html/man/tset.1.html     2021-04-03 
23:07:03.000000000 +0000
++++ ncurses-6.2-20210515/doc/html/man/tset.1.html      2021-05-16 
00:01:24.000000000 +0000
+@@ -391,7 +391,7 @@
+        <STRONG>csh(1)</STRONG>,   <STRONG>sh(1)</STRONG>,   
<STRONG>stty(1)</STRONG>,   <STRONG><A 
HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,  
<STRONG>tty(4)</STRONG>,  <STRONG><A 
HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
+        <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
++       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
+ 
+ 
+ 
+Index: man/curs_getstr.3x
+Prereq:  1.31 
+--- ncurses-6.2-20210508+/man/curs_getstr.3x   2020-10-18 00:27:44.000000000 
+0000
++++ ncurses-6.2-20210515/man/curs_getstr.3x    2021-05-15 23:37:18.000000000 
+0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright 2018-2019,2020 Thomas E. Dickey                                *
++.\" Copyright 2018-2020,2021 Thomas E. Dickey                                *
+ .\" Copyright 1998-2010,2017 Free Software Foundation, Inc.                  *
+ .\"                                                                          *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a  *
+@@ -27,7 +27,7 @@
+ .\" authorization.                                                           *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getstr.3x,v 1.31 2020/10/18 00:27:44 tom Exp $
++.\" $Id: curs_getstr.3x,v 1.32 2021/05/15 23:37:18 tom Exp $
+ .TH curs_getstr 3X ""
+ .ie \n(.g .ds `` \(lq
+ .el       .ds `` ``
+@@ -80,19 +80,29 @@
+ area pointed to by the character pointer \fIstr\fR,
+ followed by a NUL.
+ .PP
+-\fBwgetnstr\fR reads at most \fIn\fR characters, thus preventing a possible
++The \fBgetnstr\fR function reads
++from the \fIstdscr\fR default window.
++The other functions, such as \fBwgetnstr\fP,
++read from the window given as a parameter.
++.PP
++\fBgetnstr\fR reads at most \fIn\fR characters, thus preventing a possible
+ overflow of the input buffer.
+ Any attempt to enter more characters (other
+ than the terminating newline or carriage return) causes a beep.
+ Function
+ keys also cause a beep and are ignored.
+-The \fBgetnstr\fR function reads
+-from the \fIstdscr\fR default window.
+ .PP
+-The user's erase and kill characters are interpreted.
+-If keypad
+-mode is on for the window, \fBKEY_LEFT\fR and \fBKEY_BACKSPACE\fR
+-are both considered equivalent to the user's kill character.
++The user's \fIerase\fP and \fIkill\fP characters are interpreted:
++.bP
++The \fIerase\fP character (e.g., \fB^H\fP) erases the character
++at the end of the buffer, moving the cursor to the left.
++.IP
++If \fIkeypad\fP mode is on for the window,
++\fBKEY_LEFT\fR and \fBKEY_BACKSPACE\fR
++are both considered equivalent to the user's erase character.
++.bP
++The \fIkill\fP character (e.g., \fB^U\fP) erases the entire buffer,
++leaving the cursor at the beginning of the buffer.
+ .PP
+ Characters input are echoed only if \fBecho\fR is currently on.
+ In that case,
+@@ -187,7 +197,37 @@
+ If neither \fBLINE_MAX\fP or \fBsysconf\fP is available,
+ ncurses uses the POSIX value for \fBLINE_MAX\fP (a 2048 byte limit).
+ In either case, it reserves a byte for the terminating NUL.
++.PP
++Although \fBgetnstr\fP is equivalent to a series of calls to \fBgetch\fP,
++it also makes changes to the curses modes to allow simple editing of
++the input buffer:
++.bP
++\fBgetnstr\fP saves the current value of the \fBnl\fP, \fBecho\fP,
++\fBraw\fP and \fBcbreak\fP modes, and sets
++\fBnl\fP,
++\fBnoecho\fP,
++\fBnoraw\fP, and
++\fBcbreak\fP.
++.IP
++\fBgetnstr\fP handles the echoing of characters,
++rather than relying on the caller to set an appropriate mode.
++.bP
++It also obtains the \fIerase\fP and \fIkill\fP characters
++from \fBerasechar\fP and \fBkillchar\fP, respectively.
++.bP
++On return, \fBgetnstr\fP restores the modes to their previous values.
++.PP
++Other implementations differ.
++While they may set the \fIecho\fP mode,
++they do not modify the \fIraw\fP mode, and may take the \fIcbreak\fP
++mode set by the caller into account when deciding whether to handle
++echoing within \fBgetnstr\fP or as a side-effect of the \fBgetch\fP calls.
++Because ncurses sets these modes,
++its signal handlers for INTR and QUIT
++(e.g., \fB^C\fP or \fB^\\\fP) may catch a signal and stop the program,
++where other implementations allow one to enter those characters in the buffer.
+ .SH SEE ALSO
+ \fBcurses\fR(3X),
+ \fBcurs_getch\fR(3X),
++\fBcurs_termattrs\fR(3X),
+ \fBcurs_variables\fR(3X).
+Index: man/curs_window.3x
+Prereq:  1.21 
+--- ncurses-6.2-20210508+/man/curs_window.3x   2020-02-02 23:34:34.000000000 
+0000
++++ ncurses-6.2-20210515/man/curs_window.3x    2021-05-15 23:57:14.000000000 
+0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright 2020 Thomas E. Dickey                                          *
++.\" Copyright 2020,2021 Thomas E. Dickey                                     *
+ .\" Copyright 1998-2015,2016 Free Software Foundation, Inc.                  *
+ .\"                                                                          *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a  *
+@@ -27,8 +27,12 @@
+ .\" authorization.                                                           *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_window.3x,v 1.21 2020/02/02 23:34:34 tom Exp $
++.\" $Id: curs_window.3x,v 1.22 2021/05/15 23:57:14 tom Exp $
+ .TH curs_window 3X ""
++.de bP
++.ie n  .IP \(bu 4
++.el    .IP \(bu 2
++..
+ .na
+ .hy 0
+ .SH NAME
+@@ -97,6 +101,29 @@
+ .RE
+ .PP
+ A new full-screen window is created by calling \fBnewwin(0,0,0,0)\fR.
++.PP
++Regardless of the function used for creating a new window
++(e.g., \fBnewwin\fP, \fBsubwin\fP, \fBderwin\fP, \fBnewpad\fP),
++rather than a duplicate (with \fBdupwin\fP),
++all of the window modes are initialized to the default values.
++These functions set window modes after a window is created:
++.RS
++.na
++.PP
++idcok,
++idlok,
++immedok,
++keypad,
++leaveok,
++nodelay,
++scrollok,
++setscrreg,                
++syncok,
++wbkgdset,
++wbkgrndset, and
++wtimeout
++.RE
++.ad
+ .SS delwin
+ .PP
+ Calling \fBdelwin\fR deletes the named window, freeing all memory
+Index: package/debian-mingw/changelog
+--- ncurses-6.2-20210508+/package/debian-mingw/changelog       2021-05-08 
13:20:24.000000000 +0000
++++ ncurses-6.2-20210515/package/debian-mingw/changelog        2021-05-15 
09:37:23.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.2+20210508) unstable; urgency=low
++ncurses6 (6.2+20210515) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 08 May 2021 09:20:24 
-0400
++ -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 15 May 2021 05:37:23 
-0400
+ 
+ ncurses6 (5.9-20131005) unstable; urgency=low
+ 
+Index: package/debian-mingw64/changelog
+--- ncurses-6.2-20210508+/package/debian-mingw64/changelog     2021-05-08 
13:20:24.000000000 +0000
++++ ncurses-6.2-20210515/package/debian-mingw64/changelog      2021-05-15 
09:37:23.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.2+20210508) unstable; urgency=low
++ncurses6 (6.2+20210515) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 08 May 2021 09:20:24 
-0400
++ -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 15 May 2021 05:37:23 
-0400
+ 
+ ncurses6 (5.9-20131005) unstable; urgency=low
+ 
+Index: package/debian/changelog
+--- ncurses-6.2-20210508+/package/debian/changelog     2021-05-08 
13:20:24.000000000 +0000
++++ ncurses-6.2-20210515/package/debian/changelog      2021-05-15 
09:37:23.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.2+20210508) unstable; urgency=low
++ncurses6 (6.2+20210515) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 08 May 2021 09:20:24 
-0400
++ -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 15 May 2021 05:37:23 
-0400
+ 
+ ncurses6 (5.9-20120608) unstable; urgency=low
+ 
+Index: package/mingw-ncurses.nsi
+Prereq:  1.457 
+--- ncurses-6.2-20210508+/package/mingw-ncurses.nsi    2021-05-08 
13:20:24.000000000 +0000
++++ ncurses-6.2-20210515/package/mingw-ncurses.nsi     2021-05-15 
09:37:23.000000000 +0000
+@@ -1,4 +1,4 @@
+-; $Id: mingw-ncurses.nsi,v 1.457 2021/05/08 13:20:24 tom Exp $
++; $Id: mingw-ncurses.nsi,v 1.458 2021/05/15 09:37:23 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  "2021"
+-!define VERSION_MMDD  "0508"
++!define VERSION_MMDD  "0515"
+ !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
+ 
+ !define MY_ABI   "5"
+Index: package/mingw-ncurses.spec
+--- ncurses-6.2-20210508+/package/mingw-ncurses.spec   2021-05-08 
13:20:24.000000000 +0000
++++ ncurses-6.2-20210515/package/mingw-ncurses.spec    2021-05-15 
09:37:23.000000000 +0000
+@@ -3,7 +3,7 @@
+ Summary: shared libraries for terminal handling
+ Name: mingw32-ncurses6
+ Version: 6.2
+-Release: 20210508
++Release: 20210515
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: package/ncurses.spec
+--- ncurses-6.2-20210508+/package/ncurses.spec 2021-05-08 13:20:24.000000000 
+0000
++++ ncurses-6.2-20210515/package/ncurses.spec  2021-05-15 09:37:23.000000000 
+0000
+@@ -1,7 +1,7 @@
+ Summary: shared libraries for terminal handling
+ Name: ncurses6
+ Version: 6.2
+-Release: 20210508
++Release: 20210515
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: package/ncursest.spec
+--- ncurses-6.2-20210508+/package/ncursest.spec        2021-05-08 
13:20:24.000000000 +0000
++++ ncurses-6.2-20210515/package/ncursest.spec 2021-05-15 09:37:23.000000000 
+0000
+@@ -1,7 +1,7 @@
+ Summary: Curses library with POSIX thread support.
+ Name: ncursest6
+ Version: 6.2
+-Release: 20210508
++Release: 20210515
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz

Reply via email to