ncurses 6.0 - patch 20170520
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 21 May 2017 01:35:04 +0000 (01:35 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 21 May 2017 01:35:04 +0000 (01:35 +0000)
+ modify test/picsmap.c to read xpm files.
+ modify package/debian/* to create documentation packages, so the
  related files can be checked with lintian.
+ fix some typos in manpages (report/patch by Sven Joachim).

32 files changed:
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/curs_add_wch.3x.html
doc/html/man/curs_mouse.3x.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
man/curs_add_wch.3x
man/curs_mouse.3x
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/debian/control
package/debian/rules
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
test/picsmap.c

diff --git a/NEWS b/NEWS
index 00a8c6de7ec3c7d27ff3c606e71858bb56f8c323..64e1886e303422322e3288eeffc0cc62f16d4aef 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.2841 2017/05/13 23:01:06 tom Exp $
+-- $Id: NEWS,v 1.2844 2017/05/21 00:24:14 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.
 
+20170520
+       + modify test/picsmap.c to read xpm files.
+       + modify package/debian/* to create documentation packages, so the
+         related files can be checked with lintian.
+       + fix some typos in manpages (report/patch by Sven Joachim).
+
 20170513
        + add test/picsmap.c to fill in some testing issues not met by dots.
          The initial version reads X bitmap (".xbm") files.
diff --git a/VERSION b/VERSION
index 5049332f7c5e3217a87eb70ba044aa713d4394d6..cbe3600b04ad561a3444346285d5bb9c8fcea3b6 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:9  6.0     20170513
+5:0:9  6.0     20170520
diff --git a/dist.mk b/dist.mk
index dc30ab3862e7f1977870e416f71704d2df0422f4..bcc272cd850f564e0a576f3978cac654fc8f6d81 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.1163 2017/05/07 17:07:55 tom Exp $
+# $Id: dist.mk,v 1.1164 2017/05/14 15:18:36 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 = 20170513
+NCURSES_PATCH = 20170520
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index 062082436ff9b6f1268fc15a6223f5ad8ce3b3f8..5afe14d822a84e0d362dd3442f89d01142e79e74 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.0 (patch 20170506).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
 
 
index 9bd10364603bc1b9722d555cb5c5ed469283d68d..0cf55f336b3d0e5c3fdeb757cb348dfe196a9cf4 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.0 (patch 20170506).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 36beee1fb112deaf11e7e6d3f72bc0d764dd1827..5252f61667cc6389c23b94757fe5d80c17acbe5f 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.0 (patch 20170506).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
 
 
index b0d8b61455640ceb70f520f6de5bf8bc051d6b6d..d4f741d95d74facfbb261a7b1b3c30ba8ee0d35f 100644 (file)
@@ -26,7 +26,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_add_wch.3x,v 1.22 2017/05/06 14:01:26 tom Exp @
+  * @Id: curs_add_wch.3x,v 1.23 2017/05/20 14:45:24 Sven.Joachim Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
            intended.  But there are several possibilities, all with problems.
 
            Unicode  6.0  (2010)  does provide two lantern symbols: U+1F383 and
-           U+1F3EE.  Those were not availble in 2002, and are irrelevant since
-           they  lie  outside the BMP and as a result are not generally avail-
-           able in terminals.  They are not storm lanterns, in any case.
+           U+1F3EE.  Those were not available  in  2002,  and  are  irrelevant
+           since  they  lie  outside the BMP and as a result are not generally
+           available in terminals.  They are not storm lanterns, in any case.
 
            Most <EM>storm</EM> <EM>lanterns</EM> have a tapering glass chimney (to guard against
            tipping); some have a wire grid protecting the chimney.
index 2506e2b50267848a3a7c123e1e03de37da7b81f0..9fe80305625ca098e30e2e4a2a2fc67dad7c985c 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_mouse.3x,v 1.45 2017/05/06 17:29:26 tom Exp @
+  * @Id: curs_mouse.3x,v 1.46 2017/05/20 14:42:41 Sven.Joachim Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
        SVr4 curses had support for the mouse in a variant  of  <STRONG>xterm</STRONG>.   It  is
        mentioned in a few places, but with no supporting documentation:
 
-       <STRONG>o</STRONG>   the  libcurses  manual  page lists functions for this feature which
+       <STRONG>o</STRONG>   the  "libcurses" manual page lists functions for this feature which
            are prototyped in <STRONG>curses.h</STRONG>:
 
              extern int mouse_set(long int);
              extern void wmouse_position(WINDOW *, int *, int *);
              extern unsigned long getmouse(void), getbmap(void);
 
-       <STRONG>o</STRONG>   the terminfo manual page lists capabilities for the feature
+       <STRONG>o</STRONG>   the "terminfo" manual page lists capabilities for the feature
 
              buttons           btns    BT       Number of buttons on the mouse
              get_mouse         getm    Gm       Curses should get button events
-             key_mouse         kmous   Km       0631, Mouse event has occured
+             key_mouse         kmous   Km       0631, Mouse event has occurred
              mouse_info        minfo   Mi       Mouse status information
              req_mouse_pos     reqmp   RQ       Request mouse position report
 
index ae8a885e62257d2afa4f193cb67c36cddfc03bcb..2643c134654ede46094382aa833d6ada043750df 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.0 (patch 20170506).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
 
 
index 25f5e5afc9d424847ea92f0b268ac9a96ae62563..b35c733d322814c1cf1411d363a984e979a00206 100644 (file)
 
        http://invisible-island.net/ncurses/tctest.html
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 22682c358f90c6a54b23ca93d98d8e936b226f5b..6e72844f34f9ef0f98a5ecc39da4b2ee408a203f 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.0 (patch 20170506).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index c09e53373a0ad6947fa833b07146c02ed737aef1..2a9f20c8ecb73acbc4c19df54256e36f32e68158 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.0 (patch 20170506).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
 
 
index c4598bc3ff9f05f78d7cead803cb2bda35785a4c..b1f5bad6408d9b1827f99c607d6fff2f06535ab3 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.0 (patch 20170506).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
        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 d73eca5881ee7a035a64d080bb8a55c385228ff4..184ffd740d6a3833e569d7a1bd0d31e146bc9d04 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.0 (patch 20170506).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
 
 
index 0c526c6abacb79a8de3a52afe59c526630e47db7..edad3965904fe3e8bc1f8cb866cd13a96f90cd2b 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.0 (patch 20170506).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 466f6c3c3530563cd9953f3e6cec44ec4547b7fb..f3d9b8a59446945c17a7e4185fc6913490c98725 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.0 (patch 20170506).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
 
 
index cce59d63097863e5b288d2826e26763b180ce7f2..50a9cf3fb011e6cbf2477aaf368c3f00779b8109 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.0 (patch 20170506).
+       <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
 
 </PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
index 3329413fcbb2f2997787604deb3919311bf8495c..83c220a4575e2963bb214813c3b94bb7d6f07a1c 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.0 (patch 20170506).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index abc1ccd227f363105b616b12f0a865759d98ab80..3e01cae083ec1e1c5287468c01b626ab13be9319 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.0 (patch 20170506).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
 
 
index a7c02e633a83a88050cbaa1b2273bd7d6f0aa6d3..b2c39229fa6dabb627a379121ff93e789b1656dc 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.0 (patch 20170506).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
 
 
index 0891fcbc03ece97a8bdab1e6f6368ad247f48458..4fec77d8e0112ea2ebabcd2677a8fd03606209da 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.0 (patch 20170506).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
 
 
 
index b5397eb7fda04fd1eeee36f69e20c94aa67eab2d..ed97099f6a70643eb3753e55b37d47b2766f8aae 100644 (file)
@@ -26,7 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_add_wch.3x,v 1.22 2017/05/06 14:01:26 tom Exp $
+.\" $Id: curs_add_wch.3x,v 1.23 2017/05/20 14:45:24 Sven.Joachim Exp $
 .TH curs_add_wch 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -270,7 +270,7 @@ was intended.
 But there are several possibilities, all with problems.
 .IP
 Unicode 6.0 (2010) does provide two lantern symbols: U+1F383 and U+1F3EE.
-Those were not availble in 2002, and are irrelevant since
+Those were not available in 2002, and are irrelevant since
 they lie outside the BMP and as a result are not generally available
 in terminals.
 They are not storm lanterns, in any case.
index 8b433ec58e00d327c5d2e44cb634397ebe411a84..2a34e930f22f81e2ebc966163ed1db212ffe06be 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_mouse.3x,v 1.45 2017/05/06 17:29:26 tom Exp $
+.\" $Id: curs_mouse.3x,v 1.46 2017/05/20 14:42:41 Sven.Joachim Exp $
+.ie \n(.g .ds `` \(lq
+.el       .ds `` ``
+.ie \n(.g .ds '' \(rq
+.el       .ds '' ''
 .de NS
 .ie \n(.sp
 .el    .sp .5
@@ -289,7 +293,7 @@ the \*(``terminfo\*('' manual page lists capabilities for the feature
 .NS
 buttons           btns    BT       Number of buttons on the mouse
 get_mouse         getm    Gm       Curses should get button events
-key_mouse         kmous   Km       0631, Mouse event has occured
+key_mouse         kmous   Km       0631, Mouse event has occurred
 mouse_info        minfo   Mi       Mouse status information
 req_mouse_pos     reqmp   RQ       Request mouse position report
 .NE
index db30b2cac604a1126ec5da49f0bf2c0af927b7d3..f0aa79e5948ceb532755e1d92c3404524538f075 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20170513) unstable; urgency=low
+ncurses6 (6.0+20170520) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 07 May 2017 13:07:55 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 14 May 2017 11:18:36 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index db30b2cac604a1126ec5da49f0bf2c0af927b7d3..f0aa79e5948ceb532755e1d92c3404524538f075 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20170513) unstable; urgency=low
+ncurses6 (6.0+20170520) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 07 May 2017 13:07:55 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 14 May 2017 11:18:36 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 4b5a8a59fd509c68bc3d137d3ea86319c15d6e32..06ffacff33227212dd94f02c4af7d2eb27115b3b 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20170513) unstable; urgency=low
+ncurses6 (6.0+20170520) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 07 May 2017 13:07:55 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 14 May 2017 11:18:35 -0400
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index 4c6e82c28875c1b896fbf36667b6bc3f17ae5289..8118544ce27e98b60425f6f52e54ceb282ba3b64 100644 (file)
@@ -23,3 +23,22 @@ Description: shared libraries for terminal handling
  updating character screens with reasonable optimization.
  .
  This package is used for testing ABI 6 with pthreads.
+
+Package: ncurses6-doc
+Section: doc
+Architecture: all
+Depends: groff-base
+Description: shared libraries for terminal handling
+ The ncurses library routines are a terminal-independent method of
+ updating character screens with reasonable optimization.
+ .
+ This package is used for testing ncurses6 document packaging.
+
+Package: ncurses6-doc-html
+Section: doc
+Architecture: all
+Description: shared libraries for terminal handling
+ The ncurses library routines are a terminal-independent method of
+ updating character screens with reasonable optimization.
+ .
+ This package is used for testing ncurses6 document packaging.
index 49978d86ab115a5f92a9f1a60759e96376346eef..9d0eb980dee142148db06ff6f5fd15fc7dc98404 100755 (executable)
@@ -7,7 +7,7 @@
 #export DH_VERBOSE=1
 
 # packages
-PACKAGES.indep = # ncurses6-docs
+PACKAGES.indep = ncurses6-doc ncurses6-doc-html
 PACKAGES.arch  = ncurses6 ncursest6
 
 # These are used for cross-compiling and for saving the configure script
@@ -131,6 +131,10 @@ config-ncursest6-stamp:
                --with-pthread
        touch $@
 
+config-ncurses6-doc-stamp \
+config-ncurses6-doc-html-stamp: config-ncurses6-stamp
+       touch $@
+
 build-ncurses6-stamp: config-ncurses6-stamp
        dh_testdir
 
@@ -145,6 +149,10 @@ build-ncursest6-stamp: config-ncursest6-stamp
 
        touch $@
 
+build-ncurses6-doc-stamp \
+build-ncurses6-doc-html-stamp: build-ncurses6-stamp
+       touch $@
+
 install-ncurses6-stamp: build-ncurses6-stamp
        dh_testdir
        dh_testroot
@@ -171,6 +179,28 @@ install-ncursest6-stamp: build-ncursest6-stamp
 
        touch $@
 
+install-ncurses6-doc-stamp: build-ncurses6-stamp
+       dh_testdir
+       dh_testroot
+       dh_installdirs $(verbose)
+       dh_prep        $(verbose) -pncurses6-doc
+
+       $(MAKE) -C t/ncurses6 install.man DESTDIR=$(NCURSES6_DIR)-doc
+
+       touch $@
+
+HTML_DESTDIR=$(NCURSES6_DIR)-doc-html/usr/share/ncurses6-doc-html
+install-ncurses6-doc-html-stamp: build-ncurses6-stamp
+       dh_testdir
+       dh_testroot
+       dh_installdirs $(verbose)
+       dh_prep        $(verbose) -pncurses6-doc-html
+
+       cd doc/html && find * -type d | sort | xargs -I{} mkdir -p -v $(HTML_DESTDIR)/{}
+       cd doc/html && find * -type f -name '*.html' | sort | xargs -I{} install -m 644 -p -v -T {} $(HTML_DESTDIR)/{}
+
+       touch $@
+
 # Build architecture-independent files here.
 binary-indep: install-indep
 ifneq ($(PACKAGES.indep),)
index 1ac01a1c6bc64fb1ce87b736860dea051a9580e1..734d9e840e4bac0ff933a330d19f2f9c7b479b56 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.211 2017/05/07 17:07:55 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.212 2017/05/14 15:18:36 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 "0"\r
 !define VERSION_YYYY  "2017"\r
-!define VERSION_MMDD  "0513"\r
+!define VERSION_MMDD  "0520"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index 91c8579997ea7533e3ce7f7b1372248e04954455..430ca112c36d617c17bc62339e2a9a9266dc4ad5 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.0
-Release: 20170513
+Release: 20170520
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 327cf5237f03287ed3857899c3fd0df5e51ccffc..7ddc74d98e4cd6f63e02b6f41fa39fd47adb6246 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.0
-Release: 20170513
+Release: 20170520
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 7eb0de9e0828e5544ead035b192d9f3713d0250a..47349819078fe402df53e056c985424513553a3d 100644 (file)
  * authorization.                                                           *
  ****************************************************************************/
 /*
- * $Id: picsmap.c,v 1.8 2017/05/14 01:26:30 tom Exp $
+ * $Id: picsmap.c,v 1.17 2017/05/21 00:22:22 tom Exp $
  *
  * Author: Thomas E. Dickey
  *
  * A little more interesting than "dots", read a simple image into memory and
  * measure the time taken to paint it normally vs randomly.
  *
- * TODO read xpm file
+ * TODO handle hex color-codes for xpm other than 3-bytes
+ * TODO read rgb.txt to handle xpm color names other than "None"
  * TODO read "convert" via pipe (from ImageMagick)
  * TODO write cells/second to stderr (or log)
  * TODO write picture left-to-right/top-to-bottom
@@ -72,6 +73,21 @@ typedef struct {
 
 static bool in_curses = FALSE;
 
+static void
+free_data(char **data)
+{
+    free(data[0]);
+    free(data);
+}
+
+static void
+free_pics_head(PICS_HEAD * pics)
+{
+    free(pics->pairs);
+    free(pics->cells);
+    free(pics);
+}
+
 /*
  * Simplify reading xbm/xpm files by first making an array of lines.  Blank
  * lines are filtered out.
@@ -170,6 +186,85 @@ bytes_of(int value)
     return value;
 }
 
+static int match_c(const char *, const char *,...) GCC_SCANFLIKE(2,3);
+
+static const char *
+skip_s(const char *s)
+{
+    while (isspace(UChar(*s)))
+       s++;
+    return s;
+}
+
+static int
+match_c(const char *source, const char *pattern,...)
+{
+    const char *last_s = source + strlen(source);
+    va_list ap;
+    int ch;
+    int *ip;
+    char *cp;
+    long lv;
+
+    va_start(ap, pattern);
+
+    while (*pattern != '\0') {
+       ch = UChar(*pattern++);
+       /* blank in the pattern matches zero-or-more blanks in source */
+       if (isspace(ch)) {
+           source = skip_s(source);
+           continue;
+       }
+       /* %c, %d, %s are like sscanf except for special treatment of blanks */
+       if (ch == '%' && *pattern != '\0' && strchr("cds", *pattern)) {
+           bool found = FALSE;
+           ch = *pattern++;
+           switch (ch) {
+           case 'c':
+               cp = va_arg(ap, char *);
+               *cp = *source++;
+               break;
+           case 'd':
+               ip = va_arg(ap, int *);
+               lv = strtol(source, &cp, 0);
+               if (cp != 0 && cp != source) {
+                   *ip = (int) lv;
+                   source = cp;
+               } else {
+                   goto finish;
+               }
+               break;
+           case 's':
+               cp = va_arg(ap, char *);
+               while (*source != '\0') {
+                   ch = UChar(*source);
+                   if (isspace(ch)) {
+                       break;
+                   } else if (found && (ch == *skip_s(pattern))) {
+                       break;
+                   } else {
+                       *cp++ = *source++;
+                       found = TRUE;
+                   }
+               }
+               *cp = '\0';
+               break;
+           }
+           continue;
+       }
+       /* other characters are matched literally */
+       if (*source++ != ch) {
+           break;
+       }
+    }
+  finish:
+
+    va_end(ap);
+    if (source > last_s)
+       source = last_s;
+    return (*source || *pattern) ? 0 : 1;
+}
+
 static PICS_HEAD *
 parse_xbm(char **data)
 {
@@ -280,6 +375,137 @@ parse_xbm(char **data)
     return result;
 }
 
+static PICS_HEAD *
+parse_xpm(char **data)
+{
+    int state = 0;
+    PICS_HEAD *result = typeCalloc(PICS_HEAD, 1);
+    int n;
+    int cells = 0;
+    int color = 0;
+    int cpp = 1;               /* chars per pixel */
+    int num[6];
+    int which = 0;
+    char ch;
+    const char *cs;
+    char *s;
+    char buf[BUFSIZ];
+    char arg1[BUFSIZ];
+    char arg2[BUFSIZ];
+    char arg3[BUFSIZ];
+    char **list = 0;
+
+    for (n = 0; data[n] != 0; ++n) {
+       if (strlen(s = data[n]) >= sizeof(buf) - 1)
+           continue;
+       switch (state) {
+       case 0:
+           if (match_c(s, " /* XPM */ ")) {
+               state = 1;
+           }
+           break;
+       case 1:
+           if (match_c(s, " static char * %s [] = %c ", arg1, &ch) &&
+               ch == L_CURL) {
+               result->name = strdup(arg1);
+               state = 2;
+           }
+           break;
+       case 2:
+           if (match_c(s, " \" %d %d %d %d \" , ",
+                       num + 0, num + 1, num + 2, num + 3) ||
+               match_c(s, " \" %d %d %d %d %d %d \" , ",
+                       num + 0, num + 1, num + 2, num + 3, num + 4, num + 5)) {
+               result->wide = num[0];
+               result->high = num[1];
+               result->colors = num[2];
+               result->pairs = typeCalloc(PICS_PAIR, result->colors);
+               cells = (size_t) (result->wide * result->high);
+               result->cells = typeCalloc(PICS_CELL, cells);
+               list = typeCalloc(char *, result->colors);
+               cpp = num[3];
+               state = 3;
+           }
+           break;
+       case 3:
+           if (match_c(s, " \" %s %s %s \" , ", arg1, arg2, arg3)) {
+               ;
+           } else if (match_c(s, " \" %s %s \" , ", arg2, arg3)) {
+               strcpy(arg1, " ");
+           } else {
+               break;
+           }
+           while ((int) strlen(arg1) < cpp)
+               strcat(arg1, " ");
+           list[color] = strdup(arg1);
+           if (!strcmp(arg3, "None")) {
+               result->pairs[color].fg = -1;
+           } else if (*arg3 == '#') {
+               unsigned long value = strtoul(arg3 + 1, &s, 16);
+               result->pairs[color].fg = (int) value;
+           } else {
+               result->pairs[color].fg = 0;    /* actually an error */
+           }
+           if (++color >= result->colors)
+               state = 4;
+           break;
+       case 4:
+           if (*(cs = skip_s(s)) == '"') {
+               ++cs;
+               while (*cs != '\0' && *cs != '"') {
+                   int c;
+
+                   for (c = 0; c < result->colors; ++c) {
+                       if (!strncmp(cs, list[c], cpp)) {
+                           result->cells[which].ch = list[c][0];
+                           result->cells[which].fg = c;
+                           break;
+                       }
+                   }
+
+                   if (result->cells[which].ch == 0) {
+                       result->cells[which].ch = '?';
+                       result->cells[which].fg = 0;
+                   }
+
+                   if (++which >= cells) {
+                       state = 5;
+                       break;
+                   }
+                   for (c = cpp; c > 0; --c, ++cs) ;
+               }
+           }
+           break;
+       }
+    }
+
+    if (result && list) {
+       for (n = 0; n < result->colors; ++n)
+           free(list[n]);
+       free(list);
+    }
+
+    if (state < 5) {
+       free_pics_head(result);
+       result = 0;
+    }
+
+    return result;
+}
+
+static PICS_HEAD *
+read_picture(const char *filename, char **data)
+{
+    PICS_HEAD *pics;
+    if ((pics = parse_xbm(data)) == 0) {
+       if ((pics = parse_xpm(data)) == 0) {
+           free_data(data);
+           giveup("unexpected file-format for \"%s\"", filename);
+       }
+    }
+    return pics;
+}
+
 static void
 dump_picture(PICS_HEAD * pics)
 {
@@ -287,6 +513,14 @@ dump_picture(PICS_HEAD * pics)
 
     printf("Name %s\n", pics->name);
     printf("Size %dx%d\n", pics->high, pics->wide);
+    printf("Color\n");
+    for (y = 0; y < pics->colors; ++y) {
+       if (pics->pairs[y].fg < 0) {
+           printf(" %3d: %d\n", y, pics->pairs[y].fg);
+       } else {
+           printf(" %3d: #%06x\n", y, pics->pairs[y].fg);
+       }
+    }
     for (y = 0; y < pics->high; ++y) {
        for (x = 0; x < pics->wide; ++x) {
            putchar(pics->cells[y * pics->wide + x].ch);
@@ -346,13 +580,18 @@ main(int argc, char *argv[])
            PICS_HEAD *pics;
            if (data == 0) {
                giveup("cannot read \"%s\"", argv[n]);
-           } else if ((pics = parse_xbm(data)) == 0) {
+           }
+           if ((pics = read_picture(argv[n], data)) == 0) {
+               free_data(data);
                giveup("unexpected file-format for \"%s\"", argv[n]);
-           } else if (isatty(fileno(stdout))) {
+           }
+           if (isatty(fileno(stdout))) {
                show_picture(pics);
            } else {
                dump_picture(pics);
            }
+           free_data(data);
+           free_pics_head(pics);
        }
     } else {
        usage();