ncurses 6.1 - patch 20180203
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 4 Feb 2018 02:13:47 +0000 (02:13 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 4 Feb 2018 02:13:47 +0000 (02:13 +0000)
+ minor fixes to test/*.h to make them idempotent.
+ add/use test/parse_rgb.h to show how the "RGB" capability works.
+ add a clarification in user_caps.5 regarding "RGB" capability.
+ add extended_slk_color{,_sp} symbols to the appropriate
  package/*.{map,sym} files (report by Sven Joachim, cf: 20170401).

37 files changed:
MANIFEST
NEWS
VERSION
dist.mk
doc/html/man/adacurses6-config.1.html
doc/html/man/captoinfo.1m.html
doc/html/man/clear.1.html
doc/html/man/form.3x.html
doc/html/man/infocmp.1m.html
doc/html/man/infotocap.1m.html
doc/html/man/menu.3x.html
doc/html/man/ncurses.3x.html
doc/html/man/ncurses6-config.1.html
doc/html/man/panel.3x.html
doc/html/man/tabs.1.html
doc/html/man/terminfo.5.html
doc/html/man/tic.1m.html
doc/html/man/toe.1m.html
doc/html/man/tput.1.html
doc/html/man/tset.1.html
doc/html/man/user_caps.5.html
man/user_caps.5
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
package/ncursestw.map
package/ncursestw.sym
package/ncursesw.map
package/ncursesw.sym
test/linedata.h
test/modules
test/parse_rgb.h [new file with mode: 0644]
test/popup_msg.h
test/savescreen.c

index 7a785cda5c4f07b180952261060285182c45d8d9..cfa2e748708a7c322ad84e6b9c5df2f2a0059912 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
 ./test/package/mingw-ncurses-examples.spec
 ./test/package/ncurses-examples.spec
 ./test/padview.c
+./test/parse_rgb.h
 ./test/picsmap.c
 ./test/picsmap.h
 ./test/popup_msg.c
diff --git a/NEWS b/NEWS
index 2964fb97dc6e992f102be31cca265f71aac68786..352a788e6eacf8e88d045c34d9130e2b1f478914 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3071 2018/01/30 00:35:11 tom Exp $
+-- $Id: NEWS,v 1.3076 2018/02/04 01:14:28 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.
 
+20180203
+       + minor fixes to test/*.h to make them idempotent.
+       + add/use test/parse_rgb.h to show how the "RGB" capability works.
+       + add a clarification in user_caps.5 regarding "RGB" capability.
+       + add extended_slk_color{,_sp} symbols to the appropriate
+         package/*.{map,sym} files (report by Sven Joachim, cf: 20170401).
+
 20180129
        + update "VERSION" file, used in shared-library naming.
 
diff --git a/VERSION b/VERSION
index dd18f9b04c76735efa644beb70fb44813ee02ca5..ff7c464c92bf4cfe3d7e4e077b1f4826cb35e139 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:10 6.1     20180129
+5:0:10 6.1     20180203
diff --git a/dist.mk b/dist.mk
index 7a82fd04f58b0937ebeee346947761163eb593e9..205628bb5ebeb4554e95d79e84472c4f8766413b 100644 (file)
--- 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.1208 2018/01/30 00:32:36 tom Exp $
+# $Id: dist.mk,v 1.1209 2018/01/31 20:55:08 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 = 20180129
+NCURSES_PATCH = 20180203
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index d74c2a8a2ec8077acca388474f7466c682a079f8..d65c0490040d1a3ee73c81b188cf48ff47f28c2d 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 
index bdff8230f82400297c794e178ca664031f296806..3ff6cd894b45acfe6339e76568a1c403a9991136 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 66563a0508aa4bfaa134cb96bc6e8edcec313be3..c52afa802544d9f79e3aa17da0041b6db7ee27f3 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 
index 48ebfd41f639c5918da8f64c5373e6e7f10bac03..950e3388a980e56e143d164add3ca058a157e353 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
        descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 
index dfafeedbc165e71aae2fe5b332c46927963f91d3..caf4d0dfa22f3baaa94b31bf825e52af7b95d1ad 100644 (file)
 
        https://invisible-island.net/ncurses/tctest.html
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index ff52c19f37e0a6b2e88aa6fb23f106271768c427..3d72bfdfd6e0db8365319a220ca2f01dc4ed56a5 100644 (file)
@@ -85,7 +85,7 @@
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index b51a26010d0a65f76e5c700be82cf170285c6b10..cc5f570f9204bf3e838843b47f69b6e38ca448db 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "menu_" for detailed
        descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 
index 1e1a8af674317cd5bc5969b02d0e63de5cf87172..5ccd68d778819c1caf0b89e7d163f5917bd073e6 100644 (file)
@@ -59,7 +59,7 @@
        method of updating  character  screens  with  reasonable  optimization.
        This  implementation  is  "new  curses"  (ncurses)  and is the approved
        replacement for 4.4BSD classic curses,  which  has  been  discontinued.
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
        The  <STRONG>ncurses</STRONG>  library emulates the curses library of System V Release 4
        UNIX, and XPG4 (X/Open Portability Guide) curses  (also  known  as  XSI
index 3ae08423fb9043e22224b4cbdc1fcb39d576ed57..0e1d2a49f9a7235d0d75ab805c1cc5b19356c886 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 
index 30b3ef05a62fd3e83ecb9f2fc1c69db7105e6581..d18346f2b2df88d5d8a4b95ce2332349b41c9a43 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index f957805c43638609b5177269de2004a498ca44e0..dbf8b2dae2a7fdcf96333c13e6e83c4351515a60 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 
index 9e06e2bad7785df3880cb037869fbdba3eda38ae..1516b7388f09e4ef8ffdbb85c578aa27ea3e2cdc 100644 (file)
@@ -74,7 +74,7 @@
        <EM>Terminfo</EM> describes terminals by giving a set of capabilities which they
        have, by specifying how to perform screen operations, and by specifying
        padding  requirements  and  initialization  sequences.   This describes
-       <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 </PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
index 686ab158d5be53deee0eedb85e1269c3b68e7ef6..24b5b58a0c128f3dd332c8c0ccb87ef7af2ddfa8 100644 (file)
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,   <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,   <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
        <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 37012457844611e5e2263b7da359054e09bce8c5..c0e5090ace32e21b29f9b5b71c5a85f744619557 100644 (file)
        <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,  <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG>ter-</STRONG>
        <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 
index f28f36afffe89fba0469c4e0b085d55d32170bd3..8d30741966b3ac4551632ee38429568080e7223c 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 
index 368822243a8ea15daa3cb5d6bba512d6f3d84d53..2c54029fa70fc65926eaa75be5448f2a7827e696 100644 (file)
        <STRONG>csh(1)</STRONG>,  <STRONG>sh(1)</STRONG>,  <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,   <STRONG>tty(4)</STRONG>,   <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
        <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180127).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 
index 3ce74fbbad655e11912ab8a0dd882de581e7caa8..5495defb7b69ff2ecdc9432f1e599d852be00741 100644 (file)
@@ -1,6 +1,6 @@
 <!-- 
   ****************************************************************************
-  * Copyright (c) 2017 Free Software Foundation, Inc.                        *
+  * Copyright (c) 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            *
@@ -26,7 +26,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: user_caps.5,v 1.4 2017/11/25 20:13:12 tom Exp @
+  * @Id: user_caps.5,v 1.6 2018/02/03 22:38:17 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
                 explicitly list the number of bits used  for  red,  green  and
                 blue components as a slash-separated list of decimal integers.
 
+             Because  there  are  several  RGB  encodings in use, applications
+             which make assumptions about the number of  bits  per  color  are
+             unlikely  to  work reliably.  As a trivial case, for example, one
+             could define <STRONG>RGB#1</STRONG> to represent the standard eight  ANSI  colors,
+             i.e., one bit per color.
+
           U8 <EM>boolean</EM>,  asserts  that ncurses must use Unicode values for line-
              drawing characters, and that it should ignore the alternate char-
              acter  set capabilities when the locale uses UTF-8 encoding.  For
             ----------------------------------
             2       Shift
             3       Alt
+
             4       Shift + Alt
             5       Control
             6       Shift + Control
             7       Alt + Control
             8       Shift + Alt + Control
             9       Meta
-
             10      Meta + Shift
             11      Meta + Alt
             12      Meta + Alt + Shift
index fc2e0c3b6b2ce24c47fb9cc251eb52c591d64a71..04830cb8ceac841fe2a1a27860789023887040fc 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2017 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 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            *
@@ -26,7 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: user_caps.5,v 1.4 2017/11/25 20:13:12 tom Exp $
+.\" $Id: user_caps.5,v 1.6 2018/02/03 22:38:17 tom Exp $
 .TH user_caps 5
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -203,6 +203,12 @@ blue (and green) lose just as in the \fIboolean\fP case.
 explicitly list the number of bits used for red, green and blue components
 as a slash-separated list of decimal integers.
 .RE
+.IP
+Because there are several RGB encodings in use,
+applications which make assumptions about the number of bits per color
+are unlikely to work reliably.
+As a trivial case, for example, one could define \fBRGB#1\fP
+to represent the standard eight ANSI colors, i.e., one bit per color.
 .TP 3
 U8
 \fIboolean\fP,
index b9b3881cde44c5b53f07ce32cb9138bdea68a013..c71a1d506ac87658cd748887c03e8227e8c512bc 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20180129) unstable; urgency=low
+ncurses6 (6.1+20180203) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Mon, 29 Jan 2018 19:32:37 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Wed, 31 Jan 2018 15:55:08 -0500
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index b9b3881cde44c5b53f07ce32cb9138bdea68a013..c71a1d506ac87658cd748887c03e8227e8c512bc 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20180129) unstable; urgency=low
+ncurses6 (6.1+20180203) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Mon, 29 Jan 2018 19:32:37 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Wed, 31 Jan 2018 15:55:08 -0500
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 6abeab309a58fbc94ac3d34d926fd09e1bcc4349..ac78dd1373d6377a4dad12660660e526507ae526 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20180129) unstable; urgency=low
+ncurses6 (6.1+20180203) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Mon, 29 Jan 2018 19:32:37 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Wed, 31 Jan 2018 15:55:08 -0500
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index 1cb40539fd7beba0e9af44e8e3eafec7324029f3..08adc7339004056745faab5d53ad597cf4c6c974 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.255 2018/01/30 00:32:37 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.256 2018/01/31 20:55:08 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "1"\r
 !define VERSION_YYYY  "2018"\r
-!define VERSION_MMDD  "0129"\r
+!define VERSION_MMDD  "0203"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index 5a1d83793416a19ba3053e8647714d6e1198a251..72decc14931bb4dc488f502abae432b950b8030a 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.1
-Release: 20180129
+Release: 20180203
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 59cccf3473ddfae5de5c4f75b40ff7ba32abee7e..8d8a3de392d237bb9dea2c2ad2a3e9988ee50d77 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.1
-Release: 20180129
+Release: 20180203
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 8d27873f53b672930cf56705c3a11da919de179e..8d17422b1fad297a5bbf44800e38c4e29543db25 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: ncursestw.map,v 1.42 2017/12/30 20:51:38 tom Exp $
+# $Id: ncursestw.map,v 1.43 2018/01/31 23:58:06 tom Exp $
 # script for shared library symbol-versioning using ld
 #
 # This file was generated by ncu-mapsyms
@@ -1255,6 +1255,8 @@ NCURSESTW_6.1.20171230 {
                extended_color_content_sp;
                extended_pair_content;
                extended_pair_content_sp;
+               extended_slk_color;
+               extended_slk_color_sp;
                find_pair;
                find_pair_sp;
                free_pair;
index 8f245f080bc3c9e9b1327b393294231d66f67767..20e5f5c27a7b9213e2bfcceceefba132562fcc2a 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: ncursestw.sym,v 1.32 2017/08/11 17:33:23 tom Exp $
+# $Id: ncursestw.sym,v 1.33 2018/01/31 23:58:56 tom Exp $
 # script for shared library symbol-visibility using libtool
 #
 # This file was generated by ncu-mapsyms
@@ -343,6 +343,8 @@ extended_color_content
 extended_color_content_sp
 extended_pair_content
 extended_pair_content_sp
+extended_slk_color
+extended_slk_color_sp
 field_arg
 field_back
 field_buffer
index 7d31437dd4006704a7141f03b9e6f205f3732c1b..d486182546fbc375816eaf7b4bb1bfbfab956e8c 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: ncursesw.map,v 1.46 2017/12/30 20:51:38 tom Exp $
+# $Id: ncursesw.map,v 1.47 2018/01/31 23:58:25 tom Exp $
 # script for shared library symbol-versioning using ld
 #
 # This file was generated by ncu-mapsyms
@@ -1278,6 +1278,8 @@ NCURSESW_6.1.20171230 {
                extended_color_content_sp;
                extended_pair_content;
                extended_pair_content_sp;
+               extended_slk_color;
+               extended_slk_color_sp;
                find_pair;
                find_pair_sp;
                free_pair;
index 889cfa0ee670023ed55af2aa12684fa1e000e5ce..3dce4da243e0aa1acef831d10a00f1d7db2ae492 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: ncursesw.sym,v 1.32 2017/08/12 21:34:38 tom Exp $
+# $Id: ncursesw.sym,v 1.33 2018/01/31 23:58:44 tom Exp $
 # script for shared library symbol-visibility using libtool
 #
 # This file was generated by ncu-mapsyms
@@ -343,6 +343,8 @@ extended_color_content
 extended_color_content_sp
 extended_pair_content
 extended_pair_content_sp
+extended_slk_color
+extended_slk_color_sp
 field_arg
 field_back
 field_buffer
index 751bc6b5db27284762535b4a2a38784c844c38ef..b97f1c97bdd57a2d574df3dd9bdfc9059fe28187 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 2009-2010,2012 Free Software Foundation, Inc.              *
+ * Copyright (c) 2009-2012,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            *
  * authorization.                                                           *
  ****************************************************************************/
 
+/*
+ * $Id: linedata.h,v 1.7 2018/02/03 22:51:43 tom Exp $
+ *
+ * Utility functions for reading a line of text from a file.
+ */
+#ifndef LINEDATA_H_incl
+#define LINEDATA_H_incl 1
+
+#include <test.priv.h>
+
 #define isQUIT(c)     ((c) == QUIT || (c) == ESCAPE)
 
 #define key_RECUR     CTRL('W')
@@ -96,3 +106,5 @@ read_linedata(WINDOW *work)
     }
     return result;
 }
+
+#endif /* LINEDATA_H_incl */
index 7dde8b2ec3660234294d37038044b1d418a38e96..1995b5b954c5e65d9456d7fcbd25b96795a6f8a6 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: modules,v 1.66 2017/10/22 16:06:33 tom Exp $
+# $Id: modules,v 1.67 2018/02/03 23:45:16 tom Exp $
 ##############################################################################
-# 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 "Software"), #
@@ -84,7 +84,7 @@ popup_msg     progs           $(srcdir)       $(HEADER_DEPS)  $(srcdir)/popup_msg.h
 railroad       progs           $(srcdir)       $(HEADER_DEPS)
 rain           progs           $(srcdir)       $(HEADER_DEPS)  $(srcdir)/popup_msg.h
 redraw         progs           $(srcdir)       $(HEADER_DEPS)  $(srcdir)/popup_msg.h
-savescreen     progs           $(srcdir)       $(HEADER_DEPS)  $(srcdir)/popup_msg.h
+savescreen     progs           $(srcdir)       $(HEADER_DEPS)  $(srcdir)/popup_msg.h $(srcdir)/parse_rgb.h
 sp_tinfo       progs           $(srcdir)       $(HEADER_DEPS)
 tclock         progs           $(srcdir)       $(HEADER_DEPS)
 test_add_wchstr        progs           $(srcdir)       $(HEADER_DEPS)  $(srcdir)/linedata.h
diff --git a/test/parse_rgb.h b/test/parse_rgb.h
new file mode 100644 (file)
index 0000000..a0d093f
--- /dev/null
@@ -0,0 +1,98 @@
+/****************************************************************************
+ * Copyright (c) 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            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+/*
+ * $Id: parse_rgb.h,v 1.4 2018/02/03 23:40:53 tom Exp $
+ *
+ * Sample implementation of ncurses RGB extension from user_caps(5).
+ */
+#ifndef PARSE_RBG_H_incl
+#define PARSE_RBG_H_incl 1
+
+#include <test.priv.h>
+
+#if HAVE_TIGETSTR && USE_WIDEC_SUPPORT
+static int
+parse_rgb(int *r_max, int *g_max, int *b_max)
+{
+    int colors = tigetnum("colors");
+    int result = ERR;
+
+    *r_max = *g_max = *b_max = 0;
+
+    if (colors > 0) {
+       int max_bits;
+       int bits;
+       int pwr2;
+       int r = 0, g = 0, b = 0;
+       char *data;
+       char ch;
+
+       for (max_bits = 0, pwr2 = 1;
+            pwr2 < colors;
+            ++max_bits, pwr2 <<= 1) {
+           ;
+       }
+
+       if (tigetflag("RGB") > 0) {
+           result = OK;
+           r = g = b = (max_bits + 2) / 3;
+       } else if ((bits = tigetnum("RGB")) > 0) {
+           result = OK;
+           r = g = b = bits;
+       } else if ((data = tigetstr("RGB")) != ABSENT_STRING
+                  && data != CANCELLED_STRING
+                  && sscanf(data, "%d/%d/%d%c", &r, &g, &b, &ch) == 3) {
+           result = OK;
+       }
+
+       if ((r + g + b) < max_bits) {
+           result = ERR;
+       } else if (result == 0) {
+           if (r > max_bits) {
+               r = max_bits;
+               g = b = 0;
+           }
+           *r_max = r;
+           if (g > (max_bits -= r)) {
+               g = max_bits;
+               b = 0;
+           }
+           *g_max = g;
+           if (b > (max_bits -= g)) {
+               b = max_bits;
+           }
+           *b_max = b;
+       }
+    }
+    return result;
+}
+#else
+#define parse_rgb(r,g,b) (ERR)
+#endif
+
+#endif /* PARSE_RBG_H_incl */
index 1b0ef1ed00acb200a88d820890af0e7d4715c4f8..b728f21bde3f052c4e08badd7517a0671043862b 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 2003-2013,2017 Free Software Foundation, Inc.              *
+ * Copyright (c) 2003-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            *
@@ -26,9 +26,9 @@
  * authorization.                                                           *
  ****************************************************************************/
 /*
- * $Id: popup_msg.h,v 1.3 2017/04/15 19:16:35 tom Exp $
+ * $Id: popup_msg.h,v 1.4 2018/02/03 21:07:55 tom Exp $
  *
- * Interface of edit_field.c
+ * Utility functions for a popup-message or help-screen.
  */
 
 #ifndef POPUP_MSG_H_incl
index 722e4bb584ced4009ebdab983112e96da51a303b..610b86d041bd1dd07730b7d63fd03099c80ecdbb 100644 (file)
@@ -26,7 +26,7 @@
  * authorization.                                                           *
  ****************************************************************************/
 /*
- * $Id: savescreen.c,v 1.51 2018/01/14 17:39:47 tom Exp $
+ * $Id: savescreen.c,v 1.52 2018/02/03 23:18:50 tom Exp $
  *
  * Demonstrate save/restore functions from the curses library.
  * Thomas Dickey - 2007/7/14
@@ -34,6 +34,7 @@
 
 #include <test.priv.h>
 #include <popup_msg.h>
+#include <parse_rgb.h>
 
 #if HAVE_SCR_DUMP
 
@@ -374,37 +375,37 @@ main(int argc, char *argv[])
                    init_pair((short) (n + MAX_ANSI), (short) n, (short) n);
            }
 #if HAVE_TIGETSTR && USE_WIDEC_SUPPORT
-           else if (tigetflag("RGB") > 0) {
-               int rows = LINES - 1;
-               int cols = COLS - 1;
-               /* FIXME: test all 3 types of capability */
-               int b_max = 255;
-               int r_max = 255;
-               int g_max = 255;
-               int b_delta = (b_max / rows);
-               int r_delta = (r_max / cols);
-               int g_delta = (g_max / cols);
-               int row = 0;
-
-               b = 0;
-               using_rgb = TRUE;
-               while (row++ < rows) {
-                   int col = 0;
-                   r = 0;
-                   g = g_max;
-                   while (col++ < cols) {
-                       int color = (((r * (g_max + 1)) + g) * (b_max + 1)
-                                    + b + MAX_ANSI);
+           else {
+               int r_max, g_max, b_max;
+
+               if (parse_rgb(&r_max, &g_max, &b_max) > 0) {
+                   int rows = LINES - 1;
+                   int cols = COLS - 1;
+                   int b_delta = (b_max / rows);
+                   int r_delta = (r_max / cols);
+                   int g_delta = (g_max / cols);
+                   int row = 0;
+
+                   b = 0;
+                   using_rgb = TRUE;
+                   while (row++ < rows) {
+                       int col = 0;
+                       r = 0;
+                       g = g_max;
+                       while (col++ < cols) {
+                           int color = (((r * (g_max + 1)) + g) * (b_max + 1)
+                                        + b + MAX_ANSI);
 #if HAVE_INIT_EXTENDED_COLOR
-                       init_extended_pair(pair, color, color);
+                           init_extended_pair(pair, color, color);
 #else
-                       init_pair(pair, color, color);
+                           init_pair(pair, color, color);
 #endif
-                       pair++;
-                       r += r_delta;
-                       g -= g_delta;
+                           pair++;
+                           r += r_delta;
+                           g -= g_delta;
+                       }
+                       b += b_delta;
                    }
-                   b += b_delta;
                }
            }
 #endif