OSDN Git Service

ncurses 6.1 - patch 20191214
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 15 Dec 2019 02:10:35 +0000 (02:10 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 15 Dec 2019 02:10:35 +0000 (02:10 +0000)
+ add exit_curses() and exit_terminfo() to replace internal symbols for
  leak-checking.

67 files changed:
NEWS
VERSION
c++/cursesmain.cc
dist.mk
doc/html/ada/funcs/T.htm
doc/html/man/adacurses6-config.1.html
doc/html/man/captoinfo.1m.html
doc/html/man/clear.1.html
doc/html/man/curs_memleaks.3x.html
doc/html/man/form.3x.html
doc/html/man/infocmp.1m.html
doc/html/man/infotocap.1m.html
doc/html/man/menu.3x.html
doc/html/man/ncurses.3x.html
doc/html/man/ncurses6-config.1.html
doc/html/man/panel.3x.html
doc/html/man/tabs.1.html
doc/html/man/terminfo.5.html
doc/html/man/tic.1m.html
doc/html/man/toe.1m.html
doc/html/man/tput.1.html
doc/html/man/tset.1.html
include/MKterm.h.awk.in
include/curses.tail
include/nc_alloc.h
man/curs_memleaks.3x
ncurses/base/lib_freeall.c
ncurses/curses.priv.h
ncurses/llib-lncurses
ncurses/llib-lncursest
ncurses/llib-lncursestw
ncurses/llib-lncursesw
ncurses/tinfo/comp_parse.c
ncurses/tinfo/entries.c
ncurses/tty/hashmap.c
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.map
package/ncurses.spec
package/ncurses.sym
package/ncursest.map
package/ncursest.spec
package/ncursest.sym
package/ncursestw.map
package/ncursestw.sym
package/ncursesw.map
package/ncursesw.sym
progs/progs.priv.h
test/demo_new_pair.c
test/echochar.c
test/firework.c
test/gdc.c
test/hanoi.c
test/lrtest.c
test/ncurses.c
test/newdemo.c
test/picsmap.c
test/rain.c
test/savescreen.c
test/tclock.c
test/test.priv.h
test/testcurs.c
test/worm.c
test/xmas.c

diff --git a/NEWS b/NEWS
index b6414f8..fe58e2c 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3415 2019/12/07 23:36:25 tom Exp $
+-- $Id: NEWS,v 1.3416 2019/12/14 21:26:03 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,10 @@ See the AUTHORS file for the corresponding full names.
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20191214
+       + add exit_curses() and exit_terminfo() to replace internal symbols for
+         leak-checking.
+
 20191207
        + fix a few warnings for test-package builds
        + add curses_trace(), to replace trace().
diff --git a/VERSION b/VERSION
index 10b8358..932fc46 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:10 6.1     20191207
+5:0:10 6.1     20191214
index e870995..a376e54 100644 (file)
@@ -1,6 +1,6 @@
 // * this is for making emacs happy: -*-Mode: C++;-*-
 /****************************************************************************
- * Copyright (c) 1998-2007,2013 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2013,2019 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -43,7 +43,7 @@
 #define CPP_HAS_TRY_CATCH 0
 #endif
 
-MODULE_ID("$Id: cursesmain.cc,v 1.15 2013/09/28 20:56:47 tom Exp $")
+MODULE_ID("$Id: cursesmain.cc,v 1.16 2019/12/14 22:48:23 tom Exp $")
 
 #if HAVE_LOCALE_H
 #include <locale.h>
@@ -87,7 +87,7 @@ int main(int argc, char* argv[])
 #endif
 #if NO_LEAKS
     delete A;
-    _nc_free_and_exit(res);
+    exit_curses(res);
 #else
     return(res);
 #endif
diff --git a/dist.mk b/dist.mk
index c0e1e23..b62510e 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.1318 2019/12/07 10:19:49 tom Exp $
+# $Id: dist.mk,v 1.1319 2019/12/14 17:50:13 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -37,7 +37,7 @@ SHELL = /bin/sh
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 6
 NCURSES_MINOR = 1
-NCURSES_PATCH = 20191207
+NCURSES_PATCH = 20191214
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index 098d0da..782d38b 100644 (file)
@@ -20,8 +20,8 @@
 <LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_89_16" TARGET="main">tgetnum</A>
 <LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_108_16" TARGET="main">tgetstr -  terminal_interface-curses-termcap.adb:108</A>
 <LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_129_16" TARGET="main">tgetstr -  terminal_interface-curses-termcap.adb:129</A>
-<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_53_13" TARGET="main">TGoto</A>
 <LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_151_16" TARGET="main">tgoto</A>
+<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_53_13" TARGET="main">TGoto</A>
 <LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_69_16" TARGET="main">tigetflag</A>
 <LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_87_16" TARGET="main">tigetstr -  terminal_interface-curses-terminfo.adb:87</A>
 <LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_108_16" TARGET="main">tigetstr -  terminal_interface-curses-terminfo.adb:108</A>
index 08ab84a..8a13fd2 100644 (file)
 </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.1 (patch 20191207).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
 
 
index 1b00438..a06b870 100644 (file)
 </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.1 (patch 20191207).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 1358cdd..6538189 100644 (file)
 </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.1 (patch 20191207).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
 
 
index 74b910d..4835d3c 100644 (file)
@@ -1,6 +1,6 @@
 <!-- 
   ****************************************************************************
-  * Copyright (c) 2008-2010,2017 Free Software Foundation, Inc.              *
+  * Copyright (c) 2008-2017,2019 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
+       <STRONG>void</STRONG> <STRONG>exit_curses(int);</STRONG>
+       <STRONG>void</STRONG> <STRONG>exit_terminfo(int);</STRONG>
+
+       /* deprecated */
        <STRONG>void</STRONG> <STRONG>_nc_freeall(void);</STRONG>
        <STRONG>void</STRONG> <STRONG>_nc_free_and_exit(int);</STRONG>
        <STRONG>void</STRONG> <STRONG>_nc_free_tinfo(int);</STRONG>
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
        These functions are used to simplify analysis of memory  leaks  in  the
-       ncurses library.  They are normally not available; they must be config-
-       ured into the library at build time using the  <STRONG>--disable-leaks</STRONG>  option.
-       That  compiles-in  code  that  frees  memory that normally would not be
-       freed.
+       ncurses library.
 
        Any implementation of curses must not free the memory associated with a
        screen, since (even after calling <STRONG>endwin</STRONG>), it must be available for use
-       in the next call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>.  There are also chunks of memory  held
+       in  the next call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>.  There are also chunks of memory held
        for performance reasons.  That makes it hard to analyze curses applica-
-       tions for memory leaks.  When using the specially configured  debugging
-       version  of  the ncurses library, applications can call functions which
-       free those chunks of memory, simplifying  the  process  of  memory-leak
+       tions  for memory leaks.  When using the specially configured debugging
+       version of the ncurses library, applications can call  functions  which
+       free  those  chunks  of  memory, simplifying the process of memory-leak
        checking.
 
-       These functions are named with a "_nc_" prefix because they are not in-
-       tended for use in the non-debugging library:
+       Some of the functions are named with a "_nc_" prefix because  they  are
+       not intended for use in the non-debugging library:
 
        <STRONG>_nc_freeall</STRONG>
             This frees (almost) all of the memory allocated by ncurses.
             ply exiting (with the given exit-code) is safer.
 
        <STRONG>_nc_free_tinfo</STRONG>
-            Use  this  function  if only the low-level terminfo functions (and
+            Use this function if only the low-level  terminfo  functions  (and
             corresponding library) are used.  Like <STRONG>_nc_free_and_exit</STRONG>, it exits
             the program after freeing memory.
 
+       The functions prefixed "_nc" are normally not available; they  must  be
+       configured into the library at build time using the <STRONG>--disable-leaks</STRONG> op-
+       tion.  That compiles-in code that frees memory that normally would  not
+       be freed.
+
+       The  <STRONG>exit_curses</STRONG> and <STRONG>exit_terminfo</STRONG> functions call <STRONG>_nc_free_and_exit</STRONG> and
+       <STRONG>_nc_free_tinfo</STRONG> if the library  is  configured  to  support  memory-leak
+       checking.   If  the  library  is  not configured to support memory-leak
+       checking, they simply call <STRONG>exit</STRONG>.
+
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        These functions do not return a value.
index 917df44..dacf49f 100644 (file)
        <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.1 (patch 20191207).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
 
 
index 62d8487..35270eb 100644 (file)
 
        https://invisible-island.net/ncurses/tctest.html
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 7ccc743..a5def47 100644 (file)
@@ -90,7 +90,7 @@
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 6bd6e68..3728e5e 100644 (file)
        <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.1 (patch 20191207).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
 
 
index 2f792e7..80cfdda 100644 (file)
@@ -59,7 +59,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.1 (patch 20191207).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
        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 eb222ca..8e15c12 100644 (file)
 </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.1 (patch 20191207).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
 
 
index 60ffea2..285f6d2 100644 (file)
 </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.1 (patch 20191207).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 82bcf4e..d70095c 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
 
 
index 6d48595..20fd1d8 100644 (file)
        have, by specifying how to perform screen operations, and by specifying
        padding requirements and initialization sequences.
 
-       This manual describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+       This manual describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
 
 </PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
index afb04dd..54f15dd 100644 (file)
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,   <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,   <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
        <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index d4944f7..7ff7efd 100644 (file)
        <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,  <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG>ter-</STRONG>
        <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
 
 
index 65758db..3d5f72f 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
 
 
index 8be2c86..2d39678 100644 (file)
        <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.1 (patch 20191207).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
 
 
 
index 2fbe536..b7e2c1e 100644 (file)
@@ -59,7 +59,7 @@ BEGIN {
        print  "/*    and: Thomas E. Dickey                        1995-on                  */"
        print  "/****************************************************************************/"
        print  ""
-       print  "/* $Id: MKterm.h.awk.in,v 1.71 2019/04/13 22:34:42 tom Exp $ */"
+       print  "/* $Id: MKterm.h.awk.in,v 1.72 2019/12/14 22:31:32 tom Exp $ */"
        print  ""
        print  "/*"
        print  "**      term.h -- Definition of struct term"
@@ -298,12 +298,14 @@ END {
        print  ""
        print  ""
        print  "/*"
-       print  " * These entrypoints are used by tack."
+       print  " * These entrypoints are used by tack 1.07."
        print  " */"
        print  "extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);"
        print  "extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);"
        print  ""
-       print  "/* Normal entry points */"
+       print  "/*"
+       print  " * Normal entry points"
+       print  " */"
        print  "extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);"
        print  "extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);"
        print  ""
@@ -371,6 +373,11 @@ END {
        print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);"
        print  "#endif /* NCURSES_SP_FUNCS */"
        print  ""
+       print  "/*"
+       print  " * Debugging features."
+       print  " */"
+       print  "extern NCURSES_EXPORT(void)    exit_terminfo(int) GCC_NORETURN;"
+       print  ""
        print  "#ifdef __cplusplus"
        printf "%s\n", rcurl;
        print  "#endif"
index b44b3d0..05f7439 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: curses.tail,v 1.24 2019/12/07 16:10:32 tom Exp $ */
+/* $Id: curses.tail,v 1.25 2019/12/14 22:28:39 tom Exp $ */
 /*
  * vile:cmode:
  * This file is part of ncurses, designed to be appended after curses.h.in
@@ -174,6 +174,8 @@ extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *);
 #define OPTIMIZE_ALL           0xff    /* enable all optimizations (dflt) */
 #endif
 
+extern NCURSES_EXPORT(void) exit_curses (int) GCC_NORETURN;
+
 #include <unctrl.h>
 
 #ifdef __cplusplus
index 76a82cf..c24c8a3 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2013,2017 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -29,7 +29,7 @@
 /****************************************************************************
  *  Author: Thomas E. Dickey                    1996-on                     *
  ****************************************************************************/
-/* $Id: nc_alloc.h,v 1.23 2017/07/22 16:59:37 tom Exp $ */
+/* $Id: nc_alloc.h,v 1.24 2019/12/15 01:00:51 tom Exp $ */
 
 #ifndef NC_ALLOC_included
 #define NC_ALLOC_included 1
@@ -72,8 +72,9 @@ extern "C" {
 #if HAVE_LIBDBMALLOC || HAVE_LIBDMALLOC || NO_LEAKS
 #define HAVE_NC_FREEALL 1
 struct termtype;
-extern NCURSES_EXPORT(void) _nc_free_and_exit(int) GCC_NORETURN;
-extern NCURSES_EXPORT(void) _nc_free_tinfo(int) GCC_NORETURN;
+extern NCURSES_EXPORT(void) _nc_free_tinfo(int) GCC_NORETURN GCC_DEPRECATED("use exit_terminfo");
+
+#ifdef NCURSES_INTERNALS
 extern NCURSES_EXPORT(void) _nc_free_tic(int) GCC_NORETURN;
 extern NCURSES_EXPORT(void) _nc_free_tparm(void);
 extern NCURSES_EXPORT(void) _nc_leaks_dump_entry(void);
@@ -82,8 +83,13 @@ extern NCURSES_EXPORT(void) _nc_leaks_tic(void);
 #if NCURSES_SP_FUNCS
 extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_free_and_exit)(SCREEN*, int) GCC_NORETURN;
 #endif
+extern NCURSES_EXPORT(void) _nc_free_and_exit(int) GCC_NORETURN;
+
+#else /* !NCURSES_INTERNALS */
+extern NCURSES_EXPORT(void) _nc_free_and_exit(int) GCC_NORETURN GCC_DEPRECATED("use exit_curses");
+#endif
 
-#define ExitProgram(code) _nc_free_and_exit(code)
+#define ExitProgram(code) exit_curses(code)
 
 #endif /* NO_LEAKS, etc */
 
index 4477829..8cea742 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2008-2010,2017 Free Software Foundation, Inc.              *
+.\" Copyright (c) 2008-2017,2019 Free Software Foundation, Inc.              *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
@@ -26,7 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_memleaks.3x,v 1.6 2017/08/22 08:35:37 Sven.Joachim Exp $
+.\" $Id: curs_memleaks.3x,v 1.7 2019/12/14 23:21:32 tom Exp $
 .TH curs_memleaks 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
 .sp
+\fBvoid exit_curses(int);\fR
+.br
+\fBvoid exit_terminfo(int);\fR
+.sp
+/* deprecated */
+.br
 \fBvoid _nc_freeall(void);\fR
 .br
 \fBvoid _nc_free_and_exit(int);\fR
 .SH DESCRIPTION
 These functions are used to simplify analysis of memory leaks in the ncurses
 library.
-They are normally not available;
-they must be configured into the library
-at build time using the \fB\-\-disable-leaks\fP option.
-That compiles-in code that frees memory that normally would not be freed.
 .PP
 Any implementation of curses must not free the memory associated with
 a screen, since (even after calling \fBendwin\fP), it must be available
@@ -65,8 +67,8 @@ When using the specially configured debugging version of the ncurses library,
 applications can call functions which free those chunks of memory,
 simplifying the process of memory-leak checking.
 .PP
-These functions are named with a \*(``_nc_\*('' prefix because they are not
-intended for use in the non-debugging library:
+Some of the functions are named with a \*(``_nc_\*('' prefix
+because they are not intended for use in the non-debugging library:
 .TP 5
 \fB_nc_freeall\fP
 This frees (almost) all of the memory allocated by ncurses.
@@ -82,6 +84,17 @@ Simply exiting (with the given exit-code) is safer.
 Use this function if only the low-level terminfo functions (and
 corresponding library) are used.
 Like \fB_nc_free_and_exit\fP, it exits the program after freeing memory.
+.PP
+The functions prefixed \*(``_nc\*('' are normally not available;
+they must be configured into the library
+at build time using the \fB\-\-disable-leaks\fP option.
+That compiles-in code that frees memory that normally would not be freed.
+.PP
+The \fBexit_curses\fP and \fBexit_terminfo\fP functions
+call \fB_nc_free_and_exit\fP and \fB_nc_free_tinfo\fP if
+the library is configured to support memory-leak checking.
+If the library is not configured to support memory-leak checking,
+they simply call \fBexit\fP.
 .SH RETURN VALUE
 These functions do not return a value.
 .SH PORTABILITY
index d2d5870..4e29ec0 100644 (file)
@@ -39,7 +39,7 @@
 extern int malloc_errfd;       /* FIXME */
 #endif
 
-MODULE_ID("$Id: lib_freeall.c,v 1.70 2019/12/07 20:28:03 tom Exp $")
+MODULE_ID("$Id: lib_freeall.c,v 1.71 2019/12/15 00:30:49 tom Exp $")
 
 /*
  * Free all ncurses data.  This is used for testing only (there's no practical
@@ -159,7 +159,7 @@ NCURSES_SP_NAME(_nc_free_and_exit) (NCURSES_SP_DCLx int code)
     exit(code);
 }
 
-#else
+#else /* !HAVE_NC_FREEALL */
 NCURSES_EXPORT(void)
 _nc_freeall(void)
 {
@@ -175,7 +175,7 @@ NCURSES_SP_NAME(_nc_free_and_exit) (NCURSES_SP_DCLx int code)
     }
     exit(code);
 }
-#endif
+#endif /* HAVE_NC_FREEALL */
 
 #if NCURSES_SP_FUNCS
 NCURSES_EXPORT(void)
@@ -184,3 +184,16 @@ _nc_free_and_exit(int code)
     NCURSES_SP_NAME(_nc_free_and_exit) (CURRENT_SCREEN, code);
 }
 #endif
+
+NCURSES_EXPORT(void)
+exit_curses(int code)
+{
+#if NO_LEAKS
+#if NCURSES_SP_FUNCS
+    NCURSES_SP_NAME(_nc_free_and_exit) (CURRENT_SCREEN, code);
+#else
+    _nc_free_and_exit(code);   /* deprecated... */
+#endif
+#endif
+    exit(code);
+}
index 5c9edb4..2c0ef21 100644 (file)
@@ -34,7 +34,7 @@
  ****************************************************************************/
 
 /*
- * $Id: curses.priv.h,v 1.626 2019/12/07 20:08:06 tom Exp $
+ * $Id: curses.priv.h,v 1.627 2019/12/14 22:36:12 tom Exp $
  *
  *     curses.priv.h
  *
@@ -2170,11 +2170,7 @@ extern NCURSES_EXPORT(void)   _nc_forget_prescr(void);
 extern NCURSES_EXPORT(int)    _nc_ripoffline(int, int(*)(WINDOW*, int));
 
 /* lib_setup.c */
-#if NO_LEAKS
-#define ExitTerminfo(code)    _nc_free_tinfo(code)
-#else
-#define ExitTerminfo(code)    exit(code)
-#endif
+#define ExitTerminfo(code)    exit_terminfo(code)
 
 #define SETUP_FAIL ERR
 
@@ -2264,7 +2260,6 @@ extern NCURSES_EXPORT(int) _nc_timed_wait (SCREEN *, int, int, int * EVENTLIST_2
 extern NCURSES_EXPORT(void) _nc_init_termtype (TERMTYPE2 *const);
 extern NCURSES_EXPORT(void) _nc_do_color (int, int, int, NCURSES_OUTC);
 extern NCURSES_EXPORT(void) _nc_flush (void);
-extern NCURSES_EXPORT(void) _nc_free_and_exit (int) GCC_NORETURN;
 extern NCURSES_EXPORT(void) _nc_free_entry (ENTRY *, TERMTYPE2 *);
 extern NCURSES_EXPORT(void) _nc_freeall (void);
 extern NCURSES_EXPORT(void) _nc_hash_map (void);
index 865767e..1b291dd 100644 (file)
@@ -2577,6 +2577,11 @@ void     _nc_free_and_exit(
                int     code)
                { /* void */ }
 
+#undef exit_curses
+void   exit_curses(
+               int     code)
+               { /* void */ }
+
 /* ./expanded.c */
 
 #undef _nc_toggle_attr_on
@@ -2987,6 +2992,11 @@ void     _nc_free_entries(
 void   _nc_leaks_tinfo(void)
                { /* void */ }
 
+#undef exit_terminfo
+void   exit_terminfo(
+               int     code)
+               { /* void */ }
+
 /* ./fallback.c */
 
 #undef _nc_fallback
@@ -3732,6 +3742,11 @@ const char *_nc_tputs_trace = {0};
 #undef _nc_outchars
 long   _nc_outchars;
 
+#undef curses_trace
+unsigned curses_trace(
+               unsigned tracelevel)
+               { return(*(unsigned *)0); }
+
 #undef trace
 void   trace(
                const unsigned int tracelevel)
index e3e2abf..eb43bfd 100644 (file)
@@ -34,6 +34,7 @@
 /* ./tty/hardscroll.c */
 
 #include <curses.priv.h>
+
 #undef _nc_oldnums
 int    *_nc_oldnums;
 
@@ -2585,6 +2586,11 @@ void     _nc_free_and_exit(
                int     code)
                { /* void */ }
 
+#undef exit_curses
+void   exit_curses(
+               int     code)
+               { /* void */ }
+
 /* ./expanded.c */
 
 #undef _nc_toggle_attr_on
@@ -3000,6 +3006,11 @@ void     _nc_free_entries(
 void   _nc_leaks_tinfo(void)
                { /* void */ }
 
+#undef exit_terminfo
+void   exit_terminfo(
+               int     code)
+               { /* void */ }
+
 /* ./fallback.c */
 
 #undef _nc_fallback
@@ -3830,6 +3841,11 @@ void     _nc_count_outchars(
                long    increment)
                { /* void */ }
 
+#undef curses_trace
+unsigned curses_trace(
+               unsigned tracelevel)
+               { return(*(unsigned *)0); }
+
 #undef trace
 void   trace(
                const unsigned int tracelevel)
index ca4bb52..40a9f5e 100644 (file)
@@ -34,6 +34,7 @@
 /* ./tty/hardscroll.c */
 
 #include <curses.priv.h>
+
 #undef _nc_oldnums
 int    *_nc_oldnums;
 
@@ -3177,6 +3178,11 @@ void     _nc_free_and_exit(
                int     code)
                { /* void */ }
 
+#undef exit_curses
+void   exit_curses(
+               int     code)
+               { /* void */ }
+
 /* ./widechar/charable.c */
 
 #undef _nc_is_charable
@@ -3939,6 +3945,11 @@ void     _nc_free_entries(
 void   _nc_leaks_tinfo(void)
                { /* void */ }
 
+#undef exit_terminfo
+void   exit_terminfo(
+               int     code)
+               { /* void */ }
+
 /* ./fallback.c */
 
 #undef _nc_fallback2
@@ -4779,6 +4790,11 @@ void     _nc_count_outchars(
                long    increment)
                { /* void */ }
 
+#undef curses_trace
+unsigned curses_trace(
+               unsigned tracelevel)
+               { return(*(unsigned *)0); }
+
 #undef trace
 void   trace(
                const unsigned int tracelevel)
index 61db5d4..ae55811 100644 (file)
@@ -34,6 +34,7 @@
 /* ./tty/hardscroll.c */
 
 #include <curses.priv.h>
+
 #undef _nc_oldnums
 int    *_nc_oldnums;
 
@@ -3168,6 +3169,11 @@ void     _nc_free_and_exit(
                int     code)
                { /* void */ }
 
+#undef exit_curses
+void   exit_curses(
+               int     code)
+               { /* void */ }
+
 /* ./widechar/charable.c */
 
 #undef _nc_is_charable
@@ -3925,6 +3931,11 @@ void     _nc_free_entries(
 void   _nc_leaks_tinfo(void)
                { /* void */ }
 
+#undef exit_terminfo
+void   exit_terminfo(
+               int     code)
+               { /* void */ }
+
 /* ./fallback.c */
 
 #undef _nc_fallback2
@@ -4680,6 +4691,11 @@ const char *_nc_tputs_trace = {0};
 #undef _nc_outchars
 long   _nc_outchars;
 
+#undef curses_trace
+unsigned curses_trace(
+               unsigned tracelevel)
+               { return(*(unsigned *)0); }
+
 #undef trace
 void   trace(
                const unsigned int tracelevel)
index 52901f1..82c3fa2 100644 (file)
@@ -47,7 +47,7 @@
 
 #include <tic.h>
 
-MODULE_ID("$Id: comp_parse.c,v 1.107 2019/10/19 20:47:43 tom Exp $")
+MODULE_ID("$Id: comp_parse.c,v 1.108 2019/12/14 22:34:35 tom Exp $")
 
 static void sanity_check2(TERMTYPE2 *, bool);
 NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype2) (TERMTYPE2 *, bool) = sanity_check2;
@@ -724,6 +724,6 @@ NCURSES_EXPORT(void)
 _nc_free_tic(int code)
 {
     _nc_leaks_tic();
-    _nc_free_tinfo(code);
+    exit_terminfo(code);
 }
 #endif
index 219ec3d..794c519 100644 (file)
@@ -37,7 +37,7 @@
 
 #include <tic.h>
 
-MODULE_ID("$Id: entries.c,v 1.28 2019/12/07 20:28:55 tom Exp $")
+MODULE_ID("$Id: entries.c,v 1.29 2019/12/15 00:18:03 tom Exp $")
 
 /****************************************************************************
  *
@@ -164,3 +164,12 @@ _nc_free_tinfo(int code)
     exit(code);
 }
 #endif
+
+NCURSES_EXPORT(void)
+exit_terminfo(int code)
+{
+#if NO_LEAKS
+    _nc_leaks_tinfo();
+#endif
+    exit(code);
+}
index ca166d1..75f6004 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2016,2019 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -73,7 +73,7 @@ AUTHOR
 #define CUR SP_TERMTYPE
 #endif
 
-MODULE_ID("$Id: hashmap.c,v 1.66 2016/05/28 23:32:40 tom Exp $")
+MODULE_ID("$Id: hashmap.c,v 1.67 2019/12/15 00:57:15 tom Exp $")
 
 #ifdef HASHDEBUG
 
@@ -119,7 +119,7 @@ static NCURSES_CH_T newtext[MAXLINES][TEXTWIDTH(sp)];
 static const NCURSES_CH_T blankchar = NewChar(BLANK_TEXT);
 
 static NCURSES_INLINE unsigned long
-hash(SCREEN *sp, NCURSES_CH_T * text)
+hash(SCREEN *sp, NCURSES_CH_T *text)
 {
     int i;
     NCURSES_CH_T ch;
@@ -135,7 +135,7 @@ hash(SCREEN *sp, NCURSES_CH_T * text)
 
 /* approximate update cost */
 static int
-update_cost(SCREEN *sp, NCURSES_CH_T * from, NCURSES_CH_T * to)
+update_cost(SCREEN *sp, NCURSES_CH_T *from, NCURSES_CH_T *to)
 {
     int cost = 0;
     int i;
@@ -149,7 +149,7 @@ update_cost(SCREEN *sp, NCURSES_CH_T * from, NCURSES_CH_T * to)
 }
 
 static int
-update_cost_from_blank(SCREEN *sp, NCURSES_CH_T * to)
+update_cost_from_blank(SCREEN *sp, NCURSES_CH_T *to)
 {
     int cost = 0;
     int i;
@@ -583,11 +583,7 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
            break;
        }
     }
-#if NO_LEAKS
-    _nc_free_and_exit(EXIT_SUCCESS);
-#else
-    return EXIT_SUCCESS;
-#endif
+    exit_curses(EXIT_SUCCESS);
 }
 
 #endif /* HASHDEBUG */
index 8c43494..7e54ebc 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20191207) unstable; urgency=low
+ncurses6 (6.1+20191214) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 07 Dec 2019 05:19:49 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 14 Dec 2019 12:50:13 -0500
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 8c43494..7e54ebc 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20191207) unstable; urgency=low
+ncurses6 (6.1+20191214) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 07 Dec 2019 05:19:49 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 14 Dec 2019 12:50:13 -0500
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index acf2e78..2948844 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20191207) unstable; urgency=low
+ncurses6 (6.1+20191214) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 07 Dec 2019 05:19:49 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 14 Dec 2019 12:50:13 -0500
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index f5e4576..a525370 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.364 2019/12/07 10:19:49 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.365 2019/12/14 17:50:13 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "1"\r
 !define VERSION_YYYY  "2019"\r
-!define VERSION_MMDD  "1207"\r
+!define VERSION_MMDD  "1214"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index 40172e6..b4edb71 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.1
-Release: 20191207
+Release: 20191214
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 06a1873..c3360dc 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: ncurses.map,v 1.48 2019/12/07 18:03:20 tom Exp $
+# $Id: ncurses.map,v 1.50 2019/12/14 23:28:36 tom Exp $
 # script for shared library symbol-versioning using ld
 #
 # This file was generated by ncu-mapsyms
@@ -765,7 +765,6 @@ NCURSES_6.1.20171230 {
                reset_color_pairs_sp;
                unfocus_current_field;
        local:
-               _*;
                _nc_Unset_Current_Field;
                _nc_change_pair;
                _nc_init_color;
@@ -775,6 +774,13 @@ NCURSES_6.1.20171230 {
                _nc_set_color_pair;
 } NCURSES_5.9.20150530;
 
+NCURSES_6.1.current {
+       global:
+               exit_curses;
+       local:
+               _*;
+} NCURSES_6.1.20171230;
+
 NCURSES_TIC_5.0.19991023 {
        global:
                _nc_capcmp;
@@ -1199,6 +1205,7 @@ NCURSES_TINFO_6.1.current {
                _nc_fmt_funcptr;
                _nc_wacs_width;
                curses_trace;
+               exit_terminfo;
        local:
                _*;
 } NCURSES_TINFO_6.1.20171230;
index 9aebd1c..f15a4e1 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.1
-Release: 20191207
+Release: 20191214
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 33ea317..d9f8b93 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: ncurses.sym,v 1.34 2019/12/07 18:03:20 tom Exp $
+# $Id: ncurses.sym,v 1.35 2019/12/14 22:40:34 tom Exp $
 # script for shared library symbol-visibility using libtool
 #
 # This file was generated by ncu-mapsyms
@@ -328,6 +328,8 @@ endwin_sp
 erase
 erasechar
 erasechar_sp
+exit_curses
+exit_terminfo
 extended_color_content
 extended_color_content_sp
 extended_pair_content
index 2f0ebf4..120fbea 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: ncursest.map,v 1.46 2019/12/07 18:03:20 tom Exp $
+# $Id: ncursest.map,v 1.48 2019/12/14 23:28:54 tom Exp $
 # script for shared library symbol-versioning using ld
 #
 # This file was generated by ncu-mapsyms
@@ -484,6 +484,7 @@ NCURSES_TINFO_6.1.current {
                _nc_fmt_funcptr;
                _nc_wacs_width;
                curses_trace;
+               exit_terminfo;
        local:
                _*;
 } NCURSES_TINFO_6.1.20171230;
@@ -1158,7 +1159,6 @@ NCURSEST_6.1.20171230 {
                reset_color_pairs_sp;
                unfocus_current_field;
        local:
-               _*;
                _nc_Unset_Current_Field;
                _nc_change_pair;
                _nc_init_color;
@@ -1167,3 +1167,11 @@ NCURSEST_6.1.20171230 {
                _nc_reset_color_pair;
                _nc_set_color_pair;
 } NCURSEST_5.9.20150530;
+
+NCURSEST_6.1.current {
+       global:
+               exit_curses;
+       local:
+               _*;
+} NCURSEST_6.1.20171230;
+
index ee17e3b..1756573 100644 (file)
@@ -1,7 +1,7 @@
 Summary: Curses library with POSIX thread support.
 Name: ncursest6
 Version: 6.1
-Release: 20191207
+Release: 20191214
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index e137cde..021b819 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: ncursest.sym,v 1.38 2019/12/07 18:03:20 tom Exp $
+# $Id: ncursest.sym,v 1.39 2019/12/14 22:42:32 tom Exp $
 # script for shared library symbol-visibility using libtool
 #
 # This file was generated by ncu-mapsyms
@@ -337,6 +337,8 @@ endwin_sp
 erase
 erasechar
 erasechar_sp
+exit_curses
+exit_terminfo
 extended_color_content
 extended_color_content_sp
 extended_pair_content
index 247df94..d6d7941 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: ncursestw.map,v 1.48 2019/12/07 18:03:20 tom Exp $
+# $Id: ncursestw.map,v 1.50 2019/12/14 23:28:20 tom Exp $
 # script for shared library symbol-versioning using ld
 #
 # This file was generated by ncu-mapsyms
@@ -490,6 +490,7 @@ NCURSES_TINFO_6.1.current {
                _nc_fmt_funcptr;
                _nc_wacs_width;
                curses_trace;
+               exit_terminfo;
        local:
                _*;
 } NCURSES_TINFO_6.1.20171230;
@@ -1279,7 +1280,6 @@ NCURSESTW_6.1.20171230 {
                reset_color_pairs_sp;
                unfocus_current_field;
        local:
-               _*;
                _nc_Unset_Current_Field;
                _nc_change_pair;
                _nc_init_color;
@@ -1288,3 +1288,10 @@ NCURSESTW_6.1.20171230 {
                _nc_reset_color_pair;
                _nc_set_color_pair;
 } NCURSESTW_5.9.20150530;
+
+NCURSESTW_6.1.current {
+       global:
+               exit_curses;
+       local:
+               _*;
+} NCURSESTW_6.1.20171230;
index ab655d4..5d12a53 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: ncursestw.sym,v 1.37 2019/12/07 18:03:20 tom Exp $
+# $Id: ncursestw.sym,v 1.38 2019/12/14 22:44:31 tom Exp $
 # script for shared library symbol-visibility using libtool
 #
 # This file was generated by ncu-mapsyms
@@ -355,6 +355,8 @@ erase
 erasechar
 erasechar_sp
 erasewchar
+exit_curses
+exit_terminfo
 extended_color_content
 extended_color_content_sp
 extended_pair_content
index 356d6c9..77f0c7b 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: ncursesw.map,v 1.51 2019/12/07 18:03:20 tom Exp $
+# $Id: ncursesw.map,v 1.53 2019/12/14 23:28:02 tom Exp $
 # script for shared library symbol-versioning using ld
 #
 # This file was generated by ncu-mapsyms
@@ -484,6 +484,7 @@ NCURSES_TINFO_6.1.current {
                _nc_fmt_funcptr;
                _nc_wacs_width;
                curses_trace;
+               exit_terminfo;
        local:
                _*;
 } NCURSES_TINFO_6.1.20171230;
@@ -1300,7 +1301,6 @@ NCURSESW_6.1.20171230 {
                reset_color_pairs_sp;
                unfocus_current_field;
        local:
-               _*;
                _nc_Unset_Current_Field;
                _nc_change_pair;
                _nc_init_color;
@@ -1309,3 +1309,10 @@ NCURSESW_6.1.20171230 {
                _nc_reset_color_pair;
                _nc_set_color_pair;
 } NCURSESW_5.9.20150530;
+
+NCURSESW_6.1.current {
+       global:
+               exit_curses;
+       local:
+               _*;
+} NCURSESW_6.1.20171230;
index 6c254d0..d8d3fd8 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: ncursesw.sym,v 1.36 2019/12/07 18:03:20 tom Exp $
+# $Id: ncursesw.sym,v 1.37 2019/12/14 22:45:41 tom Exp $
 # script for shared library symbol-visibility using libtool
 #
 # This file was generated by ncu-mapsyms
@@ -343,6 +343,8 @@ erase
 erasechar
 erasechar_sp
 erasewchar
+exit_curses
+exit_terminfo
 extended_color_content
 extended_color_content_sp
 extended_pair_content
index 54e6215..da34790 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2015,2017 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -30,7 +30,7 @@
  *  Author: Thomas E. Dickey                    1997-on                     *
  ****************************************************************************/
 /*
- * $Id: progs.priv.h,v 1.46 2017/10/09 00:30:38 tom Exp $
+ * $Id: progs.priv.h,v 1.47 2019/12/14 23:53:12 tom Exp $
  *
  *     progs.priv.h
  *
@@ -129,10 +129,11 @@ extern int optind;
 
 #include <nc_string.h>
 #include <nc_alloc.h>
+
 #if HAVE_NC_FREEALL
 #undef ExitProgram
 #ifdef USE_LIBTINFO
-#define ExitProgram(code) _nc_free_tinfo(code)
+#define ExitProgram(code) exit_terminfo(code)
 #else
 #define ExitProgram(code) _nc_free_tic(code)
 #endif
index a4cbb53..c5ec9d3 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 2017,2018 Free Software Foundation, Inc.                   *
+ * Copyright (c) 2017-2018,2019 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -26,7 +26,7 @@
  * authorization.                                                           *
  ****************************************************************************/
 /*
- * $Id: demo_new_pair.c,v 1.19 2018/05/12 14:30:04 tom Exp $
+ * $Id: demo_new_pair.c,v 1.20 2019/12/14 23:26:09 tom Exp $
  *
  * Demonstrate the alloc_pair() function.
  */
@@ -336,7 +336,7 @@ main(int argc, char *argv[])
        total_cells += 1 + (use_wide ? 1 : 0);
        ++current;
     }
-    exit_curses();
+    stop_curses();
     fclose(output);
 
     printf("%.1f cells/second\n",
index a0b7de6..93a4644 100644 (file)
@@ -26,7 +26,7 @@
  * authorization.                                                           *
  ****************************************************************************/
 /*
- * $Id: echochar.c,v 1.19 2019/08/24 23:11:01 tom Exp $
+ * $Id: echochar.c,v 1.20 2019/12/14 23:25:29 tom Exp $
  *
  * Demonstrate the echochar function (compare to dots.c).
  * Thomas Dickey - 2006/11/4
@@ -43,7 +43,7 @@ static time_t started;
 static void
 cleanup(void)
 {
-    exit_curses();
+    stop_curses();
 
     printf("\n\n%ld total cells, rate %.2f/sec\n",
           total_chars,
index 9fb236b..b7c560b 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2014,2017 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -26,7 +26,7 @@
  * authorization.                                                           *
  ****************************************************************************/
 /*
- * $Id: firework.c,v 1.35 2017/09/30 15:42:24 tom Exp $
+ * $Id: firework.c,v 1.36 2019/12/14 23:26:09 tom Exp $
  */
 #include <test.priv.h>
 
@@ -37,7 +37,7 @@ static short my_bg = COLOR_BLACK;
 static void
 cleanup(void)
 {
-    exit_curses();
+    stop_curses();
 }
 
 static void
index c2ef5b1..6a6603d 100644 (file)
@@ -33,7 +33,7 @@
  * modified 10-18-89 for curses (jrl)
  * 10-18-89 added signal handling
  *
- * $Id: gdc.c,v 1.52 2019/08/24 23:11:01 tom Exp $
+ * $Id: gdc.c,v 1.53 2019/12/14 23:25:29 tom Exp $
  */
 
 #include <test.priv.h>
@@ -66,7 +66,7 @@ sighndl(int signo)
     signal(signo, sighndl);
     sigtermed = signo;
     if (redirected) {
-       exit_curses();
+       stop_curses();
        ExitProgram(EXIT_FAILURE);
     }
 }
@@ -76,7 +76,7 @@ check_term(void)
 {
     if (sigtermed) {
        (void) standend();
-       exit_curses();
+       stop_curses();
        fprintf(stderr, "gdc terminated by signal %d\n", sigtermed);
        ExitProgram(EXIT_FAILURE);
     }
@@ -447,6 +447,6 @@ main(int argc, char *argv[])
        }
     } while (--count);
     (void) standend();
-    exit_curses();
+    stop_curses();
     ExitProgram(EXIT_SUCCESS);
 }
index f24ae54..16b826f 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2014,2017 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -41,7 +41,7 @@
  *
  *     Date: 05.Nov.90
  *
- * $Id: hanoi.c,v 1.39 2017/09/09 00:19:24 tom Exp $
+ * $Id: hanoi.c,v 1.40 2019/12/14 23:26:09 tom Exp $
  */
 
 #include <test.priv.h>
@@ -354,6 +354,6 @@ main(int argc, char **argv)
            }
        }
     }
-    exit_curses();
+    stop_curses();
     ExitProgram(EXIT_SUCCESS);
 }
index 0215c2a..ee510cc 100644 (file)
@@ -34,7 +34,7 @@
  * This can't be part of the ncurses test-program, because ncurses rips off the
  * bottom line to do labels.
  *
- * $Id: lrtest.c,v 1.25 2019/12/07 18:07:04 tom Exp $
+ * $Id: lrtest.c,v 1.26 2019/12/14 23:25:29 tom Exp $
  */
 
 #include <test.priv.h>
@@ -174,7 +174,7 @@ main(
        refresh();
     }
 
-    exit_curses();
+    stop_curses();
     ExitProgram(EXIT_SUCCESS);
 }
 
index c813123..3959b56 100644 (file)
@@ -40,7 +40,7 @@ AUTHOR
    Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
            Thomas E. Dickey (beginning revision 1.27 in 1996).
 
-$Id: ncurses.c,v 1.520 2019/12/07 19:04:52 tom Exp $
+$Id: ncurses.c,v 1.521 2019/12/14 23:25:29 tom Exp $
 
 ***************************************************************************/
 
@@ -7329,7 +7329,7 @@ overlap_test(bool recur GCC_UNUSED)
     delwin(win2);
     delwin(win1);
     erase();
-    exit_curses();
+    stop_curses();
     return OK;
 }
 
@@ -7529,7 +7529,7 @@ x_overlap_test(bool recur GCC_UNUSED)
     delwin(win2);
     delwin(win1);
     erase();
-    exit_curses();
+    stop_curses();
     return OK;
 }
 #endif /* USE_WIDEC_SUPPORT */
@@ -7619,7 +7619,7 @@ settings_test(bool recur GCC_UNUSED)
 #endif
     Pause();
     erase();
-    exit_curses();
+    stop_curses();
     return OK;
 }
 
index 04c5275..d76523a 100644 (file)
@@ -2,7 +2,7 @@
  *  newdemo.c  -       A demo program using PDCurses. The program illustrate
  *                     the use of colours for text output.
  *
- * $Id: newdemo.c,v 1.46 2019/08/24 23:02:49 tom Exp $
+ * $Id: newdemo.c,v 1.47 2019/12/14 23:25:29 tom Exp $
  */
 
 #include <test.priv.h>
@@ -50,7 +50,7 @@ static const char *messages[] =
 static void
 trap(int sig GCC_UNUSED)
 {
-    exit_curses();
+    stop_curses();
     ExitProgram(EXIT_FAILURE);
 }
 
@@ -238,7 +238,7 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
     height = 14;               /* Create a drawing window */
     win = newwin(height, width, (LINES - height) / 2, (COLS - width) / 2);
     if (win == NULL) {
-       exit_curses();
+       stop_curses();
        ExitProgram(EXIT_FAILURE);
     }
 
@@ -362,6 +362,6 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
        if (WaitForUser(win) == 1)
            break;
     }
-    exit_curses();
+    stop_curses();
     ExitProgram(EXIT_SUCCESS);
 }
index baa5de8..624eda8 100644 (file)
@@ -26,7 +26,7 @@
  * authorization.                                                           *
  ****************************************************************************/
 /*
- * $Id: picsmap.c,v 1.130 2019/08/24 23:07:34 tom Exp $
+ * $Id: picsmap.c,v 1.131 2019/12/14 23:51:39 tom Exp $
  *
  * Author: Thomas E. Dickey
  *
@@ -103,7 +103,7 @@ typedef struct {
 #define P2I(n) (((int)(my_intptr_t)(n)) - 1)
 #define I2P(n) (void *)(my_intptr_t)((n) + 1)
 
-#define stop_curses() if (in_curses) endwin()
+#define pause_curses() if (in_curses) stop_curses()
 
 #define debugmsg if (debugging) logmsg
 #define debugmsg2 if (debugging) logmsg2
@@ -187,7 +187,7 @@ close_log(void)
 static void
 cleanup(int code)
 {
-    stop_curses();
+    pause_curses();
     close_log();
     ExitProgram(code);
     /* NOTREACHED */
@@ -423,7 +423,7 @@ read_file(const char *filename)
     struct stat sb;
 
     if (!quiet) {
-       stop_curses();
+       pause_curses();
        printf("** %s\n", filename);
     }
 
@@ -511,7 +511,7 @@ usage(void)
     };
     size_t n;
 
-    stop_curses();
+    pause_curses();
 
     fflush(stdout);
     for (n = 0; n < SIZEOF(msg); n++)
@@ -524,7 +524,7 @@ giveup(const char *fmt, ...)
 {
     va_list ap;
 
-    stop_curses();
+    pause_curses();
     fflush(stdout);
 
     va_start(ap, fmt);
@@ -1469,7 +1469,7 @@ init_display(const char *palette_path, int opt_d)
            init_palette(palette_path);
        }
        scrollok(stdscr, FALSE);
-       exit_curses();
+       stop_curses();
     }
 }
 
index 6f238fb..407eb09 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -26,7 +26,7 @@
  * authorization.                                                           *
  ****************************************************************************/
 /*
- * $Id: rain.c,v 1.49 2018/06/23 21:35:06 tom Exp $
+ * $Id: rain.c,v 1.50 2019/12/14 23:26:09 tom Exp $
  */
 #include <test.priv.h>
 #include <popup_msg.h>
@@ -78,7 +78,7 @@ safe_wgetch(WINDOW *w, void *data GCC_UNUSED)
 static void
 onsig(int n GCC_UNUSED)
 {
-    exit_curses();
+    stop_curses();
     ExitProgram(EXIT_FAILURE);
 }
 
@@ -437,7 +437,7 @@ main(int argc, char *argv[])
        }
        napms(50);
     }
-    exit_curses();
+    stop_curses();
 #ifdef USE_PTHREADS
     printf("Counts per thread:\n");
     for (j = 0; j < MAX_THREADS; ++j)
index 408020a..8aa82ef 100644 (file)
@@ -26,7 +26,7 @@
  * authorization.                                                           *
  ****************************************************************************/
 /*
- * $Id: savescreen.c,v 1.55 2019/01/20 15:59:28 tom Exp $
+ * $Id: savescreen.c,v 1.56 2019/12/14 23:25:29 tom Exp $
  *
  * Demonstrate save/restore functions from the curses library.
  * Thomas Dickey - 2007/7/14
@@ -495,7 +495,7 @@ main(int argc, char *argv[])
            }
            move(0, 0);
        } else {
-           exit_curses();
+           stop_curses();
            fprintf(stderr, "Cannot open \"%s\"\n", fill_by);
            ExitProgram(EXIT_FAILURE);
        }
@@ -507,14 +507,14 @@ main(int argc, char *argv[])
         * Use the last file as the initial/current screen.
         */
        if (last < 0) {
-           exit_curses();
+           stop_curses();
            printf("No screen-dumps given\n");
            ExitProgram(EXIT_FAILURE);
        }
 
        which = last;
        if (load_screen(files[which]) == ERR) {
-           exit_curses();
+           stop_curses();
            printf("Cannot load screen-dump %s\n", files[which]);
            ExitProgram(EXIT_FAILURE);
        }
index 23456a4..2b2046c 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: tclock.c,v 1.39 2018/12/29 17:23:42 tom Exp $ */
+/* $Id: tclock.c,v 1.40 2019/12/14 23:25:29 tom Exp $ */
 
 #define NEED_TIME_H
 #include <test.priv.h>
@@ -282,7 +282,7 @@ main(int argc, char *argv[])
 
     }
 
-    exit_curses();
+    stop_curses();
     ExitProgram(EXIT_SUCCESS);
 }
 #else
index 7814b95..7a884fe 100644 (file)
@@ -29,7 +29,7 @@
 /****************************************************************************
  *  Author: Thomas E. Dickey                    1996-on                     *
  ****************************************************************************/
-/* $Id: test.priv.h,v 1.183 2019/12/07 19:03:20 tom Exp $ */
+/* $Id: test.priv.h,v 1.184 2019/12/14 23:25:29 tom Exp $ */
 
 #ifndef __TEST_PRIV_H
 #define __TEST_PRIV_H 1
@@ -885,9 +885,9 @@ extern int TABSIZE;
  * ncurses restores the cursor in endwin().  Other libraries may not.
  */
 #ifdef NCURSES_VERSION
-#define exit_curses() endwin()
+#define stop_curses() endwin()
 #else
-#define exit_curses() do { endwin(); curs_set(1); } while (0)
+#define stop_curses() do { endwin(); curs_set(1); } while (0)
 #endif
 
 /* ncurses implements tparm() with varargs, X/Open with a fixed-parameter list
@@ -904,7 +904,7 @@ extern int TABSIZE;
 #include <nc_alloc.h>
 #if HAVE_NC_FREEALL && defined(USE_TINFO)
 #undef ExitProgram
-#define ExitProgram(code) _nc_free_tinfo(code)
+#define ExitProgram(code) exit_terminfo(code)
 #endif
 #else
 #define typeMalloc(type,n) (type *) malloc((size_t)(n) * sizeof(type))
index ab7e171..f9762b0 100644 (file)
@@ -6,7 +6,7 @@
  *  wrs(5/28/93) -- modified to be consistent (perform identically) with either
  *                  PDCurses or under Unix System V, R4
  *
- * $Id: testcurs.c,v 1.54 2019/12/07 18:06:12 tom Exp $
+ * $Id: testcurs.c,v 1.55 2019/12/14 23:25:29 tom Exp $
  */
 
 #include <test.priv.h>
@@ -73,7 +73,7 @@ initTest(WINDOW **win)
     height = 13;               /* Create a drawing window */
     *win = newwin(height, width, (LINES - height) / 2, (COLS - width) / 2);
     if (*win == NULL) {
-       exit_curses();
+       stop_curses();
        return 0;
     }
     return 1;
@@ -557,7 +557,7 @@ resizeTest(WINDOW *dummy GCC_UNUSED)
 
     win1 = newwin(10, 50, 14, 25);
     if (win1 == NULL) {
-       exit_curses();
+       stop_curses();
        return;
     }
 #ifdef A_COLOR
@@ -760,7 +760,7 @@ main(
 
     delwin(win);
 
-    exit_curses();
+    stop_curses();
 #ifdef XCURSES
     XCursesExit();
 #endif
index d618e3b..c7b04aa 100644 (file)
@@ -52,7 +52,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.80 2019/12/07 19:04:09 tom Exp $
+  $Id: worm.c,v 1.81 2019/12/14 23:25:29 tom Exp $
 */
 
 #include <test.priv.h>
@@ -215,7 +215,7 @@ static void
 failed(const char *s)
 {
     perror(s);
-    exit_curses();
+    stop_curses();
     ExitProgram(EXIT_FAILURE);
 }
 #endif
@@ -224,7 +224,7 @@ static void
 cleanup(void)
 {
     USING_WINDOW1(stdscr, wrefresh, safe_wrefresh);
-    exit_curses();
+    stop_curses();
 }
 
 static void
index f66ba6f..78b187c 100644 (file)
@@ -92,7 +92,7 @@
 /******************************************************************************/
 
 /*
- * $Id: xmas.c,v 1.33 2017/09/30 19:14:13 tom Exp $
+ * $Id: xmas.c,v 1.34 2019/12/14 23:25:29 tom Exp $
  */
 #include <test.priv.h>
 
@@ -638,7 +638,7 @@ done(int sig GCC_UNUSED)
 {
     move(LINES - 1, 0);
     refresh();
-    exit_curses();
+    stop_curses();
 
 #if NO_LEAKS
     if (my_pairs != 0)
@@ -749,7 +749,7 @@ main(int argc, char *argv[])
        (w_holiday = newwin(1, 26, 3, 27)) == 0 ||
 
        (w_del_msg = newwin(1, 19, 23, 60)) == 0) {
-       exit_curses();
+       stop_curses();
        fprintf(stderr, "Cannot create windows - screen too small\n");
        ExitProgram(EXIT_FAILURE);
     }