# ncurses 6.0 - patch 20160102 - Thomas E. Dickey # # ------------------------------------------------------------------------------ # # Ncurses 6.0 is at # ftp.gnu.org:/pub/gnu # # Patches for ncurses 6.0 can be found at # ftp://invisible-island.net/ncurses/6.0 # http://invisible-mirror.net/archives/ncurses/6.0 # # ------------------------------------------------------------------------------ # ftp://invisible-island.net/ncurses/6.0/ncurses-6.0-20160102.patch.gz # patch by Thomas E. Dickey # created Sun Jan 3 01:50:40 UTC 2016 # ------------------------------------------------------------------------------ # Ada95/package/debian/copyright | 4 +- # COPYING | 4 +- # NEWS | 10 +++++- # VERSION | 2 - # dist.mk | 6 +-- # package/debian-mingw/changelog | 4 +- # package/debian-mingw/copyright | 4 +- # package/debian-mingw64/changelog | 4 +- # package/debian-mingw64/copyright | 4 +- # package/debian/changelog | 4 +- # package/debian/copyright | 4 +- # package/mingw-ncurses.nsi | 6 +-- # package/mingw-ncurses.spec | 2 - # package/ncurses.spec | 2 - # progs/tic.c | 16 ++++++++-- # test/ncurses.c | 51 +++++++++++++++++++++++++------- # test/package/debian-mingw/copyright | 4 +- # test/package/debian-mingw64/copyright | 4 +- # test/package/debian/copyright | 4 +- # 19 files changed, 93 insertions(+), 46 deletions(-) # ------------------------------------------------------------------------------ Index: Ada95/package/debian/copyright --- ncurses-6.0-20151226+/Ada95/package/debian/copyright 2015-05-09 18:00:51.000000000 +0000 +++ ncurses-6.0-20160102/Ada95/package/debian/copyright 2016-01-02 20:24:37.000000000 +0000 @@ -4,11 +4,11 @@ ------------------------------------------------------------------------------- Files: * -Copyright: 1998-2014,2015 Free Software Foundation, Inc. +Copyright: 1998-2015,2016 Free Software Foundation, Inc. Licence: X11 Files: aclocal.m4 package -Copyright: 2010-2014,2015 by Thomas E. Dickey +Copyright: 2010-2015,2016 by Thomas E. Dickey Licence: X11 Permission is hereby granted, free of charge, to any person obtaining a Index: COPYING Prereq: 1.3 --- ncurses-6.0-20151226+/COPYING 2015-01-03 20:12:01.000000000 +0000 +++ ncurses-6.0-20160102/COPYING 2016-01-02 20:24:37.000000000 +0000 @@ -1,4 +1,4 @@ -Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. +Copyright (c) 1998-2015,2016 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 @@ -25,4 +25,4 @@ authorization. -- vile:txtmode fc=72 --- $Id: COPYING,v 1.3 2015/01/03 20:12:01 tom Exp $ +-- $Id: COPYING,v 1.4 2016/01/02 20:24:37 tom Exp $ Index: NEWS Prereq: 1.2550 --- ncurses-6.0-20151226+/NEWS 2015-12-27 01:01:41.000000000 +0000 +++ ncurses-6.0-20160102/NEWS 2016-01-03 01:17:55.000000000 +0000 @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2015,2016 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 -- @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.2550 2015/12/27 01:01:41 tom Exp $ +-- $Id: NEWS,v 1.2554 2016/01/03 01:17:55 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -45,6 +45,12 @@ Changes through 1.9.9e did not credit all contributions; it is not possible to add this information. +20160102 + + modify ncurses c/C color test-screens to take advantage of wide + screens, reducing the number of lines used for 88- and 256-colors. + + minor refinement to check versus ncv to ignore two parameters of + SGR 38 and 48 when those come from color-capabilities. + 20151226 + add check in tic for use of bold, etc., video attributes in the color capabilities, accounting whether the feature is listed in ncv. Index: VERSION --- ncurses-6.0-20151226+/VERSION 2015-12-26 15:21:12.000000000 +0000 +++ ncurses-6.0-20160102/VERSION 2016-01-02 18:42:09.000000000 +0000 @@ -1 +1 @@ -5:0:9 6.0 20151226 +5:0:9 6.0 20160102 Index: dist.mk Prereq: 1.1085 --- ncurses-6.0-20151226+/dist.mk 2015-12-26 15:21:12.000000000 +0000 +++ ncurses-6.0-20160102/dist.mk 2016-01-02 20:24:37.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. # +# Copyright (c) 1998-2015,2016 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 "Software"), # @@ -25,7 +25,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: dist.mk,v 1.1085 2015/12/26 15:21:12 tom Exp $ +# $Id: dist.mk,v 1.1087 2016/01/02 20:24:37 tom Exp $ # Makefile for creating ncurses distributions. # # This only needs to be used directly as a makefile by developers, but @@ -37,7 +37,7 @@ # These define the major/minor/patch versions of ncurses. NCURSES_MAJOR = 6 NCURSES_MINOR = 0 -NCURSES_PATCH = 20151226 +NCURSES_PATCH = 20160102 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) Index: package/debian-mingw/changelog --- ncurses-6.0-20151226+/package/debian-mingw/changelog 2015-12-26 15:21:12.000000000 +0000 +++ ncurses-6.0-20160102/package/debian-mingw/changelog 2016-01-02 18:42:09.000000000 +0000 @@ -1,8 +1,8 @@ -ncurses6 (6.0+20151226) unstable; urgency=low +ncurses6 (6.0+20160102) unstable; urgency=low * latest weekly patch - -- Thomas E. Dickey Sat, 26 Dec 2015 10:21:12 -0500 + -- Thomas E. Dickey Sat, 02 Jan 2016 13:42:09 -0500 ncurses6 (5.9-20131005) unstable; urgency=low Index: package/debian-mingw/copyright --- ncurses-6.0-20151226+/package/debian-mingw/copyright 2015-05-09 18:11:06.000000000 +0000 +++ ncurses-6.0-20160102/package/debian-mingw/copyright 2016-01-02 20:24:37.000000000 +0000 @@ -5,11 +5,11 @@ ------------------------------------------------------------------------------- Files: * -Copyright: 1998-2014,2015 Free Software Foundation, Inc. +Copyright: 1998-2015,2016 Free Software Foundation, Inc. Licence: X11 Files: aclocal.m4 package -Copyright: 1996-2014,2015 by Thomas E. Dickey +Copyright: 1996-2015,2016 by Thomas E. Dickey Licence: X11 Files: doc/html/NCURSES-Programming-HOWTO.html Index: package/debian-mingw64/changelog --- ncurses-6.0-20151226+/package/debian-mingw64/changelog 2015-12-26 15:21:12.000000000 +0000 +++ ncurses-6.0-20160102/package/debian-mingw64/changelog 2016-01-02 18:42:09.000000000 +0000 @@ -1,8 +1,8 @@ -ncurses6 (6.0+20151226) unstable; urgency=low +ncurses6 (6.0+20160102) unstable; urgency=low * latest weekly patch - -- Thomas E. Dickey Sat, 26 Dec 2015 10:21:12 -0500 + -- Thomas E. Dickey Sat, 02 Jan 2016 13:42:09 -0500 ncurses6 (5.9-20131005) unstable; urgency=low Index: package/debian-mingw64/copyright --- ncurses-6.0-20151226+/package/debian-mingw64/copyright 2015-05-09 18:11:06.000000000 +0000 +++ ncurses-6.0-20160102/package/debian-mingw64/copyright 2016-01-02 20:24:37.000000000 +0000 @@ -5,11 +5,11 @@ ------------------------------------------------------------------------------- Files: * -Copyright: 1998-2014,2015 Free Software Foundation, Inc. +Copyright: 1998-2015,2016 Free Software Foundation, Inc. Licence: X11 Files: aclocal.m4 package -Copyright: 1996-2014,2015 by Thomas E. Dickey +Copyright: 1996-2015,2016 by Thomas E. Dickey Licence: X11 Files: doc/html/NCURSES-Programming-HOWTO.html Index: package/debian/changelog --- ncurses-6.0-20151226+/package/debian/changelog 2015-12-26 15:21:12.000000000 +0000 +++ ncurses-6.0-20160102/package/debian/changelog 2016-01-02 18:42:09.000000000 +0000 @@ -1,8 +1,8 @@ -ncurses6 (6.0+20151226) unstable; urgency=low +ncurses6 (6.0+20160102) unstable; urgency=low * latest weekly patch - -- Thomas E. Dickey Sat, 26 Dec 2015 10:21:12 -0500 + -- Thomas E. Dickey Sat, 02 Jan 2016 13:42:09 -0500 ncurses6 (5.9-20120608) unstable; urgency=low Index: package/debian/copyright --- ncurses-6.0-20151226+/package/debian/copyright 2015-05-09 18:11:06.000000000 +0000 +++ ncurses-6.0-20160102/package/debian/copyright 2016-01-02 20:24:37.000000000 +0000 @@ -5,11 +5,11 @@ ------------------------------------------------------------------------------- Files: * -Copyright: 1998-2014,2015 Free Software Foundation, Inc. +Copyright: 1998-2015,2016 Free Software Foundation, Inc. Licence: X11 Files: aclocal.m4 package -Copyright: 1996-2014,2015 by Thomas E. Dickey +Copyright: 1996-2015,2016 by Thomas E. Dickey Licence: X11 Files: doc/html/NCURSES-Programming-HOWTO.html Index: package/mingw-ncurses.nsi Prereq: 1.138 --- ncurses-6.0-20151226+/package/mingw-ncurses.nsi 2015-12-26 15:21:12.000000000 +0000 +++ ncurses-6.0-20160102/package/mingw-ncurses.nsi 2016-01-02 18:42:09.000000000 +0000 @@ -1,4 +1,4 @@ -; $Id: mingw-ncurses.nsi,v 1.138 2015/12/26 15:21:12 tom Exp $ +; $Id: mingw-ncurses.nsi,v 1.139 2016/01/02 18:42:09 tom Exp $ ; TODO add examples ; TODO bump ABI to 6 @@ -9,8 +9,8 @@ !define VERSION_MAJOR "6" !define VERSION_MINOR "0" -!define VERSION_YYYY "2015" -!define VERSION_MMDD "1226" +!define VERSION_YYYY "2016" +!define VERSION_MMDD "0102" !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD} !define MY_ABI "5" Index: package/mingw-ncurses.spec --- ncurses-6.0-20151226+/package/mingw-ncurses.spec 2015-12-26 15:21:12.000000000 +0000 +++ ncurses-6.0-20160102/package/mingw-ncurses.spec 2016-01-02 18:42:09.000000000 +0000 @@ -3,7 +3,7 @@ Summary: shared libraries for terminal handling Name: mingw32-ncurses6 Version: 6.0 -Release: 20151226 +Release: 20160102 License: X11 Group: Development/Libraries Source: ncurses-%{version}-%{release}.tgz Index: package/ncurses.spec --- ncurses-6.0-20151226+/package/ncurses.spec 2015-12-26 15:21:12.000000000 +0000 +++ ncurses-6.0-20160102/package/ncurses.spec 2016-01-02 18:42:09.000000000 +0000 @@ -1,7 +1,7 @@ Summary: shared libraries for terminal handling Name: ncurses6 Version: 6.0 -Release: 20151226 +Release: 20160102 License: X11 Group: Development/Libraries Source: ncurses-%{version}-%{release}.tgz Index: progs/tic.c Prereq: 1.220 --- ncurses-6.0-20151226+/progs/tic.c 2015-12-27 01:46:01.000000000 +0000 +++ ncurses-6.0-20160102/progs/tic.c 2016-01-02 20:04:37.000000000 +0000 @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. * + * Copyright (c) 1998-2015,2016 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 * @@ -48,7 +48,7 @@ #include #include -MODULE_ID("$Id: tic.c,v 1.220 2015/12/27 01:46:01 tom Exp $") +MODULE_ID("$Id: tic.c,v 1.221 2016/01/02 20:04:37 tom Exp $") #define STDIN_NAME "" @@ -2327,13 +2327,23 @@ if (is_sgr_string(test)) { int param = 0; int count = 0; + int skips = 0; + int color = (value == set_a_foreground || + value == set_a_background || + value == set_foreground || + value == set_background); while (*test != 0) { if (isdigit(UChar(*test))) { param = 10 * param + (*test - '0'); ++count; } else { if (count) { - if (param == code) + /* + * Avoid unnecessary warning for xterm 256color codes. + */ + if (color && (param == 38 || param == 48)) + skips = 3; + if ((skips-- <= 0) && (param == code)) break; } count = 0; Index: test/ncurses.c Prereq: 1.425 --- ncurses-6.0-20151226+/test/ncurses.c 2015-11-29 01:26:41.000000000 +0000 +++ ncurses-6.0-20160102/test/ncurses.c 2016-01-03 01:50:10.000000000 +0000 @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. * + * Copyright (c) 1998-2015,2016 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 * @@ -40,7 +40,7 @@ Author: Eric S. Raymond 1993 Thomas E. Dickey (beginning revision 1.27 in 1996). -$Id: ncurses.c,v 1.425 2015/11/29 01:26:41 tom Exp $ +$Id: ncurses.c,v 1.429 2016/01/03 01:50:10 tom Exp $ ***************************************************************************/ @@ -2185,9 +2185,10 @@ int page_size = (LINES - grid_top); int pairs_max; int colors_max = COLORS; + int col_limit; int row_limit; int per_row; - char numbered[80]; + char *numbered = 0; const char *hello; bool done = FALSE; bool opt_acsc = FALSE; @@ -2197,6 +2198,15 @@ bool opt_wide = FALSE; WINDOW *helpwin; + numbered = (char *) calloc((size_t) (COLS + 1), sizeof(char)); + done = ((COLS < 16) || (numbered == 0)); + + /* + * Because the number of colors is usually a power of two, we also use + * a power of two for the number of colors shown per line (to be tidy). + */ + for (col_limit = 1; col_limit * 2 < COLS; col_limit *= 2) ; + while (!done) { int shown = 0; @@ -2214,11 +2224,11 @@ if (opt_wide) { width = 4; hello = "Test"; - per_row = (colors_max > 8) ? 16 : 8; + per_row = (col_limit / ((colors_max > 8) ? 4 : 8)); } else { width = 8; hello = "Hello"; - per_row = 8; + per_row = (col_limit / 8); } per_row -= min_colors; @@ -2249,6 +2259,9 @@ int col = (i % per_row + 1) * width; NCURSES_PAIRS_T pair = i; + if ((i / per_row) > row_limit) + break; + #define InxToFG(i) (NCURSES_COLOR_T) ((i % (colors_max - min_colors)) + min_colors) #define InxToBG(i) (NCURSES_COLOR_T) ((i / (colors_max - min_colors)) + min_colors) if (row >= 0 && move(row, col) != ERR) { @@ -2375,6 +2388,8 @@ erase(); endwin(); + + free(numbered); } #if USE_WIDEC_SUPPORT @@ -2389,9 +2404,10 @@ int page_size = (LINES - grid_top); int pairs_max = (unsigned short) (-1); int colors_max = COLORS; + int col_limit; int row_limit; int per_row; - char numbered[80]; + char *numbered = 0; const char *hello; bool done = FALSE; bool opt_acsc = FALSE; @@ -2400,9 +2416,19 @@ bool opt_wide = FALSE; bool opt_nums = FALSE; bool opt_xchr = FALSE; - wchar_t buffer[80]; + wchar_t *buffer = 0; WINDOW *helpwin; + numbered = (char *) calloc((size_t) (COLS + 1), sizeof(char)); + buffer = (wchar_t *) calloc((size_t) (COLS + 1), sizeof(wchar_t)); + done = ((COLS < 16) || (numbered == 0) || (buffer == 0)); + + /* + * Because the number of colors is usually a power of two, we also use + * a power of two for the number of colors shown per line (to be tidy). + */ + for (col_limit = 1; col_limit * 2 < COLS; col_limit *= 2) ; + while (!done) { int shown = 0; @@ -2416,15 +2442,14 @@ pairs_max = COLOR_PAIRS; } - /* this assumes an 80-column line */ if (opt_wide) { width = 4; hello = "Test"; - per_row = (colors_max > 8) ? 16 : 8; + per_row = (col_limit / ((colors_max > 8) ? 4 : 8)); } else { width = 8; hello = "Hello"; - per_row = 8; + per_row = (col_limit / 8); } per_row -= min_colors; @@ -2463,6 +2488,9 @@ int col = (i % per_row + 1) * width; NCURSES_PAIRS_T pair = (NCURSES_PAIRS_T) i; + if ((i / per_row) > row_limit) + break; + if (row >= 0 && move(row, col) != ERR) { init_pair(pair, InxToFG(i), InxToBG(i)); (void) color_set(pair, NULL); @@ -2594,6 +2622,9 @@ erase(); endwin(); + + free(numbered); + free(buffer); } #endif /* USE_WIDEC_SUPPORT */ Index: test/package/debian-mingw/copyright --- ncurses-6.0-20151226+/test/package/debian-mingw/copyright 2015-05-09 17:59:53.000000000 +0000 +++ ncurses-6.0-20160102/test/package/debian-mingw/copyright 2016-01-02 20:24:37.000000000 +0000 @@ -4,11 +4,11 @@ ------------------------------------------------------------------------------- Files: * -Copyright: 1998-2014,2015 Free Software Foundation, Inc. +Copyright: 1998-2015,2016 Free Software Foundation, Inc. Licence: X11 Files: aclocal.m4 package -Copyright: 2003-2014,2015 by Thomas E. Dickey +Copyright: 2003-2015,2016 by Thomas E. Dickey Licence: X11 Permission is hereby granted, free of charge, to any person obtaining a Index: test/package/debian-mingw64/copyright --- ncurses-6.0-20151226+/test/package/debian-mingw64/copyright 2015-05-09 17:59:53.000000000 +0000 +++ ncurses-6.0-20160102/test/package/debian-mingw64/copyright 2016-01-02 20:24:37.000000000 +0000 @@ -4,11 +4,11 @@ ------------------------------------------------------------------------------- Files: * -Copyright: 1998-2014,2015 Free Software Foundation, Inc. +Copyright: 1998-2015,2016 Free Software Foundation, Inc. Licence: X11 Files: aclocal.m4 package -Copyright: 2003-2014,2015 by Thomas E. Dickey +Copyright: 2003-2015,2016 by Thomas E. Dickey Licence: X11 Permission is hereby granted, free of charge, to any person obtaining a Index: test/package/debian/copyright --- ncurses-6.0-20151226+/test/package/debian/copyright 2015-05-09 17:59:33.000000000 +0000 +++ ncurses-6.0-20160102/test/package/debian/copyright 2016-01-02 20:24:37.000000000 +0000 @@ -4,11 +4,11 @@ ------------------------------------------------------------------------------- Files: * -Copyright: 1998-2014,2015 Free Software Foundation, Inc. +Copyright: 1998-2015,2016 Free Software Foundation, Inc. Licence: X11 Files: aclocal.m4 package -Copyright: 2003-2014,2015 by Thomas E. Dickey +Copyright: 2003-2015,2016 by Thomas E. Dickey Licence: X11 Permission is hereby granted, free of charge, to any person obtaining a