From e348f7adec279f5453349ad13246a952a16e2094 Mon Sep 17 00:00:00 2001 From: "Thomas E. Dickey" Date: Sat, 24 Feb 2018 23:23:52 +0000 Subject: [PATCH] ncurses 6.1 - patch 20180224 + modify _nc_resolve_uses2() to detect incompatible types when merging a "use=" clause of extended capabilities. The problem was seen in a defective terminfo integrated from simpleterm sources in 20171111, compounded by repair in 20180121. + correct Ss/Ms interchange in st-0.7 entry (tmux #1264) -TD + fix remaining flash capabilities with trailing mandatory delays -TD + correct cut/paste in NEWS (report by Sven Joachim). + improve fix for Debian #882620 by reusing limit2 variable (report by Julien Cristau, Sven Joachim). --- NEWS | 15 +++- VERSION | 2 +- dist.mk | 4 +- misc/terminfo.src | 100 ++++++++++++++++++-------- ncurses/tinfo/comp_parse.c | 118 ++++++++++++++++++++++++++++++- ncurses/tinfo/read_termcap.c | 7 +- 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 +- 12 files changed, 214 insertions(+), 52 deletions(-) diff --git a/NEWS b/NEWS index ab0604c8..9801462d 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.3085 2018/02/17 21:27:10 tom Exp $ +-- $Id: NEWS,v 1.3089 2018/02/24 22:39:32 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -45,12 +45,21 @@ 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. +20180224 + + modify _nc_resolve_uses2() to detect incompatible types when merging + a "use=" clause of extended capabilities. The problem was seen in a + defective terminfo integrated from simpleterm sources in 20171111, + compounded by repair in 20180121. + + correct Ss/Ms interchange in st-0.7 entry (tmux #1264) -TD + + fix remaining flash capabilities with trailing mandatory delays -TD + + correct cut/paste in NEWS (report by Sven Joachim). + 20180217 + remove incorrect free() from 20170617 changes (report by David Macek). + correct type for "U8" in user_caps.5; it is a number not boolean. + add a null-pointer check in safe_sprintf.c (report by Steven Noonan). - + improve fix for Debian #882620 by reusing limit2 variable (report - Julien Cristau, Sven Cristau). + + improve fix for Debian #882620 by reusing limit2 variable (report by + Julien Cristau, Sven Joachim). 20180210 + modify misc/Makefile.in to install/uninstall explicit list in case diff --git a/VERSION b/VERSION index f4d4fbcc..432d3a25 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5:0:10 6.1 20180217 +5:0:10 6.1 20180224 diff --git a/dist.mk b/dist.mk index 0b00dac8..3d224765 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.1211 2018/02/11 20:16:59 tom Exp $ +# $Id: dist.mk,v 1.1212 2018/02/18 15:53:22 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 = 20180217 +NCURSES_PATCH = 20180224 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) diff --git a/misc/terminfo.src b/misc/terminfo.src index 84f48108..b4df1272 100644 --- a/misc/terminfo.src +++ b/misc/terminfo.src @@ -6,8 +6,8 @@ # Report bugs and new terminal descriptions to # bug-ncurses@gnu.org # -# $Revision: 1.675 $ -# $Date: 2018/01/27 15:14:08 $ +# $Revision: 1.682 $ +# $Date: 2018/02/24 14:23:54 $ # # The original header is preserved below for reference. It is noted that there # is a "newer" version which differs in some cosmetic details (but actually @@ -368,7 +368,7 @@ ansi+sgr|ANSI graphic renditions, sgr0=\E[0m, ansi+sgrso|ANSI standout only, rmso=\E[m, smso=\E[7m, -ansi+sgrul|ansi underline only, +ansi+sgrul|ANSI underline only, rmul=\E[m, smul=\E[4m, ansi+sgrbold|ANSI graphic renditions; assuming terminal has bold; not dim, bold=\E[1m, @@ -387,7 +387,7 @@ ansi+csr|ANSI scroll-region plus cursor save & restore, # characters sent to the printer do not echo on the screen. DEC terminals # can also be put into autoprinter mode, where each line is sent to the # printer as you move off that line, e.g., by a carriage return. -ansi+pp|ansi printer port, +ansi+pp|ANSI printer port, mc5i, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, dec+pp|DEC autoprinter mode, @@ -544,7 +544,7 @@ ansi-mtabs|any ansi terminal with pessimistic assumptions, # USENET {akgua,msdc,sb1,sb6,gatech}!emory!mlhhh. # # (Added vt100 , to quiet a tic warning --esr) -ansi77|ansi 3.64 standard 1977 version, +ansi77|ANSI 3.64 standard 1977 version, OTbs, am, mir, cols#80, it#8, lines#24, bel=^G, clear=\E[;H\E[2J, cr=\r, csr=\E[%i%p1%d;%p2%dr, @@ -3578,7 +3578,7 @@ vt340|dec-vt340|vt330|dec-vt330|dec vt340 graphics terminal with 24 line page, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, dsl=\E[2$~\r\E[1$}\E[K\E[$}, - ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l$<200/>, fsl=\E[$}, + ed=\E[J, el=\E[K, flash=\E[?5h$<200/>\E[?5l, fsl=\E[$}, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED, is2=\E<\E\sF\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r @@ -3628,7 +3628,7 @@ vt400|vt400-24|dec-vt400|dec vt400 24x80 column autowrap, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, dsl=\E[2$~\r\E[1$}\E[K\E[$}, ed=\E[J$<10/>, - el=\E[K$<4/>, flash=\E[?5h\E[?5l$<200/>, fsl=\E[$}, + el=\E[K$<4/>, flash=\E[?5h$<200/>\E[?5l, fsl=\E[$}, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\ED, is2=\E<\E\sF\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r @@ -5400,16 +5400,16 @@ termite|VTE-based terminal, ht=^I, hts=\EH, ind=\n, indn=\E[%p1%dS, invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>, kb2=\EOE, kbs=^?, kcbt=\E[Z, kent=\EOM, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, - rin=\E[%p1%dT, ritm=\E[23m, rmacs=\E(B, rmam=\E[?7l, - rmcup=\E[?1049l, rmkx=\E[?1l\E>, rmso=\E[27m, - rmul=\E[24m, rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, + rin=\E[%p1%dT, rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?1049l, + rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs1=\Ec, + rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%| %t;7%;%?%p7%t;8%;m, - sgr0=\E(B\E[m, sitm=\E[3m, smacs=\E(0, smam=\E[?7h, - smcup=\E[?1049h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, vpa=\E[%i%p1%dd, use=ansi+idc, use=ansi+idl, - use=ansi+enq, use=xterm+256color, use=ecma+color, - use=xterm+pcfkeys, use=xterm+sl-twm, + sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smcup=\E[?1049h, + smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, + vpa=\E[%i%p1%dd, use=ansi+idc, use=ansi+idl, + use=ansi+enq, use=ecma+italics, use=xterm+256color, + use=ecma+color, use=xterm+pcfkeys, use=xterm+sl-twm, #### Other GNOME # Multi-Gnome-Terminal 1.6.2 @@ -5829,7 +5829,37 @@ rxvt+pcfkeys|fragment for PC-style fkeys, kPRV6=\E[5@, kRIT5=\EOc, kUP=\E[a, kUP5=\EOa, # rxvt was originally "xvt", first announced in April 1993: -# http://www.informatica.co.cr/linux-desktops/research/1993/0416.html +# http://www.krsaborio.net/linux-desktops/research/1993/0416.html +#------------------------------------------------------------------------------ +# Article: 567 of comp.os.linux.announce +# Path: pavo.csi.cam.ac.uk!warwick!uknet!pipex!uunet!zaphod.mps.ohio-state.edu! +# caen!batcomputer!theory.TC.Cornell.EDU!mdw +# From: nation@rocket.sanders.com (Robert Nation) +# Newsgroups: comp.os.linux.announce +# Subject: xvt upload +# Date: 16 Apr 1993 18:13:07 GMT +# Organization: Cornell Theory Center +# Lines: 13 +# Approved: linux-announce@tc.cornell.edu (Matt Welsh) +# Message-ID: <1qmsvj$pvj@fitz.TC.Cornell.EDU> +# NNTP-Posting-Host: theory.tc.cornell.edu +# Keywords: xvt, xterm, Xwindows +# Originator: mdw@theory.TC.Cornell.EDU +# +# Rxvt has been uploaded to /pub/Linux/Incoming/rxvt.tar.z and +# rxvt.README on sunsite.unc.edu. +# +# Xvt is an xterm replacement which uses a little less memory, and is +# suitable for use on machines with small memories. Tek4010 support +# is removed. +# +# Modifications were made by Rob Nation (nation@rocket.sanders.lockheed.com) +# to make it a little more compact, and to add and remove certain features. +# +# +# -- +# Send submissions for comp.os.linux.announce to: linux-announce@tc.cornell.edu +#------------------------------------------------------------------------------ # # Though its change-log does not mention this, John Davis has stated that he # was the author of the changes to use the bce ("new color model") which was @@ -5840,7 +5870,7 @@ rxvt+pcfkeys|fragment for PC-style fkeys, # rxvt had usable color support with 2.16 (April 2, 1996), with some help by my # work on vttest, as well as bug reports to Mark Olesen. For instance, the fix # mentioned here -# http://web.archiveorange.com/archive/v/6ETvLb5wHtbbzCaS4S9J +# https://web.archive.org/web/20141016124430/http://web.archiveorange.com/archive/v/6ETvLb5wHtbbzCaS4S9J # was from one of my bug-reports -TD # # While the color model both for xterm and rxvt was based on Linux console, @@ -6248,6 +6278,10 @@ st|stterm| simpleterm, # italics may show up with yellow color # has control cursor-keys, alt cursor-keys, still no combinations # has control pageup/down +# tmux extensions, see TERMINFO EXTENSIONS in tmux(1) +# Se and Ss are implemented in the source-code, but the terminfo +# provided with the source is incorrect, since Se/Ss are mis-coded +# as booleans rather than strings. st-0.7|simpleterm 0.7, ccc, dim=\E[2m, @@ -6260,11 +6294,12 @@ st-0.7|simpleterm 0.7, %=%t3%e%p1%d%;m, sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%| %t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m, - Ss=\E]52;%p1%s;%p2%s\007, kDN3=\E[1;3B, kDN5=\E[1;5B, - kLFT3=\E[1;3D, kLFT5=\E[1;5D, kNXT3=\E[6;3~, - kNXT5=\E[6;5~, kPRV3=\E[5;3~, kPRV5=\E[5;5~, - kRIT3=\E[1;3C, kRIT5=\E[1;5C, kUP3=\E[1;3A, kUP5=\E[1;5A, - use=ecma+strikeout, use=st-0.6, + Ms=\E]52;%p1%s;%p2%s\007, Se=\E[2 q, Ss=\E[%p1%d q, + kDN3=\E[1;3B, kDN5=\E[1;5B, kLFT3=\E[1;3D, kLFT5=\E[1;5D, + kNXT3=\E[6;3~, kNXT5=\E[6;5~, kPRV3=\E[5;3~, + kPRV5=\E[5;5~, kRIT3=\E[1;3C, kRIT5=\E[1;5C, + kUP3=\E[1;3A, kUP5=\E[1;5A, use=ecma+strikeout, + use=st-0.6, # st-0.4.1 # @@ -6402,7 +6437,8 @@ st-256color|stterm-256color|simpleterm with 256 colors, initc@, oc@, use=xterm+256color, use=st, #### TERMINATOR -# https://code.google.com/p/jessies/ +# https://github.com/software-jessies-org/jessies/wiki/Terminator +# # Tested using their Debian package org.jessies.terminator 6.104.3256 on 64-bit # Debian/current -TD (2011/8/20) # @@ -6473,7 +6509,7 @@ terminator|Terminator no line wrap, use=xterm+sl-twm, #### TERMINOLOGY -# http://enlightenment.org +# https://www.enlightenment.org/about-terminology # # Tested terminology-0.3.0, 0.6.1, using tack and vttest. This is not a vt100 # emulator, nor is it compatible with xterm, but it uses a few features from @@ -7646,7 +7682,7 @@ mono-emx|stupid monochrome ansi terminal with only one kind of emphasis, # Use this for cygwin32 (tested with beta 19.1) # underline is colored bright magenta # shifted kf1-kf12 are kf11-kf22 -cygwinB19|ansi emulation for cygwin32, +cygwinB19|ANSI emulation for cygwin32, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, @@ -7707,7 +7743,7 @@ cygwinB19|ansi emulation for cygwin32, # 2005/11/12 -TD # Remove cbt since it does not work in current cygwin # Add 'mir' and 'in' flags based on tack -cygwin|ansi emulation for Cygwin, +cygwin|ANSI emulation for Cygwin, am, hs, mir, msgr, xon, colors#8, it#8, pairs#64, acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j @@ -7755,7 +7791,7 @@ cygwinDBG|Debug Version for Cygwin, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - flash=\E[?5h\E[?5l$<200/>, home=\E[H, hpa=\E[%i%p1%dG, + flash=\E[?5h$<200/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\n, invis=\E[8m, kNXT=\E[6$, kPRV=\E[5$, kb2=\E[G, kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, @@ -7894,7 +7930,7 @@ cygwinDBG|Debug Version for Cygwin, # Alt-X \E[104~ # Alt-Y \E[105~ # Alt-Z \E[106~ -djgpp|ansi emulation for DJGPP alpha, +djgpp|ANSI emulation for DJGPP alpha, am, bce, msgr, xhp, xon, xt, colors#8, it#8, pairs#64, acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j @@ -14217,7 +14253,7 @@ cit101e-rv|Citoh CIT-101e (sets reverse video), cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[3;5v, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, flash=\E[?5l\E[?5h$<200/>, + dl1=\E[M, ed=\E[J, el=\E[K, flash=\E[?5l$<200/>\E[?5h, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\n, indn=\E[%p1%dS, is2=\E<\E>\E[?1l\E[?3l\E[?4l\E[?5h\E[?7h\E[?8h\E[3g\E[>5g\E( @@ -19754,7 +19790,7 @@ minix-3.0|minix console (v3.0), use=ecma+color, use=minix-1.7, # See -# http://www.minix-vmd.org/pub/Minix-vmd/1.7.0/wwwman/man4/console.4.html +# https://web.archive.org/web/20030914201935/http://www.minix-vmd.org/pub/Minix-vmd/1.7.0/wwwman/man4/console.4.html # This is the entry provided with minix 1.7.4, with bogus :ri: removed. minix-1.7|minix console (v1.7), am, xenl, @@ -25697,4 +25733,8 @@ v3220|LANPAR Vision II model 3220/3221/3222, # + add mlterm-direct -TD # + add descriptions for ANSI building-blocks -TD # +# 2018-02-24 +# + correct Ss/Ms interchange in st-0.7 entry (tmux #1264) -TD +# + fix remaining flash capabilities with trailing mandatory delays -TD +# ######## SHANTIH! SHANTIH! SHANTIH! diff --git a/ncurses/tinfo/comp_parse.c b/ncurses/tinfo/comp_parse.c index 7284b02d..6aa0e039 100644 --- a/ncurses/tinfo/comp_parse.c +++ b/ncurses/tinfo/comp_parse.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. * + * Copyright (c) 1998-2017,2018 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 * @@ -47,7 +47,7 @@ #include -MODULE_ID("$Id: comp_parse.c,v 1.100 2017/09/20 00:37:08 tom Exp $") +MODULE_ID("$Id: comp_parse.c,v 1.101 2018/02/24 22:33:40 tom Exp $") static void sanity_check2(TERMTYPE2 *, bool); NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype2) (TERMTYPE2 *, bool) = sanity_check2; @@ -265,6 +265,114 @@ _nc_read_entry_source(FILE *fp, char *buf, _nc_suppress_warnings = oldsuppress; } +#if NCURSES_XNAMES +static unsigned +find_capname(TERMTYPE2 *p, const char *name) +{ + unsigned num_names = NUM_EXT_NAMES(p); + unsigned n; + for (n = 0; n < num_names; ++n) { + if (!strcmp(p->ext_Names[n], name)) + break; + } + return n; +} + +static int +extended_captype(TERMTYPE2 *p, unsigned which) +{ + int result = UNDEF; + unsigned limit = 0; + limit += p->ext_Booleans; + if (limit != 0 && which < limit) { + result = BOOLEAN; + } else { + limit += p->ext_Numbers; + if (limit != 0 && which < limit) { + result = NUMBER; + } else { + limit += p->ext_Strings; + if (limit != 0 && which < limit) { + result = STRING; + } else if (which >= limit) { + result = CANCEL; + } + } + } + return result; +} + +static const char * +name_of_captype(int which) +{ + const char *result = "?"; + switch (which) { + case BOOLEAN: + result = "boolean"; + break; + case NUMBER: + result = "number"; + break; + case STRING: + result = "string"; + break; + } + return result; +} + +/* + * Disallow changing the type of an extended capability when doing a "use" + * if one or the other is a string. + */ +static int +invalid_merge(TERMTYPE2 *to, TERMTYPE2 *from) +{ + int rc = FALSE; + char *to_name = _nc_first_name(to->term_names); + char *from_name = strdup(_nc_first_name(from->term_names)); + unsigned num_names = NUM_EXT_NAMES(from); + unsigned n; + + for (n = 0; n < num_names; ++n) { + const char *capname = from->ext_Names[n]; + int tt = extended_captype(to, find_capname(to, capname)); + int tf = extended_captype(from, n); + + if (tt <= STRING + && tf <= STRING + && (tt == STRING) != (tf == STRING)) { + if (from_name != 0 && strcmp(to_name, from_name)) { + DEBUG(2, + ("merge of %s to %s changes type of %s from %s to %s", + from_name, + to_name, + from->ext_Names[n], + name_of_captype(tf), + name_of_captype(tt))); + } else { + DEBUG(2, ("merge of %s changes type of %s from %s to %s", + to_name, + from->ext_Names[n], + name_of_captype(tf), + name_of_captype(tt))); + } + _nc_warning("merge changes type of %s from %s to %s", + from->ext_Names[n], + name_of_captype(tf), + name_of_captype(tt)); + rc = TRUE; + } + } + free(from_name); + return rc; +} +#define validate_merge(p, q) \ + if (invalid_merge(&((p)->tterm), &((q)->tterm))) \ + return FALSE +#else +#define validate_merge(p, q) /* nothing */ +#endif + NCURSES_EXPORT(int) _nc_resolve_uses2(bool fullresolve, bool literal) /* try to resolve all use capabilities */ @@ -412,13 +520,17 @@ _nc_resolve_uses2(bool fullresolve, bool literal) * Now merge in each use entry in the proper * (reverse) order. */ - for (; qp->nuses; qp->nuses--) + for (; qp->nuses; qp->nuses--) { + validate_merge(&merged, + qp->uses[qp->nuses - 1].link); _nc_merge_entry(&merged, qp->uses[qp->nuses - 1].link); + } /* * Now merge in the original entry. */ + validate_merge(&merged, qp); _nc_merge_entry(&merged, qp); /* diff --git a/ncurses/tinfo/read_termcap.c b/ncurses/tinfo/read_termcap.c index 29656e2b..ea4a58c0 100644 --- a/ncurses/tinfo/read_termcap.c +++ b/ncurses/tinfo/read_termcap.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. * + * Copyright (c) 1998-2017,2018 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 * @@ -56,7 +56,7 @@ #include #include -MODULE_ID("$Id: read_termcap.c,v 1.93 2017/04/22 16:11:03 tom Exp $") +MODULE_ID("$Id: read_termcap.c,v 1.94 2018/02/24 22:36:15 tom Exp $") #if !PURE_TERMINFO @@ -1141,7 +1141,8 @@ _nc_read_termcap_entry(const char *const tn, TERMTYPE2 *const tp) return (TGETENT_ERR); /* resolve all use references */ - _nc_resolve_uses2(TRUE, FALSE); + if (_nc_resolve_uses2(TRUE, FALSE) != TRUE) + return (TGETENT_ERR); /* find a terminal matching tn, if we can */ #if USE_GETCAP_CACHE diff --git a/package/debian-mingw/changelog b/package/debian-mingw/changelog index 365a4294..b7c44070 100644 --- a/package/debian-mingw/changelog +++ b/package/debian-mingw/changelog @@ -1,8 +1,8 @@ -ncurses6 (6.1+20180217) unstable; urgency=low +ncurses6 (6.1+20180224) unstable; urgency=low * latest weekly patch - -- Thomas E. Dickey Sun, 11 Feb 2018 15:16:59 -0500 + -- Thomas E. Dickey Sun, 18 Feb 2018 10:53:22 -0500 ncurses6 (5.9-20131005) unstable; urgency=low diff --git a/package/debian-mingw64/changelog b/package/debian-mingw64/changelog index 365a4294..b7c44070 100644 --- a/package/debian-mingw64/changelog +++ b/package/debian-mingw64/changelog @@ -1,8 +1,8 @@ -ncurses6 (6.1+20180217) unstable; urgency=low +ncurses6 (6.1+20180224) unstable; urgency=low * latest weekly patch - -- Thomas E. Dickey Sun, 11 Feb 2018 15:16:59 -0500 + -- Thomas E. Dickey Sun, 18 Feb 2018 10:53:22 -0500 ncurses6 (5.9-20131005) unstable; urgency=low diff --git a/package/debian/changelog b/package/debian/changelog index 494e11ab..c23db333 100644 --- a/package/debian/changelog +++ b/package/debian/changelog @@ -1,8 +1,8 @@ -ncurses6 (6.1+20180217) unstable; urgency=low +ncurses6 (6.1+20180224) unstable; urgency=low * latest weekly patch - -- Thomas E. Dickey Sun, 11 Feb 2018 15:16:59 -0500 + -- Thomas E. Dickey Sun, 18 Feb 2018 10:53:22 -0500 ncurses6 (5.9-20120608) unstable; urgency=low diff --git a/package/mingw-ncurses.nsi b/package/mingw-ncurses.nsi index 3fd4ae51..0c8a7570 100644 --- a/package/mingw-ncurses.nsi +++ b/package/mingw-ncurses.nsi @@ -1,4 +1,4 @@ -; $Id: mingw-ncurses.nsi,v 1.258 2018/02/11 20:16:59 tom Exp $ +; $Id: mingw-ncurses.nsi,v 1.259 2018/02/18 15:53:22 tom Exp $ ; TODO add examples ; TODO bump ABI to 6 @@ -10,7 +10,7 @@ !define VERSION_MAJOR "6" !define VERSION_MINOR "1" !define VERSION_YYYY "2018" -!define VERSION_MMDD "0217" +!define VERSION_MMDD "0224" !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD} !define MY_ABI "5" diff --git a/package/mingw-ncurses.spec b/package/mingw-ncurses.spec index 64861fa0..491a688a 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.1 -Release: 20180217 +Release: 20180224 License: X11 Group: Development/Libraries Source: ncurses-%{version}-%{release}.tgz diff --git a/package/ncurses.spec b/package/ncurses.spec index 16b4d4d8..5689a3fb 100644 --- a/package/ncurses.spec +++ b/package/ncurses.spec @@ -1,7 +1,7 @@ Summary: shared libraries for terminal handling Name: ncurses6 Version: 6.1 -Release: 20180217 +Release: 20180224 License: X11 Group: Development/Libraries Source: ncurses-%{version}-%{release}.tgz