ncurses 6.0 - patch 20160102
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 3 Jan 2016 01:50:40 +0000 (01:50 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 3 Jan 2016 01:50:40 +0000 (01:50 +0000)
+ 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.

19 files changed:
Ada95/package/debian/copyright
COPYING
NEWS
VERSION
dist.mk
package/debian-mingw/changelog
package/debian-mingw/copyright
package/debian-mingw64/changelog
package/debian-mingw64/copyright
package/debian/changelog
package/debian/copyright
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
progs/tic.c
test/ncurses.c
test/package/debian-mingw/copyright
test/package/debian-mingw64/copyright
test/package/debian/copyright

index b24950ae22fd06888b10c0ae12781f79e810c2b3..dfc525da436a2ca076d4bf35a44d01f991e86882 100644 (file)
@@ -4,11 +4,11 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
 
 -------------------------------------------------------------------------------
 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
diff --git a/COPYING b/COPYING
index a9532ce64e98f3a2028b982c96ce138b4acfead7..830a8b5686248b2fe26c3c2c414e1f4037075727 100644 (file)
--- a/COPYING
+++ b/COPYING
@@ -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 @@ sale, use or other dealings in this Software without prior written
 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 $
diff --git a/NEWS b/NEWS
index c775548af73632c25e3c901f9e8a08a619ef4702..f407576f7804ab398205d40fadf1cfe024ccbb10 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -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 @@ 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.
 
+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.
diff --git a/VERSION b/VERSION
index a73c4e04c7b47c1beb1d9fab4c051f214d4a0561..ccb1b412cebe63cd043901de5bacd7ec91bd5d20 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:9  6.0     20151226
+5:0:9  6.0     20160102
diff --git a/dist.mk b/dist.mk
index 246a07702d928cc7da8afaec3837d15e7cb301e5..abac3acc44645ec340b91e978b89f3dc88b89c64 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -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 @@ SHELL = /bin/sh
 # 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 e5e53251b023d7dc38cec6b81093570cf4f48aaf..a33889c040118de660c782b4607899d27671e78a 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20151226) unstable; urgency=low
+ncurses6 (6.0+20160102) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 26 Dec 2015 10:21:12 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 02 Jan 2016 13:42:09 -0500
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 43cb3e55a20c78718c2c2808c992e14c0898f3cb..abd489d1ff39ec8efb0a04d108c83f521b1afd50 100644 (file)
@@ -5,11 +5,11 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
 
 -------------------------------------------------------------------------------
 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 e5e53251b023d7dc38cec6b81093570cf4f48aaf..a33889c040118de660c782b4607899d27671e78a 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20151226) unstable; urgency=low
+ncurses6 (6.0+20160102) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 26 Dec 2015 10:21:12 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 02 Jan 2016 13:42:09 -0500
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 43cb3e55a20c78718c2c2808c992e14c0898f3cb..abd489d1ff39ec8efb0a04d108c83f521b1afd50 100644 (file)
@@ -5,11 +5,11 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
 
 -------------------------------------------------------------------------------
 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 10c95e5165e1d91b6602c3854d7ec9ad69891d57..76982f3868e9189ece27652e857c933ec56fcc66 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20151226) unstable; urgency=low
+ncurses6 (6.0+20160102) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 26 Dec 2015 10:21:12 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 02 Jan 2016 13:42:09 -0500
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index 43cb3e55a20c78718c2c2808c992e14c0898f3cb..abd489d1ff39ec8efb0a04d108c83f521b1afd50 100644 (file)
@@ -5,11 +5,11 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
 
 -------------------------------------------------------------------------------
 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 91554842991e74eb840590d62e59d24197d5b683..a33117a8e0179a7540cddcf8c3e60294b5f5709d 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.138 2015/12/26 15:21:12 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.139 2016/01/02 18:42:09 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -9,8 +9,8 @@
 \r
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "0"\r
-!define VERSION_YYYY  "2015"\r
-!define VERSION_MMDD  "1226"\r
+!define VERSION_YYYY  "2016"\r
+!define VERSION_MMDD  "0102"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index e840308cf29bb737ca11108f1e6645a515ab1ec0..e36094f130ad34f7a671265be6f99ea84b50779a 100644 (file)
@@ -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 9a58c64847d8c58d3f70b4f2fd0c4c5598266ebe..d8d87c7f6088e6a8cb225805474010474cc38b1b 100644 (file)
@@ -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 4b3a4c843203ee69f395659a7d10c7de6f51ad65..134788994159e79bc62279d896ed6774e23ce4b0 100644 (file)
@@ -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 <parametrized.h>
 #include <transform.h>
 
-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 "<stdin>"
 
@@ -2327,13 +2327,23 @@ check_sgr_param(TERMTYPE *tp, int code, const char *name, char *value)
        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 9fb47f1254568634849465a7b568a732b45b9565..9a90d4018dc9fbdb740e2d9988d48cd15508fce3 100644 (file)
@@ -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
    Author: Eric S. Raymond <esr@snark.thyrsus.com> 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 @@ color_test(void)
     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 @@ color_test(void)
     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 @@ color_test(void)
        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 @@ color_test(void)
            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 @@ color_test(void)
 
     erase();
     endwin();
+
+    free(numbered);
 }
 
 #if USE_WIDEC_SUPPORT
@@ -2389,9 +2404,10 @@ wide_color_test(void)
     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 @@ wide_color_test(void)
     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 @@ wide_color_test(void)
                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 @@ wide_color_test(void)
            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 @@ wide_color_test(void)
 
     erase();
     endwin();
+
+    free(numbered);
+    free(buffer);
 }
 #endif /* USE_WIDEC_SUPPORT */
 
index ea1fdff10421134dc1507bb41b3fb4dc69dfb79a..f4d29e3c32e925073148ff00b338b32f23cf87de 100644 (file)
@@ -4,11 +4,11 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
 
 -------------------------------------------------------------------------------
 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 ea1fdff10421134dc1507bb41b3fb4dc69dfb79a..f4d29e3c32e925073148ff00b338b32f23cf87de 100644 (file)
@@ -4,11 +4,11 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
 
 -------------------------------------------------------------------------------
 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 ea1fdff10421134dc1507bb41b3fb4dc69dfb79a..f4d29e3c32e925073148ff00b338b32f23cf87de 100644 (file)
@@ -4,11 +4,11 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
 
 -------------------------------------------------------------------------------
 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