From a4dac84af1b18fb24d56d6251deeb3c61c437158 Mon Sep 17 00:00:00 2001 From: "Thomas E. Dickey" Date: Sat, 2 Sep 2017 22:52:02 +0000 Subject: [PATCH] ncurses 6.0 - patch 20170902 + amend change for endwin-state for better consistency with the older logic (report/patch by Jeb Rosen, cf: 20170722). + modify check in fmt_entry() to handle a cancelled reset string (Debian #873746). Make similar fixes in other parts of dump_entry.c and tput.c --- NEWS | 9 ++++++++- VERSION | 2 +- dist.mk | 4 ++-- ncurses/tty/tty_update.c | 4 ++-- 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 +- progs/dump_entry.c | 21 +++++++++++---------- progs/tput.c | 4 ++-- 12 files changed, 36 insertions(+), 28 deletions(-) diff --git a/NEWS b/NEWS index 27e0e240..936c9409 100644 --- a/NEWS +++ b/NEWS @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.2937 2017/08/27 18:35:58 tom Exp $ +-- $Id: NEWS,v 1.2939 2017/09/02 21:48:17 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -45,6 +45,13 @@ 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. +20170902 + + amend change for endwin-state for better consistency with the older + logic (report/patch by Jeb Rosen, cf: 20170722). + + modify check in fmt_entry() to handle a cancelled reset string + (Debian #873746). Make similar fixes in other parts of dump_entry.c + and tput.c + 20170827 + fix a bug in repeat_char logic (cf: 20170729, report by Chris Clayton). diff --git a/VERSION b/VERSION index cdd3e048..db7e2867 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5:0:9 6.0 20170827 +5:0:9 6.0 20170902 diff --git a/dist.mk b/dist.mk index 0da7f270..77f8ec80 100644 --- 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.1180 2017/08/27 15:37:47 tom Exp $ +# $Id: dist.mk,v 1.1181 2017/08/29 22:24:15 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 = 0 -NCURSES_PATCH = 20170827 +NCURSES_PATCH = 20170902 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) diff --git a/ncurses/tty/tty_update.c b/ncurses/tty/tty_update.c index f86ee729..b5151b94 100644 --- a/ncurses/tty/tty_update.c +++ b/ncurses/tty/tty_update.c @@ -84,7 +84,7 @@ #include -MODULE_ID("$Id: tty_update.c,v 1.296 2017/08/27 19:40:17 tom Exp $") +MODULE_ID("$Id: tty_update.c,v 1.297 2017/09/02 21:45:44 Jeb.Rosen Exp $") /* * This define controls the line-breakout optimization. Every once in a @@ -831,7 +831,7 @@ TINFO_DOUPDATE(NCURSES_SP_DCL0) SP_PARM->_fifohold--; #if USE_SIZECHANGE - if ((SP_PARM->_endwin == ewRunning) + if ((SP_PARM->_endwin == ewSuspend) || _nc_handle_sigwinch(SP_PARM)) { /* * This is a transparent extension: XSI does not address it, diff --git a/package/debian-mingw/changelog b/package/debian-mingw/changelog index 32c40df2..6b66e2b4 100644 --- a/package/debian-mingw/changelog +++ b/package/debian-mingw/changelog @@ -1,8 +1,8 @@ -ncurses6 (6.0+20170827) unstable; urgency=low +ncurses6 (6.0+20170902) unstable; urgency=low * latest weekly patch - -- Thomas E. Dickey Sun, 27 Aug 2017 11:37:47 -0400 + -- Thomas E. Dickey Tue, 29 Aug 2017 18:24:15 -0400 ncurses6 (5.9-20131005) unstable; urgency=low diff --git a/package/debian-mingw64/changelog b/package/debian-mingw64/changelog index 32c40df2..6b66e2b4 100644 --- a/package/debian-mingw64/changelog +++ b/package/debian-mingw64/changelog @@ -1,8 +1,8 @@ -ncurses6 (6.0+20170827) unstable; urgency=low +ncurses6 (6.0+20170902) unstable; urgency=low * latest weekly patch - -- Thomas E. Dickey Sun, 27 Aug 2017 11:37:47 -0400 + -- Thomas E. Dickey Tue, 29 Aug 2017 18:24:15 -0400 ncurses6 (5.9-20131005) unstable; urgency=low diff --git a/package/debian/changelog b/package/debian/changelog index 2f880e57..c032d2fd 100644 --- a/package/debian/changelog +++ b/package/debian/changelog @@ -1,8 +1,8 @@ -ncurses6 (6.0+20170827) unstable; urgency=low +ncurses6 (6.0+20170902) unstable; urgency=low * latest weekly patch - -- Thomas E. Dickey Sun, 27 Aug 2017 11:37:47 -0400 + -- Thomas E. Dickey Tue, 29 Aug 2017 18:24:15 -0400 ncurses6 (5.9-20120608) unstable; urgency=low diff --git a/package/mingw-ncurses.nsi b/package/mingw-ncurses.nsi index c0d4a4bc..34dfb838 100644 --- a/package/mingw-ncurses.nsi +++ b/package/mingw-ncurses.nsi @@ -1,4 +1,4 @@ -; $Id: mingw-ncurses.nsi,v 1.228 2017/08/27 15:37:47 tom Exp $ +; $Id: mingw-ncurses.nsi,v 1.229 2017/08/29 22:24:15 tom Exp $ ; TODO add examples ; TODO bump ABI to 6 @@ -10,7 +10,7 @@ !define VERSION_MAJOR "6" !define VERSION_MINOR "0" !define VERSION_YYYY "2017" -!define VERSION_MMDD "0827" +!define VERSION_MMDD "0902" !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD} !define MY_ABI "5" diff --git a/package/mingw-ncurses.spec b/package/mingw-ncurses.spec index c21b81fe..07d003ea 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.0 -Release: 20170827 +Release: 20170902 License: X11 Group: Development/Libraries Source: ncurses-%{version}-%{release}.tgz diff --git a/package/ncurses.spec b/package/ncurses.spec index baf94fa8..15129a71 100644 --- a/package/ncurses.spec +++ b/package/ncurses.spec @@ -1,7 +1,7 @@ Summary: shared libraries for terminal handling Name: ncurses6 Version: 6.0 -Release: 20170827 +Release: 20170902 License: X11 Group: Development/Libraries Source: ncurses-%{version}-%{release}.tgz diff --git a/progs/dump_entry.c b/progs/dump_entry.c index 3efe05f4..3b1fcb1e 100644 --- a/progs/dump_entry.c +++ b/progs/dump_entry.c @@ -39,7 +39,7 @@ #include "termsort.c" /* this C file is generated */ #include /* so is this */ -MODULE_ID("$Id: dump_entry.c,v 1.167 2017/07/15 21:22:01 tom Exp $") +MODULE_ID("$Id: dump_entry.c,v 1.168 2017/09/02 21:01:54 tom Exp $") #define DISCARD(string) string = ABSENT_STRING #define PRINTF (void) printf @@ -987,12 +987,12 @@ fmt_entry(TERMTYPE2 *tterm, #undef CUR #define CUR tterm-> if (outform == F_TERMCAP) { - if (termcap_reset != ABSENT_STRING) { - if (init_3string != ABSENT_STRING + if (VALID_STRING(termcap_reset)) { + if (VALID_STRING(init_3string) && !strcmp(init_3string, termcap_reset)) DISCARD(init_3string); - if (reset_2string != ABSENT_STRING + if (VALID_STRING(reset_2string) && !strcmp(reset_2string, termcap_reset)) DISCARD(reset_2string); } @@ -1068,7 +1068,7 @@ fmt_entry(TERMTYPE2 *tterm, buffer[0] = '\0'; if (predval != FAIL) { - if (capability != ABSENT_STRING + if (VALID_STRING(capability) && i + 1 > num_strings) num_strings = i + 1; @@ -1148,8 +1148,7 @@ fmt_entry(TERMTYPE2 *tterm, } } /* e.g., trimmed_sgr0 */ - if (capability != ABSENT_STRING && - capability != CANCELLED_STRING && + if (VALID_STRING(capability) && capability != tterm->Strings[i]) free(capability); } @@ -1320,7 +1319,8 @@ kill_labels(TERMTYPE2 *tterm, int target) for (n = 0; n <= 10; ++n) { _nc_SPRINTF(name, _nc_SLIMIT(sizeof(name)) "lf%d", n); - if ((cap = find_string(tterm, name)) != ABSENT_STRING + cap = find_string(tterm, name); + if (VALID_STRING(cap) && kill_string(tterm, cap)) { target -= (int) (strlen(cap) + 5); ++result; @@ -1345,7 +1345,8 @@ kill_fkeys(TERMTYPE2 *tterm, int target) for (n = 60; n >= 0; --n) { _nc_SPRINTF(name, _nc_SLIMIT(sizeof(name)) "kf%d", n); - if ((cap = find_string(tterm, name)) != ABSENT_STRING + cap = find_string(tterm, name); + if (VALID_STRING(cap) && kill_string(tterm, cap)) { target -= (int) (strlen(cap) + 5); ++result; @@ -1367,7 +1368,7 @@ one_one_mapping(const char *mapping) { bool result = TRUE; - if (mapping != ABSENT_STRING) { + if (VALID_STRING(mapping)) { int n = 0; while (mapping[n] != '\0') { if (isLine(mapping[n]) && diff --git a/progs/tput.c b/progs/tput.c index 9bcde000..3295d18e 100644 --- a/progs/tput.c +++ b/progs/tput.c @@ -50,7 +50,7 @@ #include #include -MODULE_ID("$Id: tput.c,v 1.71 2017/08/19 13:44:27 tom Exp $") +MODULE_ID("$Id: tput.c,v 1.72 2017/09/02 21:03:26 tom Exp $") #define PUTS(s) fputs(s, stdout) @@ -214,7 +214,7 @@ tput_cmd(int fd, TTY * saved_settings, bool opt_x, int argc, char *argv[]) } #endif quit(4, "unknown terminfo capability '%s'", name); - } else if (s != ABSENT_STRING) { + } else if (VALID_STRING(s)) { if (argc > 1) { int k; int ignored; -- 2.44.0