Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ncurses for openSUSE:Factory checked 
in at 2022-08-18 16:48:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ncurses (Old)
 and      /work/SRC/openSUSE:Factory/.ncurses.new.2083 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ncurses"

Thu Aug 18 16:48:37 2022 rev:222 rq:995133 version:6.3.MACRO

Changes:
--------
--- /work/SRC/openSUSE:Factory/ncurses/ncurses.changes  2022-08-12 
16:06:17.851407547 +0200
+++ /work/SRC/openSUSE:Factory/.ncurses.new.2083/ncurses.changes        
2022-08-18 16:48:42.489381768 +0200
@@ -1,0 +2,13 @@
+Mon Aug 15 07:43:16 UTC 2022 - Dr. Werner Fink <wer...@suse.de>
+
+- Add ncurses patch 20220813
+  + modify delscreen to more effectively delete all windows on the given
+    screen.
+  + amend portability note for delwin in manual page.
+  + adapt test/test_delwin.c from example by Bill Gray.
+  + account for prescreen data if freeing leaks in pthread-configuration
+  + split-out _nc_set_read_thread(), to reduce compiler warnings about
+    pthread_self(), which may/may not be a weak symbol.
+  + improve pthread-configuration for test/worm.c
+
+-------------------------------------------------------------------

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

Other differences:
------------------
++++++ ncurses-6.3-patches.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches/ncurses-6.3-20220813.patch 
new/patches/ncurses-6.3-20220813.patch
--- old/patches/ncurses-6.3-20220813.patch      1970-01-01 01:00:00.000000000 
+0100
+++ new/patches/ncurses-6.3-20220813.patch      2022-08-15 09:38:04.254091592 
+0200
@@ -0,0 +1,1244 @@
+# ncurses 6.3 - patch 20220813 - Thomas E. Dickey
+#
+# 
------------------------------------------------------------------------------
+#
+# Ncurses 6.3 is at
+#   https://invisible-island.net/archives/ncurses/
+#   https://invisible-mirror.net/archives/ncurses/
+#   ftp://ftp.invisible-island.net/ncurses/
+#   https://ftp.gnu.org/gnu/ncurses/
+#
+# Patches for ncurses 6.3 can be found at
+#   https://invisible-island.net/archives/ncurses/6.3
+#   https://invisible-mirror.net/archives/ncurses/6.3
+#   ftp://ftp.invisible-island.net/ncurses/6.3
+#
+# 
------------------------------------------------------------------------------
+# ftp://ftp.invisible-island.net/ncurses/6.3/ncurses-6.3-20220813.patch.gz
+# patch by Thomas E. Dickey <dic...@invisible-island.net>
+# created  Sun Aug 14 00:26:10 UTC 2022
+# 
------------------------------------------------------------------------------
+# MANIFEST                                |    1 
+# NEWS                                    |   12 ++-
+# 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_window.3x.html        |    6 -
+# 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_window.3x                      |    4 -
+# ncurses-6.3-20220813/test/test_delwin.c |  117 ++++++++++++++++++++++++++++++
+# ncurses/base/lib_getch.c                |   25 +-----
+# ncurses/base/lib_mouse.c                |   35 +-------
+# ncurses/base/lib_set_term.c             |   13 ++-
+# ncurses/curses.priv.h                   |    9 +-
+# ncurses/tinfo/entries.c                 |   18 ++++
+# ncurses/tinfo/lib_setup.c               |    6 +
+# ncurses/tinfo/tinfo_driver.c            |   13 +--
+# ncurses/tty/lib_tstp.c                  |   20 ++++-
+# 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/README                             |   46 +++++------
+# test/demo_tabs.c                        |    4 -
+# test/modules                            |    3 
+# test/programs                           |    3 
+# test/worm.c                             |   20 ++---
+# 43 files changed, 276 insertions(+), 139 deletions(-)
+# 
------------------------------------------------------------------------------
+Index: MANIFEST
+--- ncurses-6.3-20220806+/MANIFEST     2022-05-08 00:12:19.000000000 +0000
++++ ncurses-6.3-20220813/MANIFEST      2022-08-13 22:12:22.000000000 +0000
+@@ -1216,6 +1216,7 @@
+ ./test/test_addstr.c
+ ./test/test_addwstr.c
+ ./test/test_arrays.c
++./test/test_delwin.c
+ ./test/test_get_wstr.c
+ ./test/test_getstr.c
+ ./test/test_instr.c
+Index: NEWS
+Prereq:  1.3841 
+--- ncurses-6.3-20220806+/NEWS 2022-08-06 19:13:14.000000000 +0000
++++ ncurses-6.3-20220813/NEWS  2022-08-13 23:42:30.000000000 +0000
+@@ -26,7 +26,7 @@
+ -- sale, use or other dealings in this Software without prior written        
--
+ -- authorization.                                                            
--
+ 
-------------------------------------------------------------------------------
+--- $Id: NEWS,v 1.3841 2022/08/06 19:13:14 tom Exp $
++-- $Id: NEWS,v 1.3846 2022/08/13 23:42:30 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.
+ 
++20220813
++      + modify delscreen to more effectively delete all windows on the given
++        screen.
++      + amend portability note for delwin in manual page.
++      + adapt test/test_delwin.c from example by Bill Gray.
++      + account for prescreen data if freeing leaks in pthread-configuration
++      + split-out _nc_set_read_thread(), to reduce compiler warnings about
++        pthread_self(), which may/may not be a weak symbol.
++      + improve pthread-configuration for test/worm.c
++
+ 20220806
+       + amend end_of_stream() to allow for input files without a final
+         newline.
+Index: VERSION
+--- ncurses-6.3-20220806+/VERSION      2022-08-06 10:14:36.000000000 +0000
++++ ncurses-6.3-20220813/VERSION       2022-08-13 09:43:55.000000000 +0000
+@@ -1 +1 @@
+-5:0:10        6.3     20220806
++5:0:10        6.3     20220813
+Index: dist.mk
+Prereq:  1.1496 
+--- ncurses-6.3-20220806+/dist.mk      2022-08-06 10:14:36.000000000 +0000
++++ ncurses-6.3-20220813/dist.mk       2022-08-13 09:43:55.000000000 +0000
+@@ -26,7 +26,7 @@
+ # use or other dealings in this Software without prior written               #
+ # authorization.                                                             #
+ ##############################################################################
+-# $Id: dist.mk,v 1.1496 2022/08/06 10:14:36 tom Exp $
++# $Id: dist.mk,v 1.1497 2022/08/13 09:43:55 tom Exp $
+ # Makefile for creating ncurses distributions.
+ #
+ # This only needs to be used directly as a makefile by developers, but
+@@ -38,7 +38,7 @@
+ # These define the major/minor/patch versions of ncurses.
+ NCURSES_MAJOR = 6
+ NCURSES_MINOR = 3
+-NCURSES_PATCH = 20220806
++NCURSES_PATCH = 20220813
+ 
+ # We don't append the patch to the version, since this only applies to 
releases
+ VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
+Index: doc/html/man/adacurses6-config.1.html
+--- ncurses-6.3-20220806+/doc/html/man/adacurses6-config.1.html        
2022-07-24 10:11:06.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/adacurses6-config.1.html 2022-08-13 
23:39:40.000000000 +0000
+@@ -126,7 +126,7 @@
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220724).
++       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220813).
+ 
+ 
+ 
+Index: doc/html/man/captoinfo.1m.html
+--- ncurses-6.3-20220806+/doc/html/man/captoinfo.1m.html       2022-07-24 
10:11:06.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/captoinfo.1m.html        2022-08-13 
23:39:40.000000000 +0000
+@@ -199,7 +199,7 @@
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A 
HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A 
HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220724).
++       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220813).
+ 
+ 
+ </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+Index: doc/html/man/clear.1.html
+--- ncurses-6.3-20220806+/doc/html/man/clear.1.html    2022-07-24 
10:11:06.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/clear.1.html     2022-08-13 
23:39:40.000000000 +0000
+@@ -150,7 +150,7 @@
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+        <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A 
HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG>xterm(1)</STRONG>.
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220724).
++       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220813).
+ 
+ 
+ 
+Index: doc/html/man/curs_window.3x.html
+--- ncurses-6.3-20220806+/doc/html/man/curs_window.3x.html     2022-07-24 
15:49:42.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/curs_window.3x.html      2022-08-13 
23:39:43.000000000 +0000
+@@ -27,7 +27,7 @@
+   * sale, use or other dealings in this Software without prior written       *
+   * authorization.                                                           *
+   ****************************************************************************
+-  * @Id: curs_window.3x,v 1.27 2022/07/24 15:35:15 tom Exp @
++  * @Id: curs_window.3x,v 1.28 2022/08/13 23:24:22 tom Exp @
+ -->
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <HTML>
+@@ -241,8 +241,8 @@
+            ent window which still has subwindows.
+ 
+        <STRONG>o</STRONG>   Since release 4.0 (1996), ncurses maintains a 
list of  windows  for
+-           each  screen,  and  is  able  to recursively delete subwindows when
+-           asked to delete their parent.
++           each  screen,  to ensure that a window has no subwindows before al-
++           lowing deletion.
+ 
+        <STRONG>o</STRONG>   NetBSD copied this feature of ncurses in 2003.
+            PDCurses follows the scheme used in Solaris X/Open curses.
+Index: doc/html/man/form.3x.html
+--- ncurses-6.3-20220806+/doc/html/man/form.3x.html    2022-07-24 
10:11:10.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/form.3x.html     2022-08-13 
23:39:43.000000000 +0000
+@@ -248,7 +248,7 @@
+        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related 
pages whose names  begin  "form_"  for  detailed
+        descriptions of the entry points.
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220724).
++       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220813).
+ 
+ 
+ 
+Index: doc/html/man/infocmp.1m.html
+--- ncurses-6.3-20220806+/doc/html/man/infocmp.1m.html 2022-07-24 
10:11:12.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/infocmp.1m.html  2022-08-13 
23:39:44.000000000 +0000
+@@ -514,7 +514,7 @@
+ 
+        https://invisible-island.net/ncurses/tctest.html
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220724).
++       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220813).
+ 
+ 
+ </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+Index: doc/html/man/infotocap.1m.html
+--- ncurses-6.3-20220806+/doc/html/man/infotocap.1m.html       2022-07-24 
10:11:12.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/infotocap.1m.html        2022-08-13 
23:39:44.000000000 +0000
+@@ -91,7 +91,7 @@
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A 
HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A 
HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A 
HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220724).
++       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220813).
+ 
+ 
+ </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+Index: doc/html/man/menu.3x.html
+--- ncurses-6.3-20220806+/doc/html/man/menu.3x.html    2022-07-24 
10:11:12.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/menu.3x.html     2022-08-13 
23:39:45.000000000 +0000
+@@ -223,7 +223,7 @@
+        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related 
pages whose names  begin  "menu_"  for  detailed
+        descriptions of the entry points.
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220724).
++       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220813).
+ 
+ 
+ 
+Index: doc/html/man/ncurses.3x.html
+--- ncurses-6.3-20220806+/doc/html/man/ncurses.3x.html 2022-07-24 
10:11:13.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/ncurses.3x.html  2022-08-13 
23:39:46.000000000 +0000
+@@ -60,7 +60,7 @@
+        method of updating  character  screens  with  reasonable  optimization.
+        This  implementation  is  "new  curses"  (ncurses)  and is the approved
+        replacement for 4.4BSD classic curses,  which  has  been  discontinued.
+-       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220724).
++       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220813).
+ 
+        The  <STRONG>ncurses</STRONG>  library emulates the curses library of 
System V Release 4
+        UNIX, and XPG4 (X/Open Portability Guide) curses  (also  known  as  XSI
+Index: doc/html/man/ncurses6-config.1.html
+--- ncurses-6.3-20220806+/doc/html/man/ncurses6-config.1.html  2022-07-24 
10:11:13.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/ncurses6-config.1.html   2022-08-13 
23:39:46.000000000 +0000
+@@ -113,7 +113,7 @@
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220724).
++       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220813).
+ 
+ 
+ 
+Index: doc/html/man/panel.3x.html
+--- ncurses-6.3-20220806+/doc/html/man/panel.3x.html   2022-07-24 
10:11:13.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/panel.3x.html    2022-08-13 
23:39:46.000000000 +0000
+@@ -281,7 +281,7 @@
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A 
HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220724).
++       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220813).
+ 
+ 
+ </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+Index: doc/html/man/tabs.1.html
+--- ncurses-6.3-20220806+/doc/html/man/tabs.1.html     2022-07-24 
10:11:14.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/tabs.1.html      2022-08-13 
23:39:46.000000000 +0000
+@@ -252,7 +252,7 @@
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A 
HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A 
HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A 
HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220724).
++       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220813).
+ 
+ 
+ 
+Index: doc/html/man/terminfo.5.html
+--- ncurses-6.3-20220806+/doc/html/man/terminfo.5.html 2022-07-24 
10:11:14.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/terminfo.5.html  2022-08-13 
23:39:47.000000000 +0000
+@@ -106,7 +106,7 @@
+        have, by specifying how to perform screen operations, and by specifying
+        padding requirements and initialization sequences.
+ 
+-       This manual describes <STRONG>ncurses</STRONG> version 6.3 (patch 
20220724).
++       This manual describes <STRONG>ncurses</STRONG> version 6.3 (patch 
20220813).
+ 
+ 
+ </PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry 
Syntax</a></H3><PRE>
+Index: doc/html/man/tic.1m.html
+--- ncurses-6.3-20220806+/doc/html/man/tic.1m.html     2022-07-24 
10:11:14.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/tic.1m.html      2022-08-13 
23:39:47.000000000 +0000
+@@ -461,7 +461,7 @@
+        <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A 
HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,   <STRONG><A 
HREF="toe.1m.html">toe(1m)</A></STRONG>,   <STRONG><A 
HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
+        <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.  <STRONG><A 
HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  <STRONG><A 
HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220724).
++       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220813).
+ 
+ 
+ </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+Index: doc/html/man/toe.1m.html
+--- ncurses-6.3-20220806+/doc/html/man/toe.1m.html     2022-07-24 
10:11:14.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/toe.1m.html      2022-08-13 
23:39:47.000000000 +0000
+@@ -171,7 +171,7 @@
+        <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A 
HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,   <STRONG><A 
HREF="tic.1m.html">tic(1m)</A></STRONG>,   <STRONG><A 
HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
+        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220724).
++       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220813).
+ 
+ 
+ 
+Index: doc/html/man/tput.1.html
+--- ncurses-6.3-20220806+/doc/html/man/tput.1.html     2022-07-24 
10:11:14.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/tput.1.html      2022-08-13 
23:39:47.000000000 +0000
+@@ -545,7 +545,7 @@
+ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+        <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, 
<STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, 
<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A 
HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A 
HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220724).
++       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220813).
+ 
+ 
+ 
+Index: doc/html/man/tset.1.html
+--- ncurses-6.3-20220806+/doc/html/man/tset.1.html     2022-07-24 
10:11:14.000000000 +0000
++++ ncurses-6.3-20220813/doc/html/man/tset.1.html      2022-08-13 
23:39:47.000000000 +0000
+@@ -391,7 +391,7 @@
+        <STRONG>csh(1)</STRONG>,   <STRONG>sh(1)</STRONG>,   
<STRONG>stty(1)</STRONG>,   <STRONG><A 
HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,  
<STRONG>tty(4)</STRONG>,  <STRONG><A 
HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
+        <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
+ 
+-       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220724).
++       This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220813).
+ 
+ 
+ 
+Index: man/curs_window.3x
+Prereq:  1.27 
+--- ncurses-6.3-20220806+/man/curs_window.3x   2022-07-24 15:35:15.000000000 
+0000
++++ ncurses-6.3-20220813/man/curs_window.3x    2022-08-13 23:24:22.000000000 
+0000
+@@ -27,7 +27,7 @@
+ .\" authorization.                                                           *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_window.3x,v 1.27 2022/07/24 15:35:15 tom Exp $
++.\" $Id: curs_window.3x,v 1.28 2022/08/13 23:24:22 tom Exp $
+ .TH curs_window 3X ""
+ .de bP
+ .ie n  .IP \(bu 4
+@@ -269,7 +269,7 @@
+ and will delete a parent window which still has subwindows.
+ .bP
+ Since release 4.0 (1996), ncurses maintains a list of windows for each screen,
+-and is able to recursively delete subwindows when asked to delete their 
parent.
++to ensure that a window has no subwindows before allowing deletion.
+ .bP
+ NetBSD copied this feature of ncurses in 2003.
+ .br
+Index: ncurses/base/lib_getch.c
+Prereq:  1.143 
+--- ncurses-6.3-20220806+/ncurses/base/lib_getch.c     2021-10-23 
17:06:20.000000000 +0000
++++ ncurses-6.3-20220813/ncurses/base/lib_getch.c      2022-08-13 
14:36:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2020,2021 Thomas E. Dickey                                *
++ * Copyright 2018-2021,2022 Thomas E. Dickey                                *
+  * Copyright 1998-2015,2016 Free Software Foundation, Inc.                  *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+@@ -44,7 +44,7 @@
+ #define NEED_KEY_EVENT
+ #include <curses.priv.h>
+ 
+-MODULE_ID("$Id: lib_getch.c,v 1.143 2021/10/23 17:06:20 tom Exp $")
++MODULE_ID("$Id: lib_getch.c,v 1.144 2022/08/13 14:36:43 tom Exp $")
+ 
+ #include <fifo_defs.h>
+ 
+@@ -309,16 +309,11 @@
+       int buf;
+ # if defined(EXP_WIN32_DRIVER)
+       if (NC_ISATTY(sp->_ifd) && IsTermInfoOnConsole(sp) && sp->_cbreak) {
+-#  if USE_PTHREADS_EINTR
+-          if ((pthread_self) && (pthread_kill) && (pthread_equal))
+-              _nc_globals.read_thread = pthread_self();
+-#  endif
++          _nc_set_read_thread(TRUE);
+           n = _nc_console_read(sp,
+                                _nc_console_handle(sp->_ifd),
+                                &buf);
+-#  if USE_PTHREADS_EINTR
+-          _nc_globals.read_thread = 0;
+-#  endif
++          _nc_set_read_thread(FALSE);
+       } else
+ # elif defined(_NC_WINDOWS)
+       if (NC_ISATTY(sp->_ifd) && IsTermInfoOnConsole(sp) && sp->_cbreak)
+@@ -334,12 +329,8 @@
+       int buf;
+ #endif
+       unsigned char c2 = 0;
+-#if USE_PTHREADS_EINTR
+-#if USE_WEAK_SYMBOLS
+-      if ((pthread_self) && (pthread_kill) && (pthread_equal))
+-#endif
+-          _nc_globals.read_thread = pthread_self();
+-#endif
++
++      _nc_set_read_thread(TRUE);
+ #if defined(EXP_WIN32_DRIVER)
+       n = _nc_console_read(sp,
+                            _nc_console_handle(sp->_ifd),
+@@ -348,9 +339,7 @@
+ #else
+       n = (int) read(sp->_ifd, &c2, (size_t) 1);
+ #endif
+-#if USE_PTHREADS_EINTR
+-      _nc_globals.read_thread = 0;
+-#endif
++      _nc_set_read_thread(FALSE);
+       ch = c2;
+ #endif /* USE_TERM_DRIVER */
+     }
+Index: ncurses/base/lib_mouse.c
+Prereq:  1.196 
+--- ncurses-6.3-20220806+/ncurses/base/lib_mouse.c     2022-04-30 
23:21:34.000000000 +0000
++++ ncurses-6.3-20220813/ncurses/base/lib_mouse.c      2022-08-13 
14:13:12.000000000 +0000
+@@ -85,7 +85,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+ 
+-MODULE_ID("$Id: lib_mouse.c,v 1.196 2022/04/30 23:21:34 tom Exp $")
++MODULE_ID("$Id: lib_mouse.c,v 1.197 2022/08/13 14:13:12 tom Exp $")
+ 
+ #include <tic.h>
+ 
+@@ -1085,12 +1085,7 @@
+     int res;
+     bool result;
+ 
+-# if USE_PTHREADS_EINTR
+-#  if USE_WEAK_SYMBOLS
+-    if ((pthread_self) && (pthread_kill) && (pthread_equal))
+-#  endif
+-      _nc_globals.read_thread = pthread_self();
+-# endif
++    _nc_set_read_thread(TRUE);
+     for (grabbed = 0; grabbed < MAX_KBUF; grabbed += (size_t) res) {
+ 
+       /* For VIO mouse we add extra bit 64 to disambiguate button-up. */
+@@ -1104,9 +1099,7 @@
+       if (res == -1)
+           break;
+     }
+-#if USE_PTHREADS_EINTR
+-    _nc_globals.read_thread = 0;
+-#endif
++    _nc_set_read_thread(FALSE);
+     kbuf[MAX_KBUF] = '\0';
+ 
+     TR(TRACE_IEVENT,
+@@ -1140,12 +1133,7 @@
+     coords[0] = 0;
+     coords[1] = 0;
+ 
+-# if USE_PTHREADS_EINTR
+-#  if USE_WEAK_SYMBOLS
+-    if ((pthread_self) && (pthread_kill) && (pthread_equal))
+-#  endif
+-      _nc_globals.read_thread = pthread_self();
+-# endif
++    _nc_set_read_thread(TRUE);
+     for (grabbed = 0; grabbed < limit;) {
+       int res;
+ 
+@@ -1178,9 +1166,7 @@
+               break;
+       }
+     }
+-#if USE_PTHREADS_EINTR
+-    _nc_globals.read_thread = 0;
+-#endif
++    _nc_set_read_thread(FALSE);
+ 
+     TR(TRACE_IEVENT,
+        ("_nc_mouse_inline sees the following xterm data: %s",
+@@ -1224,12 +1210,7 @@
+     int marker = 1;
+ 
+     memset(result, 0, sizeof(*result));
+-# if USE_PTHREADS_EINTR
+-#  if USE_WEAK_SYMBOLS
+-    if ((pthread_self) && (pthread_kill) && (pthread_equal))
+-#  endif
+-      _nc_globals.read_thread = pthread_self();
+-# endif
++    _nc_set_read_thread(TRUE);
+ 
+     do {
+       int res;
+@@ -1294,9 +1275,7 @@
+       }
+       ++grabbed;
+     } while (!isFinal(ch));
+-#if USE_PTHREADS_EINTR
+-    _nc_globals.read_thread = 0;
+-#endif
++    _nc_set_read_thread(FALSE);
+ 
+     kbuf[++grabbed] = 0;
+     TR(TRACE_IEVENT,
+Index: ncurses/base/lib_set_term.c
+Prereq:  1.181 
+--- ncurses-6.3-20220806+/ncurses/base/lib_set_term.c  2022-07-21 
23:35:21.000000000 +0000
++++ ncurses-6.3-20220813/ncurses/base/lib_set_term.c   2022-08-13 
23:14:26.000000000 +0000
+@@ -54,7 +54,7 @@
+ #undef CUR
+ #define CUR SP_TERMTYPE
+ 
+-MODULE_ID("$Id: lib_set_term.c,v 1.181 2022/07/21 23:35:21 tom Exp $")
++MODULE_ID("$Id: lib_set_term.c,v 1.182 2022/08/13 23:14:26 tom Exp $")
+ 
+ #ifdef USE_TERM_DRIVER
+ #define MaxColors      InfoOf(sp).maxcolors
+@@ -146,6 +146,7 @@
+ 
+     _nc_lock_global(curses);
+     if (delink_screen(sp)) {
++      WINDOWLIST *wl;
+       bool is_current = (sp == CURRENT_SCREEN);
+ 
+ #ifdef USE_SP_RIPOFF
+@@ -162,9 +163,13 @@
+       }
+ #endif
+ 
+-      (void) _nc_freewin(CurScreen(sp));
+-      (void) _nc_freewin(NewScreen(sp));
+-      (void) _nc_freewin(StdScreen(sp));
++      /* delete all of the windows in this screen */
++      rescan:
++      for (each_window(sp, wl)) {
++          if (_nc_freewin(&(wl->win)) == OK) {
++              goto rescan;
++          }
++      }
+ 
+       if (sp->_slk != 0) {
+ 
+Index: ncurses/curses.priv.h
+Prereq:  1.650 
+--- ncurses-6.3-20220806+/ncurses/curses.priv.h        2022-05-01 
14:41:33.000000000 +0000
++++ ncurses-6.3-20220813/ncurses/curses.priv.h 2022-08-13 14:35:01.000000000 
+0000
+@@ -35,7 +35,7 @@
+  ****************************************************************************/
+ 
+ /*
+- * $Id: curses.priv.h,v 1.650 2022/05/01 14:41:33 tom Exp $
++ * $Id: curses.priv.h,v 1.651 2022/08/13 14:35:01 tom Exp $
+  *
+  *    curses.priv.h
+  *
+@@ -672,9 +672,14 @@
+ #define _nc_lock_global(name) /* nothing */
+ #define _nc_try_global(name)    0
+ #define _nc_unlock_global(name)       /* nothing */
+-
+ #endif /* USE_PTHREADS */
+ 
++#if USE_PTHREADS_EINTR || defined(EXP_WIN32_DRIVER)
++extern NCURSES_EXPORT(void) _nc_set_read_thread(bool);
++#else
++#define _nc_set_read_thread(enable)   /* nothing */
++#endif
++
+ /*
+  * When using sp-funcs, locks are targeted to SCREEN-level granularity.
+  * So the locking is done in the non-sp-func (which calls the sp-func) rather
+Index: ncurses/tinfo/entries.c
+Prereq:  1.33 
+--- ncurses-6.3-20220806+/ncurses/tinfo/entries.c      2022-05-07 
17:08:11.000000000 +0000
++++ ncurses-6.3-20220813/ncurses/tinfo/entries.c       2022-08-13 
16:57:35.000000000 +0000
+@@ -38,7 +38,7 @@
+ 
+ #include <tic.h>
+ 
+-MODULE_ID("$Id: entries.c,v 1.33 2022/05/07 17:08:11 tom Exp $")
++MODULE_ID("$Id: entries.c,v 1.34 2022/08/13 16:57:35 tom Exp $")
+ 
+ /****************************************************************************
+  *
+@@ -125,6 +125,22 @@
+     _nc_free_tparm(cur_term);
+     _nc_tgetent_leaks();
+ 
++#ifdef USE_PTHREADS
++    /*
++     * Discard any prescreen data which is not used for the current screen.
++     */
++    _nc_lock_global(screen);
++    {
++      PRESCREEN_LIST *p;
++      pthread_t id = GetThreadID();
++      for (p = _nc_prescreen.allocated; p != 0; p = p->next) {
++          if (p->id == id && p->sp != CURRENT_SCREEN) {
++              FreeAndNull(p->sp);
++          }
++      }
++    }
++    _nc_unlock_global(screen);
++#endif
+     if (TerminalOf(CURRENT_SCREEN) != 0) {
+       del_curterm(TerminalOf(CURRENT_SCREEN));
+     }
+Index: ncurses/tinfo/lib_setup.c
+Prereq:  1.217 
+--- ncurses-6.3-20220806+/ncurses/tinfo/lib_setup.c    2022-07-21 
08:24:50.000000000 +0000
++++ ncurses-6.3-20220813/ncurses/tinfo/lib_setup.c     2022-08-13 
18:12:22.000000000 +0000
+@@ -49,7 +49,7 @@
+ #include <locale.h>
+ #endif
+ 
+-MODULE_ID("$Id: lib_setup.c,v 1.217 2022/07/21 08:24:50 tom Exp $")
++MODULE_ID("$Id: lib_setup.c,v 1.218 2022/08/13 18:12:22 tom Exp $")
+ 
+ /****************************************************************************
+  *
+@@ -831,7 +831,7 @@
+       if (NC_ISATTY(Filedes)) {
+           NCURSES_SP_NAME(def_shell_mode) (NCURSES_SP_ARG);
+           NCURSES_SP_NAME(def_prog_mode) (NCURSES_SP_ARG);
+-          NCURSES_SP_NAME(baudrate)(NCURSES_SP_ARG);
++          NCURSES_SP_NAME(baudrate) (NCURSES_SP_ARG);
+       }
+       code = OK;
+ #endif
+@@ -908,6 +908,7 @@
+ {
+     PRESCREEN_LIST *p, *q;
+     pthread_t id = GetThreadID();
++    _nc_lock_global(screen);
+     for (p = _nc_prescreen.allocated, q = 0; p != 0; q = p, p = p->next) {
+       if (p->id == id) {
+           if (q) {
+@@ -919,6 +920,7 @@
+           break;
+       }
+     }
++    _nc_unlock_global(screen);
+ }
+ #endif /* USE_PTHREADS */
+ 
+Index: ncurses/tinfo/tinfo_driver.c
+Prereq:  1.72 
+--- ncurses-6.3-20220806+/ncurses/tinfo/tinfo_driver.c 2021-06-17 
21:30:22.000000000 +0000
++++ ncurses-6.3-20220813/ncurses/tinfo/tinfo_driver.c  2022-08-13 
14:36:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2018-2020,2021 Thomas E. Dickey                                *
++ * Copyright 2018-2021,2022 Thomas E. Dickey                                *
+  * Copyright 2008-2016,2017 Free Software Foundation, Inc.                  *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+@@ -52,7 +52,7 @@
+ # endif
+ #endif
+ 
+-MODULE_ID("$Id: tinfo_driver.c,v 1.72 2021/06/17 21:30:22 tom Exp $")
++MODULE_ID("$Id: tinfo_driver.c,v 1.73 2022/08/13 14:36:43 tom Exp $")
+ 
+ /*
+  * SCO defines TIOCGSIZE and the corresponding struct.  Other systems (SunOS,
+@@ -1282,10 +1282,7 @@
+     assert(buf);
+     SetSP();
+ 
+-# if USE_PTHREADS_EINTR
+-    if ((pthread_self) && (pthread_kill) && (pthread_equal))
+-      _nc_globals.read_thread = pthread_self();
+-# endif
++    _nc_set_read_thread(TRUE);
+ #ifdef EXP_WIN32_DRIVER
+     n = _nc_console_read(sp,
+                        _nc_console_handle(sp->_ifd),
+@@ -1293,9 +1290,7 @@
+ #else
+     n = (int) read(sp->_ifd, &c2, (size_t) 1);
+ #endif
+-#if USE_PTHREADS_EINTR
+-    _nc_globals.read_thread = 0;
+-#endif
++    _nc_set_read_thread(FALSE);
+ #ifndef EXP_WIN32_DRIVER
+     *buf = (int) c2;
+ #endif
+Index: ncurses/tty/lib_tstp.c
+Prereq:  1.51 
+--- ncurses-6.3-20220806+/ncurses/tty/lib_tstp.c       2021-09-04 
10:54:35.000000000 +0000
++++ ncurses-6.3-20220813/ncurses/tty/lib_tstp.c        2022-08-13 
14:36:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020,2021 Thomas E. Dickey                                     *
++ * Copyright 2020-2021,2022 Thomas E. Dickey                                *
+  * Copyright 1998-2014,2017 Free Software Foundation, Inc.                  *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+@@ -43,7 +43,7 @@
+ 
+ #include <SigAction.h>
+ 
+-MODULE_ID("$Id: lib_tstp.c,v 1.51 2021/09/04 10:54:35 tom Exp $")
++MODULE_ID("$Id: lib_tstp.c,v 1.52 2022/08/13 14:36:43 tom Exp $")
+ 
+ #if defined(SIGTSTP) && (HAVE_SIGACTION || HAVE_SIGVEC)
+ #define USE_SIGTSTP 1
+@@ -284,6 +284,22 @@
+ }
+ 
+ #if USE_SIGWINCH
++
++# ifndef _nc_set_read_thread
++NCURSES_EXPORT(void)
++_nc_set_read_thread(bool enable)
++{
++    if (enable) {
++#  if USE_WEAK_SYMBOLS
++      if ((pthread_self) && (pthread_kill) && (pthread_equal))
++#  endif
++          _nc_globals.read_thread = pthread_self();
++    } else {
++      _nc_globals.read_thread = 0;
++    }
++}
++# endif
++
+ static void
+ handle_SIGWINCH(int sig GCC_UNUSED)
+ {
+Index: package/debian-mingw/changelog
+--- ncurses-6.3-20220806+/package/debian-mingw/changelog       2022-08-06 
10:14:36.000000000 +0000
++++ ncurses-6.3-20220813/package/debian-mingw/changelog        2022-08-13 
09:43:55.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.3+20220806) unstable; urgency=low
++ncurses6 (6.3+20220813) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 06 Aug 2022 06:14:36 
-0400
++ -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 13 Aug 2022 05:43:55 
-0400
+ 
+ ncurses6 (5.9-20131005) unstable; urgency=low
+ 
+Index: package/debian-mingw64/changelog
+--- ncurses-6.3-20220806+/package/debian-mingw64/changelog     2022-08-06 
10:14:36.000000000 +0000
++++ ncurses-6.3-20220813/package/debian-mingw64/changelog      2022-08-13 
09:43:55.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.3+20220806) unstable; urgency=low
++ncurses6 (6.3+20220813) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 06 Aug 2022 06:14:36 
-0400
++ -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 13 Aug 2022 05:43:55 
-0400
+ 
+ ncurses6 (5.9-20131005) unstable; urgency=low
+ 
+Index: package/debian/changelog
+--- ncurses-6.3-20220806+/package/debian/changelog     2022-08-06 
10:14:36.000000000 +0000
++++ ncurses-6.3-20220813/package/debian/changelog      2022-08-13 
09:43:55.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.3+20220806) unstable; urgency=low
++ncurses6 (6.3+20220813) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 06 Aug 2022 06:14:36 
-0400
++ -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 13 Aug 2022 05:43:55 
-0400
+ 
+ ncurses6 (5.9-20120608) unstable; urgency=low
+ 
+Index: package/mingw-ncurses.nsi
+Prereq:  1.536 
+--- ncurses-6.3-20220806+/package/mingw-ncurses.nsi    2022-08-06 
10:14:36.000000000 +0000
++++ ncurses-6.3-20220813/package/mingw-ncurses.nsi     2022-08-13 
09:43:55.000000000 +0000
+@@ -1,4 +1,4 @@
+-; $Id: mingw-ncurses.nsi,v 1.536 2022/08/06 10:14:36 tom Exp $
++; $Id: mingw-ncurses.nsi,v 1.537 2022/08/13 09:43:55 tom Exp $
+ 
+ ; TODO add examples
+ ; TODO bump ABI to 6
+@@ -10,7 +10,7 @@
+ !define VERSION_MAJOR "6"
+ !define VERSION_MINOR "3"
+ !define VERSION_YYYY  "2022"
+-!define VERSION_MMDD  "0806"
++!define VERSION_MMDD  "0813"
+ !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
+ 
+ !define MY_ABI   "5"
+Index: package/mingw-ncurses.spec
+--- ncurses-6.3-20220806+/package/mingw-ncurses.spec   2022-08-06 
10:14:36.000000000 +0000
++++ ncurses-6.3-20220813/package/mingw-ncurses.spec    2022-08-13 
09:43:55.000000000 +0000
+@@ -3,7 +3,7 @@
+ Summary: shared libraries for terminal handling
+ Name: mingw32-ncurses6
+ Version: 6.3
+-Release: 20220806
++Release: 20220813
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: package/ncurses.spec
+--- ncurses-6.3-20220806+/package/ncurses.spec 2022-08-06 10:14:36.000000000 
+0000
++++ ncurses-6.3-20220813/package/ncurses.spec  2022-08-13 09:43:55.000000000 
+0000
+@@ -1,7 +1,7 @@
+ Summary: shared libraries for terminal handling
+ Name: ncurses6
+ Version: 6.3
+-Release: 20220806
++Release: 20220813
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: package/ncursest.spec
+--- ncurses-6.3-20220806+/package/ncursest.spec        2022-08-06 
10:14:36.000000000 +0000
++++ ncurses-6.3-20220813/package/ncursest.spec 2022-08-13 09:43:55.000000000 
+0000
+@@ -1,7 +1,7 @@
+ Summary: Curses library with POSIX thread support.
+ Name: ncursest6
+ Version: 6.3
+-Release: 20220806
++Release: 20220813
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: test/README
+Prereq:  1.76 
+--- ncurses-6.3-20220806+/test/README  2022-06-04 23:25:37.000000000 +0000
++++ ncurses-6.3-20220813/test/README   2022-08-13 23:34:33.000000000 +0000
+@@ -26,7 +26,7 @@
+ -- sale, use or other dealings in this Software without prior written        
--
+ -- authorization.                                                            
--
+ 
-------------------------------------------------------------------------------
+--- $Id: README,v 1.76 2022/06/04 23:25:37 tom Exp $
++-- $Id: README,v 1.77 2022/08/13 23:34:33 tom Exp $
+ 
-------------------------------------------------------------------------------
+ 
+ The programs in this directory are used to test and demonstrate ncurses.
+@@ -234,9 +234,9 @@
+ COLORS                                test: color_content demo_new_pair 
dots_curses dots_xcurses echochar ncurses pair_content picsmap savescreen xmas
+ COLOR_PAIR                    test: background blue bs cardfile clip_printw 
demo_forms demo_menus demo_panels dots_curses dup_field echochar filter 
firework gdc hanoi ins_wide insdelln inserts knight move_field ncurses newdemo 
padview picsmap rain savescreen tclock test_add_wchstr test_addchstr 
test_addstr test_addwstr testaddch testcurs view worm xmas
+ COLOR_PAIRS                   test: demo_new_pair dots_curses dots_xcurses 
echochar ncurses newdemo pair_content
+-COLS                          test: cardfile combine demo_altkeys demo_defkey 
demo_forms demo_keyok demo_menus demo_panels demo_tabs ditto dots_curses 
dots_xcurses echochar filter firework foldkeys hashtest inch_wide inchs 
ins_wide inserts lrtest movewindow ncurses newdemo padview picsmap rain 
savescreen tclock test_add_wchstr test_addchstr test_addstr test_addwstr 
test_get_wstr test_getstr test_instr test_inwstr test_opaque testcurs view worm
++COLS                          test: cardfile combine demo_altkeys demo_defkey 
demo_forms demo_keyok demo_menus demo_panels demo_tabs ditto dots_curses 
dots_xcurses echochar filter firework foldkeys hashtest inch_wide inchs 
ins_wide inserts lrtest movewindow ncurses newdemo padview picsmap rain 
savescreen tclock test_add_wchstr test_addchstr test_addstr test_addwstr 
test_delwin test_get_wstr test_getstr test_instr test_inwstr test_opaque 
testcurs view worm
+ ESCDELAY                      test: test_opaque
+-LINES                         test: cardfile combine demo_defkey demo_keyok 
demo_menus demo_panels demo_tabs ditto dots_curses dots_xcurses echochar 
firework hanoi hashtest inch_wide inchs ins_wide inserts lrtest move_field 
movewindow ncurses newdemo padview picsmap rain savescreen tclock 
test_add_wchstr test_addchstr test_addstr test_addwstr test_get_wstr 
test_getstr test_instr test_inwstr test_opaque testcurs view worm xmas
++LINES                         test: cardfile combine demo_defkey demo_keyok 
demo_menus demo_panels demo_tabs ditto dots_curses dots_xcurses echochar 
firework hanoi hashtest inch_wide inchs ins_wide inserts lrtest move_field 
movewindow ncurses newdemo padview picsmap rain savescreen tclock 
test_add_wchstr test_addchstr test_addstr test_addwstr test_delwin 
test_get_wstr test_getstr test_instr test_inwstr test_opaque testcurs view worm 
xmas
+ PAIR_NUMBER                   test: dump_window ncurses
+ PC                            test: demo_termcap
+ SP                            lib: form
+@@ -277,11 +277,11 @@
+ boolnames                     test: demo_terminfo test_arrays progs: 
dump_entry infocmp
+ border                                -
+ border_set                    -
+-box                           test: cardfile chgat clip_printw demo_forms 
demo_menus demo_panels ditto inch_wide inchs ins_wide insdelln inserts lrtest 
ncurses newdemo popup_msg redraw test_add_wchstr test_addchstr test_addstr 
test_addwstr test_get_wstr test_getstr test_instr test_inwstr test_opaque 
testcurs
++box                           test: cardfile chgat clip_printw demo_forms 
demo_menus demo_panels ditto inch_wide inchs ins_wide insdelln inserts lrtest 
ncurses newdemo popup_msg redraw test_add_wchstr test_addchstr test_addstr 
test_addwstr test_delwin test_get_wstr test_getstr test_instr test_inwstr 
test_opaque testcurs
+ box_set                               test: ncurses
+ can_change_color              test: color_content extended_color ncurses
+ can_change_color_sp           test: extended_color
+-cbreak                                test: back_ground background blue bs 
cardfile chgat clip_printw color_content color_set combine demo_altkeys 
demo_defkey demo_forms demo_keyok demo_menus demo_new_pair demo_panels 
demo_tabs ditto dup_field extended_color filter firework foldkeys form_driver_w 
gdc hanoi hashtest inch_wide inchs ins_wide insdelln inserts knight lrtest 
move_field movewindow ncurses newdemo padview pair_content picsmap savescreen 
tclock test_add_wchstr test_addchstr test_addstr test_addwstr test_get_wstr 
test_getstr test_instr test_inwstr test_mouse test_opaque test_unget_wch 
testcurs view worm xmas
++cbreak                                test: back_ground background blue bs 
cardfile chgat clip_printw color_content color_set combine demo_altkeys 
demo_defkey demo_forms demo_keyok demo_menus demo_new_pair demo_panels 
demo_tabs ditto dup_field extended_color filter firework foldkeys form_driver_w 
gdc hanoi hashtest inch_wide inchs ins_wide insdelln inserts knight lrtest 
move_field movewindow ncurses newdemo padview pair_content picsmap savescreen 
tclock test_add_wchstr test_addchstr test_addstr test_addwstr test_delwin 
test_get_wstr test_getstr test_instr test_inwstr test_mouse test_opaque 
test_unget_wch testcurs view worm xmas
+ cbreak_sp                     test: sp_tinfo
+ chgat                         test: chgat
+ clear                         test: blue bs filter gdc ncurses padview 
testcurs xmas
+@@ -310,9 +310,9 @@
+ delay_output_sp                       test: sp_tinfo
+ delch                         -
+ deleteln                      test: insdelln
+-delscreen                     test: ditto dots_mvcur
+-delwin                                test: cardfile chgat clip_printw 
demo_forms demo_panels dup_field inch_wide inchs ins_wide insdelln inserts 
move_field ncurses newdemo padview popup_msg redraw test_add_wchstr 
test_addchstr test_addstr test_addwstr test_get_wstr test_getstr test_instr 
test_inwstr test_opaque testcurs view
+-derwin                                test: cardfile chgat clip_printw 
demo_forms demo_menus ditto inch_wide inchs ins_wide insdelln inserts 
movewindow ncurses test_add_wchstr test_addchstr test_addstr test_addwstr 
test_get_wstr test_getstr test_instr test_inwstr test_opaque
++delscreen                     test: ditto dots_mvcur test_delwin
++delwin                                test: cardfile chgat clip_printw 
demo_forms demo_panels dup_field inch_wide inchs ins_wide insdelln inserts 
move_field ncurses newdemo padview popup_msg redraw test_add_wchstr 
test_addchstr test_addstr test_addwstr test_delwin test_get_wstr test_getstr 
test_instr test_inwstr test_opaque testcurs view
++derwin                                test: cardfile chgat clip_printw 
demo_forms demo_menus ditto inch_wide inchs ins_wide insdelln inserts 
movewindow ncurses test_add_wchstr test_addchstr test_addstr test_addwstr 
test_delwin test_get_wstr test_getstr test_instr test_inwstr test_opaque
+ doupdate                      test: cardfile demo_menus demo_panels ditto 
ins_wide inserts knight movewindow ncurses padview popup_msg redraw savescreen 
test_add_wchstr test_addchstr test_addstr test_addwstr test_get_wstr test_getstr
+ doupdate_sp                   lib: ncurses
+ dupwin                                test: popup_msg
+@@ -320,14 +320,14 @@
+ echo_sp                               lib: ncurses
+ echo_wchar                    test: ncurses
+ echochar                      test: echochar ncurses
+-endwin                                test: back_ground background blue bs 
cardfile chgat clip_printw color_content color_set combine demo_altkeys 
demo_defkey demo_forms demo_keyok demo_menus demo_new_pair demo_panels 
demo_tabs ditto dots_curses dots_mvcur dots_xcurses dup_field echochar 
extended_color filter firework firstlast foldkeys form_driver_w gdc hanoi 
hashtest inch_wide inchs ins_wide insdelln inserts key_names keynames knight 
lrtest move_field movewindow ncurses newdemo padview pair_content picsmap rain 
redraw savescreen tclock test_add_wchstr test_addchstr test_addstr test_addwstr 
test_get_wstr test_getstr test_instr test_inwstr test_mouse test_opaque 
test_unget_wch testaddch testcurs testscanw view worm xmas
++endwin                                test: back_ground background blue bs 
cardfile chgat clip_printw color_content color_set combine demo_altkeys 
demo_defkey demo_forms demo_keyok demo_menus demo_new_pair demo_panels 
demo_tabs ditto dots_curses dots_mvcur dots_xcurses dup_field echochar 
extended_color filter firework firstlast foldkeys form_driver_w gdc hanoi 
hashtest inch_wide inchs ins_wide insdelln inserts key_names keynames knight 
lrtest move_field movewindow ncurses newdemo padview pair_content picsmap rain 
redraw savescreen tclock test_add_wchstr test_addchstr test_addstr test_addwstr 
test_delwin test_get_wstr test_getstr test_instr test_inwstr test_mouse 
test_opaque test_unget_wch testaddch testcurs testscanw view worm xmas
+ endwin_sp                     lib: ncurses
+ erase                         test: cardfile demo_menus filter firework 
firstlast hanoi lrtest ncurses picsmap tclock test_opaque testcurs
+ erasechar                     test: ncurses
+ erasechar_sp                  test: sp_tinfo
+ erasewchar                    test: ncurses
+ erasewchar_sp                 lib: ncurses
+-exit_curses                   test: back_ground background blue bs cardfile 
chgat clip_printw color_content color_set combine demo_altkeys demo_defkey 
demo_forms demo_keyok demo_menus demo_new_pair demo_panels demo_tabs ditto 
dots_curses dots_xcurses dup_field echochar extended_color filter firework 
firstlast foldkeys form_driver_w gdc hanoi hashtest inch_wide inchs ins_wide 
insdelln inserts key_names keynames knight lrtest move_field movewindow ncurses 
newdemo padview pair_content picsmap rain redraw savescreen tclock 
test_add_wchstr test_addchstr test_addstr test_addwstr test_get_wstr 
test_getstr test_instr test_inwstr test_mouse test_opaque test_setupterm 
test_termattrs test_unget_wch testaddch testcurs testscanw view worm xmas
++exit_curses                   test: back_ground background blue bs cardfile 
chgat clip_printw color_content color_set combine demo_altkeys demo_defkey 
demo_forms demo_keyok demo_menus demo_new_pair demo_panels demo_tabs ditto 
dots_curses dots_xcurses dup_field echochar extended_color filter firework 
firstlast foldkeys form_driver_w gdc hanoi hashtest inch_wide inchs ins_wide 
insdelln inserts key_names keynames knight lrtest move_field movewindow ncurses 
newdemo padview pair_content picsmap rain redraw savescreen tclock 
test_add_wchstr test_addchstr test_addstr test_addwstr test_delwin 
test_get_wstr test_getstr test_instr test_inwstr test_mouse test_opaque 
test_setupterm test_termattrs test_unget_wch testaddch testcurs testscanw view 
worm xmas
+ exit_terminfo                 test: demo_termcap demo_terminfo dots 
dots_mvcur dots_termcap list_keys railroad sp_tinfo test_arrays test_sgr 
test_tparm test_vid_puts test_vidputs
+ extended_color_content                test: color_content extended_color
+ extended_color_content_sp     test: extended_color
+@@ -539,7 +539,7 @@
+ mvwinsstr                     test: inserts testcurs
+ mvwinstr                      test: test_instr
+ mvwinwstr                     test: test_inwstr
+-mvwprintw                     test: demo_menus demo_panels inch_wide inchs 
ncurses test_instr test_inwstr testcurs
++mvwprintw                     test: demo_menus demo_panels inch_wide inchs 
ncurses test_delwin test_instr test_inwstr testcurs
+ mvwscanw                      test: testcurs
+ mvwvline                      test: ins_wide inserts movewindow ncurses 
test_add_wchstr test_addchstr test_addstr test_addwstr
+ mvwvline_set                  -
+@@ -549,16 +549,16 @@
+ newpad                                test: ncurses padview popup_msg testcurs
+ newpad_sp                     lib: ncurses
+ newscr                                lib: ncurses
+-newterm                               test: demo_altkeys demo_new_pair ditto 
dots_mvcur extended_color filter foldkeys gdc key_names keynames redraw 
test_setupterm test_termattrs
++newterm                               test: demo_altkeys demo_new_pair ditto 
dots_mvcur extended_color filter foldkeys gdc key_names keynames redraw 
test_delwin test_setupterm test_termattrs
+ newterm_sp                    -
+-newwin                                test: cardfile chgat clip_printw 
demo_defkey demo_forms demo_keyok demo_menus demo_panels ditto firstlast 
inch_wide inchs ins_wide insdelln inserts knight movewindow ncurses newdemo 
popup_msg redraw test_add_wchstr test_addchstr test_addstr test_addwstr 
test_get_wstr test_getstr test_instr test_inwstr test_opaque testcurs view xmas
++newwin                                test: cardfile chgat clip_printw 
demo_defkey demo_forms demo_keyok demo_menus demo_panels ditto firstlast 
inch_wide inchs ins_wide insdelln inserts knight movewindow ncurses newdemo 
popup_msg redraw test_add_wchstr test_addchstr test_addstr test_addwstr 
test_delwin test_get_wstr test_getstr test_instr test_inwstr test_opaque 
testcurs view xmas
+ newwin_sp                     lib: ncurses
+ nl                            test: demo_forms dup_field move_field ncurses 
rain testcurs
+ nl_sp                         lib: ncurses
+ nocbreak                      test: testcurs
+ nocbreak_sp                   test: sp_tinfo
+ nodelay                               test: demo_new_pair ditto 
extended_color firework gdc lrtest ncurses newdemo padview rain tclock 
test_opaque view worm xmas
+-noecho                                test: back_ground background bs 
cardfile chgat clip_printw color_content color_set combine demo_altkeys 
demo_defkey demo_forms demo_keyok demo_menus demo_new_pair demo_panels 
demo_tabs ditto dup_field extended_color firework firstlast foldkeys 
form_driver_w gdc hanoi hashtest inch_wide inchs ins_wide insdelln inserts 
knight lrtest move_field movewindow ncurses padview pair_content picsmap rain 
redraw savescreen tclock test_add_wchstr test_addchstr test_addstr test_addwstr 
test_get_wstr test_getstr test_instr test_inwstr test_mouse test_opaque 
test_unget_wch testcurs view worm xmas
++noecho                                test: back_ground background bs 
cardfile chgat clip_printw color_content color_set combine demo_altkeys 
demo_defkey demo_forms demo_keyok demo_menus demo_new_pair demo_panels 
demo_tabs ditto dup_field extended_color firework firstlast foldkeys 
form_driver_w gdc hanoi hashtest inch_wide inchs ins_wide insdelln inserts 
knight lrtest move_field movewindow ncurses padview pair_content picsmap rain 
redraw savescreen tclock test_add_wchstr test_addchstr test_addstr test_addwstr 
test_delwin test_get_wstr test_getstr test_instr test_inwstr test_mouse 
test_opaque test_unget_wch testcurs view worm xmas
+ noecho_sp                     lib: ncurses
+ nofilter                      -
+ nofilter_sp                   -
+@@ -581,7 +581,7 @@
+ pechochar                     -
+ pnoutrefresh                  test: ncurses padview popup_msg
+ prefresh                      test: testcurs
+-printw                                test: back_ground background blue bs 
color_content color_set combine demo_altkeys demo_defkey demo_keyok demo_tabs 
extended_color filter foldkeys ncurses pair_content savescreen test_unget_wch 
testcurs testscanw view
++printw                                test: back_ground background blue bs 
color_content color_set combine demo_altkeys demo_defkey demo_keyok demo_tabs 
extended_color filter foldkeys ncurses pair_content savescreen test_delwin 
test_unget_wch testcurs testscanw view
+ putp                          test: filter test_mouse test_sgr progs: tput
+ putp_sp                               test: sp_tinfo
+ putwin                                test: ncurses
+@@ -590,7 +590,7 @@
+ raw                           test: demo_forms dup_field move_field ncurses 
redraw testcurs
+ raw_sp                                test: sp_tinfo
+ redrawwin                     test: combine padview redraw view
+-refresh                               test: blue bs color_content demo_defkey 
demo_forms demo_keyok demo_menus demo_panels demo_tabs dots_curses dots_mvcur 
dots_xcurses dup_field echochar filter firstlast form_driver_w gdc hanoi 
hashtest lrtest move_field movewindow ncurses pair_content picsmap savescreen 
tclock test_mouse testcurs view xmas
++refresh                               test: blue bs color_content demo_defkey 
demo_forms demo_keyok demo_menus demo_panels demo_tabs dots_curses dots_mvcur 
dots_xcurses dup_field echochar filter firstlast form_driver_w gdc hanoi 
hashtest lrtest move_field movewindow ncurses pair_content picsmap savescreen 
tclock test_delwin test_mouse testcurs view xmas
+ reset_color_pairs             test: picsmap
+ reset_color_pairs_sp          -
+ reset_prog_mode                       test: filter ncurses
+@@ -619,7 +619,7 @@
+ scr_set_sp                    -
+ scrl                          test: view
+ scroll                                test: testcurs
+-scrollok                      test: clip_printw color_content demo_altkeys 
demo_defkey demo_keyok demo_new_pair demo_panels ditto foldkeys hashtest knight 
ncurses pair_content picsmap redraw test_opaque test_unget_wch testcurs 
testscanw view
++scrollok                      test: clip_printw color_content demo_altkeys 
demo_defkey demo_keyok demo_new_pair demo_panels ditto foldkeys hashtest knight 
ncurses pair_content picsmap redraw test_delwin test_opaque test_unget_wch 
testcurs testscanw view
+ set_curterm                   test: list_keys sp_tinfo
+ set_curterm_sp                        test: sp_tinfo
+ set_escdelay                  test: test_opaque
+@@ -665,7 +665,7 @@
+ standout                      test: blue ncurses
+ start_color                   test: back_ground background blue bs cardfile 
chgat clip_printw color_content color_set demo_forms demo_menus demo_new_pair 
demo_panels dots_curses dots_xcurses dup_field echochar extended_color filter 
firework gdc hanoi ins_wide insdelln inserts knight move_field ncurses newdemo 
padview pair_content picsmap rain savescreen tclock test_add_wchstr 
test_addchstr test_addstr test_addwstr testaddch testcurs view worm xmas
+ start_color_sp                        -
+-stdscr                                test: back_ground background bs chgat 
clip_printw color_content combine demo_altkeys demo_forms demo_menus 
demo_new_pair demo_panels ditto dup_field edit_field extended_color filter 
firework foldkeys form_driver_w gdc hanoi hashtest inch_wide inchs ins_wide 
insdelln inserts key_names keynames knight lrtest move_field movewindow ncurses 
padview pair_content picsmap rain redraw savescreen tclock test_add_wchstr 
test_addchstr test_addstr test_addwstr test_get_wstr test_getstr test_instr 
test_inwstr test_mouse test_opaque test_unget_wch testcurs testscanw view worm 
xmas
++stdscr                                test: back_ground background bs chgat 
clip_printw color_content combine demo_altkeys demo_forms demo_menus 
demo_new_pair demo_panels ditto dup_field edit_field extended_color filter 
firework foldkeys form_driver_w gdc hanoi hashtest inch_wide inchs ins_wide 
insdelln inserts key_names keynames knight lrtest move_field movewindow ncurses 
padview pair_content picsmap rain redraw savescreen tclock test_add_wchstr 
test_addchstr test_addstr test_addwstr test_delwin test_get_wstr test_getstr 
test_instr test_inwstr test_mouse test_opaque test_unget_wch testcurs testscanw 
view worm xmas
+ strcodes                      test: demo_termcap test_arrays progs: dump_entry
+ strfnames                     test: demo_terminfo list_keys test_arrays 
progs: dump_entry
+ strnames                      test: demo_terminfo foldkeys list_keys 
test_arrays test_tparm progs: dump_entry infocmp tic
+@@ -696,7 +696,7 @@
+ timeout                               test: filter rain savescreen
+ tiparm                                -
+ touchline                     test: chgat clip_printw insdelln
+-touchwin                      test: chgat clip_printw demo_menus filter 
firstlast inch_wide inchs ins_wide insdelln inserts movewindow ncurses 
popup_msg redraw test_add_wchstr test_addchstr test_addstr test_addwstr 
test_get_wstr test_getstr test_instr test_inwstr test_opaque xmas
++touchwin                      test: chgat clip_printw demo_menus filter 
firstlast inch_wide inchs ins_wide insdelln inserts movewindow ncurses 
popup_msg redraw test_add_wchstr test_addchstr test_addstr test_addwstr 
test_delwin test_get_wstr test_getstr test_instr test_inwstr test_opaque xmas
+ tparm                         test: dots dots_mvcur test_mouse test_sgr 
test_tparm progs: tic tput
+ tputs                         test: dots dots_mvcur dots_termcap railroad 
test_tparm test_vid_puts test_vidputs progs: clear_cmd reset_cmd tabs
+ tputs_sp                      test: sp_tinfo
+@@ -763,7 +763,7 @@
+ wborder_set                   test: ncurses
+ wchgat                                test: chgat test_get_wstr test_getstr 
view
+ wclear                                test: ncurses test_opaque testcurs
+-wclrtobot                     test: firstlast inch_wide inchs ncurses 
test_instr test_inwstr testcurs
++wclrtobot                     test: firstlast inch_wide inchs ncurses 
test_delwin test_instr test_inwstr testcurs
+ wclrtoeol                     test: chgat clip_printw demo_defkey demo_keyok 
demo_menus demo_panels firstlast inch_wide inchs ins_wide insdelln inserts 
knight ncurses test_add_wchstr test_addchstr test_addstr test_addwstr 
test_instr test_inwstr testcurs
+ wcolor_set                    lib: ncurses
+ wcursyncup                    lib: form
+@@ -776,7 +776,7 @@
+ wget_wch                      test: ins_wide ncurses test_add_wchstr 
test_addwstr
+ wget_wstr                     test: test_get_wstr
+ wgetbkgrnd                    lib: ncurses
+-wgetch                                test: cardfile chgat clip_printw 
demo_defkey demo_keyok demo_menus demo_panels ditto dump_window dup_field 
edit_field gdc insdelln inserts knight move_field movewindow ncurses newdemo 
popup_msg rain redraw test_addchstr test_addstr test_opaque testcurs worm
++wgetch                                test: cardfile chgat clip_printw 
demo_defkey demo_keyok demo_menus demo_panels ditto dump_window dup_field 
edit_field gdc insdelln inserts knight move_field movewindow ncurses newdemo 
popup_msg rain redraw test_addchstr test_addstr test_delwin test_opaque 
testcurs worm
+ wgetdelay                     test: test_opaque
+ wgetn_wstr                    test: ncurses test_get_wstr
+ wgetnstr                      test: ncurses test_getstr
+@@ -808,11 +808,11 @@
+ wnoutrefresh                  test: demo_menus ditto inch_wide inchs ins_wide 
inserts knight movewindow ncurses padview popup_msg redraw test_add_wchstr 
test_addchstr test_addstr test_addwstr test_get_wstr test_getstr test_instr 
test_inwstr test_opaque
+ wprintw                               test: chgat clip_printw demo_defkey 
demo_forms demo_keyok demo_menus demo_panels inch_wide inchs ins_wide insdelln 
inserts knight ncurses test_add_wchstr test_addchstr test_addstr test_addwstr 
test_get_wstr test_getstr test_instr test_inwstr test_mouse test_opaque testcurs
+ wredrawln                     test: redraw
+-wrefresh                      test: chgat clip_printw demo_forms demo_keyok 
demo_menus demo_panels dup_field firstlast ins_wide insdelln inserts knight 
lrtest move_field movewindow ncurses newdemo popup_msg redraw savescreen tclock 
test_add_wchstr test_addchstr test_addstr test_addwstr testcurs worm xmas
++wrefresh                      test: chgat clip_printw demo_forms demo_keyok 
demo_menus demo_panels dup_field firstlast ins_wide insdelln inserts knight 
lrtest move_field movewindow ncurses newdemo popup_msg redraw savescreen tclock 
test_add_wchstr test_addchstr test_addstr test_addwstr test_delwin testcurs 
worm xmas
+ wresize                               test: cardfile demo_menus ncurses
+ wscanw                                test: testcurs
+ wscrl                         test: ncurses testcurs
+-wsetscrreg                    test: ncurses testcurs
++wsetscrreg                    test: ncurses test_delwin testcurs
+ wstandend                     test: ncurses test_opaque xmas
+ wstandout                     test: ncurses test_opaque xmas
+ wsyncdown                     test: movewindow
+Index: test/demo_tabs.c
+Prereq:  1.6 
+--- ncurses-6.3-20220806+/test/demo_tabs.c     2022-05-15 13:04:57.000000000 
+0000
++++ ncurses-6.3-20220813/test/demo_tabs.c      2022-08-13 21:02:25.000000000 
+0000
+@@ -29,13 +29,13 @@
+ /*
+  * Author: Thomas E. Dickey
+  *
+- * $Id: demo_tabs.c,v 1.6 2022/05/15 13:04:57 tom Exp $
++ * $Id: demo_tabs.c,v 1.7 2022/08/13 21:02:25 tom Exp $
+  *
+  * A simple demo of tabs in curses.
+  */
+ #define USE_CURSES
+ #define USE_TINFO
+-#include "test.priv.h"
++#include <test.priv.h>
+ 
+ static void
+ usage(void)
+Index: test/modules
+Prereq:  1.77 
+--- ncurses-6.3-20220806+/test/modules 2022-05-07 22:39:21.000000000 +0000
++++ ncurses-6.3-20220813/test/modules  2022-08-13 20:53:43.000000000 +0000
+@@ -1,4 +1,4 @@
+-# $Id: modules,v 1.77 2022/05/07 22:39:21 tom Exp $
++# $Id: modules,v 1.78 2022/08/13 20:53:43 tom Exp $
+ ##############################################################################
+ # Copyright 2018-2021,2022 Thomas E. Dickey                                  #
+ # Copyright 1998-2016,2017 Free Software Foundation, Inc.                    #
+@@ -101,6 +101,7 @@
+ test_addstr   progs           $(srcdir)       $(HEADER_DEPS)  
$(srcdir)/linedata.h
+ test_addwstr  progs           $(srcdir)       $(HEADER_DEPS)  
$(srcdir)/linedata.h
+ test_arrays   progs           $(srcdir)       $(HEADER_DEPS)
++test_delwin   progs           $(srcdir)       $(HEADER_DEPS)
+ test_get_wstr progs           $(srcdir)       $(HEADER_DEPS)
+ test_getstr   progs           $(srcdir)       $(HEADER_DEPS)
+ test_instr    progs           $(srcdir)       $(HEADER_DEPS)
+Index: test/programs
+Prereq:  1.53 
+--- ncurses-6.3-20220806+/test/programs        2022-05-07 22:39:49.000000000 
+0000
++++ ncurses-6.3-20220813/test/programs 2022-08-13 23:37:10.000000000 +0000
+@@ -1,4 +1,4 @@
+-# $Id: programs,v 1.53 2022/05/07 22:39:49 tom Exp $
++# $Id: programs,v 1.55 2022/08/13 23:37:10 tom Exp $
+ ##############################################################################
+ # Copyright 2018-2021,2022 Thomas E. Dickey                                  #
+ # Copyright 2006-2016,2017 Free Software Foundation, Inc.                    #
+@@ -96,6 +96,7 @@
+ test_addstr   $(LDFLAGS_CURSES)       $(LOCAL_LIBS)   test_addstr
+ test_addwstr  $(LDFLAGS_CURSES)       $(LOCAL_LIBS)   test_addwstr
+ test_arrays   $(LDFLAGS_TINFO)        $(LOCAL_LIBS)   test_arrays
++test_delwin   $(LDFLAGS_CURSES)       $(LOCAL_LIBS)   test_delwin
+ test_get_wstr $(LDFLAGS_CURSES)       $(LOCAL_LIBS)   test_get_wstr popup_msg
+ test_getstr   $(LDFLAGS_CURSES)       $(LOCAL_LIBS)   test_getstr popup_msg
+ test_instr    $(LDFLAGS_CURSES)       $(LOCAL_LIBS)   test_instr
+Index: test/test_delwin.c
+--- /dev/null  2022-08-13 09:36:11.260000000 +0000
++++ ncurses-6.3-20220813/test/test_delwin.c    2022-08-14 00:12:52.000000000 
+0000
+@@ -0,0 +1,117 @@
++/****************************************************************************
++ * Copyright 2022 Thomas E. Dickey                                          *
++ *                                                                          *
++ * Permission is hereby granted, free of charge, to any person obtaining a  *
++ * copy of this software and associated documentation files (the            *
++ * "Software"), to deal in the Software without restriction, including      *
++ * without limitation the rights to use, copy, modify, merge, publish,      *
++ * distribute, distribute with modifications, sublicense, and/or sell       *
++ * copies of the Software, and to permit persons to whom the Software is    *
++ * furnished to do so, subject to the following conditions:                 *
++ *                                                                          *
++ * The above copyright notice and this permission notice shall be included  *
++ * in all copies or substantial portions of the Software.                   *
++ *                                                                          *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
++ *                                                                          *
++ * Except as contained in this notice, the name(s) of the above copyright   *
++ * holders shall not be used in advertising or otherwise to promote the     *
++ * sale, use or other dealings in this Software without prior written       *
++ * authorization.                                                           *
++ ****************************************************************************/
++
++/*
++ * $Id: test_delwin.c,v 1.3 2022/08/14 00:12:52 tom Exp $
++ */
++#include <test.priv.h>
++
++#define STATUS 10
++
++static SCREEN *my_screen;
++
++static void
++show_rc(const char *what, const char *explain, int rc)
++{
++    printw("%s : %d (%s)\n", what, rc, explain);
++}
++
++static void
++next_step(WINDOW *win)
++{
++    int ch = wgetch(win);
++    if (ch == QUIT || ch == ESCAPE) {
++      endwin();
++      /* use this to verify if delscreen frees all memory */
++      delscreen(my_screen);
++      exit(EXIT_FAILURE);
++    }
++}
++
++int
++main(void)
++{
++    WINDOW *parent, *child1;
++    int rc;
++
++    if ((my_screen = newterm(NULL, stdout, stdin)) == NULL)
++      ExitProgram(EXIT_FAILURE);
++
++    noecho();
++    cbreak();
++
++    refresh();
++    wsetscrreg(stdscr, 0, STATUS - 1);
++    scrollok(stdscr, TRUE);
++
++    parent = newwin(0, 0, STATUS, 0);
++    box(parent, 0, 0);
++    wrefresh(parent);
++    next_step(parent);
++
++    printw("New window %p    %s\n", (void *) parent, "Top window");
++    mvwprintw(parent, 1, 1, "Top window");
++    wrefresh(parent);
++    next_step(stdscr);
++
++    child1 = derwin(parent, LINES - STATUS - 4, COLS - 4, 2, 2);
++    box(child1, 0, 0);
++    mvwprintw(child1, 1, 1, "Sub window");
++    wrefresh(child1);
++
++    printw("Sub window %p    %s\n", (void *) child1, "Hello world!");
++    next_step(stdscr);
++
++    show_rc("Deleted parent",
++          "should fail, it still has a subwindow",
++          rc = delwin(parent));
++    next_step(stdscr);
++    show_rc("Deleted child1",
++          "should succeed",
++          rc = delwin(child1));
++    next_step(stdscr);
++    if (rc == OK) {
++      wclrtobot(parent);
++      box(parent, 0, 0);
++      next_step(parent);
++    }
++    show_rc("Deleted parent",
++          "should succeed, it has no subwindow now",
++          rc = delwin(parent));
++    next_step(stdscr);
++    if (rc == OK) {
++      touchwin(stdscr);
++      next_step(stdscr);
++    }
++    show_rc("Deleted parent",
++          "should fail, may dump core",
++          delwin(parent));
++    next_step(stdscr);
++    endwin();
++    ExitProgram(EXIT_SUCCESS);
++}
+Index: test/worm.c
+Prereq:  1.84 
+--- ncurses-6.3-20220806+/test/worm.c  2022-07-23 17:06:16.000000000 +0000
++++ ncurses-6.3-20220813/test/worm.c   2022-08-13 13:28:01.000000000 +0000
+@@ -53,7 +53,7 @@
+   traces will be dumped.  The program stops and waits for one character of
+   input at the beginning and end of the interval.
+ 
+-  $Id: worm.c,v 1.84 2022/07/23 17:06:16 tom Exp $
++  $Id: worm.c,v 1.85 2022/08/13 13:28:01 tom Exp $
+ */
+ 
+ #include <test.priv.h>
+@@ -663,6 +663,15 @@
+ 
+     Trace(("Cleanup"));
+     cleanup();
++#ifdef USE_PTHREADS
++    /*
++     * Do this just in case one of the threads did not really exit.
++     */
++    Trace(("join all threads"));
++    for (n = 0; n < number; n++) {
++      pthread_join(worm[n].thread, NULL);
++    }
++#endif
+ #if NO_LEAKS
+     for (y = 0; y < max_refs; y++) {
+       free(refs[y]);
+@@ -673,14 +682,5 @@
+       free(w->ypos);
+     }
+ #endif
+-#ifdef USE_PTHREADS
+-    /*
+-     * Do this just in case one of the threads did not really exit.
+-     */
+-    Trace(("join all threads"));
+-    for (n = 0; n < number; n++) {
+-      pthread_join(worm[n].thread, NULL);
+-    }
+-#endif
+     ExitProgram(EXIT_SUCCESS);
+ }

Reply via email to