From f67a188e71a0e6f80c1c45e50e7a7449c2d7bfb3 Mon Sep 17 00:00:00 2001 From: "Thomas E. Dickey" Date: Mon, 7 Sep 2020 23:37:37 +0000 Subject: [PATCH] ncurses 6.2 - patch 20200907 + fix regression in setupterm validating non-empty $TERM (report by Soren Tempel). --- NEWS | 6 +++++- VERSION | 2 +- dist.mk | 4 ++-- include/nc_win32.h | 8 ++++---- ncurses/base/lib_initscr.c | 4 ++-- ncurses/curses.priv.h | 6 +++--- ncurses/tinfo/lib_setup.c | 13 +++++++++---- 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 +- 14 files changed, 37 insertions(+), 28 deletions(-) diff --git a/NEWS b/NEWS index b81abe73..d3fbc834 100644 --- a/NEWS +++ b/NEWS @@ -26,7 +26,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.3556 2020/09/06 20:05:44 tom Exp $ +-- $Id: NEWS,v 1.3558 2020/09/07 16:47:17 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -46,6 +46,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. +20200907 + + fix regression in setupterm validating non-empty $TERM (report by + Soren Tempel). + 20200906 + merge/adapt in-progress work by Juergen Pfeifer for new version of win32-driver. diff --git a/VERSION b/VERSION index 074a9174..2fc48a8b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5:0:10 6.2 20200906 +5:0:10 6.2 20200907 diff --git a/dist.mk b/dist.mk index 382761aa..c6edb9e0 100644 --- a/dist.mk +++ b/dist.mk @@ -26,7 +26,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: dist.mk,v 1.1373 2020/09/06 20:05:44 tom Exp $ +# $Id: dist.mk,v 1.1374 2020/09/07 14:22:04 tom Exp $ # Makefile for creating ncurses distributions. # # This only needs to be used directly as a makefile by developers, but @@ -38,7 +38,7 @@ SHELL = /bin/sh # These define the major/minor/patch versions of ncurses. NCURSES_MAJOR = 6 NCURSES_MINOR = 2 -NCURSES_PATCH = 20200906 +NCURSES_PATCH = 20200907 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) diff --git a/include/nc_win32.h b/include/nc_win32.h index 8fa39869..1a0ba495 100644 --- a/include/nc_win32.h +++ b/include/nc_win32.h @@ -31,7 +31,7 @@ * Author: Thomas Dickey, 2008-on * ****************************************************************************/ -/* $Id: nc_win32.h,v 1.7 2020/09/06 20:53:55 tom Exp $ */ +/* $Id: nc_win32.h,v 1.8 2020/09/07 14:27:05 tom Exp $ */ #ifndef NC_WIN32_H #define NC_WIN32_H 1 @@ -107,15 +107,15 @@ extern NCURSES_EXPORT(int) _nc_console_vt_supported(void); extern NCURSES_EXPORT(int) _nc_console_checkmintty(int fd, LPHANDLE pMinTTY); #endif -#undef CHECK_TERM_ENV +#undef VALID_TERM_ENV #define MS_TERMINAL "ms-terminal" -#define CHECK_TERM_ENV(term_env, no_terminal) \ +#define VALID_TERM_ENV(term_env, no_terminal) \ (term_env = (NonEmpty(term_env) \ ? term_env \ : (_nc_console_vt_supported() \ ? MS_TERMINAL \ : no_terminal)), \ - !NonEmpty(term_env)) + NonEmpty(term_env)) /* * Various Console mode definitions diff --git a/ncurses/base/lib_initscr.c b/ncurses/base/lib_initscr.c index f663819d..6b914913 100644 --- a/ncurses/base/lib_initscr.c +++ b/ncurses/base/lib_initscr.c @@ -46,7 +46,7 @@ #include /* needed for ISC */ #endif -MODULE_ID("$Id: lib_initscr.c,v 1.47 2020/09/06 20:48:55 tom Exp $") +MODULE_ID("$Id: lib_initscr.c,v 1.48 2020/09/07 14:26:48 tom Exp $") NCURSES_EXPORT(WINDOW *) initscr(void) @@ -67,7 +67,7 @@ initscr(void) _nc_globals.init_screen = TRUE; env = getenv("TERM"); - (void) CHECK_TERM_ENV(env, "unknown"); + (void) VALID_TERM_ENV(env, "unknown"); if ((name = strdup(env)) == NULL) { fprintf(stderr, "Error opening allocating $TERM.\n"); diff --git a/ncurses/curses.priv.h b/ncurses/curses.priv.h index 1390221e..0fea513c 100644 --- a/ncurses/curses.priv.h +++ b/ncurses/curses.priv.h @@ -35,7 +35,7 @@ ****************************************************************************/ /* - * $Id: curses.priv.h,v 1.636 2020/09/06 20:53:41 tom Exp $ + * $Id: curses.priv.h,v 1.637 2020/09/07 14:27:13 tom Exp $ * * curses.priv.h * @@ -297,11 +297,11 @@ extern NCURSES_EXPORT(void *) _nc_memmove (void *, const void *, size_t); #define NO_TERMINAL 0 #endif -#define CHECK_TERM_ENV(term_env, no_terminal) \ +#define VALID_TERM_ENV(term_env, no_terminal) \ (term_env = (NonEmpty(term_env) \ ? term_env \ : no_terminal), \ - !NonEmpty(term_env)) + NonEmpty(term_env)) /* * Note: ht/cbt expansion flakes out randomly under Linux 1.1.47, but only diff --git a/ncurses/tinfo/lib_setup.c b/ncurses/tinfo/lib_setup.c index 73e5a323..19c65357 100644 --- a/ncurses/tinfo/lib_setup.c +++ b/ncurses/tinfo/lib_setup.c @@ -49,7 +49,7 @@ #include #endif -MODULE_ID("$Id: lib_setup.c,v 1.210 2020/09/06 21:03:33 tom Exp $") +MODULE_ID("$Id: lib_setup.c,v 1.211 2020/09/07 16:37:19 tom Exp $") /**************************************************************************** * @@ -663,12 +663,17 @@ TINFO_SETUP_TERM(TERMINAL **tp, if (tname == 0) { tname = getenv("TERM"); -#if defined(USE_TERM_DRIVER) && !defined(EXP_WIN32_DRIVER) +#if defined(EXP_WIN32_DRIVER) + if (!VALID_TERM_ENV(tname, NO_TERMINAL)) { + T(("Failure with TERM=%s", NonNull(tname))); + ret_error0(TGETENT_ERR, "TERM environment variable not set.\n"); + } +#elif defined(USE_TERM_DRIVER) if (!NonEmpty(tname)) tname = "unknown"; #else - if (!CHECK_TERM_ENV(tname, NO_TERMINAL)) { - T(("Failure with TERM=%s", tname)); + if (!NonEmpty(tname)) { + T(("Failure with TERM=%s", NonNull(tname))); ret_error0(TGETENT_ERR, "TERM environment variable not set.\n"); } #endif diff --git a/package/debian-mingw/changelog b/package/debian-mingw/changelog index 81f939be..63fc4333 100644 --- a/package/debian-mingw/changelog +++ b/package/debian-mingw/changelog @@ -1,8 +1,8 @@ -ncurses6 (6.2+20200906) unstable; urgency=low +ncurses6 (6.2+20200907) unstable; urgency=low * latest weekly patch - -- Thomas E. Dickey Sun, 06 Sep 2020 16:05:44 -0400 + -- Thomas E. Dickey Mon, 07 Sep 2020 10:22:04 -0400 ncurses6 (5.9-20131005) unstable; urgency=low diff --git a/package/debian-mingw64/changelog b/package/debian-mingw64/changelog index 81f939be..63fc4333 100644 --- a/package/debian-mingw64/changelog +++ b/package/debian-mingw64/changelog @@ -1,8 +1,8 @@ -ncurses6 (6.2+20200906) unstable; urgency=low +ncurses6 (6.2+20200907) unstable; urgency=low * latest weekly patch - -- Thomas E. Dickey Sun, 06 Sep 2020 16:05:44 -0400 + -- Thomas E. Dickey Mon, 07 Sep 2020 10:22:04 -0400 ncurses6 (5.9-20131005) unstable; urgency=low diff --git a/package/debian/changelog b/package/debian/changelog index fbfc23d0..7a244ad0 100644 --- a/package/debian/changelog +++ b/package/debian/changelog @@ -1,8 +1,8 @@ -ncurses6 (6.2+20200906) unstable; urgency=low +ncurses6 (6.2+20200907) unstable; urgency=low * latest weekly patch - -- Thomas E. Dickey Sun, 06 Sep 2020 16:05:44 -0400 + -- Thomas E. Dickey Mon, 07 Sep 2020 10:22:04 -0400 ncurses6 (5.9-20120608) unstable; urgency=low diff --git a/package/mingw-ncurses.nsi b/package/mingw-ncurses.nsi index fcc75b5e..8305862a 100644 --- a/package/mingw-ncurses.nsi +++ b/package/mingw-ncurses.nsi @@ -1,4 +1,4 @@ -; $Id: mingw-ncurses.nsi,v 1.417 2020/09/06 20:05:44 tom Exp $ +; $Id: mingw-ncurses.nsi,v 1.418 2020/09/07 14:22:04 tom Exp $ ; TODO add examples ; TODO bump ABI to 6 @@ -10,7 +10,7 @@ !define VERSION_MAJOR "6" !define VERSION_MINOR "2" !define VERSION_YYYY "2020" -!define VERSION_MMDD "0906" +!define VERSION_MMDD "0907" !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD} !define MY_ABI "5" diff --git a/package/mingw-ncurses.spec b/package/mingw-ncurses.spec index fa77f55d..fd755ce9 100644 --- a/package/mingw-ncurses.spec +++ b/package/mingw-ncurses.spec @@ -3,7 +3,7 @@ Summary: shared libraries for terminal handling Name: mingw32-ncurses6 Version: 6.2 -Release: 20200906 +Release: 20200907 License: X11 Group: Development/Libraries Source: ncurses-%{version}-%{release}.tgz diff --git a/package/ncurses.spec b/package/ncurses.spec index a665987e..44c7e6f6 100644 --- a/package/ncurses.spec +++ b/package/ncurses.spec @@ -1,7 +1,7 @@ Summary: shared libraries for terminal handling Name: ncurses6 Version: 6.2 -Release: 20200906 +Release: 20200907 License: X11 Group: Development/Libraries Source: ncurses-%{version}-%{release}.tgz diff --git a/package/ncursest.spec b/package/ncursest.spec index 37aae7aa..fdf1bc7d 100644 --- a/package/ncursest.spec +++ b/package/ncursest.spec @@ -1,7 +1,7 @@ Summary: Curses library with POSIX thread support. Name: ncursest6 Version: 6.2 -Release: 20200906 +Release: 20200907 License: X11 Group: Development/Libraries Source: ncurses-%{version}-%{release}.tgz -- 2.44.0