From aabb3a65ee5d88949abe529b5131adedb9cfab84 Mon Sep 17 00:00:00 2001 From: "Thomas E. Dickey" Date: Sun, 24 May 2015 00:58:47 +0000 Subject: [PATCH] ncurses 5.9 - patch 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. --- NEWS | 12 +- VERSION | 2 +- dist.mk | 4 +- doc/html/man/adacurses-config.1.html | 158 ++++++++++++++++++ doc/html/man/captoinfo.1m.html | 2 +- doc/html/man/clear.1.html | 2 +- doc/html/man/curs_color.3x.html | 241 ++++++++++++++++----------- doc/html/man/form.3x.html | 2 +- doc/html/man/infocmp.1m.html | 51 +++--- doc/html/man/infotocap.1m.html | 2 +- doc/html/man/menu.3x.html | 2 +- doc/html/man/ncurses.3x.html | 2 +- doc/html/man/ncurses5-config.1.html | 2 +- doc/html/man/panel.3x.html | 2 +- doc/html/man/tabs.1.html | 2 +- doc/html/man/terminfo.5.html | 2 +- doc/html/man/tic.1m.html | 2 +- doc/html/man/toe.1m.html | 2 +- doc/html/man/tput.1.html | 2 +- doc/html/man/tset.1.html | 2 +- man/curs_color.3x | 48 +++++- man/infocmp.1m | 13 +- misc/terminfo.src | 101 ++++++++--- ncurses/tinfo/lib_setup.c | 7 +- package/debian-mingw/changelog | 4 +- package/debian-mingw64/changelog | 4 +- package/debian/changelog | 4 +- package/mingw-ncurses.nsi | 4 +- package/mingw-ncurses.spec | 2 +- package/ncurses.spec | 2 +- progs/infocmp.c | 4 +- progs/progs.priv.h | 10 +- progs/tput.c | 6 +- test/ncurses.c | 38 +++-- 34 files changed, 550 insertions(+), 193 deletions(-) create mode 100644 doc/html/man/adacurses-config.1.html diff --git a/NEWS b/NEWS index e8162e9c..5b7594b4 100644 --- a/NEWS +++ b/NEWS @@ -25,7 +25,7 @@ -- 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 @@ -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. +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). diff --git a/VERSION b/VERSION index b372003c..e1065ae6 100644 --- 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 7849e134..dc31823e 100644 --- a/dist.mk +++ b/dist.mk @@ -25,7 +25,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: dist.mk,v 1.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 @@ -37,7 +37,7 @@ SHELL = /bin/sh # 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) diff --git a/doc/html/man/adacurses-config.1.html b/doc/html/man/adacurses-config.1.html new file mode 100644 index 00000000..213771c1 --- /dev/null +++ b/doc/html/man/adacurses-config.1.html @@ -0,0 +1,158 @@ + + + + + + +ADACURSES 1 User Commands + + + + +

ADACURSES 1 User Commands

+
+
+ADACURSES(1)                 User Commands                 ADACURSES(1)
+
+
+
+
+
+

NAME

+       adacurses-config - helper script for AdaCurses libraries
+
+
+
+

SYNOPSIS

+       adacurses-config [options]
+
+
+
+

DESCRIPTION

+       This  is  a  shell  script which simplifies configuring an
+       application  to  use  the  AdaCurses  library  binding  to
+       ncurses.
+
+
+
+

OPTIONS

+       --cflags
+              echos  the gnat (Ada compiler) flags needed to com-
+              pile with AdaCurses.
+
+       --libs echos  the  gnat  libraries  needed  to  link  with
+              AdaCurses.
+
+       --version
+              echos  the release+patchdate version of the ncurses
+              libraries used to configure and build AdaCurses.
+
+       --help prints a  list  of  the  adacurses-config  script's
+              options.
+
+       If  no options are given, adacurses-config prints the com-
+       bination of --cflags and --libs that gnatmake expects (see
+       example).
+
+
+
+

EXAMPLE

+       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 => Lines / 2, Column => (Columns - 12) / 2);
+                 Add (Str => "Hello World!");
+
+                 while not done loop
+
+                    c := Get_Keystroke (Standard_Window);
+                    case c is
+                    when Character'Pos ('q') => done := True;
+                    when others => 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.
+
+
+
+

SEE ALSO

+       curses(3x)
+
+       This describes ncurses version 5.9 (patch 20150215).
+
+
+
+                                                           ADACURSES(1)
+
+ + + diff --git a/doc/html/man/captoinfo.1m.html b/doc/html/man/captoinfo.1m.html index b44930ca..c727c629 100644 --- a/doc/html/man/captoinfo.1m.html +++ b/doc/html/man/captoinfo.1m.html @@ -205,7 +205,7 @@

SEE ALSO

        infocmp(1m), curses(3x), terminfo(5)
 
-       This describes ncurses version 5.9 (patch 20150516).
+       This describes ncurses version 5.9 (patch 20150523).
 
 
 
diff --git a/doc/html/man/clear.1.html b/doc/html/man/clear.1.html index 4f5f5c2a..3fe7953c 100644 --- a/doc/html/man/clear.1.html +++ b/doc/html/man/clear.1.html @@ -71,7 +71,7 @@

SEE ALSO

        tput(1), terminfo(5)
 
-       This describes ncurses version 5.9 (patch 20150516).
+       This describes ncurses version 5.9 (patch 20150523).
 
 
 
diff --git a/doc/html/man/curs_color.3x.html b/doc/html/man/curs_color.3x.html
index 5ff2f5f9..1ec29859 100644
--- a/doc/html/man/curs_color.3x.html
+++ b/doc/html/man/curs_color.3x.html
@@ -26,7 +26,7 @@
   * 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 @
 -->
 
 
@@ -71,8 +71,8 @@
 
 

Overview

-       curses support color attributes on terminals with that ca-
-       pability.   To  use  these  routines  start_color  must be
+       curses supports color attributes on  terminals  with  that
+       capability.   To  use  these  routines start_color must be
        called, usually right after initscr.   Colors  are  always
        used  in pairs (referred to as color-pairs).  A color-pair
        consists of a foreground  color  (for  characters)  and  a
@@ -94,26 +94,72 @@
        how a given color-pair is currently defined.
 
 
+
+

Color Rendering

+       The curses library combines these inputs  to  produce  the
+       actual  foreground  and  background  colors  shown  on the
+       screen:
+
+       o   per-character video attributes (e.g., via waddch),
+
+       o   the window attribute (e.g., by wattrset), and
+
+       o   the background character (e.g., wbkgdset).
+
+       Per-character and window attributes are usually set  by  a
+       parameter  containing  video  attributes  including a COL-
+       OR_PAIR value.  Some functions such  as  wattr_set  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 waddch.
+
+       The curses library does the actual work of combining these
+       color pairs in an internal function called from waddch:
+
+       o   If the parameter passed to waddch is blank, and it us-
+           es the special color pair 0,
+
+           o   curses next checks the window attribute.
+
+           o   If the window attribute does not use color pair 0,
+               curses  uses  the  color  pair from the window at-
+               tribute.
+
+           o   Otherwise, curses uses the background character.
+
+       o   If the parameter passed to waddch is not blank, or  it
+           does  not use the special color pair 0, curses 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 curses functions such as wprintw call waddch.   Those
+       do  not  combine  its parameter with a color pair.  Conse-
+       quently those calls use only the window attribute  or  the
+       background character.
+
+
 

Routine Descriptions

        The start_color 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 initscr.
+       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  initscr.
        start_color does this:
 
-       o   It initializes two global variables, COLORS  and  COL-
-           OR_PAIRS  (respectively defining the maximum number of
+       o   It  initializes  two global variables, COLORS and COL-
+           OR_PAIRS (respectively defining the maximum number  of
            colors and color-pairs the terminal can support).
 
        o   It initializes the special color pair 0 to the default
-           foreground  and  background  colors.   No  other color
+           foreground and  background  colors.   No  other  color
            pairs are initialized.
 
-       o   It restores the colors on the terminal to  the  values
+       o   It  restores  the colors on the terminal to the values
            they had when the terminal was just turned on.
 
-       o   If  the terminal supports the initc (initialize_color)
+       o   If the terminal supports the initc  (initialize_color)
            capability, start_color initializes its internal table
            representing the red, green and blue components of the
            color palette.
@@ -121,18 +167,18 @@
            The components depend on whether the terminal uses CGA
            (aka "ANSI") or HLS (i.e., the hls (hue_lightness_sat-
            uration) 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 1000.
 
-           start_color does not attempt  to  set  the  terminal's
-           color  palette to match its built-in table.  An appli-
-           cation may use init_color to alter the internal  table
+           start_color  does  not  attempt  to set the terminal's
+           color palette to match its built-in table.  An  appli-
+           cation  may use init_color to alter the internal table
            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:
 
        o   COLORS corresponds to the terminal database's max_col-
@@ -142,96 +188,96 @@
        o   color values are expected to be in the range 0 to COL-
            ORS-1, inclusive (including 0 and COLORS-1).
 
-       o   a special color value -1 is used in  certain  extended
-           functions  to  denote  the  default color (see use_de-
+       o   a  special  color value -1 is used in certain extended
+           functions to denote the  default  color  (see  use_de-
            fault_colors).
 
-       o   COLOR_PAIRS corresponds  to  the  terminal  database's
-           max_pairs  capability,  which  is  typically  a signed
+       o   COLOR_PAIRS  corresponds  to  the  terminal database's
+           max_pairs capability,  which  is  typically  a  signed
            16-bit integer (see terminfo(5)).
 
-       o   legal color pair values are in the  range  1  to  COL-
+       o   legal  color  pair  values  are in the range 1 to COL-
            OR_PAIRS-1, inclusive.
 
        o   color pair 0 is special; it denotes "no color".
 
-           Color  pair  0 is assumed to be white on black, but is
+           Color pair 0 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.
 
-       The init_pair 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  init_pair  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:
 
-       o   The  first  argument must be a legal color pair value.
-           If default colors are  used  (see  use_default_colors)
-           the  upper  limit is adjusted to allow for extra pairs
-           which use a default color in foreground  and/or  back-
+       o   The first argument must be a legal color  pair  value.
+           If  default  colors  are used (see use_default_colors)
+           the upper limit is adjusted to allow for  extra  pairs
+           which  use  a default color in foreground and/or back-
            ground.
 
-       o   The  second  and  third  arguments must be legal color
+       o   The second and third arguments  must  be  legal  color
            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.
 
-       As an extension, ncurses allows you to set  color  pair  0
-       via  the  assume_default_colors routine, or to specify the
-       use of default colors (color number -1) if you  first  in-
+       As  an  extension,  ncurses allows you to set color pair 0
+       via the assume_default_colors routine, or to  specify  the
+       use  of  default colors (color number -1) if you first in-
        voke the use_default_colors routine.
 
-       The  init_color 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 init_color 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
-       be  a  legal  color  value; default colors are not allowed
-       here.  (See the section Colors for the default  color  in-
+       be a legal color value; default  colors  are  not  allowed
+       here.   (See  the section Colors for the default color in-
        dex.)  Each of the last three arguments must be a value in
-       the range 0 through 1000.  When init_color  is  used,  all
+       the  range  0  through 1000.  When init_color is used, all
        occurrences of that color on the screen immediately change
        to the new definition.
 
-       The has_colors routine requires no arguments.  It  returns
-       TRUE  if the terminal can manipulate colors; otherwise, it
+       The  has_colors routine requires no arguments.  It returns
+       TRUE if the terminal can manipulate colors; otherwise,  it
        returns FALSE.  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.
 
-       The  can_change_color  routine  requires no arguments.  It
-       returns TRUE if  the  terminal  supports  colors  and  can
-       change  their  definitions; other, it returns FALSE.  This
+       The can_change_color routine requires  no  arguments.   It
+       returns  TRUE  if  the  terminal  supports  colors and can
+       change their definitions; other, it returns  FALSE.   This
        routine facilitates writing terminal-independent programs.
 
-       The color_content routine gives programmers a way to  find
+       The  color_content 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,
-       and  three addresses of shorts for storing the information
-       about the amounts of red, green, and  blue  components  in
+       and three addresses of shorts 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
-       value, i.e., 0 through COLORS-1,  inclusive.   The  values
-       that  are  stored  at the addresses pointed to by the last
-       three arguments are in the range 0 (no component)  through
+       value,  i.e.,  0  through COLORS-1, inclusive.  The values
+       that are stored at the addresses pointed to  by  the  last
+       three  arguments are in the range 0 (no component) through
        1000 (maximum amount of component), inclusive.
 
-       The  pair_content  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 shorts for storing the foreground  and  the  background
-       color  numbers.   The first argument must be a legal color
-       value, i.e., in the range 1 through COLOR_PAIRS-1,  inclu-
+       The pair_content 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  shorts  for  storing the foreground and the background
+       color numbers.  The first argument must be a  legal  color
+       value,  i.e., in the range 1 through COLOR_PAIRS-1, inclu-
        sive.  The values that are stored at the addresses pointed
-       to by the second and third arguments are in  the  range  0
+       to  by  the  second and third arguments are in the range 0
        through COLORS, inclusive.
 
 
 

Colors

        In <curses.h> the following macros are defined.  These are
-       the default colors.  curses also assumes that  COLOR_BLACK
+       the  default colors.  curses also assumes that COLOR_BLACK
        is the default background color for all terminals.
 
              COLOR_BLACK
@@ -246,60 +292,60 @@
 
 

RETURN VALUE

-       The  routines  can_change_color()  and has_colors() return
+       The routines can_change_color()  and  has_colors()  return
        TRUE or FALSE.
 
        All other routines return the integer ERR upon failure and
-       an  OK  (SVr4  specifies only "an integer value other than
+       an OK (SVr4 specifies only "an integer  value  other  than
        ERR") upon successful completion.
 
-       X/Open defines no error conditions.   This  implementation
-       will  return  ERR  on attempts to use color values outside
+       X/Open  defines  no error conditions.  This implementation
+       will return ERR on attempts to use  color  values  outside
        the range 0 to COLORS-1 (except for the default colors ex-
-       tension),  or  use color pairs outside the range 0 to COL-
-       OR_PAIRS-1.  Color values used in init_color  must  be  in
-       the  range 0 to 1000.  An error is returned from all func-
-       tions if the terminal has not been initialized.  An  error
-       is  returned from secondary functions such as init_pair if
+       tension), or use color pairs outside the range 0  to  COL-
+       OR_PAIRS-1.   Color  values  used in init_color must be in
+       the range 0 to 1000.  An error is returned from all  func-
+       tions  if the terminal has not been initialized.  An error
+       is returned from secondary functions such as init_pair  if
        start_color was not called.
 
           init_color
-               returns an error if the terminal does not  support
-               this  feature, e.g., if the initialize_color capa-
+               returns  an error if the terminal does not support
+               this feature, e.g., if the initialize_color  capa-
                bility is absent from the terminal description.
 
           start_color
-               returns an error if the color table cannot be  al-
+               returns  an error if the color table cannot be al-
                located.
 
 
 

NOTES

-       In  the  ncurses implementation, there is a separate color
+       In the ncurses implementation, there is a  separate  color
        activation flag, color palette, color pairs table, and as-
-       sociated  COLORS  and  COLOR_PAIRS counts for each screen;
-       the start_color function only affects the current  screen.
+       sociated COLORS and COLOR_PAIRS counts  for  each  screen;
+       the  start_color function only affects the current screen.
        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
-       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 curs_bkgd(3x).
 
-       Several  caveats  apply  on 386 and 486 machines with VGA-
+       Several caveats apply on 386 and 486  machines  with  VGA-
        compatible graphics:
 
-       o   COLOR_YELLOW is actually brown.  To  get  yellow,  use
+       o   COLOR_YELLOW  is  actually  brown.  To get yellow, use
            COLOR_YELLOW combined with the A_BOLD attribute.
 
        o   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
-           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).
 
        o   Color RGB values are not settable.
@@ -307,20 +353,20 @@
 
 

PORTABILITY

-       This implementation satisfies XSI Curses's  minimum  maxi-
+       This  implementation  satisfies XSI Curses's minimum maxi-
        mums for COLORS and COLOR_PAIRS.
 
-       The  init_pair  routine  accepts  negative values of fore-
-       ground  and  background  color  to  support  the   use_de-
-       fault_colors  extension, but only if that routine has been
+       The init_pair routine accepts  negative  values  of  fore-
+       ground   and  background  color  to  support  the  use_de-
+       fault_colors extension, but only if that routine has  been
        first invoked.
 
-       The assumption that COLOR_BLACK is the default  background
-       color  for  all  terminals  can  be modified using the as-
+       The  assumption that COLOR_BLACK is the default background
+       color for all terminals can  be  modified  using  the  as-
        sume_default_colors extension.
 
-       This implementation checks the  pointers,  e.g.,  for  the
-       values  returned  by  color_content  and pair_content, and
+       This  implementation  checks  the  pointers, e.g., for the
+       values returned by  color_content  and  pair_content,  and
        will treat those as optional parameters when null.
 
 
@@ -340,6 +386,7 @@
 
  • DESCRIPTION diff --git a/doc/html/man/form.3x.html b/doc/html/man/form.3x.html index 050a7b4d..557222cf 100644 --- a/doc/html/man/form.3x.html +++ b/doc/html/man/form.3x.html @@ -244,7 +244,7 @@ curses(3x) and related pages whose names begin "form_" for detailed descriptions of the entry points. - This describes ncurses version 5.9 (patch 20150516). + This describes ncurses version 5.9 (patch 20150523). diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html index 67a9489f..5cfef8d6 100644 --- a/doc/html/man/infocmp.1m.html +++ b/doc/html/man/infocmp.1m.html @@ -1,7 +1,7 @@ @@ -305,24 +305,29 @@ rather than their decimal equivalents. -i Analyze the initialization (is1, is2, is3), and reset - (rs1, rs2, rs3), 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. + (rs1, rs2, rs3), strings in the entry, as well as + those used for starting/stopping cursor-positioning + mode (smcup, rmcup) as well as starting/stopping + keymap mode (smkx, rmkx). + + 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 - SC save cursor RC restore cursor LL home-down @@ -379,11 +384,13 @@ 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 terminfo(5) - 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 terminfo(5) for details. You + can also choose the subset "BSD" which selects only + capabilities with termcap equivalents recognized by + 4.4BSD. -s [d|i|l|c] The -s option sorts the fields within each type @@ -465,7 +472,7 @@ http://invisible-island.net/ncurses/tctest.html - This describes ncurses version 5.9 (patch 20150516). + This describes ncurses version 5.9 (patch 20150523).
  • diff --git a/doc/html/man/infotocap.1m.html b/doc/html/man/infotocap.1m.html index 63d169a9..6ebc5ffe 100644 --- a/doc/html/man/infotocap.1m.html +++ b/doc/html/man/infotocap.1m.html @@ -94,7 +94,7 @@

    SEE ALSO

            curses(3x), tic(1m), infocmp(1m), terminfo(5)
     
    -       This describes ncurses version 5.9 (patch 20150516).
    +       This describes ncurses version 5.9 (patch 20150523).
     
     
     
    diff --git a/doc/html/man/menu.3x.html b/doc/html/man/menu.3x.html index 9cc9a45d..9b600973 100644 --- a/doc/html/man/menu.3x.html +++ b/doc/html/man/menu.3x.html @@ -227,7 +227,7 @@ curses(3x) and related pages whose names begin "menu_" for detailed descriptions of the entry points. - This describes ncurses version 5.9 (patch 20150516). + This describes ncurses version 5.9 (patch 20150523). diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html index f948e9af..96f662ac 100644 --- a/doc/html/man/ncurses.3x.html +++ b/doc/html/man/ncurses.3x.html @@ -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 - ncurses version 5.9 (patch 20150516). + ncurses version 5.9 (patch 20150523). The ncurses library emulates the curses library of System V Release 4 UNIX, and XPG4 (X/Open Portability Guide) diff --git a/doc/html/man/ncurses5-config.1.html b/doc/html/man/ncurses5-config.1.html index d29fdba1..19eb7985 100644 --- a/doc/html/man/ncurses5-config.1.html +++ b/doc/html/man/ncurses5-config.1.html @@ -119,7 +119,7 @@

    SEE ALSO

            curses(3x)
     
    -       This describes ncurses version 5.9 (patch 20150516).
    +       This describes ncurses version 5.9 (patch 20150523).
     
     
     
    diff --git a/doc/html/man/panel.3x.html b/doc/html/man/panel.3x.html
    index fbcf8591..37e2c44e 100644
    --- a/doc/html/man/panel.3x.html
    +++ b/doc/html/man/panel.3x.html
    @@ -218,7 +218,7 @@
     

    SEE ALSO

            curses(3x), curs_variables(3x),
     
    -       This describes ncurses version 5.9 (patch 20150516).
    +       This describes ncurses version 5.9 (patch 20150523).
     
     
     
    diff --git a/doc/html/man/tabs.1.html b/doc/html/man/tabs.1.html index 29dedea3..9791abe2 100644 --- a/doc/html/man/tabs.1.html +++ b/doc/html/man/tabs.1.html @@ -168,7 +168,7 @@

    SEE ALSO

            tset(1), infocmp(1m), curses(3x), terminfo(5).
     
    -       This describes ncurses version 5.9 (patch 20150516).
    +       This describes ncurses version 5.9 (patch 20150523).
     
     
     
    diff --git a/doc/html/man/terminfo.5.html b/doc/html/man/terminfo.5.html
    index 29f1ffa2..2e465904 100644
    --- a/doc/html/man/terminfo.5.html
    +++ b/doc/html/man/terminfo.5.html
    @@ -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.
    -       This describes ncurses version 5.9 (patch 20150516).
    +       This describes ncurses version 5.9 (patch 20150523).
     
            Entries in terminfo consist of a sequence of `,' separated
            fields (embedded commas may be escaped with a backslash or
    diff --git a/doc/html/man/tic.1m.html b/doc/html/man/tic.1m.html
    index 248831b9..53ba8761 100644
    --- a/doc/html/man/tic.1m.html
    +++ b/doc/html/man/tic.1m.html
    @@ -395,7 +395,7 @@
            infocmp(1m),   captoinfo(1m),   infotocap(1m),    toe(1m),
            curses(3x), term(5).  terminfo(5).
     
    -       This describes ncurses version 5.9 (patch 20150516).
    +       This describes ncurses version 5.9 (patch 20150523).
     
     
     
    diff --git a/doc/html/man/toe.1m.html b/doc/html/man/toe.1m.html index b6329c50..760e4d12 100644 --- a/doc/html/man/toe.1m.html +++ b/doc/html/man/toe.1m.html @@ -119,7 +119,7 @@ tic(1m), infocmp(1m), captoinfo(1m), infotocap(1m), curses(3x), terminfo(5). - This describes ncurses version 5.9 (patch 20150516). + This describes ncurses version 5.9 (patch 20150523). diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html index b63d18f1..73a143ca 100644 --- a/doc/html/man/tput.1.html +++ b/doc/html/man/tput.1.html @@ -338,7 +338,7 @@

    SEE ALSO

            clear(1), stty(1), tabs(1), terminfo(5), curs_termcap(3x).
     
    -       This describes ncurses version 5.9 (patch 20150516).
    +       This describes ncurses version 5.9 (patch 20150523).
     
     
     
    diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html
    index e55123fb..ec54a304 100644
    --- a/doc/html/man/tset.1.html
    +++ b/doc/html/man/tset.1.html
    @@ -319,7 +319,7 @@
            csh(1),   sh(1),   stty(1),   curs_terminfo(3x),   tty(4),
            terminfo(5), ttys(5), environ(7)
     
    -       This describes ncurses version 5.9 (patch 20150516).
    +       This describes ncurses version 5.9 (patch 20150523).
     
     
     
    diff --git a/man/curs_color.3x b/man/curs_color.3x
    index 6be4fad4..2c99f8f9 100644
    --- a/man/curs_color.3x
    +++ b/man/curs_color.3x
    @@ -26,7 +26,7 @@
     .\" 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 `` ``
    @@ -68,7 +68,7 @@
     .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).
    @@ -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.
    +.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
    diff --git a/man/infocmp.1m b/man/infocmp.1m
    index 26d5961b..8a3fef28 100644
    --- a/man/infocmp.1m
    +++ b/man/infocmp.1m
    @@ -1,6 +1,6 @@
     '\" 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            *
    @@ -27,7 +27,7 @@
     .\" 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
    @@ -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
    -(\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
    @@ -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.
    +.IP
     Here is a list of the DEC/ANSI
     special sequences recognized:
    -i.
     .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.
    +.IP
     Available terminfo
     subsets are "SVr1", "Ultrix", "HP", and "AIX"; see \fBterminfo\fR(\*n) for
     details.
    diff --git a/misc/terminfo.src b/misc/terminfo.src
    index ce9bdc3b..674bc504 100644
    --- a/misc/terminfo.src
    +++ b/misc/terminfo.src
    @@ -6,8 +6,8 @@
     # 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
    @@ -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,
    -	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,
    @@ -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,
    -	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,
    @@ -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,
    +	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,
    -	kf9=\EOX, use=putty,
    +	kf9=\EOX, use=putty+fnkeys+esc,
     
     # 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
     #
    -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,
    @@ -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,
    -	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
    @@ -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...
    -rxvt-16color|xterm with 16 colors like aixterm,
    +rxvt-16color|rxvt with 16 colors like aixterm,
     	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-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,
     
     # ======================================================================
    @@ -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-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,
     
    +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:
    @@ -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,
    +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,
    @@ -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,
    +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
    @@ -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.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,
    @@ -23620,4 +23671,12 @@ v3220|LANPAR Vision II model 3220/3221/3222,
     #	+ 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!
    diff --git a/ncurses/tinfo/lib_setup.c b/ncurses/tinfo/lib_setup.c
    index 0b81a5e0..b0acc7ba 100644
    --- a/ncurses/tinfo/lib_setup.c
    +++ b/ncurses/tinfo/lib_setup.c
    @@ -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            *
    @@ -48,7 +48,7 @@
     #include 
     #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;
     
    +    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) {
    @@ -597,7 +598,7 @@ _nc_locale_breaks_acs(TERMINAL * termp)
     	    }
     	}
         }
    -    return result;
    +    returnCode(result);
     }
     
     NCURSES_EXPORT(int)
    diff --git a/package/debian-mingw/changelog b/package/debian-mingw/changelog
    index 7350332a..ed3ff814 100644
    --- a/package/debian-mingw/changelog
    +++ b/package/debian-mingw/changelog
    @@ -1,8 +1,8 @@
    -ncurses6 (5.9+20150516) unstable; urgency=low
    +ncurses6 (5.9+20150523) unstable; urgency=low
     
       * latest weekly patch
     
    - -- Thomas E. Dickey   Wed, 13 May 2015 15:01:14 -0400
    + -- Thomas E. Dickey   Sun, 17 May 2015 12:37:10 -0400
     
     ncurses6 (5.9-20131005) unstable; urgency=low
     
    diff --git a/package/debian-mingw64/changelog b/package/debian-mingw64/changelog
    index 7350332a..ed3ff814 100644
    --- a/package/debian-mingw64/changelog
    +++ b/package/debian-mingw64/changelog
    @@ -1,8 +1,8 @@
    -ncurses6 (5.9+20150516) unstable; urgency=low
    +ncurses6 (5.9+20150523) unstable; urgency=low
     
       * latest weekly patch
     
    - -- Thomas E. Dickey   Wed, 13 May 2015 15:01:14 -0400
    + -- Thomas E. Dickey   Sun, 17 May 2015 12:37:10 -0400
     
     ncurses6 (5.9-20131005) unstable; urgency=low
     
    diff --git a/package/debian/changelog b/package/debian/changelog
    index 4cb95557..ef3cb810 100644
    --- a/package/debian/changelog
    +++ b/package/debian/changelog
    @@ -1,8 +1,8 @@
    -ncurses6 (5.9+20150516) unstable; urgency=low
    +ncurses6 (5.9+20150523) unstable; urgency=low
     
       * latest weekly patch
     
    - -- Thomas E. Dickey   Wed, 13 May 2015 15:01:14 -0400
    + -- Thomas E. Dickey   Sun, 17 May 2015 12:37:10 -0400
     
     ncurses6 (5.9-20120608) unstable; urgency=low
     
    diff --git a/package/mingw-ncurses.nsi b/package/mingw-ncurses.nsi
    index 6f93a9d7..d4ddb261 100644
    --- a/package/mingw-ncurses.nsi
    +++ b/package/mingw-ncurses.nsi
    @@ -1,4 +1,4 @@
    -; $Id: mingw-ncurses.nsi,v 1.104 2015/05/13 19:01:14 tom Exp $
    +; $Id: mingw-ncurses.nsi,v 1.105 2015/05/17 16:37:10 tom Exp $
     
     ; TODO add examples
     ; TODO bump ABI to 6
    @@ -10,7 +10,7 @@
     !define VERSION_MAJOR "5"
     !define VERSION_MINOR "9"
     !define VERSION_YYYY  "2015"
    -!define VERSION_MMDD  "0516"
    +!define VERSION_MMDD  "0523"
     !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
     
     !define MY_ABI   "5"
    diff --git a/package/mingw-ncurses.spec b/package/mingw-ncurses.spec
    index 27e1edec..2131b528 100644
    --- a/package/mingw-ncurses.spec
    +++ b/package/mingw-ncurses.spec
    @@ -3,7 +3,7 @@
     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
    diff --git a/package/ncurses.spec b/package/ncurses.spec
    index 851bbc2a..0efc4ca9 100644
    --- a/package/ncurses.spec
    +++ b/package/ncurses.spec
    @@ -1,7 +1,7 @@
     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
    diff --git a/progs/infocmp.c b/progs/infocmp.c
    index 3116fd4b..863a7e8c 100644
    --- a/progs/infocmp.c
    +++ b/progs/infocmp.c
    @@ -42,7 +42,7 @@
     
     #include 
     
    -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 "}"
    @@ -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("smkx", keypad_xmit, &entries[0].tterm);
    +	    analyze_string("rmkx", keypad_local, &entries[0].tterm);
     #undef CUR
     	} else {
     
    diff --git a/progs/progs.priv.h b/progs/progs.priv.h
    index c1cc1e6e..786fe558 100644
    --- a/progs/progs.priv.h
    +++ b/progs/progs.priv.h
    @@ -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            *
    @@ -30,7 +30,7 @@
      *  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
      *
    @@ -135,6 +135,12 @@ extern int optind;
     #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  */
     #ifndef STDOUT_FILENO
     #define STDOUT_FILENO 1
    diff --git a/progs/tput.c b/progs/tput.c
    index 5069a5c3..f25cbafb 100644
    --- a/progs/tput.c
    +++ b/progs/tput.c
    @@ -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            *
    @@ -47,7 +47,7 @@
     #endif
     #include 
     
    -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)
    @@ -120,7 +120,7 @@ tput(int argc, char *argv[])
         check_aliases(name);
         if (is_reset || is_init) {
     	if (init_prog != 0) {
    -	    system(init_prog);
    +	    IGNORE_RC(system(init_prog));
     	}
     	FLUSH;
     
    diff --git a/test/ncurses.c b/test/ncurses.c
    index e6aa8fa6..59a88c45 100644
    --- a/test/ncurses.c
    +++ b/test/ncurses.c
    @@ -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            *
    @@ -40,7 +40,7 @@ AUTHOR
        Author: Eric S. Raymond  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
    -fill_pad(WINDOW *panpad, bool pan_lines)
    +fill_pad(WINDOW *panpad, bool pan_lines, bool colored)
     {
         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++) {
    @@ -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') +
    -					     (int) (gridcount++ % 26)));
    +					     (int) (gridcount++ % 26)) | fill);
     	    } 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,
    -       int (*pgetc) (WINDOW *))
    +       int (*pgetc) (WINDOW *),
    +       bool colored)
     {
     #if HAVE_GETTIMEOFDAY
         struct timeval before, after;
    @@ -5221,7 +5227,7 @@ panner(WINDOW *pad,
     	    break;
     	case 'a':
     	    pan_lines = !pan_lines;
    -	    fill_pad(pad, pan_lines);
    +	    fill_pad(pad, pan_lines, colored);
     	    pending_pan = FALSE;
     	    break;
     
    @@ -5508,7 +5514,7 @@ padgetch(WINDOW *win)
     #define PAD_WIDE 200
     
     static void
    -demo_pad(void)
    +demo_pad(bool colored)
     /* Demonstrate pads. */
     {
         WINDOW *panpad = newpad(PAD_HIGH, PAD_WIDE);
    @@ -5518,7 +5524,14 @@ demo_pad(void)
     	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);
    @@ -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.
          */
    -    panner(panpad, 2, 2, LINES - 5, COLS - 15, padgetch);
    +    panner(panpad, 2, 2, LINES - 5, COLS - 15, padgetch, colored);
     
         delwin(panpad);
         endwin();
    @@ -6795,7 +6808,11 @@ do_single_test(const char c)
     #endif
     
         case 'p':
    -	demo_pad();
    +	demo_pad(FALSE);
    +	break;
    +
    +    case 'P':
    +	demo_pad(TRUE);
     	break;
     
     #if USE_LIBFORM
    @@ -6951,6 +6968,7 @@ main_menu(bool top)
     #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");
    -- 
    2.44.0