ncurses 5.9 - patch 20150523
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 24 May 2015 00:58:47 +0000 (00:58 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 24 May 2015 00:58:47 +0000 (00:58 +0000)
+ add 'P' menu item to test/ncurses.c, to show pad in color.
+ improve discussion in curs_color.3x about color rendering (prompted
  by comment on Stack Overflow forum):
+ remove screen-bce.mlterm, since mlterm does not do "bce" -TD
+ add several screen.XXX entries to support the respective variations
  for 256 colors -TD
+ add putty+fnkeys* building-block entries -TD
+ add smkx/rmkx to capabilities analyzed with infocmp "-i" option.

34 files changed:
NEWS
VERSION
dist.mk
doc/html/man/adacurses-config.1.html [new file with mode: 0644]
doc/html/man/captoinfo.1m.html
doc/html/man/clear.1.html
doc/html/man/curs_color.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/ncurses5-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_color.3x
man/infocmp.1m
misc/terminfo.src
ncurses/tinfo/lib_setup.c
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
progs/infocmp.c
progs/progs.priv.h
progs/tput.c
test/ncurses.c

diff --git a/NEWS b/NEWS
index e8162e9cf9bacd1fc0ad3fddd8a8ea40c32a4392..5b7594b442d08a97fb5121899d1a6f148fcd10a5 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2421 2015/05/16 20:29:02 tom Exp $
+-- $Id: NEWS,v 1.2425 2015/05/23 21:56:15 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,16 @@ 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.
 
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20150523
+       + add 'P' menu item to test/ncurses.c, to show pad in color.
+       + improve discussion in curs_color.3x about color rendering (prompted
+         by comment on Stack Overflow forum):
+       + remove screen-bce.mlterm, since mlterm does not do "bce" -TD
+       + add several screen.XXX entries to support the respective variations
+         for 256 colors -TD
+       + add putty+fnkeys* building-block entries -TD
+       + add smkx/rmkx to capabilities analyzed with infocmp "-i" option.
+
 20150516
        + amend change to ".pc" files to only use the extra loader flags which
          may have rpath options (report by Sven Joachim, cf: 20150502).
 20150516
        + amend change to ".pc" files to only use the extra loader flags which
          may have rpath options (report by Sven Joachim, cf: 20150502).
diff --git a/VERSION b/VERSION
index b372003cb60a414b848fd6e4ea732c5af59e4765..e1065ae6dda46ba0018010fa2e250dfb0b90366f 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:9  5.9     20150516
+5:0:9  5.9     20150523
diff --git a/dist.mk b/dist.mk
index 7849e134a1f29a0051ebd0ffd7be7f2e4cda212e..dc31823e75694256d018bdee2b7e2d109c67a1d7 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.1051 2015/05/13 19:01:14 tom Exp $
+# $Id: dist.mk,v 1.1052 2015/05/17 16:37:10 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
 # 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 = 5
 NCURSES_MINOR = 9
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 5
 NCURSES_MINOR = 9
-NCURSES_PATCH = 20150516
+NCURSES_PATCH = 20150523
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
diff --git a/doc/html/man/adacurses-config.1.html b/doc/html/man/adacurses-config.1.html
new file mode 100644 (file)
index 0000000..213771c
--- /dev/null
@@ -0,0 +1,158 @@
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2010-2011,2014 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: MKada_config.in,v 1.8 2014/06/07 19:32:52 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>ADACURSES 1   User Commands</TITLE>
+<link rev=made href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
+<BODY>
+<H1>ADACURSES 1   User Commands</H1>
+<HR>
+<PRE>
+<STRONG><A HREF="ADACURSES.1.html">ADACURSES(1)</A></STRONG>                 User Commands                 <STRONG><A HREF="ADACURSES.1.html">ADACURSES(1)</A></STRONG>
+
+
+
+
+</PRE>
+<H2><a name="h2-NAME">NAME</a></H2><PRE>
+       adacurses-config - helper script for AdaCurses libraries
+
+
+</PRE>
+<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>adacurses-config</STRONG> [<EM>options</EM>]
+
+
+</PRE>
+<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       This  is  a  shell  script which simplifies configuring an
+       application  to  use  the  AdaCurses  library  binding  to
+       ncurses.
+
+
+</PRE>
+<H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+       <STRONG>--cflags</STRONG>
+              echos  the gnat (Ada compiler) flags needed to com-
+              pile with AdaCurses.
+
+       <STRONG>--libs</STRONG> echos  the  gnat  libraries  needed  to  link  with
+              AdaCurses.
+
+       <STRONG>--version</STRONG>
+              echos  the release+patchdate version of the ncurses
+              libraries used to configure and build AdaCurses.
+
+       <STRONG>--help</STRONG> prints a  list  of  the  <STRONG>adacurses-config</STRONG>  script's
+              options.
+
+       If  no options are given, <STRONG>adacurses-config</STRONG> prints the com-
+       bination of <STRONG>--cflags</STRONG> and <STRONG>--libs</STRONG> that <STRONG>gnatmake</STRONG> expects (see
+       example).
+
+
+</PRE>
+<H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
+       For example, supposing that you want to compile the "Hello
+       World!"   program  for  AdaCurses.   Make  a  file   named
+       "hello.adb":
+              with Terminal_Interface.Curses; use Terminal_Interface.Curses;
+
+              procedure Hello is
+
+                 Visibility : Cursor_Visibility := Invisible;
+                 done : Boolean := False;
+                 c : Key_Code;
+
+              begin
+
+                 Init_Screen;
+                 Set_Echo_Mode (False);
+
+                 Set_Cursor_Visibility (Visibility);
+                 Set_Timeout_Mode (Standard_Window, Non_Blocking, 0);
+
+                 Move_Cursor (Line =&gt; Lines / 2, Column =&gt; (Columns - 12) / 2);
+                 Add (Str =&gt; "Hello World!");
+
+                 while not done loop
+
+                    c := Get_Keystroke (Standard_Window);
+                    case c is
+                    when Character'Pos ('q') =&gt; done := True;
+                    when others =&gt; null;
+                    end case;
+
+                    Nap_Milli_Seconds (50);
+
+                 end loop;
+
+                 End_Windows;
+
+              end Hello;
+
+       Then, using
+              gnatmake  `adacurses-config  --cflags` hello -largs
+              `adacurses-config --libs`
+
+       or (simpler):
+              gnatmake hello `adacurses-config`
+
+       you will compile and link the program.
+
+
+</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 5.9 (patch 20150215).
+
+
+
+                                                           <STRONG><A HREF="ADACURSES.1.html">ADACURSES(1)</A></STRONG>
+</PRE>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
+<li><a href="#h2-EXAMPLE">EXAMPLE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
+</BODY>
+</HTML>
index b44930ca24ee1b69aa4c4be2291b678d5ef63560..c727c6298d8607d8c975144a7796938d4ec00a96 100644 (file)
 <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>
 
 <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 5.9 (patch 20150516).
+       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
 
 
 </PRE>
 
 
 </PRE>
index 4f5f5c2ace124d507903a02c499d040c78d714b2..3fe7953c341add7880c1d22d3764fb1f47ff66da 100644 (file)
@@ -71,7 +71,7 @@
 <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>
 
 <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 5.9 (patch 20150516).
+       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
 
 
 
 
 
 
index 5ff2f5f949488853b87ecf1b33158e8f1a69c265..1ec2985902fd55f0d23e6225e1d703cb268e0c46 100644 (file)
@@ -26,7 +26,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_color.3x,v 1.37 2015/04/04 19:42:47 tom Exp @
+  * @Id: curs_color.3x,v 1.38 2015/05/23 21:36:35 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
@@ -71,8 +71,8 @@
 
 </PRE>
 <H3><a name="h3-Overview">Overview</a></H3><PRE>
 
 </PRE>
 <H3><a name="h3-Overview">Overview</a></H3><PRE>
-       <STRONG>curses</STRONG> support color attributes on terminals with that ca-
-       pability.   To  use  these  routines  <STRONG>start_color</STRONG>  must be
+       <STRONG>curses</STRONG> supports color attributes on  terminals  with  that
+       capability.   To  use  these  routines <STRONG>start_color</STRONG> must be
        called, usually right after <STRONG>initscr</STRONG>.   Colors  are  always
        used  in pairs (referred to as color-pairs).  A color-pair
        consists of a foreground  color  (for  characters)  and  a
        called, usually right after <STRONG>initscr</STRONG>.   Colors  are  always
        used  in pairs (referred to as color-pairs).  A color-pair
        consists of a foreground  color  (for  characters)  and  a
        how a given color-pair is currently defined.
 
 
        how a given color-pair is currently defined.
 
 
+</PRE>
+<H3><a name="h3-Color-Rendering">Color Rendering</a></H3><PRE>
+       The <STRONG>curses</STRONG> library combines these inputs  to  produce  the
+       actual  foreground  and  background  colors  shown  on the
+       screen:
+
+       <STRONG>o</STRONG>   per-character video attributes (e.g., via <STRONG>waddch</STRONG>),
+
+       <STRONG>o</STRONG>   the window attribute (e.g., by <STRONG>wattrset</STRONG>), and
+
+       <STRONG>o</STRONG>   the background character (e.g., <STRONG>wbkgdset</STRONG>).
+
+       Per-character and window attributes are usually set  by  a
+       parameter  containing  video  attributes  including a <STRONG>COL-</STRONG>
+       <STRONG>OR_PAIR</STRONG> value.  Some functions such  as  <STRONG>wattr_set</STRONG>  use  a
+       separate parameter which is the color pair number.
+
+       The  background character is a special case: it includes a
+       character value, just as if it were passed to <STRONG>waddch</STRONG>.
+
+       The <STRONG>curses</STRONG> library does the actual work of combining these
+       color pairs in an internal function called from <STRONG>waddch</STRONG>:
+
+       <STRONG>o</STRONG>   If the parameter passed to <STRONG>waddch</STRONG> is <EM>blank</EM>, and it us-
+           es the special color pair 0,
+
+           <STRONG>o</STRONG>   <STRONG>curses</STRONG> next checks the window attribute.
+
+           <STRONG>o</STRONG>   If the window attribute does not use color pair 0,
+               <STRONG>curses</STRONG>  uses  the  color  pair from the window at-
+               tribute.
+
+           <STRONG>o</STRONG>   Otherwise, <STRONG>curses</STRONG> uses the background character.
+
+       <STRONG>o</STRONG>   If the parameter passed to <STRONG>waddch</STRONG> is <EM>not</EM> <EM>blank</EM>, or  it
+           does  not use the special color pair 0, <STRONG>curses</STRONG> prefers
+           the color pair from the parameter, if it  is  nonzero.
+           Otherwise, it tries the window attribute next, and fi-
+           nally the background character.
+
+       Some <STRONG>curses</STRONG> functions such as <STRONG>wprintw</STRONG> call <STRONG>waddch</STRONG>.   Those
+       do  not  combine  its parameter with a color pair.  Conse-
+       quently those calls use only the window attribute  or  the
+       background character.
+
+
 </PRE>
 <H3><a name="h3-Routine-Descriptions">Routine Descriptions</a></H3><PRE>
        The <STRONG>start_color</STRONG> routine requires no arguments.  It must be
 </PRE>
 <H3><a name="h3-Routine-Descriptions">Routine Descriptions</a></H3><PRE>
        The <STRONG>start_color</STRONG> routine requires no arguments.  It must be
-       called  if  the programmer wants to use colors, and before
-       any other color manipulation routine  is  called.   It  is
-       good  practice  to  call this routine right after <STRONG>initscr</STRONG>.
+       called if the programmer wants to use colors,  and  before
+       any  other  color  manipulation  routine is called.  It is
+       good practice to call this routine  right  after  <STRONG>initscr</STRONG>.
        <STRONG>start_color</STRONG> does this:
 
        <STRONG>start_color</STRONG> does this:
 
-       <STRONG>o</STRONG>   It initializes two global variables, <STRONG>COLORS</STRONG>  and  <STRONG>COL-</STRONG>
-           <STRONG>OR_PAIRS</STRONG>  (respectively defining the maximum number of
+       <STRONG>o</STRONG>   It  initializes  two global variables, <STRONG>COLORS</STRONG> and <STRONG>COL-</STRONG>
+           <STRONG>OR_PAIRS</STRONG> (respectively defining the maximum number  of
            colors and color-pairs the terminal can support).
 
        <STRONG>o</STRONG>   It initializes the special color pair <STRONG>0</STRONG> to the default
            colors and color-pairs the terminal can support).
 
        <STRONG>o</STRONG>   It initializes the special color pair <STRONG>0</STRONG> to the default
-           foreground  and  background  colors.   No  other color
+           foreground and  background  colors.   No  other  color
            pairs are initialized.
 
            pairs are initialized.
 
-       <STRONG>o</STRONG>   It restores the colors on the terminal to  the  values
+       <STRONG>o</STRONG>   It  restores  the colors on the terminal to the values
            they had when the terminal was just turned on.
 
            they had when the terminal was just turned on.
 
-       <STRONG>o</STRONG>   If  the terminal supports the <STRONG>initc</STRONG> (<STRONG>initialize_color</STRONG>)
+       <STRONG>o</STRONG>   If the terminal supports the <STRONG>initc</STRONG>  (<STRONG>initialize_color</STRONG>)
            capability, <STRONG>start_color</STRONG> initializes its internal table
            representing the red, green and blue components of the
            color palette.
            capability, <STRONG>start_color</STRONG> initializes its internal table
            representing the red, green and blue components of the
            color palette.
            The components depend on whether the terminal uses CGA
            (aka "ANSI") or HLS (i.e., the <STRONG>hls</STRONG> (<STRONG>hue_lightness_sat-</STRONG>
            <STRONG>uration</STRONG>) capability is set).  The table is initialized
            The components depend on whether the terminal uses CGA
            (aka "ANSI") or HLS (i.e., the <STRONG>hls</STRONG> (<STRONG>hue_lightness_sat-</STRONG>
            <STRONG>uration</STRONG>) capability is set).  The table is initialized
-           first  for eight basic colors (black, red, green, yel-
-           low, blue, magenta, cyan, and white), and  after  that
-           (if  the terminal supports more than eight colors) the
+           first for eight basic colors (black, red, green,  yel-
+           low,  blue,  magenta, cyan, and white), and after that
+           (if the terminal supports more than eight colors)  the
            components are initialized to <STRONG>1000</STRONG>.
 
            components are initialized to <STRONG>1000</STRONG>.
 
-           <STRONG>start_color</STRONG> does not attempt  to  set  the  terminal's
-           color  palette to match its built-in table.  An appli-
-           cation may use <STRONG>init_color</STRONG> to alter the internal  table
+           <STRONG>start_color</STRONG>  does  not  attempt  to set the terminal's
+           color palette to match its built-in table.  An  appli-
+           cation  may use <STRONG>init_color</STRONG> to alter the internal table
            along with the terminal's color.
 
            along with the terminal's color.
 
-       These  limits apply to color values and color pairs.  Val-
-       ues outside these limits are not legal, and may result  in
+       These limits apply to color values and color pairs.   Val-
+       ues  outside these limits are not legal, and may result in
        a runtime error:
 
        <STRONG>o</STRONG>   <STRONG>COLORS</STRONG> corresponds to the terminal database's <STRONG>max_col-</STRONG>
        a runtime error:
 
        <STRONG>o</STRONG>   <STRONG>COLORS</STRONG> corresponds to the terminal database's <STRONG>max_col-</STRONG>
        <STRONG>o</STRONG>   color values are expected to be in the range <STRONG>0</STRONG> to <STRONG>COL-</STRONG>
            <STRONG>ORS-1</STRONG>, inclusive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>).
 
        <STRONG>o</STRONG>   color values are expected to be in the range <STRONG>0</STRONG> to <STRONG>COL-</STRONG>
            <STRONG>ORS-1</STRONG>, inclusive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>).
 
-       <STRONG>o</STRONG>   a special color value <STRONG>-1</STRONG> is used in  certain  extended
-           functions  to  denote  the  <EM>default</EM> <EM>color</EM> (see <STRONG>use_de-</STRONG>
+       <STRONG>o</STRONG>   a  special  color value <STRONG>-1</STRONG> is used in certain extended
+           functions to denote the  <EM>default</EM>  <EM>color</EM>  (see  <STRONG>use_de-</STRONG>
            <STRONG>fault_colors</STRONG>).
 
            <STRONG>fault_colors</STRONG>).
 
-       <STRONG>o</STRONG>   <STRONG>COLOR_PAIRS</STRONG> corresponds  to  the  terminal  database's
-           <STRONG>max_pairs</STRONG>  capability,  which  is  typically  a signed
+       <STRONG>o</STRONG>   <STRONG>COLOR_PAIRS</STRONG>  corresponds  to  the  terminal database's
+           <STRONG>max_pairs</STRONG> capability,  which  is  typically  a  signed
            16-bit integer (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
 
            16-bit integer (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
 
-       <STRONG>o</STRONG>   legal color pair values are in the  range  <STRONG>1</STRONG>  to  <STRONG>COL-</STRONG>
+       <STRONG>o</STRONG>   legal  color  pair  values  are in the range <STRONG>1</STRONG> to <STRONG>COL-</STRONG>
            <STRONG>OR_PAIRS-1</STRONG>, inclusive.
 
        <STRONG>o</STRONG>   color pair <STRONG>0</STRONG> is special; it denotes "no color".
 
            <STRONG>OR_PAIRS-1</STRONG>, inclusive.
 
        <STRONG>o</STRONG>   color pair <STRONG>0</STRONG> is special; it denotes "no color".
 
-           Color  pair  <STRONG>0</STRONG> is assumed to be white on black, but is
+           Color pair <STRONG>0</STRONG> is assumed to be white on black,  but  is
            actually whatever the terminal implements before color
            is initialized.  It cannot be modified by the applica-
            tion.
 
            actually whatever the terminal implements before color
            is initialized.  It cannot be modified by the applica-
            tion.
 
-       The <STRONG>init_pair</STRONG> routine changes the definition of  a  color-
-       pair.   It takes three arguments: the number of the color-
-       pair to be changed, the foreground color number,  and  the
+       The  <STRONG>init_pair</STRONG>  routine changes the definition of a color-
+       pair.  It takes three arguments: the number of the  color-
+       pair  to  be changed, the foreground color number, and the
        background color number.  For portable applications:
 
        background color number.  For portable applications:
 
-       <STRONG>o</STRONG>   The  first  argument must be a legal color pair value.
-           If default colors are  used  (see  <STRONG>use_default_colors</STRONG>)
-           the  upper  limit is adjusted to allow for extra pairs
-           which use a default color in foreground  and/or  back-
+       <STRONG>o</STRONG>   The first argument must be a legal color  pair  value.
+           If  default  colors  are used (see <STRONG>use_default_colors</STRONG>)
+           the upper limit is adjusted to allow for  extra  pairs
+           which  use  a default color in foreground and/or back-
            ground.
 
            ground.
 
-       <STRONG>o</STRONG>   The  second  and  third  arguments must be legal color
+       <STRONG>o</STRONG>   The second and third arguments  must  be  legal  color
            values.
 
            values.
 
-       If the color-pair was previously initialized,  the  screen
-       is  refreshed  and  all occurrences of that color-pair are
+       If  the  color-pair was previously initialized, the screen
+       is refreshed and all occurrences of  that  color-pair  are
        changed to the new definition.
 
        changed to the new definition.
 
-       As an extension, ncurses allows you to set  color  pair  <STRONG>0</STRONG>
-       via  the  <STRONG>assume_default_colors</STRONG> routine, or to specify the
-       use of default colors (color number <STRONG>-1</STRONG>) if you  first  in-
+       As  an  extension,  ncurses allows you to set color pair <STRONG>0</STRONG>
+       via the <STRONG>assume_default_colors</STRONG> routine, or to  specify  the
+       use  of  default colors (color number <STRONG>-1</STRONG>) if you first in-
        voke the <STRONG>use_default_colors</STRONG> routine.
 
        voke the <STRONG>use_default_colors</STRONG> routine.
 
-       The  <STRONG>init_color</STRONG> routine changes the definition of a color.
-       It takes four arguments: the number of  the  color  to  be
-       changed  followed  by three RGB values (for the amounts of
+       The <STRONG>init_color</STRONG> routine changes the definition of a  color.
+       It  takes  four  arguments:  the number of the color to be
+       changed followed by three RGB values (for the  amounts  of
        red, green, and blue components).  The first argument must
        red, green, and blue components).  The first argument must
-       be  a  legal  color  value; default colors are not allowed
-       here.  (See the section <STRONG>Colors</STRONG> for the default  color  in-
+       be a legal color value; default  colors  are  not  allowed
+       here.   (See  the section <STRONG>Colors</STRONG> for the default color in-
        dex.)  Each of the last three arguments must be a value in
        dex.)  Each of the last three arguments must be a value in
-       the range <STRONG>0</STRONG> through <STRONG>1000</STRONG>.  When <STRONG>init_color</STRONG>  is  used,  all
+       the  range  <STRONG>0</STRONG>  through <STRONG>1000</STRONG>.  When <STRONG>init_color</STRONG> is used, all
        occurrences of that color on the screen immediately change
        to the new definition.
 
        occurrences of that color on the screen immediately change
        to the new definition.
 
-       The <STRONG>has_colors</STRONG> routine requires no arguments.  It  returns
-       <STRONG>TRUE</STRONG>  if the terminal can manipulate colors; otherwise, it
+       The  <STRONG>has_colors</STRONG> routine requires no arguments.  It returns
+       <STRONG>TRUE</STRONG> if the terminal can manipulate colors; otherwise,  it
        returns <STRONG>FALSE</STRONG>.  This routine facilitates writing terminal-
        returns <STRONG>FALSE</STRONG>.  This routine facilitates writing terminal-
-       independent  programs.   For example, a programmer can use
-       it to decide whether to use color or some other video  at-
+       independent programs.  For example, a programmer  can  use
+       it  to decide whether to use color or some other video at-
        tribute.
 
        tribute.
 
-       The  <STRONG>can_change_color</STRONG>  routine  requires no arguments.  It
-       returns <STRONG>TRUE</STRONG> if  the  terminal  supports  colors  and  can
-       change  their  definitions; other, it returns <STRONG>FALSE</STRONG>.  This
+       The <STRONG>can_change_color</STRONG> routine requires  no  arguments.   It
+       returns  <STRONG>TRUE</STRONG>  if  the  terminal  supports  colors and can
+       change their definitions; other, it returns  <STRONG>FALSE</STRONG>.   This
        routine facilitates writing terminal-independent programs.
 
        routine facilitates writing terminal-independent programs.
 
-       The <STRONG>color_content</STRONG> routine gives programmers a way to  find
+       The  <STRONG>color_content</STRONG> routine gives programmers a way to find
        the intensity of the red, green, and blue (RGB) components
        in a color.  It requires four arguments: the color number,
        the intensity of the red, green, and blue (RGB) components
        in a color.  It requires four arguments: the color number,
-       and  three addresses of <STRONG>short</STRONG>s for storing the information
-       about the amounts of red, green, and  blue  components  in
+       and three addresses of <STRONG>short</STRONG>s for storing the  information
+       about  the  amounts  of red, green, and blue components in
        the given color.  The first argument must be a legal color
        the given color.  The first argument must be a legal color
-       value, i.e., <STRONG>0</STRONG> through <STRONG>COLORS-1</STRONG>,  inclusive.   The  values
-       that  are  stored  at the addresses pointed to by the last
-       three arguments are in the range <STRONG>0</STRONG> (no component)  through
+       value,  i.e.,  <STRONG>0</STRONG>  through <STRONG>COLORS-1</STRONG>, inclusive.  The values
+       that are stored at the addresses pointed to  by  the  last
+       three  arguments are in the range <STRONG>0</STRONG> (no component) through
        <STRONG>1000</STRONG> (maximum amount of component), inclusive.
 
        <STRONG>1000</STRONG> (maximum amount of component), inclusive.
 
-       The  <STRONG>pair_content</STRONG>  routine  allows programmers to find out
-       what colors a given color-pair consists of.   It  requires
-       three  arguments: the color-pair number, and two addresses
-       of <STRONG>short</STRONG>s for storing the foreground  and  the  background
-       color  numbers.   The first argument must be a legal color
-       value, i.e., in the range <STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>,  inclu-
+       The <STRONG>pair_content</STRONG> routine allows programmers  to  find  out
+       what  colors  a given color-pair consists of.  It requires
+       three arguments: the color-pair number, and two  addresses
+       of  <STRONG>short</STRONG>s  for  storing the foreground and the background
+       color numbers.  The first argument must be a  legal  color
+       value,  i.e., in the range <STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>, inclu-
        sive.  The values that are stored at the addresses pointed
        sive.  The values that are stored at the addresses pointed
-       to by the second and third arguments are in  the  range  <STRONG>0</STRONG>
+       to  by  the  second and third arguments are in the range <STRONG>0</STRONG>
        through <STRONG>COLORS</STRONG>, inclusive.
 
 
 </PRE>
 <H3><a name="h3-Colors">Colors</a></H3><PRE>
        In <STRONG>&lt;curses.h&gt;</STRONG> the following macros are defined.  These are
        through <STRONG>COLORS</STRONG>, inclusive.
 
 
 </PRE>
 <H3><a name="h3-Colors">Colors</a></H3><PRE>
        In <STRONG>&lt;curses.h&gt;</STRONG> the following macros are defined.  These are
-       the default colors.  <STRONG>curses</STRONG> also assumes that  <STRONG>COLOR_BLACK</STRONG>
+       the  default colors.  <STRONG>curses</STRONG> also assumes that <STRONG>COLOR_BLACK</STRONG>
        is the default background color for all terminals.
 
              <STRONG>COLOR_BLACK</STRONG>
        is the default background color for all terminals.
 
              <STRONG>COLOR_BLACK</STRONG>
 
 </PRE>
 <H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
 
 </PRE>
 <H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  routines  <STRONG>can_change_color()</STRONG>  and <STRONG>has_colors()</STRONG> return
+       The routines <STRONG>can_change_color()</STRONG>  and  <STRONG>has_colors()</STRONG>  return
        <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
 
        All other routines return the integer <STRONG>ERR</STRONG> upon failure and
        <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
 
        All other routines return the integer <STRONG>ERR</STRONG> upon failure and
-       an  <STRONG>OK</STRONG>  (SVr4  specifies only "an integer value other than
+       an <STRONG>OK</STRONG> (SVr4 specifies only "an integer  value  other  than
        <STRONG>ERR</STRONG>") upon successful completion.
 
        <STRONG>ERR</STRONG>") upon successful completion.
 
-       X/Open defines no error conditions.   This  implementation
-       will  return  <STRONG>ERR</STRONG>  on attempts to use color values outside
+       X/Open  defines  no error conditions.  This implementation
+       will return <STRONG>ERR</STRONG> on attempts to use  color  values  outside
        the range <STRONG>0</STRONG> to COLORS-1 (except for the default colors ex-
        the range <STRONG>0</STRONG> to COLORS-1 (except for the default colors ex-
-       tension),  or  use color pairs outside the range <STRONG>0</STRONG> to <STRONG>COL-</STRONG>
-       <STRONG>OR_PAIRS-1</STRONG>.  Color values used in <STRONG>init_color</STRONG>  must  be  in
-       the  range <STRONG>0</STRONG> to <STRONG>1000</STRONG>.  An error is returned from all func-
-       tions if the terminal has not been initialized.  An  error
-       is  returned from secondary functions such as <STRONG>init_pair</STRONG> if
+       tension), or use color pairs outside the range <STRONG>0</STRONG>  to  <STRONG>COL-</STRONG>
+       <STRONG>OR_PAIRS-1</STRONG>.   Color  values  used in <STRONG>init_color</STRONG> must be in
+       the range <STRONG>0</STRONG> to <STRONG>1000</STRONG>.  An error is returned from all  func-
+       tions  if the terminal has not been initialized.  An error
+       is returned from secondary functions such as <STRONG>init_pair</STRONG>  if
        <STRONG>start_color</STRONG> was not called.
 
           <STRONG>init_color</STRONG>
        <STRONG>start_color</STRONG> was not called.
 
           <STRONG>init_color</STRONG>
-               returns an error if the terminal does not  support
-               this  feature, e.g., if the <EM>initialize</EM><STRONG>_</STRONG><EM>color</EM> capa-
+               returns  an error if the terminal does not support
+               this feature, e.g., if the <EM>initialize</EM><STRONG>_</STRONG><EM>color</EM>  capa-
                bility is absent from the terminal description.
 
           <STRONG>start_color</STRONG>
                bility is absent from the terminal description.
 
           <STRONG>start_color</STRONG>
-               returns an error if the color table cannot be  al-
+               returns  an error if the color table cannot be al-
                located.
 
 
 </PRE>
 <H2><a name="h2-NOTES">NOTES</a></H2><PRE>
                located.
 
 
 </PRE>
 <H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       In  the  <EM>ncurses</EM> implementation, there is a separate color
+       In the <EM>ncurses</EM> implementation, there is a  separate  color
        activation flag, color palette, color pairs table, and as-
        activation flag, color palette, color pairs table, and as-
-       sociated  COLORS  and  COLOR_PAIRS counts for each screen;
-       the <STRONG>start_color</STRONG> function only affects the current  screen.
+       sociated COLORS and COLOR_PAIRS counts  for  each  screen;
+       the  <STRONG>start_color</STRONG> function only affects the current screen.
        The SVr4/XSI interface is not really designed with this in
        The SVr4/XSI interface is not really designed with this in
-       mind, and historical  implementations  may  use  a  single
+       mind,  and  historical  implementations  may  use a single
        shared color palette.
 
        Note that setting an implicit background color via a color
        shared color palette.
 
        Note that setting an implicit background color via a color
-       pair affects only character cells that a  character  write
-       operation  explicitly  touches.   To change the background
-       color used when parts of a window are blanked  by  erasing
+       pair  affects  only character cells that a character write
+       operation explicitly touches.  To  change  the  background
+       color  used  when parts of a window are blanked by erasing
        or scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
 
        or scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
 
-       Several  caveats  apply  on 386 and 486 machines with VGA-
+       Several caveats apply on 386 and 486  machines  with  VGA-
        compatible graphics:
 
        compatible graphics:
 
-       <STRONG>o</STRONG>   COLOR_YELLOW is actually brown.  To  get  yellow,  use
+       <STRONG>o</STRONG>   COLOR_YELLOW  is  actually  brown.  To get yellow, use
            COLOR_YELLOW combined with the <STRONG>A_BOLD</STRONG> attribute.
 
        <STRONG>o</STRONG>   The A_BLINK attribute should in theory cause the back-
            COLOR_YELLOW combined with the <STRONG>A_BOLD</STRONG> attribute.
 
        <STRONG>o</STRONG>   The A_BLINK attribute should in theory cause the back-
-           ground to go bright.  This often fails  to  work,  and
+           ground  to  go  bright.  This often fails to work, and
            even some cards for which it mostly works (such as the
            even some cards for which it mostly works (such as the
-           Paradise and compatibles) do the wrong thing when  you
-           try  to  set  a  bright "yellow" background (you get a
+           Paradise  and compatibles) do the wrong thing when you
+           try to set a bright "yellow"  background  (you  get  a
            blinking yellow foreground instead).
 
        <STRONG>o</STRONG>   Color RGB values are not settable.
            blinking yellow foreground instead).
 
        <STRONG>o</STRONG>   Color RGB values are not settable.
 
 </PRE>
 <H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
 
 </PRE>
 <H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       This implementation satisfies XSI Curses's  minimum  maxi-
+       This  implementation  satisfies XSI Curses's minimum maxi-
        mums for <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>.
 
        mums for <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>.
 
-       The  <STRONG>init_pair</STRONG>  routine  accepts  negative values of fore-
-       ground  and  background  color  to  support  the   <STRONG>use_de-</STRONG>
-       <STRONG>fault_colors</STRONG>  extension, but only if that routine has been
+       The <STRONG>init_pair</STRONG> routine accepts  negative  values  of  fore-
+       ground   and  background  color  to  support  the  <STRONG>use_de-</STRONG>
+       <STRONG>fault_colors</STRONG> extension, but only if that routine has  been
        first invoked.
 
        first invoked.
 
-       The assumption that <STRONG>COLOR_BLACK</STRONG> is the default  background
-       color  for  all  terminals  can  be modified using the <STRONG>as-</STRONG>
+       The  assumption that <STRONG>COLOR_BLACK</STRONG> is the default background
+       color for all terminals can  be  modified  using  the  <STRONG>as-</STRONG>
        <STRONG>sume_default_colors</STRONG> extension.
 
        <STRONG>sume_default_colors</STRONG> extension.
 
-       This implementation checks the  pointers,  e.g.,  for  the
-       values  returned  by  <STRONG>color_content</STRONG>  and <STRONG>pair_content</STRONG>, and
+       This  implementation  checks  the  pointers, e.g., for the
+       values returned by  <STRONG>color_content</STRONG>  and  <STRONG>pair_content</STRONG>,  and
        will treat those as optional parameters when null.
 
 
        will treat those as optional parameters when null.
 
 
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
 <li><a href="#h3-Overview">Overview</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
 <li><a href="#h3-Overview">Overview</a></li>
+<li><a href="#h3-Color-Rendering">Color Rendering</a></li>
 <li><a href="#h3-Routine-Descriptions">Routine Descriptions</a></li>
 <li><a href="#h3-Colors">Colors</a></li>
 </ul>
 <li><a href="#h3-Routine-Descriptions">Routine Descriptions</a></li>
 <li><a href="#h3-Colors">Colors</a></li>
 </ul>
index 050a7b4d200b4661655fee6bda24ffbdd27d12bb..557222cf35b7368b10273cb7a45c5554b40eb189 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.
 
        <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 5.9 (patch 20150516).
+       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
 
 
 
 
 
 
index 67a9489f0ebcd39b59b659fe8fe14f68db120c21..5cfef8d6ce15453293926df598399489d52dac5b 100644 (file)
@@ -1,7 +1,7 @@
 <!-- 
   * t
   ****************************************************************************
 <!-- 
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2014,2015 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            *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: infocmp.1m,v 1.54 2014/03/29 23:18:29 tom Exp @
+  * @Id: infocmp.1m,v 1.56 2015/05/23 20:50:00 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
             rather than their decimal equivalents.
 
        <STRONG>-i</STRONG>   Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset
             rather than their decimal equivalents.
 
        <STRONG>-i</STRONG>   Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset
-            (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>), strings  in  the  entry.   For  each
-            string,  the code tries to analyze it into actions in
-            terms of the other capabilities in the entry, certain
-            X3.64/ISO  6429/ECMA-48 capabilities, and certain DEC
-            VT-series private modes (the set of  recognized  spe-
-            cial  sequences  has  been  selected for completeness
-            over the existing terminfo  database).   Each  report
-            line  consists  of the capability name, followed by a
-            colon and space, followed by a printable expansion of
-            the  capability  string with sections matching recog-
-            nized actions translated into  {}-bracketed  descrip-
-            tions.   Here  is  a  list  of  the  DEC/ANSI special
-            sequences recognized: i.
+            (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>), strings in the  entry,  as  well  as
+            those  used  for starting/stopping cursor-positioning
+            mode (<STRONG>smcup</STRONG>,  <STRONG>rmcup</STRONG>)  as  well  as  starting/stopping
+            keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
+
+            For  each  string,  the code tries to analyze it into
+            actions in terms of the  other  capabilities  in  the
+            entry,  certain  X3.64/ISO 6429/ECMA-48 capabilities,
+            and certain DEC VT-series private modes (the  set  of
+            recognized  special  sequences  has been selected for
+            completeness over the  existing  terminfo  database).
+            Each  report  line  consists  of the capability name,
+            followed by a colon and space, followed by  a  print-
+            able expansion of the capability string with sections
+            matching recognized actions translated into {}-brack-
+            eted descriptions.
+
+            Here is a list of the DEC/ANSI special sequences rec-
+            ognized:
 
                   Action        Meaning
                   -----------------------------------------
                   RIS           full reset
 
                   Action        Meaning
                   -----------------------------------------
                   RIS           full reset
-
                   SC            save cursor
                   RC            restore cursor
                   LL            home-down
                   SC            save cursor
                   RC            restore cursor
                   LL            home-down
             on  SVr1,  Ultrix,  or  HP/UX that do not support the
             full set of SVR4/XSI Curses  terminfo;  and  variants
             such as AIX that have their own extensions incompati-
             on  SVr1,  Ultrix,  or  HP/UX that do not support the
             full set of SVR4/XSI Curses  terminfo;  and  variants
             such as AIX that have their own extensions incompati-
-            ble with SVr4/XSI.  Available  terminfo  subsets  are
-            "SVr1",  "Ultrix",  "HP",  and "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
-            for details.  You can also choose  the  subset  "BSD"
-            which  selects only capabilities with termcap equiva-
-            lents recognized by 4.4BSD.
+            ble with SVr4/XSI.
+
+            Available  terminfo  subsets  are  "SVr1",  "Ultrix",
+            "HP",  and  "AIX";  see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.  You
+            can also choose the subset "BSD" which  selects  only
+            capabilities  with  termcap equivalents recognized by
+            4.4BSD.
 
        <STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
             The <STRONG>-s</STRONG> option  sorts  the  fields  within  each  type
 
        <STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
             The <STRONG>-s</STRONG> option  sorts  the  fields  within  each  type
 
        http://invisible-island.net/ncurses/tctest.html
 
 
        http://invisible-island.net/ncurses/tctest.html
 
-       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150516).
+       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
 
 
 </PRE>
 
 
 </PRE>
index 63d169a93593e64d0452439ec16bb733dd8c6475..6ebc5ffef1ff40333892fa2511edd87b451a1a92 100644 (file)
@@ -94,7 +94,7 @@
 <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>
 
 <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 5.9 (patch 20150516).
+       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
 
 
 </PRE>
 
 
 </PRE>
index 9cc9a45d200b7fc031fd2db7e3ab86ede5a2ceb8..9b600973c4259835251e8287f42d9240906a79f8 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.
 
        <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 5.9 (patch 20150516).
+       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
 
 
 
 
 
 
index f948e9af17c18d55c09d2f2b93dd5a5516d59366..96f662accc6281344375599fbb635fa9bd6ece1b 100644 (file)
@@ -63,7 +63,7 @@
        sonable optimization.  This implementation is "new curses"
        (ncurses) and is the approved replacement for 4.4BSD clas-
        sic  curses,  which has been discontinued.  This describes
        sonable optimization.  This implementation is "new curses"
        (ncurses) and is the approved replacement for 4.4BSD clas-
        sic  curses,  which has been discontinued.  This describes
-       <STRONG>ncurses</STRONG> version 5.9 (patch 20150516).
+       <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
 
        The <STRONG>ncurses</STRONG> library emulates the curses library of  System
        V  Release  4  UNIX,  and  XPG4 (X/Open Portability Guide)
 
        The <STRONG>ncurses</STRONG> library emulates the curses library of  System
        V  Release  4  UNIX,  and  XPG4 (X/Open Portability Guide)
index d29fdba1cfe77b9fcb8d29b7d4d5597ab65fa60b..19eb7985596e638103c2322d52708b5d7aac1b3b 100644 (file)
 <H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
 <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 5.9 (patch 20150516).
+       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
 
 
 
 
 
 
index fbcf85912bac6dfc9a2408bc28c9c7d9c17dfae8..37e2c44e08d6a416212909950973b85daca509a2 100644 (file)
 <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>,
 
 <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 5.9 (patch 20150516).
+       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
 
 
 </PRE>
 
 
 </PRE>
index 29dedea33263176d65a5eb17f102db5f2d2f13ab..9791abe24840acb8dc3c5185e18eeff1c37acceb 100644 (file)
 <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>.
 
 <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 5.9 (patch 20150516).
+       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
 
 
 
 
 
 
index 29f1ffa2ca0a940c64eafb5314871e1de270cbf0..2e4659046ddf91f287e334ff358c9af8fb566e1d 100644 (file)
@@ -78,7 +78,7 @@
        nals by giving a set of capabilities which they  have,  by
        specifying how to perform screen operations, and by speci-
        fying padding requirements and  initialization  sequences.
        nals by giving a set of capabilities which they  have,  by
        specifying how to perform screen operations, and by speci-
        fying padding requirements and  initialization  sequences.
-       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150516).
+       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
 
        Entries in <EM>terminfo</EM> consist of a sequence of `,' separated
        fields (embedded commas may be escaped with a backslash or
 
        Entries in <EM>terminfo</EM> consist of a sequence of `,' separated
        fields (embedded commas may be escaped with a backslash or
index 248831b9c84815a7f58d7b118a48b630c5b9277f..53ba87614fa4e9bacaf79c98eb58f0d58222bef3 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>.
 
        <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 5.9 (patch 20150516).
+       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
 
 
 </PRE>
 
 
 </PRE>
index b6329c50c81890b9f9d4bc6628dba3c75f4bc16e..760e4d1240d99236e48ea40d6064832ec7d76e5c 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><A HREF="terminfo.5.html">terminfo(5)</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="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><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150516).
+       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
 
 
 
 
 
 
index b63d18f1c2148fa7446456ae428891bef8d53b73..73a143ca245e3469da26ca610e905b38a71b2e74 100644 (file)
 <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="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
 
 <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="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 5.9 (patch 20150516).
+       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
 
 
 
 
 
 
index e55123fbc577a95f0d58c64aea8b75486793e7f1..ec54a3041058ef338a7fd3d2528a835c96dc4fcb 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>
 
        <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 5.9 (patch 20150516).
+       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
 
 
 
 
 
 
index 6be4fad4810c6005c8192407b79917fa9631b5f4..2c99f8f981496c6bb2e3794f9fd1856995bb8f96 100644 (file)
@@ -26,7 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_color.3x,v 1.37 2015/04/04 19:42:47 tom Exp $
+.\" $Id: curs_color.3x,v 1.38 2015/05/23 21:36:35 tom Exp $
 .TH curs_color 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
 .TH curs_color 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -68,7 +68,7 @@
 .br
 .SH DESCRIPTION
 .SS Overview
 .br
 .SH DESCRIPTION
 .SS Overview
-\fBcurses\fR support color attributes on terminals with that capability.
+\fBcurses\fR supports color attributes on terminals with that capability.
 To use these routines \fBstart_color\fR must be called, usually right after
 \fBinitscr\fR.
 Colors are always used in pairs (referred to as color-pairs).
 To use these routines \fBstart_color\fR must be called, usually right after
 \fBinitscr\fR.
 Colors are always used in pairs (referred to as color-pairs).
@@ -89,6 +89,50 @@ programmer to extract the amounts of red, green, and blue components in an
 initialized color.
 The routine \fBpair_content\fR allows a programmer to find
 out how a given color-pair is currently defined.
 initialized color.
 The routine \fBpair_content\fR allows a programmer to find
 out how a given color-pair is currently defined.
+.SS Color Rendering
+The \fBcurses\fP library combines these inputs to produce the
+actual foreground and background colors shown on the screen:
+.bP
+per-character video attributes (e.g., via \fBwaddch\fP),
+.bP
+the window attribute (e.g., by \fBwattrset\fP), and
+.bP
+the background character (e.g., \fBwbkgdset\fP).
+.PP
+Per-character and window attributes are usually set by a parameter containing
+video attributes including a \fBCOLOR_PAIR\fP value.
+Some functions such as \fBwattr_set\fP use a separate parameter which
+is the color pair number.
+.PP
+The background character is a special case: it includes a character value,
+just as if it were passed to \fBwaddch\fP.
+.PP
+The \fBcurses\fP library does the actual work of combining these color
+pairs in an internal function called from \fBwaddch\fP:
+.bP
+If the parameter passed to \fBwaddch\fP is \fIblank\fP,
+and it uses the special color pair 0,
+.RS
+.bP
+\fBcurses\fP next checks the window attribute.
+.bP
+If the window attribute does not use color pair 0,
+\fBcurses\fP uses the color pair from the window attribute.
+.bP
+Otherwise, \fBcurses\fP uses the background character.
+.RE
+.bP
+If the parameter passed to \fBwaddch\fP is \fInot blank\fP,
+or it does not use the special color pair 0,
+\fBcurses\fP prefers the color pair from the parameter,
+if it is nonzero.
+Otherwise, it tries the window attribute next, and finally the
+background character.
+.PP
+Some \fBcurses\fP functions such as \fBwprintw\fP call \fBwaddch\fP.
+Those do not combine its parameter with a color pair.
+Consequently those calls use only the window attribute or
+the background character.
 .SS Routine Descriptions
 The \fBstart_color\fR routine requires no arguments.
 It must be called if the programmer wants to use colors, and before any other
 .SS Routine Descriptions
 The \fBstart_color\fR routine requires no arguments.
 It must be called if the programmer wants to use colors, and before any other
index 26d5961b0cd171334147bc22b73846ff418bcdca..8a3fef28e7c5dc5dfb4e9fa828405e13478313e1 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
 '\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2014,2015 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            *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: infocmp.1m,v 1.54 2014/03/29 23:18:29 tom Exp $
+.\" $Id: infocmp.1m,v 1.56 2015/05/23 20:50:00 tom Exp $
 .TH @INFOCMP@ 1M ""
 .ds n 5
 .de bP
 .TH @INFOCMP@ 1M ""
 .ds n 5
 .de bP
@@ -319,7 +319,11 @@ rather than their decimal equivalents.
 .TP 5
 \fB\-i\fR
 Analyze the initialization (\fBis1\fR, \fBis2\fR, \fBis3\fR), and reset
 .TP 5
 \fB\-i\fR
 Analyze the initialization (\fBis1\fR, \fBis2\fR, \fBis3\fR), and reset
-(\fBrs1\fR, \fBrs2\fR, \fBrs3\fR), strings in the entry.
+(\fBrs1\fR, \fBrs2\fR, \fBrs3\fR), strings in the entry,
+as well as those used for starting/stopping cursor-positioning mode
+(\fBsmcup\fP, \fBrmcup\fP) as well as starting/stopping keymap mode
+(\fBsmkx\fP, \fBrmkx\fP).
+.IP
 For each string, the
 code tries to analyze it into actions in terms of the other capabilities in the
 entry, certain X3.64/ISO 6429/ECMA\-48 capabilities, and certain DEC VT-series
 For each string, the
 code tries to analyze it into actions in terms of the other capabilities in the
 entry, certain X3.64/ISO 6429/ECMA\-48 capabilities, and certain DEC VT-series
@@ -329,9 +333,9 @@ Each report line consists
 of the capability name, followed by a colon and space, followed by a printable
 expansion of the capability string with sections matching recognized actions
 translated into {}-bracketed descriptions.
 of the capability name, followed by a colon and space, followed by a printable
 expansion of the capability string with sections matching recognized actions
 translated into {}-bracketed descriptions.
+.IP
 Here is a list of the DEC/ANSI
 special sequences recognized:
 Here is a list of the DEC/ANSI
 special sequences recognized:
-i.
 .TS
 center tab(/) ;
 l l
 .TS
 center tab(/) ;
 l l
@@ -396,6 +400,7 @@ This option is for use with archaic
 versions of terminfo like those on SVr1, Ultrix, or HP/UX that do not support
 the full set of SVR4/XSI Curses terminfo; and variants such as AIX
 that have their own extensions incompatible with SVr4/XSI.
 versions of terminfo like those on SVr1, Ultrix, or HP/UX that do not support
 the full set of SVR4/XSI Curses terminfo; and variants such as AIX
 that have their own extensions incompatible with SVr4/XSI.
+.IP
 Available terminfo
 subsets are "SVr1", "Ultrix", "HP", and "AIX"; see \fBterminfo\fR(\*n) for
 details.
 Available terminfo
 subsets are "SVr1", "Ultrix", "HP", and "AIX"; see \fBterminfo\fR(\*n) for
 details.
index ce9bdc3be63d7553b24a8d9f7d18f3615d2e86ea..674bc504160c3e6e19e95019e2bcf9e302e59b73 100644 (file)
@@ -6,8 +6,8 @@
 # Report bugs and new terminal descriptions to
 #      bug-ncurses@gnu.org
 #
 # Report bugs and new terminal descriptions to
 #      bug-ncurses@gnu.org
 #
-#      $Revision: 1.536 $
-#      $Date: 2015/05/02 22:39:46 $
+#      $Revision: 1.542 $
+#      $Date: 2015/05/23 18:50:12 $
 #
 # The original header is preserved below for reference.  It is noted that there
 # is a "newer" version which differs in some cosmetic details (but actually
 #
 # The original header is preserved below for reference.  It is noted that there
 # is a "newer" version which differs in some cosmetic details (but actually
@@ -3524,14 +3524,10 @@ putty|PuTTY terminal emulator,
        ind=^J, indn=\E[%p1%dS,
        initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x,
        is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R,
        ind=^J, indn=\E[%p1%dS,
        initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x,
        is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R,
-       kb2=\E[G, kbs=\177, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
-       kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~,
-       kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
-       kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
-       kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~,
-       kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
-       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
-       khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+       kLFT=\EOD, kRIT=\EOC, kb2=\E[G, kbs=\177, kcbt=\E[Z,
+       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+       kdch1=\E[3~, kend=\E[4~, khome=\E[1~, kich1=\E[2~,
+       kind=\EOB, kmous=\E[M, knp=\E[6~, kpp=\E[5~, kri=\EOA,
        kspd=^Z, nel=^M^J, oc=\E]R, op=\E[39;49m, rc=\E8, rev=\E[7m,
        ri=\EM, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l,
        rmcup=\E[2J\E[?47l, rmir=\E[4l, rmpch=\E[10m,
        kspd=^Z, nel=^M^J, oc=\E]R, op=\E[39;49m, rc=\E8, rev=\E[7m,
        ri=\EM, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l,
        rmcup=\E[2J\E[?47l, rmir=\E[4l, rmpch=\E[10m,
@@ -3542,8 +3538,8 @@ putty|PuTTY terminal emulator,
        sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[?47h,
        smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
        sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[?47h,
        smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
-       tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3J, use=vt102+enq,
-       use=xterm+sl,
+       tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3J, use=putty+fnkeys,
+       use=vt102+enq, use=xterm+sl,
 vt100-putty|Reset PuTTY to pure vt100,
        rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p,
        use=vt100,
 vt100-putty|Reset PuTTY to pure vt100,
        rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p,
        use=vt100,
@@ -3554,9 +3550,48 @@ putty-256color|PuTTY 0.58 with xterm 256-colors,
 # One of the keyboard selections is "VT100+".
 # pterm (the X11 port) uses shifted F1-F10 as F11-F20
 putty-vt100|VT100+ keyboard layout,
 # One of the keyboard selections is "VT100+".
 # pterm (the X11 port) uses shifted F1-F10 as F11-F20
 putty-vt100|VT100+ keyboard layout,
+       use=putty+fnkeys+vt100, use=putty,
+
+putty-sco|putty with SCO function keys,
+       use=putty+fnkeys+sco, use=putty,
+
+# PuTTY has more than one section in its Keyboard configuration:
+# a) backspace/delete, which we ignore since that choice largely depends on
+#    whether one matches Unix and BSD or Linux.
+# b) home/end keys, also ignored because the "rxvt" setting sends keys which
+#    are unrelated to rxvt's actual settings.
+# c) function keys and keypad - this is the interesting part.  None of the
+#    selections match any of their respective namesakes, but they are shown
+#    here to help users who expect that the selections do what is implied.
+#
+# This is the default setting for PuTTY
+putty+fnkeys|fn-keys for PuTTY,
+       use=putty+fnkeys+esc,
+
+putty+fnkeys+esc|ESC[n~ fn-keys for PuTTY,
+       kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+       kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+       kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~,
+       kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
+       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+
+putty+fnkeys+linux|Linux fn-keys for PuTTY,
+       kf1=\E[[A, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
+       use=putty+fnkeys+esc,
+
+putty+fnkeys+xterm|Xterm R6 fn-keys for PuTTY,
+       kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+       use=putty+fnkeys+esc,
+
+putty+fnkeys+vt400|VT400 fn-keys for PuTTY,
+       use=putty+fnkeys+esc,
+
+# Shifted F1 is F11.  F13-F20 inherit from the defaults, and the last distinct
+# key is F20.
+putty+fnkeys+vt100|VT100+ fn-keys for PuTTY,
        kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EO[, kf2=\EOQ,
        kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
        kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EO[, kf2=\EOQ,
        kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
-       kf9=\EOX, use=putty,
+       kf9=\EOX, use=putty+fnkeys+esc,
 
 # Unlike xterm-sco, this leaves kmous ambiguous with kf1.
 #
 
 # Unlike xterm-sco, this leaves kmous ambiguous with kf1.
 #
@@ -3566,7 +3601,7 @@ putty-vt100|VT100+ keyboard layout,
 # F25-F36 - control/alt
 # F37-F48 - control/shift
 #
 # F25-F36 - control/alt
 # F37-F48 - control/shift
 #
-putty-sco|putty with SCO function keys,
+putty+fnkeys+sco|SCO fn-keys for PuTTY,
        kbeg=\E[E, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
        kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
        kf12=\E[X, kf13=\E[Y, kf14=\E[Z, kf15=\E[a, kf16=\E[b,
        kbeg=\E[E, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
        kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
        kf12=\E[X, kf13=\E[Y, kf14=\E[Z, kf15=\E[a, kf16=\E[b,
@@ -3578,7 +3613,7 @@ putty-sco|putty with SCO function keys,
        kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\,
        kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{,
        kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
        kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\,
        kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{,
        kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
-       kich1=\E[L, knp=\E[G, kpp=\E[I, use=putty,
+       kich1=\E[L, knp=\E[G, kpp=\E[I,
 
 # This entry is for Tera Term Pro version 2.3, for MS-Windows 95/NT written by
 # T. Teranishi dated Mar 10, 1998.  It is a free software terminal emulator
 
 # This entry is for Tera Term Pro version 2.3, for MS-Windows 95/NT written by
 # T. Teranishi dated Mar 10, 1998.  It is a free software terminal emulator
@@ -5170,7 +5205,7 @@ rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygw
 
 # This variant is supposed to work with rxvt 2.7.7 when compiled with
 # NO_BRIGHTCOLOR defined.  rxvt needs more work...
 
 # This variant is supposed to work with rxvt 2.7.7 when compiled with
 # NO_BRIGHTCOLOR defined.  rxvt needs more work...
-rxvt-16color|xterm with 16 colors like aixterm,
+rxvt-16color|rxvt with 16 colors like aixterm,
        ncv#32, use=ibm+16color, use=rxvt,
 
 #### MRXVT
        ncv#32, use=ibm+16color, use=rxvt,
 
 #### MRXVT
@@ -5953,7 +5988,7 @@ screen-16color-s|GNU Screen with 16 colors and status line,
 screen-16color-bce|GNU Screen with 16 colors and BCE,
        use=ibm+16color, use=screen-bce,
 
 screen-16color-bce|GNU Screen with 16 colors and BCE,
        use=ibm+16color, use=screen-bce,
 
-screen-16color-bce-s|GNU Screen with 16 colors, BCE, and status line,
+screen-16color-bce-s|GNU Screen with 16 colors using BCE and status line,
        bce, use=ibm+16color, use=screen-s,
 
 # ======================================================================
        bce, use=ibm+16color, use=screen-s,
 
 # ======================================================================
@@ -5968,9 +6003,24 @@ screen-256color-s|GNU Screen with 256 colors and status line,
 screen-256color-bce|GNU Screen with 256 colors and BCE,
        bce, use=xterm+256setaf, use=screen-bce,
 
 screen-256color-bce|GNU Screen with 256 colors and BCE,
        bce, use=xterm+256setaf, use=screen-bce,
 
-screen-256color-bce-s|GNU Screen with 256 colors, BCE, and status line,
+screen-256color-bce-s|GNU Screen with 256 colors using BCE and status line,
        bce, use=xterm+256setaf, use=screen-s,
 
        bce, use=xterm+256setaf, use=screen-s,
 
+screen.xterm-256color|GNU Screen with xterm using 256 colors,
+       use=xterm+256setaf, use=screen.xterm,
+
+screen.konsole-256color|GNU Screen with konsole using 256 colors,
+       use=xterm+256setaf, use=screen.konsole,
+
+screen.vte-256color|GNU Screen with vte using 256 colors,
+       use=xterm+256setaf, use=screen.vte,
+
+screen.putty-256color|GNU Screen with putty using 256 colors,
+       use=xterm+256setaf, use=screen.putty,
+
+screen.mlterm-256color|GNU Screen with mlterm using 256 colors,
+       use=xterm+256setaf, use=screen.mlterm,
+
 # ======================================================================
 
 # Read the fine manpage:
 # ======================================================================
 
 # Read the fine manpage:
@@ -6015,6 +6065,8 @@ screen.xterm-xfree86|screen.xterm-new|screen customized for modern xterm,
        invis@, kIC@, kNXT@, kPRV@, meml@, memu@,
        sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;m,
        E3@, use=screen+italics, use=screen+fkeys, use=xterm-new,
        invis@, kIC@, kNXT@, kPRV@, meml@, memu@,
        sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;m,
        E3@, use=screen+italics, use=screen+fkeys, use=xterm-new,
+screen.xterm|screen for modern xterm,
+       use=screen.xterm-new,
 # xterm-r6 does not really support khome/kend unless it is propped up by
 # the translations resource.
 screen.xterm-r6|screen customized for X11R6 xterm,
 # xterm-r6 does not really support khome/kend unless it is propped up by
 # the translations resource.
 screen.xterm-r6|screen customized for X11R6 xterm,
@@ -6047,6 +6099,8 @@ screen.linux|screen in linux console,
        kbs=\177, kcbt@, use=screen+fkeys, use=screen,
 screen.mlterm|screen in mlterm,
        use=screen+fkeys, use=mlterm,
        kbs=\177, kcbt@, use=screen+fkeys, use=screen,
 screen.mlterm|screen in mlterm,
        use=screen+fkeys, use=mlterm,
+screen.putty|screen in putty,
+       use=screen+fkeys, use=putty,
 
 # The default "screen" entry is reasonably portable, but not optimal for the
 # most widely-used terminal emulators.  The "bce" capability is supported in
 
 # The default "screen" entry is reasonably portable, but not optimal for the
 # most widely-used terminal emulators.  The "bce" capability is supported in
@@ -6082,9 +6136,6 @@ screen-bce.konsole|screen optimized for KDE console window,
 screen-bce.linux|screen optimized for linux console,
        bce,
        ech@, use=screen.linux,
 screen-bce.linux|screen optimized for linux console,
        bce,
        ech@, use=screen.linux,
-screen-bce.mlterm|screen optimized for mlterm,
-       bce,
-       ech@, use=screen.mlterm,
 
 screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols,
        cols#132, use=screen,
 
 screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols,
        cols#132, use=screen,
@@ -23620,4 +23671,12 @@ v3220|LANPAR Vision II model 3220/3221/3222,
 #      + add xon, ich1, il1 to ibm3161 (patch by Stephen Powell,
 #        Debian #783806)
 #
 #      + add xon, ich1, il1 to ibm3161 (patch by Stephen Powell,
 #        Debian #783806)
 #
+# 2015-05-17
+#      + remove screen-bce.mlterm, since mlterm does not do "bce" -TD
+#      + add several screen.XXX entries to support the respective variations
+#        for 256 colors -TD
+#
+# 2015-05-23
+#      + add putty+fnkeys* building-block entries -TD
+#
 ######## SHANTIH!  SHANTIH!  SHANTIH!
 ######## SHANTIH!  SHANTIH!  SHANTIH!
index 0b81a5e06de3860b7228524c46a0d20c6928fa33..b0acc7bab8b3a8e82bb477e3831ccb03b5d2c3a0 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2014,2015 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            *
  *                                                                          *
  * 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 <locale.h>
 #endif
 
 #include <locale.h>
 #endif
 
-MODULE_ID("$Id: lib_setup.c,v 1.161 2014/11/01 12:33:16 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.162 2015/05/17 17:15:03 tom Exp $")
 
 /****************************************************************************
  *
 
 /****************************************************************************
  *
@@ -578,6 +578,7 @@ _nc_locale_breaks_acs(TERMINAL * termp)
     int value;
     int result = 0;
 
     int value;
     int result = 0;
 
+    T((T_CALLED("_nc_locale_breaks_acs:%d"), result));
     if (getenv(env_name) != 0) {
        result = _nc_getenv_num(env_name);
     } else if ((value = tigetnum("U8")) >= 0) {
     if (getenv(env_name) != 0) {
        result = _nc_getenv_num(env_name);
     } else if ((value = tigetnum("U8")) >= 0) {
@@ -597,7 +598,7 @@ _nc_locale_breaks_acs(TERMINAL * termp)
            }
        }
     }
            }
        }
     }
-    return result;
+    returnCode(result);
 }
 
 NCURSES_EXPORT(int)
 }
 
 NCURSES_EXPORT(int)
index 7350332a1107e82d479360017460928d5a15a9eb..ed3ff814db0b2c84e688a5a94f3c8f7ebbfc575d 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (5.9+20150516) unstable; urgency=low
+ncurses6 (5.9+20150523) unstable; urgency=low
 
   * latest weekly patch
 
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Wed, 13 May 2015 15:01:14 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 17 May 2015 12:37:10 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 7350332a1107e82d479360017460928d5a15a9eb..ed3ff814db0b2c84e688a5a94f3c8f7ebbfc575d 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (5.9+20150516) unstable; urgency=low
+ncurses6 (5.9+20150523) unstable; urgency=low
 
   * latest weekly patch
 
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Wed, 13 May 2015 15:01:14 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 17 May 2015 12:37:10 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 4cb95557e364f9167ad4decaf79b71cf495dcf72..ef3cb81065025fc56327c4c48c2b4bf693520d6b 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (5.9+20150516) unstable; urgency=low
+ncurses6 (5.9+20150523) unstable; urgency=low
 
   * latest weekly patch
 
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Wed, 13 May 2015 15:01:14 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 17 May 2015 12:37:10 -0400
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index 6f93a9d704b2850676ab3991b227630911d47ed3..d4ddb261796f27cfae826ea7a863785e07c97520 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.104 2015/05/13 19:01:14 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.105 2015/05/17 16:37:10 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "5"\r
 !define VERSION_MINOR "9"\r
 !define VERSION_YYYY  "2015"\r
 !define VERSION_MAJOR "5"\r
 !define VERSION_MINOR "9"\r
 !define VERSION_YYYY  "2015"\r
-!define VERSION_MMDD  "0516"\r
+!define VERSION_MMDD  "0523"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index 27e1edec7f5e362b8f1b804095ffb5d3403df5bc..2131b52894cabae027e0ee5aa35f689d4d38e30f 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 5.9
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 5.9
-Release: 20150516
+Release: 20150523
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 851bbc2ae8bb434a2bd5646be4cd7bea3e627b02..0efc4ca91ef2d0a37201ebf9462225a424f982bd 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 5.9
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 5.9
-Release: 20150516
+Release: 20150523
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 3116fd4bc03dd07efca45c0bd14824787e3dd841..863a7e8c65f072e8b8b4dbeee5c0f7384d7e3fa5 100644 (file)
@@ -42,7 +42,7 @@
 
 #include <dump_entry.h>
 
 
 #include <dump_entry.h>
 
-MODULE_ID("$Id: infocmp.c,v 1.131 2015/04/04 16:22:19 tom Exp $")
+MODULE_ID("$Id: infocmp.c,v 1.132 2015/05/22 22:41:28 tom Exp $")
 
 #define L_CURL "{"
 #define R_CURL "}"
 
 #define L_CURL "{"
 #define R_CURL "}"
@@ -1836,6 +1836,8 @@ main(int argc, char *argv[])
            analyze_string("rs3", reset_3string, &entries[0].tterm);
            analyze_string("smcup", enter_ca_mode, &entries[0].tterm);
            analyze_string("rmcup", exit_ca_mode, &entries[0].tterm);
            analyze_string("rs3", reset_3string, &entries[0].tterm);
            analyze_string("smcup", enter_ca_mode, &entries[0].tterm);
            analyze_string("rmcup", exit_ca_mode, &entries[0].tterm);
+           analyze_string("smkx", keypad_xmit, &entries[0].tterm);
+           analyze_string("rmkx", keypad_local, &entries[0].tterm);
 #undef CUR
        } else {
 
 #undef CUR
        } else {
 
index c1cc1e6ea81191152be063f88fbc86049f57e1cb..786fe558506e917fd3fd9ec655a71b9940f5980e 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998-2012,2014 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2014,2015 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -30,7 +30,7 @@
  *  Author: Thomas E. Dickey                    1997-on                     *
  ****************************************************************************/
 /*
  *  Author: Thomas E. Dickey                    1997-on                     *
  ****************************************************************************/
 /*
- * $Id: progs.priv.h,v 1.40 2014/05/21 17:00:19 tom Exp $
+ * $Id: progs.priv.h,v 1.41 2015/05/23 23:53:55 tom Exp $
  *
  *     progs.priv.h
  *
  *
  *     progs.priv.h
  *
@@ -135,6 +135,12 @@ extern int optind;
 #endif
 #endif
 
 #endif
 #endif
 
+#if defined(__GNUC__) && defined(_FORTIFY_SOURCE)
+#define IGNORE_RC(func) errno = (int) func
+#else
+#define IGNORE_RC(func) (void) func
+#endif /* gcc workarounds */
+
 /* usually in <unistd.h> */
 #ifndef STDOUT_FILENO
 #define STDOUT_FILENO 1
 /* usually in <unistd.h> */
 #ifndef STDOUT_FILENO
 #define STDOUT_FILENO 1
index 5069a5c31e4fc510ef193ddf9597d273e349ea07..f25cbafbc61f6b2d8dadd4c3d40b83e9decc0076 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2014,2015 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -47,7 +47,7 @@
 #endif
 #include <transform.h>
 
 #endif
 #include <transform.h>
 
-MODULE_ID("$Id: tput.c,v 1.50 2014/05/21 16:57:16 tom Exp $")
+MODULE_ID("$Id: tput.c,v 1.51 2015/05/23 23:42:55 tom Exp $")
 
 #define PUTS(s)                fputs(s, stdout)
 #define PUTCHAR(c)     putchar(c)
 
 #define PUTS(s)                fputs(s, stdout)
 #define PUTCHAR(c)     putchar(c)
@@ -120,7 +120,7 @@ tput(int argc, char *argv[])
     check_aliases(name);
     if (is_reset || is_init) {
        if (init_prog != 0) {
     check_aliases(name);
     if (is_reset || is_init) {
        if (init_prog != 0) {
-           system(init_prog);
+           IGNORE_RC(system(init_prog));
        }
        FLUSH;
 
        }
        FLUSH;
 
index e6aa8fa6e6b6152e4046a7aab62bc5d9676d2444..59a88c457402cc0a4ab43325e750246a0634ee56 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2014,2015 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            *
  *                                                                          *
  * 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).
 
    Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
            Thomas E. Dickey (beginning revision 1.27 in 1996).
 
-$Id: ncurses.c,v 1.417 2014/10/10 09:09:41 tom Exp $
+$Id: ncurses.c,v 1.420 2015/05/23 23:41:25 tom Exp $
 
 ***************************************************************************/
 
 
 ***************************************************************************/
 
@@ -5143,10 +5143,15 @@ panner_v_cleanup(int from_y, int from_x, int to_y)
 }
 
 static void
 }
 
 static void
-fill_pad(WINDOW *panpad, bool pan_lines)
+fill_pad(WINDOW *panpad, bool pan_lines, bool colored)
 {
     int y, x;
     unsigned gridcount = 0;
 {
     int y, x;
     unsigned gridcount = 0;
+    chtype fill = 0;
+#ifdef A_COLOR
+    if (colored)
+       fill = (chtype) COLOR_PAIR(1);
+#endif
 
     wmove(panpad, 0, 0);
     for (y = 0; y < getmaxy(panpad); y++) {
 
     wmove(panpad, 0, 0);
     for (y = 0; y < getmaxy(panpad); y++) {
@@ -5160,7 +5165,7 @@ fill_pad(WINDOW *panpad, bool pan_lines)
                    waddch(panpad, pan_lines ? ACS_LTEE : '+');
                else
                    waddch(panpad, (chtype) ((pan_lines ? 'a' : 'A') +
                    waddch(panpad, pan_lines ? ACS_LTEE : '+');
                else
                    waddch(panpad, (chtype) ((pan_lines ? 'a' : 'A') +
-                                            (int) (gridcount++ % 26)));
+                                            (int) (gridcount++ % 26)) | fill);
            } else if (y % GRIDSIZE == 0)
                waddch(panpad, pan_lines ? ACS_HLINE : '-');
            else if (x % GRIDSIZE == 0)
            } else if (y % GRIDSIZE == 0)
                waddch(panpad, pan_lines ? ACS_HLINE : '-');
            else if (x % GRIDSIZE == 0)
@@ -5174,7 +5179,8 @@ fill_pad(WINDOW *panpad, bool pan_lines)
 static void
 panner(WINDOW *pad,
        int top_x, int top_y, int porty, int portx,
 static void
 panner(WINDOW *pad,
        int top_x, int top_y, int porty, int portx,
-       int (*pgetc) (WINDOW *))
+       int (*pgetc) (WINDOW *),
+       bool colored)
 {
 #if HAVE_GETTIMEOFDAY
     struct timeval before, after;
 {
 #if HAVE_GETTIMEOFDAY
     struct timeval before, after;
@@ -5221,7 +5227,7 @@ panner(WINDOW *pad,
            break;
        case 'a':
            pan_lines = !pan_lines;
            break;
        case 'a':
            pan_lines = !pan_lines;
-           fill_pad(pad, pan_lines);
+           fill_pad(pad, pan_lines, colored);
            pending_pan = FALSE;
            break;
 
            pending_pan = FALSE;
            break;
 
@@ -5508,7 +5514,7 @@ padgetch(WINDOW *win)
 #define PAD_WIDE 200
 
 static void
 #define PAD_WIDE 200
 
 static void
-demo_pad(void)
+demo_pad(bool colored)
 /* Demonstrate pads. */
 {
     WINDOW *panpad = newpad(PAD_HIGH, PAD_WIDE);
 /* Demonstrate pads. */
 {
     WINDOW *panpad = newpad(PAD_HIGH, PAD_WIDE);
@@ -5518,7 +5524,14 @@ demo_pad(void)
        return;
     }
 
        return;
     }
 
-    fill_pad(panpad, FALSE);
+#ifdef A_COLOR
+    if (colored && use_colors) {
+       init_pair(1, COLOR_BLACK, COLOR_GREEN);
+       init_pair(2, COLOR_CYAN, COLOR_BLUE);
+       wbkgd(panpad, (chtype) (COLOR_PAIR(2) | ' '));
+    }
+#endif
+    fill_pad(panpad, FALSE, colored);
 
     panner_legend(LINES - 4);
     panner_legend(LINES - 3);
 
     panner_legend(LINES - 4);
     panner_legend(LINES - 3);
@@ -5531,7 +5544,7 @@ demo_pad(void)
      * We'll still be able to widen it during a test, since that's required
      * for testing boundaries.
      */
      * We'll still be able to widen it during a test, since that's required
      * for testing boundaries.
      */
-    panner(panpad, 2, 2, LINES - 5, COLS - 15, padgetch);
+    panner(panpad, 2, 2, LINES - 5, COLS - 15, padgetch, colored);
 
     delwin(panpad);
     endwin();
 
     delwin(panpad);
     endwin();
@@ -6795,7 +6808,11 @@ do_single_test(const char c)
 #endif
 
     case 'p':
 #endif
 
     case 'p':
-       demo_pad();
+       demo_pad(FALSE);
+       break;
+
+    case 'P':
+       demo_pad(TRUE);
        break;
 
 #if USE_LIBFORM
        break;
 
 #if USE_LIBFORM
@@ -6951,6 +6968,7 @@ main_menu(bool top)
 #endif
 #endif
        (void) puts("p = exercise pad features");
 #endif
 #endif
        (void) puts("p = exercise pad features");
+       (void) puts("P = exercise pad features, using color");
        (void) puts("q = quit");
 #if USE_LIBFORM
        (void) puts("r = exercise forms code");
        (void) puts("q = quit");
 #if USE_LIBFORM
        (void) puts("r = exercise forms code");