From 6a530b46563470c2ca73579d1994a0c8e275dd98 Mon Sep 17 00:00:00 2001 From: "Thomas E. Dickey" Date: Sun, 26 Jul 2015 00:58:34 +0000 Subject: [PATCH] ncurses 6.0 - patch 20150725 + updated llib-* files. + build-fixes for ncurses library "test_progs" rule. + use alternate workaround for gcc 5.x feature (adapted from patch by Mikhail Peselnik). + add status line to tmux via xterm+sl (patch by Nicholas Marriott). + fixes for st 0.5 from testing with tack -TD + review/improve several manual pages to break up wall-of-text: curs_add_wch.3x, curs_attr.3x, curs_bkgd.3x, curs_bkgrnd.3x, curs_getcchar.3x, curs_getch.3x, curs_kernel.3x, curs_mouse.3x, curs_outopts.3x, curs_overlay.3x, curs_pad.3x, curs_termattrs.3x curs_trace.3x, and curs_window.3x --- Ada95/samples/ncurses2-overlap_test.adb | 8 +- INSTALL | 5 +- NEWS | 17 +- VERSION | 2 +- dist.mk | 4 +- doc/html/man/captoinfo.1m.html | 2 +- doc/html/man/clear.1.html | 2 +- doc/html/man/curs_add_wch.3x.html | 14 +- doc/html/man/curs_attr.3x.html | 184 ++-- doc/html/man/curs_bkgd.3x.html | 41 +- doc/html/man/curs_bkgrnd.3x.html | 29 +- doc/html/man/curs_getcchar.3x.html | 17 +- doc/html/man/curs_getch.3x.html | 148 ++-- doc/html/man/curs_initscr.3x.html | 8 +- doc/html/man/curs_kernel.3x.html | 128 ++- doc/html/man/curs_mouse.3x.html | 167 ++-- doc/html/man/curs_outopts.3x.html | 63 +- doc/html/man/curs_overlay.3x.html | 29 +- doc/html/man/curs_pad.3x.html | 76 +- doc/html/man/curs_termattrs.3x.html | 37 +- doc/html/man/curs_trace.3x.html | 119 +-- doc/html/man/curs_window.3x.html | 77 +- doc/html/man/form.3x.html | 2 +- doc/html/man/infocmp.1m.html | 2 +- doc/html/man/infotocap.1m.html | 2 +- doc/html/man/menu.3x.html | 2 +- doc/html/man/ncurses.3x.html | 1065 ++++++++++++----------- 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 +- form/llib-lform | 73 +- form/llib-lformt | 73 +- form/llib-lformtw | 71 +- form/llib-lformw | 73 +- man/curs_add_wch.3x | 7 +- man/curs_attr.3x | 141 +-- man/curs_bkgd.3x | 29 +- man/curs_bkgrnd.3x | 19 +- man/curs_getcchar.3x | 6 +- man/curs_getch.3x | 50 +- man/curs_initscr.3x | 8 +- man/curs_kernel.3x | 50 +- man/curs_mouse.3x | 63 +- man/curs_outopts.3x | 31 +- man/curs_overlay.3x | 16 +- man/curs_pad.3x | 29 +- man/curs_termattrs.3x | 11 +- man/curs_trace.3x | 97 ++- man/curs_window.3x | 45 +- man/ncurses.3x | 154 ++-- misc/terminfo.src | 19 +- ncurses/base/MKlib_gen.sh | 40 +- ncurses/llib-lncurses | 120 +-- ncurses/llib-lncursest | 183 ++-- ncurses/llib-lncursestw | 189 ++-- ncurses/llib-lncursesw | 205 +++-- ncurses/llib-ltic | 10 +- ncurses/llib-ltict | 10 +- ncurses/llib-ltictw | 10 +- ncurses/llib-lticw | 10 +- ncurses/llib-ltinfo | 83 +- ncurses/llib-ltinfot | 96 +- ncurses/llib-ltinfotw | 96 +- ncurses/llib-ltinfow | 83 +- ncurses/tinfo/lib_longname.c | 15 +- ncurses/tty/hardscroll.c | 7 +- ncurses/tty/hashmap.c | 36 +- ncurses/tty/lib_mvcur.c | 6 +- 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 +- panel/llib-lpanel | 10 +- panel/llib-lpanelt | 10 +- panel/llib-lpaneltw | 10 +- panel/llib-lpanelw | 10 +- 82 files changed, 2699 insertions(+), 1889 deletions(-) diff --git a/Ada95/samples/ncurses2-overlap_test.adb b/Ada95/samples/ncurses2-overlap_test.adb index cba93c46..948b2b38 100644 --- a/Ada95/samples/ncurses2-overlap_test.adb +++ b/Ada95/samples/ncurses2-overlap_test.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000-2011,2014 Free Software Foundation, Inc. -- +-- Copyright (c) 2000-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 -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.6 $ --- $Date: 2014/09/13 19:10:18 $ +-- $Revision: 1.7 $ +-- $Date: 2015/07/25 23:43:19 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with ncurses2.util; use ncurses2.util; @@ -94,7 +94,7 @@ begin Add (Str => "This test shows the behavior of wnoutrefresh() with " & "respect to"); Add (Ch => newl); - Add (Str => "the shared region of two overlapping windows A and B. "& + Add (Str => "the shared region of two overlapping windows A and B. " & "The cross"); Add (Ch => newl); Add (Str => "pattern in each window does not overlap the other."); diff --git a/INSTALL b/INSTALL index ef9e8662..1ffe1364 100644 --- a/INSTALL +++ b/INSTALL @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: INSTALL,v 1.186 2015/04/12 14:41:20 tom Exp $ +-- $Id: INSTALL,v 1.187 2015/07/16 23:59:08 tom Exp $ --------------------------------------------------------------------- How to install Ncurses/Terminfo on your system --------------------------------------------------------------------- @@ -1258,6 +1258,9 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES: you may encounter when building a system with different versions of ncurses: + 6.0 (??? ??, 2015) + + 5.9 (Apr 04, 2011) 5.8 (Feb 26, 2011) Interface changes: diff --git a/NEWS b/NEWS index e4d16499..f54d83a4 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.2461 2015/07/19 23:55:55 tom Exp $ +-- $Id: NEWS,v 1.2470 2015/07/25 23:04:43 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -45,6 +45,19 @@ 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. +20150725 + + updated llib-* files. + + build-fixes for ncurses library "test_progs" rule. + + use alternate workaround for gcc 5.x feature (adapted from patch by + Mikhail Peselnik). + + add status line to tmux via xterm+sl (patch by Nicholas Marriott). + + fixes for st 0.5 from testing with tack -TD + + review/improve several manual pages to break up wall-of-text: + curs_add_wch.3x, curs_attr.3x, curs_bkgd.3x, curs_bkgrnd.3x, + curs_getcchar.3x, curs_getch.3x, curs_kernel.3x, curs_mouse.3x, + curs_outopts.3x, curs_overlay.3x, curs_pad.3x, curs_termattrs.3x + curs_trace.3x, and curs_window.3x + 20150719 + correct an old logic error for %A and %O in tparm (report by "zreed"). + improve documentation for signal handlers by adding section in the @@ -766,8 +779,6 @@ it is not possible to add this information. together initialization- or reset-strings. The problem dates to 1.9.7a, but was overlooked until changes in -Wlogical-op warnings for gcc 4.8 (report by David Binderman). - + updated CF_GCC_WARNINGS to documented options for gcc 4.9.0, adding - checks for -Wextra, -Wignored-qualifiers and -Wlogical-op + updated CF_GCC_WARNINGS to documented options for gcc 4.9.0, moving checks for -Wextra and -Wdeclaration-after-statement into the macro, and adding checks for -Wignored-qualifiers, -Wlogical-op and diff --git a/VERSION b/VERSION index 312993e5..145760e8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5:0:9 6.0 20150719 +5:0:9 6.0 20150725 diff --git a/dist.mk b/dist.mk index 69ef0b08..f65e85cf 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.1061 2015/07/19 23:55:55 tom Exp $ +# $Id: dist.mk,v 1.1062 2015/07/20 22:28:06 tom Exp $ # Makefile for creating ncurses distributions. # # This only needs to be used directly as a makefile by developers, but @@ -37,7 +37,7 @@ SHELL = /bin/sh # These define the major/minor/patch versions of ncurses. NCURSES_MAJOR = 6 NCURSES_MINOR = 0 -NCURSES_PATCH = 20150719 +NCURSES_PATCH = 20150725 # 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/captoinfo.1m.html b/doc/html/man/captoinfo.1m.html index de6cae30..6c7fc5b6 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 6.0 (patch 20150718).
+       This describes ncurses version 6.0 (patch 20150725).
 
 
 
diff --git a/doc/html/man/clear.1.html b/doc/html/man/clear.1.html index 442eff4a..a9ff3e64 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 6.0 (patch 20150718).
+       This describes ncurses version 6.0 (patch 20150725).
 
 
 
diff --git a/doc/html/man/curs_add_wch.3x.html b/doc/html/man/curs_add_wch.3x.html
index 6069763f..f227fd39 100644
--- a/doc/html/man/curs_add_wch.3x.html
+++ b/doc/html/man/curs_add_wch.3x.html
@@ -1,6 +1,6 @@
 
 
 
@@ -67,6 +67,9 @@
 
 

DESCRIPTION

+
+
+

add_wch

        The add_wch, wadd_wch, mvadd_wch, and mvwadd_wch functions
        put the complex character wch into the given window at its
        current position, which is then advanced.  These functions
@@ -89,6 +92,9 @@
            backspace  or  other  control character, the window is
            updated and the cursor moves as if addch were called.
 
+
+
+

echo_wchar

        The echo_wchar function is functionally  equivalent  to  a
        call to add_wch followed by a call to refresh.  Similarly,
        the wecho_wchar is functionally equivalent to  a  call  to
@@ -111,9 +117,9 @@
        WACS_BLOCK        0x25ae     #         solid square block
        WACS_BOARD        0x2592     #         board of squares
        WACS_BTEE         0x2534     +         bottom tee
+
        WACS_BULLET       0x00b7     o         bullet
        WACS_CKBOARD      0x2592     :         checker board (stipple)
-
        WACS_DARROW       0x2193     v         arrow pointing down
        WACS_DEGREE       0x00b0     '         degree symbol
        WACS_DIAMOND      0x25c6     +         diamond
@@ -229,6 +235,8 @@
 
  • SYNOPSIS
  • DESCRIPTION
  • diff --git a/doc/html/man/curs_attr.3x.html b/doc/html/man/curs_attr.3x.html index aca62aec..6ea78f91 100644 --- a/doc/html/man/curs_attr.3x.html +++ b/doc/html/man/curs_attr.3x.html @@ -1,7 +1,7 @@ @@ -59,37 +59,37 @@

    SYNOPSIS

            #include <curses.h>
    -       int attroff(int attrs);
    -       int wattroff(WINDOW *win, int attrs);
    -       int attron(int attrs);
    -       int wattron(WINDOW *win, int attrs);
    -       int attrset(int attrs);
    -       int wattrset(WINDOW *win, int attrs);
    -       int color_set(short color_pair_number, void* opts);
    -       int wcolor_set(WINDOW *win, short color_pair_number,
    -             void* opts);
    +       int attroff(int attrs);
    +       int wattroff(WINDOW *win, int attrs);
    +       int attron(int attrs);
    +       int wattron(WINDOW *win, int attrs);
    +       int attrset(int attrs);
    +       int wattrset(WINDOW *win, int attrs);
    +       int color_set(short color_pair_number, void* opts);
    +       int wcolor_set(WINDOW *win, short color_pair_number,
    +             void* opts);
            int standend(void);
    -       int wstandend(WINDOW *win);
    +       int wstandend(WINDOW *win);
            int standout(void);
    -       int wstandout(WINDOW *win);
    -       int attr_get(attr_t *attrs, short *pair, void *opts);
    -       int wattr_get(WINDOW *win, attr_t *attrs, short *pair,
    -              void *opts);
    -       int attr_off(attr_t attrs, void *opts);
    -       int wattr_off(WINDOW *win, attr_t attrs, void *opts);
    -       int attr_on(attr_t attrs, void *opts);
    -       int wattr_on(WINDOW *win, attr_t attrs, void *opts);
    -       int attr_set(attr_t attrs, short pair, void *opts);
    -       int wattr_set(WINDOW *win, attr_t attrs, short pair,  void
    -       *opts);
    -       int chgat(int n, attr_t attr, short color,
    -             const void *opts)
    -       int wchgat(WINDOW *win, int n, attr_t attr,
    -             short color, const void *opts)
    -       int mvchgat(int y, int x, int n, attr_t attr,
    -             short color, const void *opts)
    -       int mvwchgat(WINDOW *win, int y, int x, int n,
    -             attr_t attr, short color, const void *opts)
    +       int wstandout(WINDOW *win);
    +       int attr_get(attr_t *attrs, short *pair, void *opts);
    +       int wattr_get(WINDOW *win, attr_t *attrs, short *pair,
    +              void *opts);
    +       int attr_off(attr_t attrs, void *opts);
    +       int wattr_off(WINDOW *win, attr_t attrs, void *opts);
    +       int attr_on(attr_t attrs, void *opts);
    +       int wattr_on(WINDOW *win, attr_t attrs, void *opts);
    +       int attr_set(attr_t attrs, short pair, void *opts);
    +       int wattr_set(WINDOW *win, attr_t attrs, short pair,  void
    +       *opts);
    +       int chgat(int n, attr_t attr, short color,
    +             const void *opts);
    +       int wchgat(WINDOW *win, int n, attr_t attr,
    +             short color, const void *opts);
    +       int mvchgat(int y, int x, int n, attr_t attr,
    +             short color, const void *opts);
    +       int mvwchgat(WINDOW *win, int y, int x, int n,
    +             attr_t attr, short color, const void *opts);
     
     
     
    @@ -104,6 +104,9 @@ modifications to the graphic rendition of characters put on the screen. + + +

    attrset

            The  routine  attrset  sets  the current attributes of the
            given window to attrs.  The routine attroff turns off  the
            named  attributes  without turning any other attributes on
    @@ -118,18 +121,40 @@
            curs_bkgd(3x) for functions which  modify  the  attributes
            used for erasing and clearing.
     
    -       The  routine color_set sets the current color of the given
    -       window to the foreground/background combination  described
    -       by  the  color_pair_number. The parameter opts is reserved
    +
    +
    +

    attr_set

    +       The attrset routine is actually a legacy feature predating
    +       SVr4 curses but kept in X/Open Curses for the same  reason
    +       that  SVr4  curses kept it: compatbility.  The routine at-
    +       tr_set provides for passing a color-pair parameter.
    +
    +       The remaining attr_* functions operate  exactly  like  the
    +       corresponding attr* functions, except that they take argu-
    +       ments of type attr_t rather than int.
    +
    +
    +
    +

    color_set

    +       The routine color_set sets the current color of the  given
    +       window  to the foreground/background combination described
    +       by the color_pair_number.  The parameter opts is  reserved
            for future use, applications must supply a null pointer.
     
    -       The routine wattr_get returns the  current  attribute  and
    +
    +
    +

    attr_get

    +       The  routine  wattr_get  returns the current attribute and
            color pair for the given window; attr_get returns the cur-
    -       rent attribute and color pair for stdscr.   The  remaining
    -       attr_*  functions  operate  exactly like the corresponding
    -       attr* functions, except that they take arguments  of  type
    -       attr_t rather than int.
    +       rent attribute and color pair for stdscr.
    +
    +       There  is  no  corresponding  attrget  function as such in
    +       X/Open Curses, although  ncurses  provides  getattrs  (see
    +       curs_legacy(3x)).
     
    +
    +
    +

    chgat

            The routine chgat changes the attributes of a given number
            of characters starting at the current cursor  location  of
            stdscr.   It  does not update the cursor and does not per-
    @@ -148,7 +173,8 @@
     

    Attributes

            The following video attributes, defined in <curses.h>, can
            be passed to the routines attron, attroff, and attrset, or
    -       OR'd with the characters passed to addch.
    +       OR'd with the characters passed to  addch  (see  curs_add-
    +       ch(3x)).
     
                   Name            Description
                   ------------------------------------------------------------
    @@ -164,6 +190,7 @@
                   A_ALTCHARSET    Alternate character set
                   A_ITALIC        Italics (non-X/Open extension)
                   A_CHARTEXT      Bit-mask to extract a character
    +
                   COLOR_PAIR(n)   Color-pair number n
     
            These video attributes are supported by attr_on and relat-
    @@ -186,52 +213,52 @@
            PAIR_NUMBER(attrs) Returns the pair number associated
                               with the COLOR_PAIR(n) attribute.
     
    -       The return values of many of these routines are not  mean-
    +       The  return values of many of these routines are not mean-
            ingful (they are implemented as macro-expanded assignments
    -       and simply return their argument).  The SVr4  manual  page
    +       and  simply  return their argument).  The SVr4 manual page
            claims (falsely) that these routines always return 1.
     
     
     

    NOTES

    -       Note  that  attroff,  wattroff,  attron, wattron, attrset,
    +       Note that attroff,  wattroff,  attron,  wattron,  attrset,
            wattrset, standend and standout may be macros.
     
    -       COLOR_PAIR values can only be OR'd with attributes if  the
    -       pair  number  is  less  than 256.  The alternate functions
    -       such as color_set can pass a color  pair  value  directly.
    -       However,  ncurses  ABI 4 and 5 simply OR this value within
    -       the alternate functions.  You must use ncurses  ABI  6  to
    +       COLOR_PAIR  values can only be OR'd with attributes if the
    +       pair number is less than  256.   The  alternate  functions
    +       such  as  color_set  can pass a color pair value directly.
    +       However, ncurses ABI 4 and 5 simply OR this  value  within
    +       the  alternate  functions.   You must use ncurses ABI 6 to
            support more than 256 color pairs.
     
     
     

    PORTABILITY

    -       These  functions are supported in the XSI Curses standard,
    -       Issue 4.  The standard  defined  the  dedicated  type  for
    -       highlights,  attr_t,  which is not defined in SVr4 curses.
    -       The functions taking attr_t arguments  are  not  supported
    +       These functions are supported in the XSI Curses  standard,
    +       Issue  4.   The  standard  defined  the dedicated type for
    +       highlights, attr_t, which is not defined in  SVr4  curses.
    +       The  functions  taking  attr_t arguments are not supported
            under SVr4.
     
            The XSI Curses standard states that whether the tradition-
    -       al functions  attron/attroff/attrset  can  manipulate  at-
    -       tributes  other  than  A_BLINK,  A_BOLD, A_DIM, A_REVERSE,
    -       A_STANDOUT, or A_UNDERLINE is "unspecified".   Under  this
    -       implementation  as  well  as  SVr4 curses, these functions
    -       correctly manipulate all other  highlights  (specifically,
    +       al  functions  attron/attroff/attrset  can  manipulate at-
    +       tributes other than  A_BLINK,  A_BOLD,  A_DIM,  A_REVERSE,
    +       A_STANDOUT,  or  A_UNDERLINE is "unspecified".  Under this
    +       implementation as well as  SVr4  curses,  these  functions
    +       correctly  manipulate  all other highlights (specifically,
            A_ALTCHARSET, A_PROTECT, and A_INVIS).
     
    -       This  implementation  provides  the A_ITALIC attribute for
    +       This implementation provides the  A_ITALIC  attribute  for
            terminals which have the enter_italics_mode (sitm) and ex-
            it_italics_mode (ritm) capabilities.  Italics are not men-
    -       tioned in X/Open  Curses.   Unlike  the  other  video  at-
    -       tributes,  I_ITALIC is unrelated to the set_attributes ca-
    +       tioned  in  X/Open  Curses.   Unlike  the  other video at-
    +       tributes, I_ITALIC is unrelated to the set_attributes  ca-
            pabilities.  This implementation makes the assumption that
            exit_attribute_mode may also reset italics.
     
    -       XSI  Curses added the new entry points, attr_get, attr_on,
    -       attr_off, attr_set, wattr_on, wattr_off,  wattr_get,  wat-
    -       tr_set.   These  are intended to work with a new series of
    +       XSI Curses added the new entry points, attr_get,  attr_on,
    +       attr_off,  attr_set,  wattr_on, wattr_off, wattr_get, wat-
    +       tr_set.  These are intended to work with a new  series  of
            highlight macros prefixed with WA_.  The older macros have
            direct counterparts in the newer set of names:
     
    @@ -246,42 +273,42 @@
                   WA_BOLD         Extra bright or bold
                   WA_ALTCHARSET   Alternate character set
     
    -       Older  versions of this library did not force an update of
    -       the screen when changing the attributes.  Use touchwin  to
    -       force the screen to match the updated attributes.
    +       Very old versions of this library did not force an  update
    +       of  the screen when changing the attributes.  Use touchwin
    +       to force the screen to match the updated attributes.
     
            The XSI curses standard specifies that each pair of corre-
    -       sponding A_ and WA_-using functions operates on  the  same
    +       sponding  A_  and WA_-using functions operates on the same
            current-highlight information.
     
            The XSI standard extended conformance level adds new high-
            lights A_HORIZONTAL, A_LEFT, A_LOW, A_RIGHT, A_TOP, A_VER-
    -       TICAL  (and corresponding WA_ macros for each).  As of Au-
    -       gust 2013, no known  terminal  provides  these  highlights
    +       TICAL (and corresponding WA_ macros for each).  As of  Au-
    +       gust  2013,  no  known  terminal provides these highlights
            (i.e., via the sgr1 capability).
     
     
     

    RETURN VALUE

    -       All  routines  return the integer OK on success, or ERR on
    +       All routines return the integer OK on success, or  ERR  on
            failure.
     
            X/Open does not define any error conditions.
     
            This implementation returns an error if the window pointer
    -       is  null.  The wcolor_set function returns an error if the
    -       color  pair  parameter  is  outside  the   range   0..COL-
    -       OR_PAIRS-1.   This  implementation  also provides getattrs
    +       is null.  The wcolor_set function returns an error if  the
    +       color   pair   parameter  is  outside  the  range  0..COL-
    +       OR_PAIRS-1.  This implementation  also  provides  getattrs
            for compatibility with older versions of curses.
     
    -       Functions with a "mv" prefix first perform a cursor  move-
    -       ment  using  wmove, and return an error if the position is
    +       Functions  with a "mv" prefix first perform a cursor move-
    +       ment using wmove, and return an error if the  position  is
            outside the window, or if the window pointer is null.
     
     
     

    SEE ALSO

    -       curses(3x),        curs_addch(3x),        curs_addstr(3x),
    +       curses(3x), curs_addch(3x), curs_addstr(3x),
            curs_bkgd(3x), curs_printw(3x), curs_variables(3x)
     
     
    @@ -294,6 +321,11 @@
     
  • SYNOPSIS
  • DESCRIPTION
  • diff --git a/doc/html/man/curs_bkgd.3x.html b/doc/html/man/curs_bkgd.3x.html index f7cf877b..59db83f6 100644 --- a/doc/html/man/curs_bkgd.3x.html +++ b/doc/html/man/curs_bkgd.3x.html @@ -1,6 +1,6 @@ @@ -55,15 +55,18 @@

    SYNOPSIS

            #include <curses.h>
     
    -       void bkgdset(chtype ch);
    -       void wbkgdset(WINDOW *win, chtype ch);
    -       int bkgd(chtype ch);
    -       int wbkgd(WINDOW *win, chtype ch);
    -       chtype getbkgd(WINDOW *win);
    +       void bkgdset(chtype ch);
    +       void wbkgdset(WINDOW *win, chtype ch);
    +       int bkgd(chtype ch);
    +       int wbkgd(WINDOW *win, chtype ch);
    +       chtype getbkgd(WINDOW *win);
     
     
     

    DESCRIPTION

    +
    +
    +

    bkgdset

            The bkgdset and wbkgdset  routines  manipulate  the  back-
            ground  of  the  named window.  The window background is a
            chtype consisting of any combination of attributes  (i.e.,
    @@ -80,16 +83,22 @@
            attribute  part  of  the  background  is  displayed as the
            graphic rendition of the character put on the screen.
     
    +
    +
    +

    bkgd

            The bkgd and wbkgd functions set the  background  property
            of  the  current  or  specified window and then apply this
            setting to every character position in that window:
     
    -              The rendition of every character on the  screen  is
    -              changed to the new background rendition.
    +       o   The rendition of every  character  on  the  screen  is
    +           changed to the new background rendition.
     
    -              Wherever  the  former background character appears,
    -              it is changed to the new background character.
    +       o   Wherever  the  former background character appears, it
    +           is changed to the new background character.
     
    +
    +
    +

    getbkgd

            The getbkgd function returns the  given  window's  current
            background character/attribute pair.
     
    @@ -115,7 +124,7 @@
     
     

    SEE ALSO

    -       curses(3x),   curs_addch(3x),   curs_attr(3x),   curs_out-
    +       curses(3x), curs_addch(3x), curs_attr(3x), curs_out-
            opts(3x)
     
     
    @@ -126,7 +135,13 @@
     

    DESCRIPTION

    +
    +
    +

    bkgrndset

            The bkgrndset and wbkgrndset routines manipulate the back-
            ground of the named window.  The window  background  is  a
            cchar_t consisting of any combination of attributes (i.e.,
    @@ -82,16 +85,22 @@
            attribute part of  the  background  is  displayed  as  the
            graphic rendition of the character put on the screen.
     
    +
    +
    +

    bkgrnd

            The  bkgrnd and wbkgrnd functions set the background prop-
            erty of the current or specified  window  and  then  apply
            this setting to every character position in that window:
     
    -              The  rendition  of every character on the screen is
    -              changed to the new background rendition.
    +       o   The  rendition  of  every  character  on the screen is
    +           changed to the new background rendition.
     
    -              Wherever the former background  character  appears,
    -              it is changed to the new background character.
    +       o   Wherever the former background character  appears,  it
    +           is changed to the new background character.
     
    +
    +
    +

    getbkgrnd

            The  getbkgrnd function returns the given window's current
            background character/attribute pair via the wch pointer.
     
    @@ -123,7 +132,13 @@
     

    DESCRIPTION

    +
    +
    +

    getcchar

            The  getcchar  function  gets  a wide-character string and
            rendition from a cchar_t argument.  When wch is not a null
            pointer, the getcchar function does the following:
    @@ -97,6 +100,9 @@
            o   Does not  change  the  data  referenced  by  attrs  or
                color_pair
     
    +
    +
    +

    setcchar

            The  setcchar function initializes the location pointed to
            by wcval by using:
     
    @@ -153,7 +159,12 @@
     
    • NAME
    • SYNOPSIS
    • -
    • DESCRIPTION
    • +
    • DESCRIPTION + +
    • NOTES
    • RETURN VALUE
    • SEE ALSO
    • diff --git a/doc/html/man/curs_getch.3x.html b/doc/html/man/curs_getch.3x.html index eb1279f7..9b3bdc42 100644 --- a/doc/html/man/curs_getch.3x.html +++ b/doc/html/man/curs_getch.3x.html @@ -27,7 +27,7 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_getch.3x,v 1.41 2015/07/16 09:29:33 tom Exp @ + * @Id: curs_getch.3x,v 1.42 2015/07/21 08:44:04 tom Exp @ --> @@ -57,11 +57,11 @@ #include <curses.h> int getch(void); - int wgetch(WINDOW *win); - int mvgetch(int y, int x); - int mvwgetch(WINDOW *win, int y, int x); - int ungetch(int ch); - int has_key(int ch); + int wgetch(WINDOW *win); + int mvgetch(int y, int x); + int mvwgetch(WINDOW *win, int y, int x); + int ungetch(int ch); + int has_key(int ch);
    @@ -131,11 +131,11 @@
    -

    Function Keys

    -       The following function keys, defined in <curses.h>,  might
    -       be  returned  by  getch  if keypad has been enabled.  Note
    -       that not all of these are  necessarily  supported  on  any
    -       particular terminal.
    +

    Predefined key-codes

    +       The following special keys, defined in <curses.h>, may  be
    +       returned  by getch if keypad has been enabled.  Not all of
    +       these are necessarily supported on any  particular  termi-
    +       nal.
     
                 Name            Key name
                 -------------------------------------------------
    @@ -236,7 +236,6 @@
     
            Keypad is arranged like this:
     
    -
                              +-----+------+-------+
                              | A1  |  up  |  A3   |
                              +-----+------+-------+
    @@ -244,18 +243,36 @@
                              +-----+------+-------+
                              | C1  | down |  C3   |
                              +-----+------+-------+
    -       The has_key routine takes a key value from the above list,
    -       and returns TRUE or FALSE according to whether the current
    -       terminal type recognizes a key with that value.  Note that
    -       a  few  values  do  not  correspond  to  a real key, e.g.,
    -       KEY_RESIZE  and  KEY_MOUSE.   See  curs_initscr(3x)   and   re-
    -       sizeterm(3x)   for  more  details  about  KEY_RESIZE,  and
    -       curs_mouse(3x) for a discussion of KEY_MOUSE.
    +       A few of these predefined values do not  correspond  to  a
    +       real key:
    +
    +       o   KEY_RESIZE  is  returned  when the SIGWINCH signal has
    +           been detected (see curs_initscr(3x) and resizeterm(3x)).
    +
    +       o   KEY_MOUSE   is   returned   for   mouse-events    (see
    +           curs_mouse(3x)).
    +
    +
    +
    +

    Testing key-codes

    +       The  has_key routine takes a key-code value from the above
    +       list, and returns TRUE or FALSE according to  whether  the
    +       current terminal type recognizes a key with that value.
    +
    +       The library also supports these extensions:
    +
    +          define_key
    +               defines  a  key-code  for  a given string (see de-
    +               fine_key(3x)).
    +
    +          key_defined
    +               checks if there is a key-code defined for a  given
    +               string (see key_defined(3x)).
     
     
     

    RETURN VALUE

    -       All routines return the integer ERR upon  failure  and  an
    +       All  routines  return  the integer ERR upon failure and an
            integer value other than ERR (OK in the case of ungetch())
            upon successful completion.
     
    @@ -263,94 +280,94 @@
                    returns ERR if there is no more room in the FIFO.
     
               wgetch
    -               returns ERR if the window pointer is null,  or  if
    +               returns  ERR  if the window pointer is null, or if
                    its timeout expires without having any data.
     
    -       Functions  with a "mv" prefix first perform a cursor move-
    -       ment using wmove, and return an error if the  position  is
    +       Functions with a "mv" prefix first perform a cursor  move-
    +       ment  using  wmove, and return an error if the position is
            outside the window, or if the window pointer is null.
     
     
     

    NOTES

            Use of the escape key by a programmer for a single charac-
    -       ter function is discouraged, as it will cause a  delay  of
    +       ter  function  is discouraged, as it will cause a delay of
            up to one second while the keypad code looks for a follow-
            ing function-key sequence.
     
    -       Note that some keys may be the same as commonly used  con-
    -       trol keys, e.g., KEY_ENTER versus control/M, KEY_BACKSPACE
    -       versus control/H.  Some curses implementations may  differ
    -       according  to  whether  they treat these control keys spe-
    -       cially (and ignore the terminfo), or use the terminfo def-
    -       initions.   Ncurses  uses  the terminfo definition.  If it
    -       says  that  KEY_ENTER  is  control/M,  getch  will  return
    -       KEY_ENTER when you press control/M.
    +       Some  keys  may be the same as commonly used control keys,
    +       e.g., KEY_ENTER  versus  control/M,  KEY_BACKSPACE  versus
    +       control/H.  Some curses implementations may differ accord-
    +       ing to whether they treat  these  control  keys  specially
    +       (and  ignore  the  terminfo),  or use the terminfo defini-
    +       tions.  Ncurses uses the terminfo definition.  If it  says
    +       that  KEY_ENTER  is control/M, getch will return KEY_ENTER
    +       when you press control/M.
     
    -       Generally,  KEY_ENTER denotes the character(s) sent by the
    +       Generally, KEY_ENTER denotes the character(s) sent by  the
            Enter key on the numeric keypad:
     
            o   the terminal description lists the most useful keys,
     
    -       o   the Enter key on the regular keyboard is already  han-
    +       o   the  Enter key on the regular keyboard is already han-
                dled by the standard ASCII characters for carriage-re-
                turn and line-feed,
     
    -       o   depending on whether nl or nonl was  called,  pressing
    -           "Enter"  on  the  regular keyboard may return either a
    +       o   depending  on  whether nl or nonl was called, pressing
    +           "Enter" on the regular keyboard may  return  either  a
                carriage-return or line-feed, and finally
     
    -       o   "Enter or send" is the standard description  for  this
    +       o   "Enter  or  send" is the standard description for this
                key.
     
    -       When  using  getch, wgetch, mvgetch, or mvwgetch, nocbreak
    +       When using getch, wgetch, mvgetch, or  mvwgetch,  nocbreak
            mode (nocbreak) and echo mode (echo) should not be used at
    -       the  same  time.  Depending on the state of the tty driver
    -       when each character is typed, the program may produce  un-
    +       the same time.  Depending on the state of the  tty  driver
    +       when  each character is typed, the program may produce un-
            desirable results.
     
            Note that getch, mvgetch, and mvwgetch may be macros.
     
            Historically, the set of keypad macros was largely defined
    -       by the extremely function-key-rich keyboard  of  the  AT&T
    -       7300,  aka  3B1,  aka Safari 4.  Modern personal computers
    -       usually have only a small subset of these.   IBM  PC-style
    -       consoles   typically  support  little  more  than  KEY_UP,
    -       KEY_DOWN,   KEY_LEFT,   KEY_RIGHT,   KEY_HOME,    KEY_END,
    +       by  the  extremely  function-key-rich keyboard of the AT&T
    +       7300, aka 3B1, aka Safari 4.   Modern  personal  computers
    +       usually  have  only a small subset of these.  IBM PC-style
    +       consoles  typically  support  little  more  than   KEY_UP,
    +       KEY_DOWN,    KEY_LEFT,   KEY_RIGHT,   KEY_HOME,   KEY_END,
            KEY_NPAGE, KEY_PPAGE, and function keys 1 through 12.  The
            Ins key is usually mapped to KEY_IC.
     
     
     

    PORTABILITY

    -       The *get* functions are described in the XSI Curses  stan-
    -       dard,  Issue  4.   They  read single-byte characters only.
    -       The standard specifies that they return  ERR  on  failure,
    +       The  *get* functions are described in the XSI Curses stan-
    +       dard, Issue 4.  They  read  single-byte  characters  only.
    +       The  standard  specifies  that they return ERR on failure,
            but specifies no error conditions.
     
    -       The  echo  behavior of these functions on input of KEY_ or
    -       backspace characters was not specified in the  SVr4  docu-
    +       The echo behavior of these functions on input of  KEY_  or
    +       backspace  characters  was not specified in the SVr4 docu-
            mentation.  This description is adopted from the XSI Curs-
            es standard.
     
    -       The behavior of getch and friends in the presence of  han-
    -       dled  signals  is  unspecified  in the SVr4 and XSI Curses
    -       documentation.  Under historical  curses  implementations,
    -       it  varied depending on whether the operating system's im-
    -       plementation  of  handled  signal  receipt  interrupts   a
    -       read(2)  call in progress or not, and also (in some imple-
    -       mentations) depending on whether an input timeout or  non-
    +       The  behavior of getch and friends in the presence of han-
    +       dled signals is unspecified in the  SVr4  and  XSI  Curses
    +       documentation.   Under  historical curses implementations,
    +       it varied depending on whether the operating system's  im-
    +       plementation   of  handled  signal  receipt  interrupts  a
    +       read(2) call in progress or not, and also (in some  imple-
    +       mentations)  depending on whether an input timeout or non-
            blocking mode has been set.
     
            Programmers concerned about portability should be prepared
    -       for either of two cases: (a) signal receipt does  not  in-
    -       terrupt  getch;  (b)  signal  receipt interrupts getch and
    -       causes it to return ERR with errno set  to  EINTR.   Under
    -       the  ncurses  implementation, handled signals never inter-
    +       for  either  of two cases: (a) signal receipt does not in-
    +       terrupt getch; (b) signal  receipt  interrupts  getch  and
    +       causes  it  to  return ERR with errno set to EINTR.  Under
    +       the ncurses implementation, handled signals  never  inter-
            rupt getch.
     
    -       The has_key function is unique to ncurses.   We  recommend
    -       that  any  code  using it be conditionalized on the NCURS-
    +       The  has_key  function is unique to ncurses.  We recommend
    +       that any code using it be conditionalized  on  the  NCURS-
            ES_VERSION feature macro.
     
     
    @@ -360,7 +377,7 @@
            curs_mouse(3x),   curs_move(3x),   curs_refresh(3x),   re-
            sizeterm(3x).
     
    -       Comparable functions in the wide-character (ncursesw)  li-
    +       Comparable  functions in the wide-character (ncursesw) li-
            brary are described in curs_get_wch(3x).
     
     
    @@ -376,7 +393,8 @@
     
  • Reading characters
  • Keypad mode
  • Ungetting characters
  • -
  • Function Keys
  • +
  • Predefined key-codes
  • +
  • Testing key-codes
  • RETURN VALUE
  • diff --git a/doc/html/man/curs_initscr.3x.html b/doc/html/man/curs_initscr.3x.html index 1b668b29..3c47ac6c 100644 --- a/doc/html/man/curs_initscr.3x.html +++ b/doc/html/man/curs_initscr.3x.html @@ -26,7 +26,7 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_initscr.3x,v 1.23 2015/07/16 09:23:42 tom Exp @ + * @Id: curs_initscr.3x,v 1.24 2015/07/21 23:01:38 tom Exp @ --> @@ -58,9 +58,9 @@ WINDOW *initscr(void); int endwin(void); bool isendwin(void); - SCREEN *newterm(char *type, FILE *outfd, FILE *infd); - SCREEN *set_term(SCREEN *new); - void delscreen(SCREEN* sp); + SCREEN *newterm(char *type, FILE *outfd, FILE *infd); + SCREEN *set_term(SCREEN *new); + void delscreen(SCREEN* sp);
    diff --git a/doc/html/man/curs_kernel.3x.html b/doc/html/man/curs_kernel.3x.html index 7a8c6189..57e64085 100644 --- a/doc/html/man/curs_kernel.3x.html +++ b/doc/html/man/curs_kernel.3x.html @@ -1,6 +1,6 @@ @@ -62,11 +62,11 @@ int reset_shell_mode(void); int resetty(void); int savetty(void); - void getsyx(int y, int x); - void setsyx(int y, int x); - int ripoffline(int line, int (*init)(WINDOW *, int)); - int curs_set(int visibility); - int napms(int ms); + void getsyx(int y, int x); + void setsyx(int y, int x); + int ripoffline(int line, int (*init)(WINDOW *, int)); + int curs_set(int visibility); + int napms(int ms);
    @@ -75,6 +75,9 @@ curses capabilities. These routines typically are used inside library routines. + +
    +

    def_prog_mode, def_shell_mode

            The  def_prog_mode  and  def_shell_mode  routines save the
            current terminal modes as the  "program"  (in  curses)  or
            "shell"   (not  in  curses)  state  for  use  by  the  re-
    @@ -82,17 +85,26 @@
            automatically by initscr.  There is one such save area for
            each screen context allocated by newterm().
     
    +
    +
    +

    reset_prog_mode, reset_shell_mode

            The reset_prog_mode and reset_shell_mode routines  restore
            the  terminal  to "program" (in curses) or "shell" (out of
            curses) state.  These are  done  automatically  by  endwin
            and,  after  an  endwin, by doupdate, so they normally are
            not called.
     
    +
    +
    +

    resetty, savetty

            The resetty and savetty  routines  save  and  restore  the
            state  of  the  terminal modes.  savetty saves the current
            state in a buffer and resetty restores the state  to  what
            it was at the last call to savetty.
     
    +
    +
    +

    getsyx

            The  getsyx routine returns the current coordinates of the
            virtual screen cursor in y and x.  If leaveok is currently
            TRUE,  then -1,-1 is returned.  If lines have been removed
    @@ -100,6 +112,9 @@
            clude  these lines; therefore, y and x should be used only
            as arguments for setsyx.
     
    +
    +
    +

    setsyx

            The setsyx routine sets the virtual screen cursor to y, x.
            If y and x are both -1, then leaveok is set.  The two rou-
            tines getsyx and setsyx are designed to be used by  a  li-
    @@ -110,30 +125,51 @@
            wnoutrefresh  on  its  windows, call setsyx, and then call
            doupdate.
     
    +
    +
    +

    ripoffline

            The ripoffline routine provides access to the same facili-
            ty  that  slk_init  [see  curs_slk(3x)] uses to reduce the
            size of the screen.   ripoffline  must  be  called  before
    -       initscr or newterm is called.  If line is positive, a line
    -       is removed from the top of stdscr; if line is negative,  a
    -       line is removed from the bottom.  When this is done inside
    -       initscr, the routine init (supplied by the user) is called
    -       with  two arguments: a window pointer to the one-line win-
    -       dow that has been allocated and an integer with the number
    -       of columns in the window.  Inside this initialization rou-
    -       tine, the integer variables LINES  and  COLS  (defined  in
    -       <curses.h>) are not guaranteed to be accurate and wrefresh
    -       or doupdate must not be called.  It is allowable  to  call
    -       wnoutrefresh during the initialization routine.
    +       initscr or newterm is called, to prepare these initial ac-
    +       tions:
    +
    +       o   If line is positive, a line is removed from the top of
    +           stdscr.
    +
    +       o   if  line  is negative, a line is removed from the bot-
    +           tom.
    +
    +       When the resulting initialization is done inside  initscr,
    +       the routine init (supplied by the user) is called with two
    +       arguments:
    +
    +       o   a window pointer to the one-line window that has  been
    +           allocated and
    +
    +       o   an integer with the number of columns in the window.
    +
    +       Inside  this initialization routine, the integer variables
    +       LINES and COLS (defined in <curses.h>) are not  guaranteed
    +       to  be  accurate  and  wrefresh  or  doupdate  must not be
    +       called.  It is allowable to call wnoutrefresh  during  the
    +       initialization routine.
     
            ripoffline  can  be called up to five times before calling
            initscr or newterm.
     
    +
    +
    +

    curs_set

            The curs_set routine sets the cursor state  to  invisible,
            normal, or very visible for visibility equal to 0, 1, or 2
            respectively.  If the terminal supports the visibility re-
            quested, the previous cursor state is returned; otherwise,
            ERR is returned.
     
    +
    +
    +

    napms

            The napms routine is used to sleep for ms milliseconds.
     
     
    @@ -147,50 +183,49 @@
            X/Open  defines  no error conditions.  In this implementa-
            tion
     
    -              def_prog_mode, def_shell_mode, reset_prog_mode, re-
    -              set_shell_mode
    -                   return  an  error if the terminal was not ini-
    -                   tialized, or if the I/O  call  to  obtain  the
    -                   terminal settings fails.
    +       def_prog_mode, def_shell_mode, reset_prog_mode,
    +       reset_shell_mode
    +            return  an error if the terminal was not initialized,
    +            or if the I/O call to obtain  the  terminal  settings
    +            fails.
     
    -              ripoffline
    -                   returns  an  error  if  the  maximum number of
    -                   ripped-off lines exceeds the maximum (NRIPS  =
    -                   5).
    +       ripoffline
    +            returns  an error if the maximum number of ripped-off
    +            lines exceeds the maximum (NRIPS = 5).
     
     
     

    NOTES

    -       Note  that getsyx is a macro, so & is not necessary before
    +       Note that getsyx is a macro, so & is not necessary  before
            the variables y and x.
     
    -       Older SVr4  man  pages  warn  that  the  return  value  of
    -       curs_set  "is  currently  incorrect".  This implementation
    -       gets it right, but it may be unwise to count on  the  cor-
    +       Older  SVr4  man  pages  warn  that  the  return  value of
    +       curs_set "is currently  incorrect".   This  implementation
    +       gets  it  right, but it may be unwise to count on the cor-
            rectness of the return value anywhere else.
     
    -       Both  ncurses  and  SVr4  will  call curs_set in endwin if
    -       curs_set has been called to make  the  cursor  other  than
    -       normal,  i.e., either invisible or very visible.  There is
    -       no way for ncurses to determine the initial  cursor  state
    +       Both ncurses and SVr4 will  call  curs_set  in  endwin  if
    +       curs_set  has  been  called  to make the cursor other than
    +       normal, i.e., either invisible or very visible.  There  is
    +       no  way  for ncurses to determine the initial cursor state
            to restore that.
     
     
     

    PORTABILITY

    -       The  functions  setsyx and getsyx are not described in the
    -       XSI Curses standard, Issue 4.  All other functions are  as
    +       The functions setsyx and getsyx are not described  in  the
    +       XSI  Curses standard, Issue 4.  All other functions are as
            described in XSI Curses.
     
            The SVr4 documentation describes setsyx and getsyx as hav-
    -       ing return type int.  This  is  misleading,  as  they  are
    +       ing  return  type  int.  This  is  misleading, as they are
            macros with no documented semantics for the return value.
     
     
     

    SEE ALSO

    -       curses(3x),  curs_initscr(3x),  curs_outopts(3x), curs_re-
    -       fresh(3x),  curs_scr_dump(3x),  curs_slk(3x),   curs_vari-
    +       curses(3x), curs_initscr(3x),  curs_outopts(3x),  curs_re-
    +       fresh(3x),   curs_scr_dump(3x),  curs_slk(3x),  curs_vari-
            ables(3x).
     
     
    @@ -201,7 +236,18 @@
     
    • NAME
    • SYNOPSIS
    • -
    • DESCRIPTION
    • +
    • DESCRIPTION + +
    • RETURN VALUE
    • NOTES
    • PORTABILITY
    • diff --git a/doc/html/man/curs_mouse.3x.html b/doc/html/man/curs_mouse.3x.html index 47a98d9d..f4951c1c 100644 --- a/doc/html/man/curs_mouse.3x.html +++ b/doc/html/man/curs_mouse.3x.html @@ -27,7 +27,7 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_mouse.3x,v 1.41 2015/04/11 10:23:49 tom Exp @ + * @Id: curs_mouse.3x,v 1.42 2015/07/21 09:27:39 tom Exp @ --> @@ -66,14 +66,14 @@ } MEVENT; bool has_mouse(void); - int getmouse(MEVENT *event); - int ungetmouse(MEVENT *event); - mmask_t mousemask(mmask_t newmask, mmask_t *oldmask); - bool wenclose(const WINDOW *win, int y, int x); - bool mouse_trafo(int* pY, int* pX, bool to_screen); - bool wmouse_trafo(const WINDOW* win, int* pY, int* pX, - bool to_screen); - int mouseinterval(int erval); + int getmouse(MEVENT *event); + int ungetmouse(MEVENT *event); + mmask_t mousemask(mmask_t newmask, mmask_t *oldmask); + bool wenclose(const WINDOW *win, int y, int x); + bool mouse_trafo(int* pY, int* pX, bool to_screen); + bool wmouse_trafo(const WINDOW* win, int* pY, int* pX, + bool to_screen); + int mouseinterval(int erval);
    @@ -82,6 +82,9 @@ ncurses(3x). Mouse events are represented by KEY_MOUSE pseudo-key values in the wgetch input stream. + + +

    mousemask

            To  make mouse events visible, use the mousemask function.
            This will set the mouse events to  be  reported.   By  de-
            fault,  no  mouse  events are reported.  The function will
    @@ -95,6 +98,9 @@
            the  mouse pointer; setting a nonzero mask may turn it on.
            Whether this happens is device-dependent.
     
    +
    +
    +

    Mouse events

            Here are the mouse event type masks which may be defined:
     
            Name                     Description
    @@ -109,10 +115,11 @@
            BUTTON2_RELEASED         mouse button 2 up
            BUTTON2_CLICKED          mouse button 2 clicked
            BUTTON2_DOUBLE_CLICKED   mouse button 2 double clicked
    +
    +
            BUTTON2_TRIPLE_CLICKED   mouse button 2 triple clicked
            ---------------------------------------------------------------------
            BUTTON3_PRESSED          mouse button 3 down
    -
            BUTTON3_RELEASED         mouse button 3 up
            BUTTON3_CLICKED          mouse button 3 clicked
            BUTTON3_DOUBLE_CLICKED   mouse button 3 double clicked
    @@ -137,6 +144,9 @@
            REPORT_MOUSE_POSITION    report mouse movement
            ---------------------------------------------------------------------
     
    +
    +
    +

    getmouse

            Once a class of mouse events has been made  visible  in  a
            window, calling the wgetch function on that window may re-
            turn KEY_MOUSE as an indicator that a mouse event has been
    @@ -151,43 +161,64 @@
            invalid.   A subsequent call to getmouse will retrieve the
            next older item from the queue.
     
    +
    +
    +

    ungetmouse

            The ungetmouse function behaves  analogously  to  ungetch.
            It  pushes a KEY_MOUSE event onto the input queue, and as-
            sociates with that event the given state data and  screen-
            relative character-cell coordinates.
     
    +
    +
    +

    wenclose

            The  wenclose  function  tests  whether  a  given  pair of
            screen-relative character-cell coordinates is enclosed  by
            a  given  window, returning TRUE if it is and FALSE other-
            wise.  It is useful for determining  what  subset  of  the
            screen windows enclose the location of a mouse event.
     
    +
    +
    +

    wmouse_trafo

            The wmouse_trafo function transforms a given pair of coor-
            dinates from stdscr-relative  coordinates  to  coordinates
    -       relative to the given window or vice versa.  Please remem-
    -       ber, that stdscr-relative coordinates are not always iden-
    -       tical  to window-relative coordinates due to the mechanism
    -       to reserve lines on top or bottom of the screen for  other
    -       purposes (see the ripoffline() and slk_init calls, for ex-
    -       ample).  If the parameter to_screen is TRUE, the  pointers
    -       pY, pX must reference the coordinates of a location inside
    -       the window win.  They are converted to window-relative co-
    -       ordinates  and returned through the pointers.  If the con-
    -       version was successful, the function returns TRUE.  If one
    -       of  the  parameters was NULL or the location is not inside
    -       the window, FALSE is returned.  If to_screen is FALSE, the
    -       pointers  pY,  pX  must  reference window-relative coordi-
    -       nates.  They are converted to stdscr-relative  coordinates
    -       if  the  window win encloses this point.  In this case the
    -       function returns TRUE.  If one of the parameters  is  NULL
    -       or  the point is not inside the window, FALSE is returned.
    -       Please notice, that the referenced  coordinates  are  only
    -       replaced  by  the converted coordinates if the transforma-
    -       tion was successful.
    +       relative to the given window or vice versa.  The resulting
    +       stdscr-relative coordinates are not  always  identical  to
    +       window-relative  coordinates  due  to the mechanism to re-
    +       serve lines on top or bottom of the screen for other  pur-
    +       poses  (see  the  ripoffline and slk_init calls, for exam-
    +       ple).
    +
    +       o   If the parameter to_screen is TRUE, the  pointers  pY,
    +           pX must reference the coordinates of a location inside
    +           the window win.  They are converted to window-relative
    +           coordinates and returned through the pointers.  If the
    +           conversion was successful, the function returns TRUE.
    +
    +       o   If one of the parameters was NULL or the  location  is
    +           not inside the window, FALSE is returned.
    +
    +       o   If to_screen is FALSE, the pointers pY, pX must refer-
    +           ence window-relative coordinates.  They are  converted
    +           to  stdscr-relative  coordinates if the window win en-
    +           closes this point.  In this case the function  returns
    +           TRUE.
    +
    +       o   If  one  of the parameters is NULL or the point is not
    +           inside the window, FALSE is returned.  The  referenced
    +           coordinates are only replaced by the converted coordi-
    +           nates if the transformation was successful.
     
    +
    +
    +

    mouse_trafo

            The mouse_trafo function performs the same translation  as
            wmouse_trafo, using stdscr for win.
     
    +
    +
    +

    mouseinterval

            The mouseinterval function sets the maximum time (in thou-
            sands of a second) that can elapse between press  and  re-
            lease  events  for  them to be recognized as a click.  Use
    @@ -196,6 +227,9 @@
            val(-1) to obtain the interval without altering  it.   The
            default is one sixth of a second.
     
    +
    +
    +

    has_mouse

            The  has_mouse  function  returns TRUE if the mouse driver
            has been successfully initialized.
     
    @@ -208,46 +242,48 @@
     

    RETURN VALUE

            getmouse  and ungetmouse return the integer ERR upon fail-
    -       ure or OK upon successful completion.
    +       ure or OK upon successful completion:
    +
    +          getmouse
    +               returns an error.
    +
    +          o   If no mouse driver was initialized, or if the  mask
    +              parameter is zero,
     
    -              getmouse
    -                   returns an error.  If no mouse driver was ini-
    -                   tialized, or if the mask parameter is zero, it
    -                   also returns an error if no more events remain
    -                   in the queue.
    +          o   It  also  returns an error if no more events remain
    +              in the queue.
     
    -              ungetmouse
    -                   returns an error if the FIFO is full.
    +          ungetmouse
    +               returns an error if the FIFO is full.
     
            mousemask returns the mask of reportable events.
     
    -       mouseinterval  returns the previous interval value, unless
    -       the terminal was not initialized.  In that  case,  it  re-
    +       mouseinterval returns the previous interval value,  unless
    +       the  terminal  was  not initialized.  In that case, it re-
            turns the maximum interval value (166).
     
    -       wenclose  and wmouse_trafo are boolean functions returning
    +       wenclose and wmouse_trafo are boolean functions  returning
            TRUE or FALSE depending on their test result.
     
     
     

    PORTABILITY

    -       These calls were designed for  ncurses(3x),  and  are  not
    +       These  calls  were  designed  for ncurses(3x), and are not
            found in SVr4 curses, 4.4BSD curses, or any other previous
            version of curses.
     
            The feature macro NCURSES_MOUSE_VERSION is provided so the
    -       preprocessor  can  be  used to test whether these features
    -       are present.  If the interface is changed,  the  value  of
    -       NCURSES_MOUSE_VERSION  will  be incremented.  These values
    -       for NCURSES_MOUSE_VERSION may be specified when  configur-
    +       preprocessor can be used to test  whether  these  features
    +       are  present.   If  the interface is changed, the value of
    +       NCURSES_MOUSE_VERSION will be incremented.   These  values
    +       for  NCURSES_MOUSE_VERSION may be specified when configur-
            ing ncurses:
     
    -              1  has  definitions  for reserved events.  The mask
    -                 uses 28 bits.
    +          1  has definitions for reserved events.  The mask  uses
    +             28 bits.
     
    -              2  adds definitions for button 5, removes the defi-
    -                 nitions  for  reserved events.  The mask uses 29
    -                 bits.
    +          2  adds  definitions  for button 5, removes the defini-
    +             tions for reserved events.  The mask uses 29 bits.
     
            The order of the MEVENT structure members is  not  guaran-
            teed.   Additional fields may be added to the structure in
    @@ -256,9 +292,13 @@
            Under ncurses(3x), these calls are implemented  using  ei-
            ther  xterm's built-in mouse-tracking API or platform-spe-
            cific drivers including
    -              Alessandro Rubini's gpm server
    -              FreeBSD sysmouse
    -              OS/2 EMX
    +
    +          o   Alessandro Rubini's gpm server
    +
    +          o   FreeBSD sysmouse
    +
    +          o   OS/2 EMX
    +
            If you  are  using  an  unsupported  configuration,  mouse
            events  will not be visible to ncurses(3x) (and the mouse-
            mask function will always return 0).
    @@ -267,9 +307,10 @@
            in  the xterm mouse driver to control the way the terminal
            is initialized for mouse operation.  The default, if XM is
            not found, corresponds to private mode 1000 of xterm:
    -              \E[?1000%?%p1%{1}%=%th%el%;
     
    -       The z member in the event structure is not presently used.
    +          \E[?1000%?%p1%{1}%=%th%el%;
    +
    +       The z member in the event structure is not presently used.
            It is intended for use with touch screens  (which  may  be
            pressure-sensitive)   or   with   3D-mice/trackballs/power
            gloves.
    @@ -317,7 +358,19 @@
     
    • NAME
    • SYNOPSIS
    • -
    • DESCRIPTION
    • +
    • DESCRIPTION + +
    • RETURN VALUE
    • PORTABILITY
    • BUGS
    • diff --git a/doc/html/man/curs_outopts.3x.html b/doc/html/man/curs_outopts.3x.html index 075c3cc5..d6f6b7d6 100644 --- a/doc/html/man/curs_outopts.3x.html +++ b/doc/html/man/curs_outopts.3x.html @@ -1,6 +1,6 @@ @@ -55,14 +55,14 @@

      SYNOPSIS

              #include <curses.h>
       
      -       int clearok(WINDOW *win, bool bf);
      -       int idlok(WINDOW *win, bool bf);
      -       void idcok(WINDOW *win, bool bf);
      -       void immedok(WINDOW *win, bool bf);
      -       int leaveok(WINDOW *win, bool bf);
      -       int setscrreg(int top, int bot);
      -       int wsetscrreg(WINDOW *win, int top, int bot);
      -       int scrollok(WINDOW *win, bool bf);
      +       int clearok(WINDOW *win, bool bf);
      +       int idlok(WINDOW *win, bool bf);
      +       void idcok(WINDOW *win, bool bf);
      +       void immedok(WINDOW *win, bool bf);
      +       int leaveok(WINDOW *win, bool bf);
      +       int setscrreg(int top, int bot);
      +       int wsetscrreg(WINDOW *win, int top, int bot);
      +       int scrollok(WINDOW *win, bool bf);
              int nl(void);
              int nonl(void);
       
      @@ -74,6 +74,9 @@
              otherwise stated.  It is not necessary to turn  these  op-
              tions off before calling endwin.
       
      +
      +
      +

      clearok

              If  clearok is called with TRUE as argument, the next call
              to wrefresh with this window will clear  the  screen  com-
              pletely  and  redraw the entire screen from scratch.  This
      @@ -83,6 +86,9 @@
              the  next  call  to  wrefresh  with  any window causes the
              screen to be cleared and repainted from scratch.
       
      +
      +
      +

      idlok

              If idlok is called with TRUE as  second  argument,  curses
              considers using the hardware insert/delete line feature of
              terminals so equipped.  Calling idlok with FALSE as second
      @@ -95,6 +101,9 @@
              not  be  used,  curses redraws the changed portions of all
              lines.
       
      +
      +
      +

      idcok

              If idcok is called with FALSE as second  argument,  curses
              no longer considers using the hardware insert/delete char-
              acter feature of terminals so equipped.  Use of  character
      @@ -102,6 +111,9 @@
              TRUE as second argument re-enables use of character inser-
              tion and deletion.
       
      +
      +
      +

      immedok

              If  immedok is called with TRUE as argument, any change in
              the window image, such as the ones caused by waddch, wclr-
              tobot,  wscrl,  etc.,  automatically  cause a call to wre-
      @@ -109,12 +121,18 @@
              due  to repeated calls to wrefresh.  It is disabled by de-
              fault.
       
      +
      +
      +

      leaveok

              Normally, the hardware cursor is left at the  location  of
              the window cursor being refreshed.  The leaveok option al-
              lows the cursor to be left wherever the update happens  to
              leave  it.  It is useful for applications where the cursor
              is not used, since it reduces the need for cursor motions.
       
      +
      +
      +

      setscrreg

              The setscrreg and wsetscrreg routines allow  the  applica-
              tion  programmer  to  set a software scrolling region in a
              window.  The top and bot parameters are the  line  numbers
      @@ -130,6 +148,9 @@
              scrolling region or insert/delete  line  capability,  they
              will probably be used by the output routines.)
       
      +
      +
      +

      scrollok

              The  scrollok option controls what happens when the cursor
              of a window is  moved  off  the  edge  of  the  window  or
              scrolling  region,  either as a result of a newline action
      @@ -140,6 +161,9 @@
              scrolling effect on the terminal, it is also necessary  to
              call idlok).
       
      +
      +
      +

      nl, nonl

              The  nl  and  nonl routines control whether the underlying
              display device translates the return key into  newline  on
              input,  and  whether it translates newline into return and
      @@ -158,7 +182,7 @@
              cess and ERR upon failure.  All other routines that return
              an integer always return OK.
       
      -       X/Open does not define any error conditions.
      +       X/Open Curses does not define any error conditions.
       
              In this implementation, those functions that have a window
              pointer  will  return  an  error  if the window pointer is
      @@ -217,8 +241,8 @@
       
       

      SEE ALSO

      -       curses(3x),        curs_addch(3x),         curs_clear(3x),
      -       curs_initscr(3x),    curs_scroll(3x),    curs_refresh(3x),
      +       curses(3x), curs_addch(3x), curs_clear(3x),
      +       curs_initscr(3x), curs_scroll(3x), curs_refresh(3x),
              curs_variables(3x).
       
       
      @@ -229,7 +253,18 @@
       
      • NAME
      • SYNOPSIS
      • -
      • DESCRIPTION
      • +
      • DESCRIPTION + +
      • RETURN VALUE
      • PORTABILITY
      • NOTES
      • diff --git a/doc/html/man/curs_overlay.3x.html b/doc/html/man/curs_overlay.3x.html index 7c606403..c10da1aa 100644 --- a/doc/html/man/curs_overlay.3x.html +++ b/doc/html/man/curs_overlay.3x.html @@ -1,6 +1,6 @@ @@ -55,22 +55,28 @@

        SYNOPSIS

                #include <curses.h>
         
        -       int overlay(const WINDOW *srcwin, WINDOW *dstwin);
        -       int overwrite(const WINDOW *srcwin, WINDOW *dstwin);
        -       int copywin(const  WINDOW  *srcwin,  WINDOW  *dstwin,  int
        -       sminrow,
        -             int smincol, int dminrow, int dmincol, int dmaxrow,
        -             int dmaxcol, int overlay);
        +       int overlay(const WINDOW *srcwin, WINDOW *dstwin);
        +       int overwrite(const WINDOW *srcwin, WINDOW *dstwin);
        +       int copywin(const  WINDOW  *srcwin,  WINDOW  *dstwin,  int
        +       sminrow,
        +             int smincol, int dminrow, int dmincol, int dmaxrow,
        +             int dmaxcol, int overlay);
         
         
         

        DESCRIPTION

        +
        +
        +

        overlay, overwrite

                The  overlay  and overwrite routines overlay srcwin on top
                of dstwin.  scrwin and dstwin are not required to  be  the
                same  size;  only  text  where  the two windows overlap is
                copied.  The difference is that overlay is non-destructive
                (blanks are not copied) whereas overwrite is destructive.
         
        +
        +
        +

        copywin

                The  copywin  routine provides a finer granularity of con-
                trol over the overlay and overwrite routines.  As  in  the
                prefresh routine, a rectangle is specified in the destina-
        @@ -117,7 +123,12 @@
         
        • NAME
        • SYNOPSIS
        • -
        • DESCRIPTION
        • +
        • DESCRIPTION + +
        • RETURN VALUE
        • NOTES
        • PORTABILITY
        • diff --git a/doc/html/man/curs_pad.3x.html b/doc/html/man/curs_pad.3x.html index 329a63c3..b5aee87d 100644 --- a/doc/html/man/curs_pad.3x.html +++ b/doc/html/man/curs_pad.3x.html @@ -1,6 +1,6 @@ @@ -55,19 +55,22 @@

          SYNOPSIS

                  #include <curses.h>
           
          -       WINDOW *newpad(int nlines, int ncols);
          -       WINDOW *subpad(WINDOW *orig, int nlines, int ncols,
          -             int begin_y, int begin_x);
          -       int prefresh(WINDOW *pad, int pminrow, int pmincol,
          -             int sminrow, int smincol, int smaxrow, int smaxcol);
          -       int pnoutrefresh(WINDOW *pad, int pminrow, int pmincol,
          -             int sminrow, int smincol, int smaxrow, int smaxcol);
          -       int pechochar(WINDOW *pad, chtype ch);
          -       int pecho_wchar(WINDOW *pad, const cchar_t *wch);
          +       WINDOW *newpad(int nlines, int ncols);
          +       WINDOW *subpad(WINDOW *orig, int nlines, int ncols,
          +             int begin_y, int begin_x);
          +       int prefresh(WINDOW *pad, int pminrow, int pmincol,
          +             int sminrow, int smincol, int smaxrow, int smaxcol);
          +       int pnoutrefresh(WINDOW *pad, int pminrow, int pmincol,
          +             int sminrow, int smincol, int smaxrow, int smaxcol);
          +       int pechochar(WINDOW *pad, chtype ch);
          +       int pecho_wchar(WINDOW *pad, const cchar_t *wch);
           
           
           

          DESCRIPTION

          +
          +
          +

          newpad

                  The newpad routine creates and returns a pointer to a  new
                  pad data structure with the given number of lines, nlines,
                  and columns, ncols.  A pad is like a window,  except  that
          @@ -83,6 +86,9 @@
                  of the pad to be displayed and the location on the  screen
                  to be used for the display.
           
          +
          +
          +

          subpad

                  The subpad routine creates and returns a pointer to a sub-
                  window within a  pad  with  the  given  number  of  lines,
                  nlines,  and  columns,  ncols.   Unlike subwin, which uses
          @@ -93,6 +99,9 @@
                  ten be necessary to call touchwin or touchline on orig be-
                  fore calling prefresh.
           
          +
          +
          +

          prefresh, pnoutrefresh

                  The  prefresh  and  pnoutrefresh routines are analogous to
                  wrefresh and wnoutrefresh except that they relate to  pads
                  instead  of windows.  The additional parameters are needed
          @@ -108,6 +117,9 @@
                  respective  structures.  Negative values of pminrow, pmin-
                  col, sminrow, or smincol are treated as if they were zero.
           
          +
          +
          +

          pechochar

                  The pechochar routine is functionally equivalent to a call
                  to  addch  followed by a call to refresh, a call to waddch
                  followed by a call to wrefresh, or a call to  waddch  fol-
          @@ -119,6 +131,9 @@
                  last location of the pad on the screen is reused  for  the
                  arguments to prefresh.
           
          +
          +
          +

          pecho_wchar

                  The  pecho_wchar  function is the analogous wide-character
                  form of pechochar.  It outputs one character to a pad  and
                  immediately  refreshes the pad.  It does this by a call to
          @@ -137,22 +152,21 @@
                  X/Open  does not define any error conditions.  In this im-
                  plementation
           
          -              prefresh and pnoutrefresh
          -                   return an error if the window pointer is null,
          -                   or if the window is not really a pad or if the
          -                   area to refresh extends off-screen or  if  the
          -                   minimum coordinates are greater than the maxi-
          -                   mum.
          +          prefresh and pnoutrefresh
          +               return an error if the window pointer is null,  or
          +               if  the  window is not really a pad or if the area
          +               to refresh extends off-screen or  if  the  minimum
          +               coordinates are greater than the maximum.
           
          -              pechochar
          -                   returns an error if the window is not really a
          -                   pad,  and the associated call to wechochar re-
          -                   turns an error.
          +          pechochar
          +               returns  an  error  if  the window is not really a
          +               pad, and the associated call to wechochar  returns
          +               an error.
           
          -              pecho_wchar
          -                   returns an error if the window is not really a
          -                   pad,  and  the  associated call to wecho_wchar
          -                   returns an error.
          +          pecho_wchar
          +               returns  an  error  if  the window is not really a
          +               pad, and the associated call  to  wecho_wchar  re-
          +               turns an error.
           
           
           
          @@ -162,7 +176,7 @@

        PORTABILITY

        -       The XSI Curses standard, Issue  4  describes  these  func-
        +       The  XSI  Curses  standard,  Issue 4 describes these func-
                tions.
         
         
        @@ -179,7 +193,15 @@
         

        DESCRIPTION

        +
        +
        +

        baudrate

                The  baudrate routine returns the output speed of the ter-
                minal.  The number returned is in  bits  per  second,  for
                example 9600, and is an integer.
         
        +
        +
        +

        erasechar, erasewchar

                The  erasechar  routine  returns  the user's current erase
                character.
         
        @@ -83,6 +89,9 @@
                has been defined, the routine fails and the location  ref-
                erenced by ch is not changed.
         
        +
        +
        +

        has_is, has_il

                The has_ic routine is true if the terminal has insert- and
                delete- character capabilities.
         
        @@ -92,6 +101,9 @@
                would  be  appropriate to turn on physical scrolling using
                scrollok.
         
        +
        +
        +

        killchar, killwchar

                The killchar routine returns the user's current line  kill
                character.
         
        @@ -100,6 +112,9 @@
                character  has  been  defined,  the  routine fails and the
                location referenced by ch is not changed.
         
        +
        +
        +

        longname

                The longname routine returns a pointer to  a  static  area
                containing  a verbose description of the current terminal.
                The maximum length of a verbose description is 128 charac-
        @@ -109,6 +124,9 @@
                saved between calls to newterm if longname is going to  be
                used with multiple terminals.
         
        +
        +
        +

        termattrs, term_attrs

                If  a  given  terminal  does not support a video attribute
                that an application program is trying to use,  curses  may
                substitute  a  different video attribute for it.  The ter-
        @@ -118,6 +136,9 @@
                when  a  curses  program  needs  complete control over the
                appearance of the screen.
         
        +
        +
        +

        termname

                The termname routine returns the  terminal  name  used  by
                setupterm.
         
        @@ -156,7 +177,17 @@
         
        • NAME
        • SYNOPSIS
        • -
        • DESCRIPTION
        • +
        • DESCRIPTION + +
        • RETURN VALUE
        • NOTES
        • PORTABILITY
        • diff --git a/doc/html/man/curs_trace.3x.html b/doc/html/man/curs_trace.3x.html index 2a4d9063..e4d1129c 100644 --- a/doc/html/man/curs_trace.3x.html +++ b/doc/html/man/curs_trace.3x.html @@ -1,6 +1,6 @@ @@ -57,18 +57,18 @@

          SYNOPSIS

                  #include <curses.h>
           
          -       void _tracef(const char *format, ...);
          -       void _tracedump(const char *label, WINDOW *win);
          -       char *_traceattr(attr_t attr);
          -       char *_traceattr2(int buffer, chtype ch);
          +       void _tracef(const char *format, ...);
          +       void _tracedump(const char *label, WINDOW *win);
          +       char *_traceattr(attr_t attr);
          +       char *_traceattr2(int buffer, chtype ch);
                  char *_nc_tracebits(void);
          -       char * _tracecchar_t(const cchar_t *string);
          -       char * _tracecchar_t2(int buffer, const cchar_t *string);
          -       char *_tracechar(int ch);
          -       char *_tracechtype(chtype ch);
          -       char *_tracechtype2(int buffer, chtype ch);
          -       char *_tracemouse(const MEVENT *event);
          -       void trace(const unsigned int param);
          +       char * _tracecchar_t(const cchar_t *string);
          +       char * _tracecchar_t2(int buffer, const cchar_t *string);
          +       char *_tracechar(int ch);
          +       char *_tracechtype(chtype ch);
          +       char *_tracechtype2(int buffer, chtype ch);
          +       char *_tracemouse(const MEVENT *event);
          +       void trace(const unsigned int param);
           
           
           
          @@ -76,96 +76,109 @@ The trace routines are used for debugging the ncurses li- braries, as well as applications which use the ncurses li- braries. These functions are normally available only with - the debugging library libncurses_g.a, but may be compiled - into any model (shared, static, profile) by defining the - symbol TRACE. Additionally, some functions are only - available with the wide-character configuration of the li- - braries. - - The principal parts of this interface are the trace rou- - tine which selectively enables different tracing features, - and the _tracef routine which writes formatted data to the - trace file. - - Calling trace with a nonzero parameter opens the file - trace in the current directory for output. The parameter + the debugging library e.g., libncurses_g.a, but may be + compiled into any model (shared, static, profile) by + defining the symbol TRACE. Additionally, some functions + are only available with the wide-character configuration + of the libraries. + + The principal parts of this interface are + + o trace, which selectively enables different tracing + features, and + + o _tracef, which writes formatted data to the trace + file. + + Calling trace with a nonzero parameter opens the file + trace in the current directory for output. The parameter is formed by OR'ing values from the list of TRACE_xxx def- initions in <curses.h>. These include: - TRACE_DISABLE + TRACE_DISABLE turn off tracing. - TRACE_TIMES + TRACE_TIMES trace user and system times of updates. - TRACE_TPUTS + TRACE_TPUTS trace tputs calls. - TRACE_UPDATE + TRACE_UPDATE trace update actions, old & new screens. - TRACE_MOVE + TRACE_MOVE trace cursor movement and scrolling. - TRACE_CHARPUT + TRACE_CHARPUT trace all character outputs. - TRACE_ORDINARY - trace all update actions. The old and new screen - contents are written to the trace file for each re- + TRACE_ORDINARY + trace all update actions. The old and new screen + contents are written to the trace file for each re- fresh. - TRACE_CALLS + TRACE_CALLS trace all curses calls. The parameters for each call are traced, as well as return values. - TRACE_VIRTPUT + TRACE_VIRTPUT trace virtual character puts, i.e., calls to addch. - TRACE_IEVENT + TRACE_IEVENT trace low-level input processing, including timeouts. - TRACE_BITS + TRACE_BITS trace state of TTY control bits. - TRACE_ICALLS + TRACE_ICALLS trace internal/nested calls. - TRACE_CCALLS + TRACE_CCALLS trace per-character calls. - TRACE_DATABASE + TRACE_DATABASE trace read/write of terminfo/termcap data. - TRACE_ATTRS + TRACE_ATTRS trace changes to video attributes and colors. - TRACE_MAXIMUM - maximum trace level, enables all of the separate + TRACE_MAXIMUM + maximum trace level, enables all of the separate trace features. - Some tracing features are enabled whenever the trace pa- - rameter is nonzero. Some features overlap. The specific + Some tracing features are enabled whenever the trace pa- + rameter is nonzero. Some features overlap. The specific names are used as a guideline. + The other functions either return a pointer to a string- + area (allocated by the corresponding function), or return + no value (such as _tracedump, which implements the screen + dump for TRACE_UPDATE). The caller should not free these + strings, since the allocation is reused on successive + calls. To work around the problem of a single string-area + per function, some use a buffer-number parameter, telling + the library to allocate additional string-areas. + These functions check the NCURSES_TRACE environment vari- able, to set the tracing feature as if trace was called: - filter, initscr, new_prescr, newterm, nofilter, - ripoffline, setupterm, slk_init, tgetent + filter, initscr, new_prescr, newterm, nofilter, + restartterm, ripoffline, setupterm, slk_init, tge- + tent, use_env, use_extended_names, use_tioctl

        RETURN VALUE

        -       Routines  which  return a value are designed to be used as
        +       Routines which return a value are designed to be  used  as
                parameters to the _tracef routine.
         
         
         

        PORTABILITY

        -       These functions are not part of the XSI  interface.   Some
        -       other  curses  implementations  are known to have similar,
        -       undocumented features, but they are  not  compatible  with
        +       These  functions  are not part of the XSI interface.  Some
        +       other curses implementations are known  to  have  similar,
        +       undocumented  features,  but  they are not compatible with
                ncurses.
         
         
        diff --git a/doc/html/man/curs_window.3x.html b/doc/html/man/curs_window.3x.html
        index 4159bfdd..c474f1c7 100644
        --- a/doc/html/man/curs_window.3x.html
        +++ b/doc/html/man/curs_window.3x.html
        @@ -1,6 +1,6 @@
         
         
         
        @@ -57,26 +57,29 @@
                #include <curses.h>
         
                WINDOW *newwin(
        -             int nlines, int ncols,
        -             int begin_y, int begin_x);
        -       int delwin(WINDOW *win);
        -       int mvwin(WINDOW *win, int y, int x);
        -       WINDOW *subwin(WINDOW *orig,
        -             int nlines, int ncols,
        -             int begin_y, int begin_x);
        -       WINDOW *derwin(WINDOW *orig,
        -             int nlines, int ncols,
        -             int begin_y, int begin_x);
        -       int mvderwin(WINDOW *win, int par_y, int par_x);
        -       WINDOW *dupwin(WINDOW *win);
        -       void wsyncup(WINDOW *win);
        -       int syncok(WINDOW *win, bool bf);
        -       void wcursyncup(WINDOW *win);
        -       void wsyncdown(WINDOW *win);
        +             int nlines, int ncols,
        +             int begin_y, int begin_x);
        +       int delwin(WINDOW *win);
        +       int mvwin(WINDOW *win, int y, int x);
        +       WINDOW *subwin(WINDOW *orig,
        +             int nlines, int ncols,
        +             int begin_y, int begin_x);
        +       WINDOW *derwin(WINDOW *orig,
        +             int nlines, int ncols,
        +             int begin_y, int begin_x);
        +       int mvderwin(WINDOW *win, int par_y, int par_x);
        +       WINDOW *dupwin(WINDOW *win);
        +       void wsyncup(WINDOW *win);
        +       int syncok(WINDOW *win, bool bf);
        +       void wcursyncup(WINDOW *win);
        +       void wsyncdown(WINDOW *win);
         
         
         

        DESCRIPTION

        +
        +
        +

        newwin

                Calling newwin creates and returns a pointer to a new win-
                dow with the given number of lines and columns.  The upper
                left-hand corner of the window is at
        @@ -90,17 +93,26 @@
                A   new   full-screen   window   is   created  by  calling
                newwin(0,0,0,0).
         
        +
        +
        +

        delwin

                Calling delwin deletes the named window, freeing all memo-
                ry associated with it (it does not actually erase the win-
                dow's screen image).  Subwindows must  be  deleted  before
                the main window can be deleted.
         
        +
        +
        +

        mvwin

                Calling mvwin moves the window so that the upper left-hand
                corner is at position (x, y).  If the move would cause the
                window to be off the screen, it is an error and the window
                is not moved.  Moving subwindows is allowed, but should be
                avoided.
         
        +
        +
        +

        subwin

                Calling subwin creates and returns a pointer to a new win-
                dow with the given number of lines, nlines,  and  columns,
                ncols.   The  window  is at position (begin_y, begin_x) on
        @@ -110,6 +122,9 @@
                touchwin  or  touchline on orig before calling wrefresh on
                the subwindow.
         
        +
        +
        +

        derwin

                Calling derwin is the same as calling subwin, except  that
                begin_y and begin_x are relative to the origin of the win-
                dow orig rather than the screen.  There is  no  difference
        @@ -121,19 +136,31 @@
                play different parts of the  parent  window  at  the  same
                physical position on the screen.
         
        +
        +
        +

        dupwin

                Calling  dupwin  creates  an exact duplicate of the window
                win.
         
        +
        +
        +

        wsyncup

                Calling wsyncup touches all locations in ancestors of  win
                that  are changed in win.  If syncok is called with second
                argument TRUE then wsyncup is called automatically whenev-
                er there is a change in the window.
         
        +
        +
        +

        wsyncdown

                The  wsyncdown  routine  touches each location in win that
                has been touched in any of  its  ancestor  windows.   This
                routine  is  called by wrefresh, so it should almost never
                be necessary to call it manually.
         
        +
        +
        +

        wcursyncup

                The routine wcursyncup updates the current cursor position
                of  all the ancestors of the window to reflect the current
                cursor position of the window.
        @@ -238,7 +265,19 @@
         
        • NAME
        • SYNOPSIS
        • -
        • DESCRIPTION
        • +
        • DESCRIPTION + +
        • RETURN VALUE
        • NOTES
        • BUGS
        • diff --git a/doc/html/man/form.3x.html b/doc/html/man/form.3x.html index e64d6263..e100a666 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 6.0 (patch 20150718). + This describes ncurses version 6.0 (patch 20150725). diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html index efd6abc7..53f66ea4 100644 --- a/doc/html/man/infocmp.1m.html +++ b/doc/html/man/infocmp.1m.html @@ -472,7 +472,7 @@ http://invisible-island.net/ncurses/tctest.html - This describes ncurses version 6.0 (patch 20150718). + This describes ncurses version 6.0 (patch 20150725).
        diff --git a/doc/html/man/infotocap.1m.html b/doc/html/man/infotocap.1m.html index f69b365c..fcb32f15 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 6.0 (patch 20150718).
        +       This describes ncurses version 6.0 (patch 20150725).
         
         
         
        diff --git a/doc/html/man/menu.3x.html b/doc/html/man/menu.3x.html index 6cbad590..c368f7c4 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 6.0 (patch 20150718). + This describes ncurses version 6.0 (patch 20150725). diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html index bc36dbc9..b175a43a 100644 --- a/doc/html/man/ncurses.3x.html +++ b/doc/html/man/ncurses.3x.html @@ -1,7 +1,7 @@ @@ -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 6.0 (patch 20150718). + ncurses version 6.0 (patch 20150725). The ncurses library emulates the curses library of System V Release 4 UNIX, and XPG4 (X/Open Portability Guide) @@ -96,6 +96,9 @@ lation; use of soft label keys; terminfo capabilities; and access to low-level terminal-manipulation routines. + +
      +

      Initialization

              The  library uses the locale which the calling program has
              initialized.  That is normally done with setlocale:
       
      @@ -131,6 +134,9 @@
              TERM  has  been  exported.  tset(1) is usually responsible
              for doing this.  [See terminfo(5) for further details.]
       
      +
      +
      +

      Datatypes

              The ncurses library permits manipulation  of  data  struc-
              tures,  called  windows,  which  can be thought of as two-
              dimensional arrays of characters representing all or  part
      @@ -175,6 +181,9 @@
              characters,   and  input  values  use  names,  defined  in
              <curses.h>, such as A_REVERSE, ACS_HLINE, and KEY_LEFT.
       
      +
      +
      +

      Environment variables

              If the environment variables LINES and COLUMNS are set, or
              if  the program is executing in a window environment, line
              and column information in the  environment  will  override
      @@ -248,63 +257,60 @@
              any  configuration  of  the library.  There are two common
              configurations of the library:
       
      -              ncurses
      -                   the  "normal"  library,  which  handles  8-bit
      -                   characters.  The normal (8-bit) library stores
      -                   characters combined with attributes in  chtype
      -                   data.
      -
      -                   Attributes  alone (no corresponding character)
      -                   may be stored  in  chtype  or  the  equivalent
      -                   attr_t  data.   In  either  case,  the data is
      -                   stored in something like an integer.
      -
      -                   Each cell (row and  column)  in  a  WINDOW  is
      -                   stored as a chtype.
      -
      -              ncursesw
      -                   the  so-called  "wide"  library, which handles
      -                   multibyte  characters  (see  the  section   on
      -                   ALTERNATE CONFIGURATIONS).  The "wide" library
      -                   includes all of the calls  from  the  "normal"
      -                   library.   It  adds about one third more calls
      -                   using data types which store multibyte charac-
      -                   ters:
      -
      -                   cchar_t
      -                        corresponds  to  chtype.  However it is a
      -                        structure, because more  data  is  stored
      -                        than  can fit into an integer.  The char-
      -                        acters are large enough to require a full
      -                        integer  value  -  and  there may be more
      -                        than one character per cell.   The  video
      -                        attributes  and color are stored in sepa-
      -                        rate fields of the structure.
      -
      -                        Each cell (row and column) in a WINDOW is
      -                        stored as a cchar_t.
      -
      -                   wchar_t
      -                        stores  a "wide" character.  Like chtype,
      -                        this may be an integer.
      -
      -                   wint_t
      -                        stores a wchar_t or WEOF - not the  same,
      -                        though both may have the same size.
      -
      -                   The  "wide"  library  provides  new  functions
      -                   which are analogous to functions in the  "nor-
      -                   mal"  library.   There  is a naming convention
      -                   which relates many of  the  normal/wide  vari-
      -                   ants:  a  "_w" is inserted into the name.  For
      -                   example, waddch becomes wadd_wch.
      +          ncurses
      +               the "normal" library, which handles 8-bit  charac-
      +               ters.   The  normal (8-bit) library stores charac-
      +               ters combined with attributes in chtype data.
      +
      +               Attributes alone (no corresponding character)  may
      +               be stored in chtype or the equivalent attr_t data.
      +               In either case, the data is  stored  in  something
      +               like an integer.
      +
      +               Each  cell  (row and column) in a WINDOW is stored
      +               as a chtype.
      +
      +          ncursesw
      +               the so-called "wide" library, which handles multi-
      +               byte characters (see the section on ALTERNATE CON-
      +               FIGURATIONS).  The "wide" library includes all  of
      +               the  calls  from  the  "normal"  library.  It adds
      +               about one third more calls using data types  which
      +               store multibyte characters:
      +
      +               cchar_t
      +                    corresponds  to  chtype.   However  it  is  a
      +                    structure, because more data is  stored  than
      +                    can  fit into an integer.  The characters are
      +                    large enough to require a full integer  value
      +                    -  and  there  may be more than one character
      +                    per cell.  The video attributes and color are
      +                    stored in separate fields of the structure.
      +
      +                    Each  cell  (row  and  column) in a WINDOW is
      +                    stored as a cchar_t.
      +
      +               wchar_t
      +                    stores a "wide" character.  Like chtype, this
      +                    may be an integer.
      +
      +               wint_t
      +                    stores  a  wchar_t  or  WEOF  - not the same,
      +                    though both may have the same size.
      +
      +               The "wide" library provides  new  functions  which
      +               are   analogous   to  functions  in  the  "normal"
      +               library.   There  is  a  naming  convention  which
      +               relates  many  of the normal/wide variants: a "_w"
      +               is inserted into the name.   For  example,  waddch
      +               becomes wadd_wch.
       
       
       

      Routine Name Index

              The following table lists each curses routine and the name
      -       of  the  manual  page  on which it is described.  Routines
      -       flagged with `*' are ncurses-specific,  not  described  by
      +       of the manual page on which  it  is  described.   Routines
      +       flagged  with  `*'  are ncurses-specific, not described by
              XPG4 or present in SVr4.
       
                     curses Routine Name     Manual Page Name
      @@ -314,10 +320,10 @@
                     _nc_free_and_exit       curs_memleaks(3x)*
                     _nc_freeall             curs_memleaks(3x)*
                     _nc_tracebits           curs_trace(3x)*
      -
                     _traceattr              curs_trace(3x)*
                     _traceattr2             curs_trace(3x)*
                     _tracechar              curs_trace(3x)*
      +
                     _tracechtype            curs_trace(3x)*
                     _tracechtype2           curs_trace(3x)*
                     _tracedump              curs_trace(3x)*
      @@ -380,11 +386,11 @@
                     echochar                curs_addch(3x)
                     endwin                  curs_initscr(3x)
                     erase                   curs_clear(3x)
      -
                     erasechar               curs_termattrs(3x)
                     erasewchar              curs_termattrs(3x)
                     filter                  curs_util(3x)
                     flash                   curs_beep(3x)
      +
                     flushinp                curs_util(3x)
                     get_wch                 curs_get_wch(3x)
                     get_wstr                curs_get_wstr(3x)
      @@ -446,12 +452,12 @@
                     is_cleared              curs_opaque(3x)*
                     is_idcok                curs_opaque(3x)*
                     is_idlok                curs_opaque(3x)*
      -
                     is_immedok              curs_opaque(3x)*
                     is_keypad               curs_opaque(3x)*
                     is_leaveok              curs_opaque(3x)*
                     is_linetouched          curs_touch(3x)
                     is_nodelay              curs_opaque(3x)*
      +
                     is_notimeout            curs_opaque(3x)*
                     is_scrollok             curs_opaque(3x)*
                     is_syncok               curs_opaque(3x)*
      @@ -512,13 +518,13 @@
                     mvinsstr                curs_insstr(3x)
                     mvinstr                 curs_instr(3x)
                     mvinwstr                curs_inwstr(3x)
      -
                     mvprintw                curs_printw(3x)
                     mvscanw                 curs_scanw(3x)
                     mvvline                 curs_border(3x)
                     mvvline_set             curs_border_set(3x)
                     mvwadd_wch              curs_add_wch(3x)
                     mvwadd_wchnstr          curs_add_wchstr(3x)
      +
                     mvwadd_wchstr           curs_add_wchstr(3x)
                     mvwaddch                curs_addch(3x)
                     mvwaddchnstr            curs_addchstr(3x)
      @@ -578,7 +584,6 @@
                     pnoutrefresh            curs_pad(3x)
                     prefresh                curs_pad(3x)
                     printw                  curs_printw(3x)
      -
                     putp                    curs_terminfo(3x)
                     putwin                  curs_util(3x)
                     qiflush                 curs_inopts(3x)
      @@ -586,6 +591,7 @@
                     redrawwin               curs_refresh(3x)
                     refresh                 curs_refresh(3x)
                     reset_prog_mode         curs_kernel(3x)
      +
                     reset_shell_mode        curs_kernel(3x)
                     resetty                 curs_kernel(3x)
                     resizeterm              resizeterm(3x)*
      @@ -644,7 +650,6 @@
                     touchline               curs_touch(3x)
                     touchwin                curs_touch(3x)
                     tparm                   curs_terminfo(3x)
      -
                     tputs                   curs_termcap(3x)
                     tputs                   curs_terminfo(3x)
                     trace                   curs_trace(3x)*
      @@ -653,6 +658,7 @@
                     unget_wch               curs_get_wch(3x)
                     ungetch                 curs_getch(3x)
                     ungetmouse              curs_mouse(3x)*
      +
                     untouchwin              curs_touch(3x)
                     use_default_colors      default_colors(3x)*
                     use_env                 curs_util(3x)
      @@ -710,7 +716,6 @@
                     wgetch                  curs_getch(3x)
                     wgetn_wstr              curs_get_wstr(3x)
                     wgetnstr                curs_getstr(3x)
      -
                     wgetstr                 curs_getstr(3x)
                     whline                  curs_border(3x)
                     whline_set              curs_border_set(3x)
      @@ -720,6 +725,7 @@
                     winch                   curs_inch(3x)
                     winchnstr               curs_inchstr(3x)
                     winchstr                curs_inchstr(3x)
      +
                     winnstr                 curs_instr(3x)
                     winnwstr                curs_inwstr(3x)
                     wins_nwstr              curs_ins_wstr(3x)
      @@ -755,17 +761,17 @@
       
       

      RETURN VALUE

      -       Routines  that  return  an integer return ERR upon failure
      -       and an integer value other than ERR upon  successful  com-
      -       pletion,  unless  otherwise  noted in the routine descrip-
      +       Routines that return an integer return  ERR  upon  failure
      +       and  an  integer value other than ERR upon successful com-
      +       pletion, unless otherwise noted in  the  routine  descrip-
              tions.
       
              As a general rule, routines check for null pointers passed
              as parameters, and handle this as an error.
       
      -       All  macros  return  the  value  of  the w version, except
      +       All macros return the  value  of  the  w  version,  except
              setscrreg, wsetscrreg, getyx, getbegyx, and getmaxyx.  The
      -       return  values  of setscrreg, wsetscrreg, getyx, getbegyx,
      +       return values of setscrreg, wsetscrreg,  getyx,  getbegyx,
              and getmaxyx are undefined (i.e., these should not be used
              as the right-hand side of assignment statements).
       
      @@ -778,414 +784,436 @@
              ing the runtime behavior of the ncurses library.  The most
              important ones have been already discussed in detail.
       
      -       CC   When set, change occurrences of the command_character
      -            (i.e., the cmdch capability) of the  loaded  terminfo
      -            entries to the value of this variable.  Very few ter-
      -            minfo entries provide this feature.
      -
      -            Because this name is also used in  development  envi-
      -            ronments  to represent the C compiler's name, ncurses
      -            ignores it if it does not happen to be a single char-
      -            acter.
      -
      -       BAUDRATE
      -            The  debugging  library checks this environment vari-
      -            able when the application has redirected output to  a
      -            file.   The  variable's numeric value is used for the
      -            baudrate.  If no value is found, ncurses  uses  9600.
      -            This  allows  testers  to  construct repeatable test-
      -            cases that take into account  costs  that  depend  on
      -            baudrate.
      -
      -       COLUMNS
      -            Specify  the  width  of  the  screen  in  characters.
      -            Applications running in a windowing environment  usu-
      -            ally  are  able  to obtain the width of the window in
      -            which they are executing.   If  neither  the  COLUMNS
      -            value  nor  the  terminal's screen size is available,
      -            ncurses uses the size which may be specified  in  the
      -            terminfo database (i.e., the cols capability).
      -
      -            It  is  important that your application use a correct
      -            size for the screen.  This  is  not  always  possible
      -            because  your  application  may  be running on a host
      -            which does not honor NAWS (Negotiations About  Window
      -            Size),  or  because  you  are  temporarily running as
      -            another user.  However, setting COLUMNS and/or  LINES
      -            overrides  the  library's  use  of  the  screen  size
      -            obtained from the operating system.
      -
      -            Either COLUMNS or  LINES  symbols  may  be  specified
      -            independently.   This  is mainly useful to circumvent
      -            legacy misfeatures of  terminal  descriptions,  e.g.,
      -            xterm which commonly specifies a 65 line screen.  For
      -            best results, lines and cols should not be  specified
      -            in a terminal description for terminals which are run
      -            as emulations.
      -
      -            Use the use_env function to disable all use of exter-
      -            nal  environment  (but not including system calls) to
      -            determine the screen size.  Use the use_tioctl  func-
      -            tion  to  update COLUMNS or LINES to match the screen
      -            size obtained from system calls or the terminal data-
      -            base.
      -
      -       ESCDELAY
      -            Specifies  the total time, in milliseconds, for which
      -            ncurses will await  a  character  sequence,  e.g.,  a
      -            function  key.  The default value, 1000 milliseconds,
      -            is enough for most uses.  However, it is made a vari-
      -            able to accommodate unusual applications.
      -
      -            The most common instance where you may wish to change
      -            this value is to work with slow hosts, e.g.,  running
      -            on  a  network.   If  the host cannot read characters
      -            rapidly enough, it will have the same  effect  as  if
      -            the  terminal did not send characters rapidly enough.
      -            The library will still see a timeout.
      -
      -            Note that xterm mouse events are built up from  char-
      -            acter  sequences  received  from  the xterm.  If your
      -            application makes heavy use of multiple-clicking, you
      -            may  wish  to lengthen this default value because the
      -            timeout applies to the composed multi-click event  as
      -            well as the individual clicks.
      -
      -            In  addition to the environment variable, this imple-
      -            mentation provides a global variable  with  the  same
      -            name.  Portable applications should not rely upon the
      -            presence of ESCDELAY in either form, but setting  the
      -            environment  variable rather than the global variable
      -            does not create problems when compiling  an  applica-
      -            tion.
      -
      -       HOME Tells  ncurses where your home directory is.  That is
      -            where  it  may  read  and  write  auxiliary  terminal
      -            descriptions:
      -
      -            $HOME/.termcap
      -            $HOME/.terminfo
      -
      -       LINES
      -            Like  COLUMNS,  specify  the  height of the screen in
      -            characters.  See COLUMNS for a detailed description.
      -
      -       MOUSE_BUTTONS_123
      -            This applies only to the OS/2 EMX port.  It specifies
      -            the  order  of  buttons on the mouse.  OS/2 numbers a
      -            3-button mouse inconsistently from other platforms:
      -
      -            1 = left
      -            2 = right
      -            3 = middle.
      -
      -            This variable lets  you  customize  the  mouse.   The
      -            variable  must  be  three  numeric  digits 1-3 in any
      -            order, e.g., 123 or 321.  If  it  is  not  specified,
      -            ncurses uses 132.
      -
      -       NCURSES_ASSUMED_COLORS
      -            Override  the  compiled-in assumption that the termi-
      -            nal's  default   colors   are   white-on-black   (see
      -            default_colors(3x)).   You may set the foreground and
      -            background color values with this  environment  vari-
      -            able  by  proving  a 2-element list: foreground,back-
      -            ground.  For example, to tell ncurses to  not  assume
      -            anything  about  the colors, set this to "-1,-1".  To
      -            make it green-on-black, set it to "2,0".   Any  posi-
      -            tive value from zero to the terminfo max_colors value
      -            is allowed.
      -
      -       NCURSES_CONSOLE2
      -            This applies only to the MinGW port of ncurses.
      -
      -            The Console2 program's handling of the Microsoft Con-
      -            sole API call CreateConsoleScreenBuffer is defective.
      -            Applications which use this will hang.   However,  it
      -            is  possible  to  simulate the action of this call by
      -            mapping coordinates, explicitly saving and  restoring
      -            the  original  screen contents.  Setting the environ-
      -            ment variable NCGDB has the same effect.
      -
      -       NCURSES_GPM_TERMS
      -            This applies only to ncurses configured  to  use  the
      -            GPM interface.
      -
      -            If present, the environment variable is a list of one
      -            or more terminal names against which the  TERM  envi-
      -            ronment  variable is matched.  Setting it to an empty
      -            value disables the GPM interface; using the  built-in
      -            support for xterm, etc.
      -
      -            If  the  environment variable is absent, ncurses will
      -            attempt to open GPM if TERM contains "linux".
      -
      -       NCURSES_NO_HARD_TABS
      -            Ncurses may use tabs as part of the  cursor  movement
      -            optimization.   In  some  cases, your terminal driver
      -            may not handle these properly.  Set this  environment
      -            variable to disable the feature.  You can also adjust
      -            your stty settings to avoid the problem.
      -
      -       NCURSES_NO_MAGIC_COOKIE
      -            Some  terminals  use  a  magic-cookie  feature  which
      -            requires  special  handling  to make highlighting and
      -            other video attributes  display  properly.   You  can
      -            suppress  the  highlighting entirely for these termi-
      -            nals by setting this environment variable.
      -
      -       NCURSES_NO_PADDING
      -            Most of the terminal  descriptions  in  the  terminfo
      -            database  are  written for real "hardware" terminals.
      -            Many people use terminal emulators  which  run  in  a
      -            windowing  environment  and use curses-based applica-
      -            tions.  Terminal emulators can duplicate all  of  the
      -            important aspects of a hardware terminal, but they do
      -            not have the same limitations.  The chief  limitation
      -            of  a  hardware  terminal from the standpoint of your
      -            application is the management of dataflow, i.e., tim-
      -            ing.  Unless a hardware terminal is interfaced into a
      -            terminal concentrator (which does flow  control),  it
      -            (or  your application) must manage dataflow, prevent-
      -            ing overruns.  The  cheapest  solution  (no  hardware
      -            cost) is for your program to do this by pausing after
      -            operations that the terminal  does  slowly,  such  as
      -            clearing the display.
      -
      -            As  a  result,  many terminal descriptions (including
      -            the vt100) have delay times embedded.  You  may  wish
      -            to  use  these  descriptions, but not want to pay the
      -            performance penalty.
      -
      -            Set the NCURSES_NO_PADDING  environment  variable  to
      -            disable all but mandatory padding.  Mandatory padding
      -            is used as a part of special control  sequences  such
      -            as flash.
      -
      -       NCURSES_NO_SETBUF
      -            This setting is obsolete.  Before changes
      -
      -            o   started with 5.9 patch 20120825 and
      -
      -            o   continued though 5.9 patch 20130126
      -
      -            ncurses  enabled buffered output during terminal ini-
      -            tialization.  This was done (as in SVr4  curses)  for
      -            performance  reasons.   For testing purposes, both of
      -            ncurses and certain applications,  this  feature  was
      -            made  optional.   Setting the NCURSES_NO_SETBUF vari-
      -            able disabled output buffering, leaving the output in
      -            the original (usually line buffered) mode.
      -
      -            In  the  current implementation, ncurses performs its
      -            own buffering and does not require  this  workaround.
      -            It does not modify the buffering of the standard out-
      -            put.
      -
      -            The reason for the change was to  make  the  behavior
      -            for  interrupts  and  other signals more robust.  One
      -            drawback is  that  certain  nonconventional  programs
      -            would mix ordinary stdio calls with ncurses calls and
      -            (usually) work.  This is  no  longer  possible  since
      -            ncurses is not using the buffered standard output but
      -            its own output (to the same file descriptor).   As  a
      -            special  case, the low-level calls such as putp still
      -            use the standard output.  But high-level curses calls
      -            do not.
      -
      -       NCURSES_NO_UTF8_ACS
      -            During initialization, the ncurses library checks for
      -            special cases where VT100 line-drawing (and the  cor-
      -            responding   alternate  character  set  capabilities)
      -            described in the terminfo are known  to  be  missing.
      -            Specifically,  when  running  in  a UTF-8 locale, the
      -            Linux console emulator and  the  GNU  screen  program
      -            ignore  these.   Ncurses  checks the TERM environment
      -            variable for these.  For  other  special  cases,  you
      -            should  set  this  environment  variable.  Doing this
      -            tells ncurses to use Unicode values which  correspond
      -            to the VT100 line-drawing glyphs.  That works for the
      -            special cases cited, and is likely to work for termi-
      -            nal emulators.
      -
      -            When  setting  this  variable, you should set it to a
      -            nonzero value.  Setting it to zero (or to  a  nonnum-
      -            ber)  disables  the  special  check  for  "linux" and
      -            "screen".
      -
      -            As  an  alternative  to  the  environment   variable,
      -            ncurses  checks  for  an extended terminfo capability
      -            U8.  This is a numeric capability which can  be  com-
      -            piled using tic -x.  For example
      -
      -            # linux console, if patched to provide working
      -            # VT100 shift-in/shift-out, with corresponding font.
      -            linux-vt100|linux console with VT100 line-graphics,
      -                    U8#0, use=linux,
      -
      -            # uxterm with vt100Graphics resource set to false
      -            xterm-utf8|xterm relying on UTF-8 line-graphics,
      -                    U8#1, use=xterm,
      -
      -            The name "U8" is chosen to be two characters, to per-
      -            mit it to be used by applications that  use  ncurses'
      -            termcap interface.
      -
      -       NCURSES_TRACE
      -            During  initialization, the ncurses debugging library
      -            checks the NCURSES_TRACE environment variable.  If it
      -            is  defined,  to  a  numeric value, ncurses calls the
      -            trace function, using that value as the argument.
      -
      -            The argument values, which are defined  in  curses.h,
      -            provide  several  types of information.  When running
      -            with traces enabled, your application will write  the
      -            file trace to the current directory.
      -
      -       TERM Denotes  your  terminal  type.  Each terminal type is
      -            distinct, though many are similar.
      -
      -            TERM is commonly set by terminal  emulators  to  help
      -            applications  find  a  workable terminal description.
      -            Some of those choose a popular  approximation,  e.g.,
      -            "ansi",  "vt100",  "xterm"  rather than an exact fit.
      -            Not infrequently, your application will have problems
      -            with that approach, e.g., incorrect function-key def-
      -            initions.
      -
      -            If you set TERM in your environment, it has no effect
      -            on  the  operation of the terminal emulator.  It only
      -            affects the way applications work within  the  termi-
      -            nal.  Likewise, as a general rule (xterm being a rare
      -            exception), terminal emulators  which  allow  you  to
      -            specify TERM as a parameter or configuration value do
      -            not change their behavior to match that setting.
      -
      -       TERMCAP
      -            If the ncurses library has been configured with term-
      -            cap  support,  ncurses  will  check  for a terminal's
      -            description in termcap form if it is not available in
      -            the terminfo database.
      -
      -            The  TERMCAP  environment  variable contains either a
      -            terminal description (with newlines stripped out), or
      -            a  file name telling where the information denoted by
      -            the TERM  environment  variable  exists.   In  either
      -            case,  setting it directs ncurses to ignore the usual
      -            place for this information, e.g., /etc/termcap.
      -
      -       TERMINFO
      -            Overrides the directory in which ncurses searches for
      -            your terminal description.  This is the simplest, but
      -            not the only way to change the list  of  directories.
      -            The complete list of directories in order follows:
      -
      -            o   the  last  directory  to  which ncurses wrote, if
      -                any, is searched first
      -
      -            o   the directory specified by the TERMINFO  environ-
      -                ment variable
      -
      -            o   $HOME/.terminfo
      -
      -            o   directories  listed in the TERMINFO_DIRS environ-
      -                ment variable
      -
      -            o   one or more directories whose names  are  config-
      -                ured and compiled into the ncurses library, i.e.,
      -
      -                o   /usr/local/ncurses/share/ter-
      -                    minfo:/usr/share/terminfo  (corresponding  to
      -                    the TERMINFO_DIRS variable)
      -
      -                o   /usr/share/terminfo   (corresponding  to  the
      -                    TERMINFO variable)
      -
      -       TERMINFO_DIRS
      -            Specifies a list of directories to search for  termi-
      -            nal  descriptions.   The  list is separated by colons
      -            (i.e., ":") on Unix, semicolons on OS/2 EMX.
      -
      -            All of the  terminal  descriptions  are  in  terminfo
      -            form.  Normally these are stored in a directory tree,
      -            using subdirectories named by the first letter of the
      -            terminal names therein.
      -
      -            If ncurses is built with a hashed database, then each
      -            entry in this list can also be the path of the corre-
      -            sponding database file.
      -
      -            If  ncurses is built with a support for reading term-
      -            cap files directly, then an entry in this list may be
      -            the path of a termcap file.
      -
      -       TERMPATH
      -            If  TERMCAP  does  not  hold a file name then ncurses
      -            checks the TERMPATH environment variable.  This is  a
      -            list  of  filenames  separated  by  spaces  or colons
      -            (i.e., ":") on Unix, semicolons on OS/2 EMX.
      -
      -            If the TERMPATH  environment  variable  is  not  set,
      -            ncurses    looks    in    the   files   /etc/termcap,
      -            /usr/share/misc/termcap and $HOME/.termcap,  in  that
      -            order.
      +   CC
      +       When set,  change  occurrences  of  the  command_character
      +       (i.e.,  the  cmdch  capability)  of  the  loaded  terminfo
      +       entries to the value of this variable.  Very few  terminfo
      +       entries provide this feature.
      +
      +       Because this name is also used in development environments
      +       to represent the C compiler's name, ncurses ignores it  if
      +       it does not happen to be a single character.
      +
      +
      +
      +

      BAUDRATE

      +       The  debugging  library  checks  this environment variable
      +       when the application has redirected output to a file.  The
      +       variable's  numeric value is used for the baudrate.  If no
      +       value is found, ncurses uses 9600.  This allows testers to
      +       construct  repeatable  test-cases  that  take into account
      +       costs that depend on baudrate.
      +
      +
      +
      +

      COLUMNS

      +       Specify the width of the screen in  characters.   Applica-
      +       tions  running in a windowing environment usually are able
      +       to obtain the width of the window in which they  are  exe-
      +       cuting.   If  neither the COLUMNS value nor the terminal's
      +       screen size is available, ncurses uses the size which  may
      +       be  specified  in  the  terminfo  database (i.e., the cols
      +       capability).
      +
      +       It is important that your application use a  correct  size
      +       for  the screen.  This is not always possible because your
      +       application may be running on a host which does not  honor
      +       NAWS  (Negotiations About Window Size), or because you are
      +       temporarily running as  another  user.   However,  setting
      +       COLUMNS  and/or  LINES  overrides the library's use of the
      +       screen size obtained from the operating system.
      +
      +       Either COLUMNS or LINES symbols may be specified  indepen-
      +       dently.   This  is mainly useful to circumvent legacy mis-
      +       features of terminal descriptions, e.g., xterm which  com-
      +       monly specifies a 65 line screen.  For best results, lines
      +       and cols should not be specified in a terminal description
      +       for terminals which are run as emulations.
      +
      +       Use  the  use_env  function to disable all use of external
      +       environment (but not including system calls) to  determine
      +       the  screen  size.   Use the use_tioctl function to update
      +       COLUMNS or LINES to match the screen  size  obtained  from
      +       system calls or the terminal database.
      +
      +
      +
      +

      ESCDELAY

      +       Specifies  the  total  time,  in  milliseconds,  for which
      +       ncurses will await a character sequence, e.g., a  function
      +       key.   The default value, 1000 milliseconds, is enough for
      +       most uses.  However, it is made a variable to  accommodate
      +       unusual applications.
      +
      +       The most common instance where you may wish to change this
      +       value is to work with slow hosts, e.g., running on a  net-
      +       work.   If the host cannot read characters rapidly enough,
      +       it will have the same effect as if the  terminal  did  not
      +       send  characters  rapidly  enough.  The library will still
      +       see a timeout.
      +
      +       Note that xterm mouse events are built up  from  character
      +       sequences  received  from  the xterm.  If your application
      +       makes heavy use of  multiple-clicking,  you  may  wish  to
      +       lengthen this default value because the timeout applies to
      +       the composed multi-click event as well as  the  individual
      +       clicks.
      +
      +       In  addition to the environment variable, this implementa-
      +       tion provides a global variable with the same name.   Por-
      +       table  applications  should  not rely upon the presence of
      +       ESCDELAY in either form, but setting the environment vari-
      +       able rather than the global variable does not create prob-
      +       lems when compiling an application.
      +
      +
      +
      +

      HOME

      +       Tells ncurses where your home directory is.  That is where
      +       it may read and write auxiliary terminal descriptions:
      +
      +       $HOME/.termcap
      +       $HOME/.terminfo
      +
      +
      +
      +

      LINES

      +       Like  COLUMNS, specify the height of the screen in charac-
      +       ters.  See COLUMNS for a detailed description.
      +
      +
      +
      +

      MOUSE_BUTTONS_123

      +       This applies only to the OS/2 EMX port.  It specifies  the
      +       order  of  buttons  on the mouse.  OS/2 numbers a 3-button
      +       mouse inconsistently from other platforms:
      +
      +       1 = left
      +       2 = right
      +       3 = middle.
      +
      +       This variable lets you customize the mouse.  The  variable
      +       must  be  three numeric digits 1-3 in any order, e.g., 123
      +       or 321.  If it is not specified, ncurses uses 132.
      +
      +
      +
      +

      NCURSES_ASSUMED_COLORS

      +       Override the compiled-in assumption  that  the  terminal's
      +       default   colors   are  white-on-black  (see  default_col-
      +       ors(3x)).  You may set the foreground and background color
      +       values  with this environment variable by proving a 2-ele-
      +       ment list: foreground,background.  For  example,  to  tell
      +       ncurses  to not assume anything about the colors, set this
      +       to "-1,-1".  To make it green-on-black, set it  to  "2,0".
      +       Any  positive  value  from zero to the terminfo max_colors
      +       value is allowed.
      +
      +
      +
      +

      NCURSES_CONSOLE2

      +       This applies only to the MinGW port of ncurses.
      +
      +       The Console2 program's handling of the  Microsoft  Console
      +       API call CreateConsoleScreenBuffer is defective.  Applica-
      +       tions which use this will hang.  However, it  is  possible
      +       to  simulate  the  action  of this call by mapping coordi-
      +       nates, explicitly saving and restoring the original screen
      +       contents.   Setting the environment variable NCGDB has the
      +       same effect.
      +
      +
      +
      +

      NCURSES_GPM_TERMS

      +       This applies only to ncurses configured  to  use  the  GPM
      +       interface.
      +
      +       If  present,  the environment variable is a list of one or
      +       more terminal names against  which  the  TERM  environment
      +       variable  is  matched.   Setting it to an empty value dis-
      +       ables the GPM interface; using the  built-in  support  for
      +       xterm, etc.
      +
      +       If  the  environment  variable  is  absent,  ncurses  will
      +       attempt to open GPM if TERM contains "linux".
      +
      +
      +
      +

      NCURSES_NO_HARD_TABS

      +       Ncurses may use tabs as part of the cursor movement  opti-
      +       mization.   In  some  cases,  your terminal driver may not
      +       handle these properly.  Set this environment  variable  to
      +       disable  the  feature.  You can also adjust your stty set-
      +       tings to avoid the problem.  NCURSES_NO_MAGIC_COOKIE  Some
      +       terminals  use  a magic-cookie feature which requires spe-
      +       cial  handling  to  make  highlighting  and  other   video
      +       attributes  display  properly.  You can suppress the high-
      +       lighting entirely for  these  terminals  by  setting  this
      +       environment variable.
      +
      +
      +
      +

      NCURSES_NO_PADDING

      +       Most of the terminal descriptions in the terminfo database
      +       are written for real "hardware"  terminals.   Many  people
      +       use  terminal  emulators which run in a windowing environ-
      +       ment and use curses-based applications.   Terminal  emula-
      +       tors can duplicate all of the important aspects of a hard-
      +       ware terminal, but they do not have the same  limitations.
      +       The  chief  limitation  of  a  hardware  terminal from the
      +       standpoint  of  your  application  is  the  management  of
      +       dataflow,  i.e.,  timing.   Unless  a hardware terminal is
      +       interfaced into a terminal concentrator (which  does  flow
      +       control),  it  (or your application) must manage dataflow,
      +       preventing overruns.  The cheapest solution  (no  hardware
      +       cost)  is  for  your  program  to do this by pausing after
      +       operations that the terminal does slowly, such as clearing
      +       the display.
      +
      +       As  a  result,  many  terminal descriptions (including the
      +       vt100) have delay times embedded.  You  may  wish  to  use
      +       these  descriptions,  but  not want to pay the performance
      +       penalty.
      +
      +       Set the NCURSES_NO_PADDING environment variable to disable
      +       all but mandatory padding.  Mandatory padding is used as a
      +       part of special control sequences such as flash.
      +
      +
      +
      +

      NCURSES_NO_SETBUF

      +       This setting is obsolete.  Before changes
      +
      +          o   started with 5.9 patch 20120825 and
      +
      +          o   continued though 5.9 patch 20130126
      +
      +       ncurses enabled buffered output during  terminal  initial-
      +       ization.   This  was  done (as in SVr4 curses) for perfor-
      +       mance reasons.  For testing purposes, both of ncurses  and
      +       certain  applications,  this  feature  was  made optional.
      +       Setting the  NCURSES_NO_SETBUF  variable  disabled  output
      +       buffering,  leaving  the  output  in the original (usually
      +       line buffered) mode.
      +
      +       In the current implementation, ncurses  performs  its  own
      +       buffering  and  does not require this workaround.  It does
      +       not modify the buffering of the standard output.
      +
      +       The reason for the change was to  make  the  behavior  for
      +       interrupts and other signals more robust.  One drawback is
      +       that certain nonconventional programs would  mix  ordinary
      +       stdio  calls  with ncurses calls and (usually) work.  This
      +       is no longer possible  since  ncurses  is  not  using  the
      +       buffered  standard  output but its own output (to the same
      +       file descriptor).  As a special case, the low-level  calls
      +       such  as  putp  still  use the standard output.  But high-
      +       level curses calls do not.
      +
      +
      +
      +

      NCURSES_NO_UTF8_ACS

      +       During initialization, the ncurses library checks for spe-
      +       cial cases where VT100 line-drawing (and the corresponding
      +       alternate character set  capabilities)  described  in  the
      +       terminfo are known to be missing.  Specifically, when run-
      +       ning in a UTF-8 locale, the Linux console emulator and the
      +       GNU  screen program ignore these.  Ncurses checks the TERM
      +       environment variable for these.  For other special  cases,
      +       you  should  set  this  environment  variable.  Doing this
      +       tells ncurses to use Unicode values  which  correspond  to
      +       the VT100 line-drawing glyphs.  That works for the special
      +       cases cited, and is likely to work for terminal emulators.
      +
      +       When setting this variable, you should set it to a nonzero
      +       value.   Setting  it  to zero (or to a nonnumber) disables
      +       the special check for "linux" and "screen".
      +
      +       As an alternative to  the  environment  variable,  ncurses
      +       checks  for an extended terminfo capability U8.  This is a
      +       numeric capability which can  be  compiled  using  tic -x.
      +       For example
      +
      +          # linux console, if patched to provide working
      +          # VT100 shift-in/shift-out, with corresponding font.
      +          linux-vt100|linux console with VT100 line-graphics,
      +                  U8#0, use=linux,
      +
      +          # uxterm with vt100Graphics resource set to false
      +          xterm-utf8|xterm relying on UTF-8 line-graphics,
      +                  U8#1, use=xterm,
      +
      +       The name "U8" is chosen to be two characters, to permit it
      +       to be used  by  applications  that  use  ncurses'  termcap
      +       interface.
      +
      +
      +
      +

      NCURSES_TRACE

      +       During   initialization,  the  ncurses  debugging  library
      +       checks the NCURSES_TRACE environment variable.  If  it  is
      +       defined, to a numeric value, ncurses calls the trace func-
      +       tion, using that value as the argument.
      +
      +       The argument values, which are defined in  curses.h,  pro-
      +       vide  several  types  of  information.   When running with
      +       traces enabled, your application will write the file trace
      +       to the current directory.
      +
      +       See curs_trace(3x) for more information.
      +
      +
      +
      +

      TERM

      +       Denotes  your  terminal  type.  Each terminal type is dis-
      +       tinct, though many are similar.
      +
      +       TERM is commonly set by terminal emulators to help  appli-
      +       cations  find  a  workable  terminal description.  Some of
      +       those  choose  a  popular  approximation,  e.g.,   "ansi",
      +       "vt100",  "xterm"  rather  than  an exact fit.  Not infre-
      +       quently, your application will  have  problems  with  that
      +       approach, e.g., incorrect function-key definitions.
      +
      +       If  you  set TERM in your environment, it has no effect on
      +       the operation of the terminal emulator.  It  only  affects
      +       the  way applications work within the terminal.  Likewise,
      +       as a general rule (xterm being a rare exception), terminal
      +       emulators  which  allow you to specify TERM as a parameter
      +       or configuration value do not  change  their  behavior  to
      +       match that setting.
      +
      +
      +
      +

      TERMCAP

      +       If  the  ncurses  library has been configured with termcap
      +       support, ncurses will check for a  terminal's  description
      +       in  termcap  form  if  it is not available in the terminfo
      +       database.
      +
      +       The TERMCAP environment variable contains either a  termi-
      +       nal  description  (with  newlines stripped out), or a file
      +       name telling where the information  denoted  by  the  TERM
      +       environment  variable  exists.  In either case, setting it
      +       directs ncurses to ignore the usual place for this  infor-
      +       mation, e.g., /etc/termcap.
      +
      +
      +
      +

      TERMINFO

      +       Overrides the directory in which ncurses searches for your
      +       terminal description.  This is the simplest, but  not  the
      +       only  way to change the list of directories.  The complete
      +       list of directories in order follows:
      +
      +          o   the last directory to which ncurses wrote, if  any,
      +              is searched first
      +
      +          o   the directory specified by the TERMINFO environment
      +              variable
      +
      +          o   $HOME/.terminfo
      +
      +          o   directories listed in the TERMINFO_DIRS environment
      +              variable
      +
      +          o   one  or more directories whose names are configured
      +              and compiled into the ncurses library, i.e.,
      +
      +             o   /usr/local/ncurses/share/ter-
      +                 minfo:/usr/share/terminfo  (corresponding to the
      +                 TERMINFO_DIRS variable)
      +
      +             o   /usr/share/terminfo (corresponding to  the  TER-
      +                 MINFO variable)
      +
      +
      +
      +

      TERMINFO_DIRS

      +       Specifies  a  list  of  directories to search for terminal
      +       descriptions.  The list is separated by colons (i.e., ":")
      +       on Unix, semicolons on OS/2 EMX.
      +
      +       All  of  the  terminal  descriptions are in terminfo form.
      +       Normally these are stored in a directory tree, using  sub-
      +       directories  named  by  the  first  letter of the terminal
      +       names therein.
      +
      +       If ncurses is built with  a  hashed  database,  then  each
      +       entry in this list can also be the path of the correspond-
      +       ing database file.
      +
      +       If ncurses is built with a  support  for  reading  termcap
      +       files directly, then an entry in this list may be the path
      +       of a termcap file.
      +
      +
      +
      +

      TERMPATH

      +       If TERMCAP does not hold a file name then  ncurses  checks
      +       the  TERMPATH  environment  variable.   This  is a list of
      +       filenames separated by spaces or  colons  (i.e.,  ":")  on
      +       Unix, semicolons on OS/2 EMX.
      +
      +       If  the  TERMPATH environment variable is not set, ncurses
      +       looks in the files  /etc/termcap,  /usr/share/misc/termcap
      +       and $HOME/.termcap, in that order.
       
              The  library  may be configured to disregard the following
              variables when the current user is the  superuser  (root),
              or if the application uses setuid or setgid permissions:
       
      -              $TERMINFO,  $TERMINFO_DIRS,  $TERMPATH,  as well as
      -              $HOME.
      +       $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
       
       
       

      ALTERNATE CONFIGURATIONS

      -       Several different configurations are  possible,  depending
      -       on   the  configure  script  options  used  when  building
      -       ncurses.  There are a few main options whose  effects  are
      +       Several  different  configurations are possible, depending
      +       on  the  configure  script  options  used  when   building
      +       ncurses.   There  are a few main options whose effects are
              visible to the applications developer using ncurses:
       
              --disable-overwrite
      -            The  standard include for ncurses is as noted in SYN-
      +            The standard include for ncurses is as noted in  SYN-
                   OPSIS:
       
      -            #include <curses.h>
      +          #include <curses.h>
       
      -            This option is used to avoid filename conflicts  when
      -            ncurses  is  not the main implementation of curses of
      -            the computer.   If  ncurses  is  installed  disabling
      -            overwrite,  it  puts  its  headers in a subdirectory,
      +            This  option is used to avoid filename conflicts when
      +            ncurses is not the main implementation of  curses  of
      +            the  computer.   If  ncurses  is  installed disabling
      +            overwrite, it puts its  headers  in  a  subdirectory,
                   e.g.,
       
      -            #include <ncurses/curses.h>
      +          #include <ncurses/curses.h>
       
      -            It also omits a symbolic link which would  allow  you
      +            It  also  omits a symbolic link which would allow you
                   to use -lcurses to build executables.
       
              --enable-widec
      -            The  configure script renames the library and (if the
      -            --disable-overwrite option is used) puts  the  header
      +            The configure script renames the library and (if  the
      +            --disable-overwrite  option  is used) puts the header
                   files  in  a  different  subdirectory.   All  of  the
      -            library names have a  "w"  appended  to  them,  i.e.,
      +            library  names  have  a  "w"  appended to them, i.e.,
                   instead of
       
      -            -lncurses
      +          -lncurses
       
                   you link with
       
      -            -lncursesw
      +          -lncursesw
       
                   You must also define _XOPEN_SOURCE_EXTENDED when com-
      -            piling for the  wide-character  library  to  use  the
      -            extended  (wide-character)  functions.   The curses.h
      -            file  which  is  installed  for  the   wide-character
      -            library  is designed to be compatible with the normal
      +            piling  for  the  wide-character  library  to use the
      +            extended (wide-character)  functions.   The  curses.h
      +            file   which  is  installed  for  the  wide-character
      +            library is designed to be compatible with the  normal
                   library's header.  Only the size of the WINDOW struc-
      -            ture  differs, and very few applications require more
      -            than a  pointer  to  WINDOWs.   If  the  headers  are
      -            installed   allowing  overwrite,  the  wide-character
      -            library's headers should be installed last, to  allow
      -            applications  to  be  built using either library from
      +            ture differs, and very few applications require  more
      +            than  a  pointer  to  WINDOWs.   If  the  headers are
      +            installed  allowing  overwrite,  the   wide-character
      +            library's  headers should be installed last, to allow
      +            applications to be built using  either  library  from
                   the same set of headers.
       
              --with-pthread
      @@ -1193,10 +1221,10 @@
                   library names have a "t" appended to them (before any
                   "w" added by --enable-widec).
       
      -            The global variables such as LINES  are  replaced  by
      -            macros  to allow read-only access.  At the same time,
      -            setter-functions are provided to  set  these  values.
      -            Some  applications  (very few) may require changes to
      +            The  global  variables  such as LINES are replaced by
      +            macros to allow read-only access.  At the same  time,
      +            setter-functions  are  provided  to set these values.
      +            Some applications (very few) may require  changes  to
                   work with this convention.
       
              --with-shared
      @@ -1206,16 +1234,16 @@
              --with-debug
       
              --with-profile
      -            The shared and normal (static) library  names  differ
      -            by  their  suffixes,  e.g.,  libncurses.so  and libn-
      -            curses.a.  The debug and profiling  libraries  add  a
      +            The  shared  and normal (static) library names differ
      +            by their  suffixes,  e.g.,  libncurses.so  and  libn-
      +            curses.a.   The  debug  and profiling libraries add a
                   "_g" and a "_p" to the root names respectively, e.g.,
                   libncurses_g.a and libncurses_p.a.
       
              --with-trace
      -            The trace function  normally  resides  in  the  debug
      +            The  trace  function  normally  resides  in the debug
                   library, but it is sometimes useful to configure this
      -            in the  shared  library.   Configure  scripts  should
      +            in  the  shared  library.   Configure  scripts should
                   check for the function's existence rather than assum-
                   ing it is always in the debug library.
       
      @@ -1223,14 +1251,14 @@
       

      FILES

              /usr/share/tabset
      -            directory containing  initialization  files  for  the
      +            directory  containing  initialization  files  for the
                   terminal capability database /usr/share/terminfo ter-
                   minal capability database
       
       
       

      SEE ALSO

      -       terminfo(5) and related pages whose  names  begin  "curs_"
      +       terminfo(5)  and  related  pages whose names begin "curs_"
              for detailed routine descriptions.
              curs_variables(3x)
       
      @@ -1240,119 +1268,119 @@
              The  ncurses  library  can  be  compiled  with  an  option
              (-DUSE_GETCAP) that falls back to the old-style /etc/term-
              cap file if the terminal setup code cannot find a terminfo
      -       entry corresponding to TERM.  Use of this feature  is  not
      -       recommended,  as it essentially includes an entire termcap
      -       compiler in the ncurses startup code, at significant  cost
      +       entry  corresponding  to TERM.  Use of this feature is not
      +       recommended, as it essentially includes an entire  termcap
      +       compiler  in the ncurses startup code, at significant cost
              in core and startup cycles.
       
      -       The  ncurses  library  includes  facilities  for capturing
      -       mouse events on certain terminals (including xterm).   See
      +       The ncurses  library  includes  facilities  for  capturing
      +       mouse  events on certain terminals (including xterm).  See
              the curs_mouse(3x) manual page for details.
       
      -       The  ncurses library includes facilities for responding to
      -       window resizing events, e.g., when running  in  an  xterm.
      -       See  the  resizeterm(3x)  and wresize(3x) manual pages for
      -       details.  In addition, the library may be configured  with
      +       The ncurses library includes facilities for responding  to
      +       window  resizing  events,  e.g., when running in an xterm.
      +       See the resizeterm(3x) and wresize(3x)  manual  pages  for
      +       details.   In addition, the library may be configured with
              a SIGWINCH handler.
       
      -       The  ncurses library extends the fixed set of function key
      -       capabilities of  terminals  by  allowing  the  application
      -       designer  to  define  additional key sequences at runtime.
      +       The ncurses library extends the fixed set of function  key
      +       capabilities  of  terminals  by  allowing  the application
      +       designer to define additional key  sequences  at  runtime.
              See the define_key(3x) key_defined(3x), and keyok(3x) man-
              ual pages for details.
       
              The ncurses library can exploit the capabilities of termi-
      -       nals which implement the ISO-6429 SGR 39 and SGR  49  con-
      +       nals  which  implement the ISO-6429 SGR 39 and SGR 49 con-
              trols, which allow an application to reset the terminal to
      -       its original foreground and background colors.   From  the
      -       users'  perspective,  the application is able to draw col-
      -       ored text on a background  whose  color  is  set  indepen-
      -       dently,  providing  better  control  over color contrasts.
      +       its  original  foreground and background colors.  From the
      +       users' perspective, the application is able to  draw  col-
      +       ored  text  on  a  background  whose color is set indepen-
      +       dently, providing better  control  over  color  contrasts.
              See the default_colors(3x) manual page for details.
       
      -       The ncurses library  includes  a  function  for  directing
      -       application  output  to a printer attached to the terminal
      +       The  ncurses  library  includes  a  function for directing
      +       application output to a printer attached to  the  terminal
              device.  See the curs_print(3x) manual page for details.
       
       
       

      PORTABILITY

      -       The ncurses library is intended to be  BASE-level  confor-
      +       The  ncurses  library is intended to be BASE-level confor-
              mant with XSI Curses.  The EXTENDED XSI Curses functional-
              ity (including color support) is supported.
       
      -       A small number of local differences (that  is,  individual
      -       differences  between the XSI Curses and ncurses calls) are
      -       described in  PORTABILITY  sections  of  the  library  man
      +       A  small  number of local differences (that is, individual
      +       differences between the XSI Curses and ncurses calls)  are
      +       described  in  PORTABILITY  sections  of  the  library man
              pages.
       
      -       Unlike  other  implementations, this one checks parameters
      -       such as pointers to WINDOW structures to ensure  they  are
      -       not  null.  The main reason for providing this behavior is
      +       Unlike other implementations, this one  checks  parameters
      +       such  as  pointers to WINDOW structures to ensure they are
      +       not null.  The main reason for providing this behavior  is
              to guard against programmer error.  The standard interface
              does not provide a way for the library to tell an applica-
      -       tion which  of  several  possible  errors  were  detected.
      -       Relying  on  this (or some other) extension will adversely
      +       tion  which  of  several  possible  errors  were detected.
      +       Relying on this (or some other) extension  will  adversely
              affect the portability of curses applications.
       
              This implementation also contains several extensions:
       
      -       o   The routine has_key is not part of  XPG4,  nor  is  it
      -           present  in  SVr4.  See the curs_getch(3x) manual page
      +       o   The  routine  has_key  is  not part of XPG4, nor is it
      +           present in SVr4.  See the curs_getch(3x)  manual  page
                  for details.
       
      -       o   The routine slk_attr is not part of XPG4,  nor  is  it
      +       o   The  routine  slk_attr  is not part of XPG4, nor is it
                  present in SVr4.  See the curs_slk(3x) manual page for
                  details.
       
              o   The routines getmouse, mousemask, ungetmouse, mousein-
                  terval, and wenclose relating to mouse interfacing are
      -           not part of XPG4, nor are they present in  SVr4.   See
      +           not  part  of XPG4, nor are they present in SVr4.  See
                  the curs_mouse(3x) manual page for details.
       
      -       o   The  routine  mcprint  was not present in any previous
      -           curses implementation.  See the curs_print(3x)  manual
      +       o   The routine mcprint was not present  in  any  previous
      +           curses  implementation.  See the curs_print(3x) manual
                  page for details.
       
      -       o   The  routine  wresize  is  not part of XPG4, nor is it
      -           present in SVr4.  See the wresize(3x) manual page  for
      +       o   The routine wresize is not part of  XPG4,  nor  is  it
      +           present  in SVr4.  See the wresize(3x) manual page for
                  details.
       
      -       o   The  WINDOW structure's internal details can be hidden
      -           from application programs.   See  curs_opaque(3x)  for
      +       o   The WINDOW structure's internal details can be  hidden
      +           from  application  programs.   See curs_opaque(3x) for
                  the discussion of is_scrollok, etc.
       
              o   This implementation can be configured to provide rudi-
      -           mentary support for multi-threaded applications.   See
      +           mentary  support for multi-threaded applications.  See
                  curs_threads(3x) for details.
       
      -       o   This  implementation can also be configured to provide
      +       o   This implementation can also be configured to  provide
                  a set of functions which improve the ability to manage
                  multiple screens.  See curs_sp_funcs(3x) for details.
       
      -       In  historic curses versions, delays embedded in the capa-
      +       In historic curses versions, delays embedded in the  capa-
              bilities cr, ind, cub1, ff and tab activated corresponding
      -       delay  bits  in  the UNIX tty driver.  In this implementa-
      -       tion, all padding is done  by  sending  NUL  bytes.   This
      -       method  is slightly more expensive, but narrows the inter-
      -       face to the UNIX kernel significantly  and  increases  the
      +       delay bits in the UNIX tty driver.   In  this  implementa-
      +       tion,  all  padding  is  done  by sending NUL bytes.  This
      +       method is slightly more expensive, but narrows the  inter-
      +       face  to  the  UNIX kernel significantly and increases the
              package's portability correspondingly.
       
       
       

      NOTES

      -       The  header  file  <curses.h>  automatically  includes the
      +       The header  file  <curses.h>  automatically  includes  the
              header files <stdio.h> and <unctrl.h>.
       
      -       If standard output from a ncurses program  is  re-directed
      -       to  something  which  is not a tty, screen updates will be
      +       If  standard  output from a ncurses program is re-directed
      +       to something which is not a tty, screen  updates  will  be
              directed to standard error.  This was an undocumented fea-
              ture of AT&T System V Release 3 curses.
       
       
       

      AUTHORS

      -       Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
      +       Zeyd M. Ben-Halim, Eric  S.  Raymond,  Thomas  E.  Dickey.
              Based on pcurses by Pavel Curtis.
       
       
      @@ -1365,12 +1393,37 @@
       
    • SYNOPSIS
    • DESCRIPTION
    • RETURN VALUE
    • -
    • ENVIRONMENT
    • +
    • ENVIRONMENT + +
    • ALTERNATE CONFIGURATIONS
    • FILES
    • SEE ALSO
    • diff --git a/doc/html/man/panel.3x.html b/doc/html/man/panel.3x.html index 238a65b6..ab66637f 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 6.0 (patch 20150718).
      +       This describes ncurses version 6.0 (patch 20150725).
       
       
       
      diff --git a/doc/html/man/tabs.1.html b/doc/html/man/tabs.1.html index b1629bd7..af45a242 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 6.0 (patch 20150718).
      +       This describes ncurses version 6.0 (patch 20150725).
       
       
       
      diff --git a/doc/html/man/terminfo.5.html b/doc/html/man/terminfo.5.html
      index 41947cd8..b9e1d1d1 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 6.0 (patch 20150718).
      +       This describes ncurses version 6.0 (patch 20150725).
       
              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 7f2975ae..d2448c3c 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 6.0 (patch 20150718).
      +       This describes ncurses version 6.0 (patch 20150725).
       
       
       
      diff --git a/doc/html/man/toe.1m.html b/doc/html/man/toe.1m.html index bd443f69..aea786cb 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 6.0 (patch 20150718). + This describes ncurses version 6.0 (patch 20150725). diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html index 1b3595b3..8fcc32cc 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 6.0 (patch 20150718).
      +       This describes ncurses version 6.0 (patch 20150725).
       
       
       
      diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html
      index 3cf09552..0e33793c 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 6.0 (patch 20150718).
      +       This describes ncurses version 6.0 (patch 20150725).
       
       
       
      diff --git a/form/llib-lform b/form/llib-lform
      index 2b6abdcd..4371d544 100644
      --- a/form/llib-lform
      +++ b/form/llib-lform
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc.              *
      + * Copyright (c) 1998-2010,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey       1996-2005,2010                           *
      + *  Author: Thomas E. Dickey       1996-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -674,6 +674,10 @@ alnumARG;
       #undef TYPE_ALNUM
       FIELDTYPE *TYPE_ALNUM;
       
      +#undef _nc_TYPE_ALNUM
      +FIELDTYPE *_nc_TYPE_ALNUM(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_alpha.c */
       
       typedef struct
      @@ -685,6 +689,10 @@ alphaARG;
       #undef TYPE_ALPHA
       FIELDTYPE *TYPE_ALPHA;
       
      +#undef _nc_TYPE_ALPHA
      +FIELDTYPE *_nc_TYPE_ALPHA(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_enum.c */
       
       typedef struct
      @@ -707,11 +715,49 @@ enumParams;
       #undef TYPE_ENUM
       FIELDTYPE *TYPE_ENUM;
       
      +#undef _nc_TYPE_ENUM
      +FIELDTYPE *_nc_TYPE_ENUM(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_generic.c */
       
      -#undef _nc_fty_generic
      -void	_nc_fty_generic(void)
      -		{ /* void */ }
      +#undef _nc_generic_fieldtype
      +FIELDTYPE *_nc_generic_fieldtype(
      +		NCURSES_BOOL (*const field_check)(
      +		FORM	*p1, 
      +		FIELD	*p2, 
      +		const void *p3), 
      +		NCURSES_BOOL (*const char_check)(
      +		int	p1, 
      +		FORM	*p2, 
      +		FIELD	*p3, 
      +		const void *p4), 
      +		NCURSES_BOOL (*const next)(
      +		FORM	*p1, 
      +		FIELD	*p2, 
      +		const void *p3), 
      +		NCURSES_BOOL (*const prev)(
      +		FORM	*p1, 
      +		FIELD	*p2, 
      +		const void *p3), 
      +		void	(*freecallback)(
      +		void	*p1))
      +		{ return(*(FIELDTYPE **)0); }
      +
      +#undef _nc_set_generic_fieldtype
      +int	_nc_set_generic_fieldtype(
      +		FIELD	*field, 
      +		FIELDTYPE *ftyp, 
      +		int	(*argiterator)(
      +		void	**p1))
      +		{ return(*(int *)0); }
      +
      +#undef _nc_form_cursor
      +WINDOW	*_nc_form_cursor(
      +		const FORM *form, 
      +		int	*pRow, 
      +		int	*pCol)
      +		{ return(*(WINDOW **)0); }
       
       /* ./fty_int.c */
       
      @@ -734,10 +780,19 @@ integerPARM;
       #undef TYPE_INTEGER
       FIELDTYPE *TYPE_INTEGER;
       
      +#undef _nc_TYPE_INTEGER
      +FIELDTYPE *_nc_TYPE_INTEGER(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_ipv4.c */
      +
       #undef TYPE_IPV4
       FIELDTYPE *TYPE_IPV4;
       
      +#undef _nc_TYPE_IPV4
      +FIELDTYPE *_nc_TYPE_IPV4(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_num.c */
       
       #include 
      @@ -762,6 +817,10 @@ thisPARM;
       #undef TYPE_NUMERIC
       FIELDTYPE *TYPE_NUMERIC;
       
      +#undef _nc_TYPE_NUMERIC
      +FIELDTYPE *_nc_TYPE_NUMERIC(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_regex.c */
       
       #include 
      @@ -775,3 +834,7 @@ RegExp_Arg;
       
       #undef TYPE_REGEXP
       FIELDTYPE *TYPE_REGEXP;
      +
      +#undef _nc_TYPE_REGEXP
      +FIELDTYPE *_nc_TYPE_REGEXP(void)
      +		{ return(*(FIELDTYPE **)0); }
      diff --git a/form/llib-lformt b/form/llib-lformt
      index 33de63cd..967a4a76 100644
      --- a/form/llib-lformt
      +++ b/form/llib-lformt
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2010 Free Software Foundation, Inc.                        *
      + * Copyright (c) 2010-2010,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey       2010                                     *
      + *  Author: Thomas E. Dickey       2010-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -674,6 +674,10 @@ alnumARG;
       #undef TYPE_ALNUM
       FIELDTYPE *TYPE_ALNUM;
       
      +#undef _nc_TYPE_ALNUM
      +FIELDTYPE *_nc_TYPE_ALNUM(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_alpha.c */
       
       typedef struct
      @@ -685,6 +689,10 @@ alphaARG;
       #undef TYPE_ALPHA
       FIELDTYPE *TYPE_ALPHA;
       
      +#undef _nc_TYPE_ALPHA
      +FIELDTYPE *_nc_TYPE_ALPHA(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_enum.c */
       
       typedef struct
      @@ -707,11 +715,49 @@ enumParams;
       #undef TYPE_ENUM
       FIELDTYPE *TYPE_ENUM;
       
      +#undef _nc_TYPE_ENUM
      +FIELDTYPE *_nc_TYPE_ENUM(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_generic.c */
       
      -#undef _nc_fty_generic
      -void	_nc_fty_generic(void)
      -		{ /* void */ }
      +#undef _nc_generic_fieldtype
      +FIELDTYPE *_nc_generic_fieldtype(
      +		NCURSES_BOOL (*const field_check)(
      +		FORM	*p1, 
      +		FIELD	*p2, 
      +		const void *p3), 
      +		NCURSES_BOOL (*const char_check)(
      +		int	p1, 
      +		FORM	*p2, 
      +		FIELD	*p3, 
      +		const void *p4), 
      +		NCURSES_BOOL (*const next)(
      +		FORM	*p1, 
      +		FIELD	*p2, 
      +		const void *p3), 
      +		NCURSES_BOOL (*const prev)(
      +		FORM	*p1, 
      +		FIELD	*p2, 
      +		const void *p3), 
      +		void	(*freecallback)(
      +		void	*p1))
      +		{ return(*(FIELDTYPE **)0); }
      +
      +#undef _nc_set_generic_fieldtype
      +int	_nc_set_generic_fieldtype(
      +		FIELD	*field, 
      +		FIELDTYPE *ftyp, 
      +		int	(*argiterator)(
      +		void	**p1))
      +		{ return(*(int *)0); }
      +
      +#undef _nc_form_cursor
      +WINDOW	*_nc_form_cursor(
      +		const FORM *form, 
      +		int	*pRow, 
      +		int	*pCol)
      +		{ return(*(WINDOW **)0); }
       
       /* ./fty_int.c */
       
      @@ -734,10 +780,19 @@ integerPARM;
       #undef TYPE_INTEGER
       FIELDTYPE *TYPE_INTEGER;
       
      +#undef _nc_TYPE_INTEGER
      +FIELDTYPE *_nc_TYPE_INTEGER(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_ipv4.c */
      +
       #undef TYPE_IPV4
       FIELDTYPE *TYPE_IPV4;
       
      +#undef _nc_TYPE_IPV4
      +FIELDTYPE *_nc_TYPE_IPV4(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_num.c */
       
       #include 
      @@ -762,6 +817,10 @@ thisPARM;
       #undef TYPE_NUMERIC
       FIELDTYPE *TYPE_NUMERIC;
       
      +#undef _nc_TYPE_NUMERIC
      +FIELDTYPE *_nc_TYPE_NUMERIC(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_regex.c */
       
       #include 
      @@ -775,3 +834,7 @@ RegExp_Arg;
       
       #undef TYPE_REGEXP
       FIELDTYPE *TYPE_REGEXP;
      +
      +#undef _nc_TYPE_REGEXP
      +FIELDTYPE *_nc_TYPE_REGEXP(void)
      +		{ return(*(FIELDTYPE **)0); }
      diff --git a/form/llib-lformtw b/form/llib-lformtw
      index 6e9cd13f..da8682cf 100644
      --- a/form/llib-lformtw
      +++ b/form/llib-lformtw
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2010,2013 Free Software Foundation, Inc.                   *
      + * Copyright (c) 2010-2013,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            *
      @@ -687,6 +687,10 @@ alnumARG;
       #undef TYPE_ALNUM
       FIELDTYPE *TYPE_ALNUM;
       
      +#undef _nc_TYPE_ALNUM
      +FIELDTYPE *_nc_TYPE_ALNUM(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_alpha.c */
       
       typedef struct
      @@ -698,6 +702,10 @@ alphaARG;
       #undef TYPE_ALPHA
       FIELDTYPE *TYPE_ALPHA;
       
      +#undef _nc_TYPE_ALPHA
      +FIELDTYPE *_nc_TYPE_ALPHA(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_enum.c */
       
       typedef struct
      @@ -720,11 +728,49 @@ enumParams;
       #undef TYPE_ENUM
       FIELDTYPE *TYPE_ENUM;
       
      +#undef _nc_TYPE_ENUM
      +FIELDTYPE *_nc_TYPE_ENUM(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_generic.c */
       
      -#undef _nc_fty_generic
      -void	_nc_fty_generic(void)
      -		{ /* void */ }
      +#undef _nc_generic_fieldtype
      +FIELDTYPE *_nc_generic_fieldtype(
      +		NCURSES_BOOL (*const field_check)(
      +		FORM	*p1, 
      +		FIELD	*p2, 
      +		const void *p3), 
      +		NCURSES_BOOL (*const char_check)(
      +		int	p1, 
      +		FORM	*p2, 
      +		FIELD	*p3, 
      +		const void *p4), 
      +		NCURSES_BOOL (*const next)(
      +		FORM	*p1, 
      +		FIELD	*p2, 
      +		const void *p3), 
      +		NCURSES_BOOL (*const prev)(
      +		FORM	*p1, 
      +		FIELD	*p2, 
      +		const void *p3), 
      +		void	(*freecallback)(
      +		void	*p1))
      +		{ return(*(FIELDTYPE **)0); }
      +
      +#undef _nc_set_generic_fieldtype
      +int	_nc_set_generic_fieldtype(
      +		FIELD	*field, 
      +		FIELDTYPE *ftyp, 
      +		int	(*argiterator)(
      +		void	**p1))
      +		{ return(*(int *)0); }
      +
      +#undef _nc_form_cursor
      +WINDOW	*_nc_form_cursor(
      +		const FORM *form, 
      +		int	*pRow, 
      +		int	*pCol)
      +		{ return(*(WINDOW **)0); }
       
       /* ./fty_int.c */
       
      @@ -747,10 +793,19 @@ integerPARM;
       #undef TYPE_INTEGER
       FIELDTYPE *TYPE_INTEGER;
       
      +#undef _nc_TYPE_INTEGER
      +FIELDTYPE *_nc_TYPE_INTEGER(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_ipv4.c */
      +
       #undef TYPE_IPV4
       FIELDTYPE *TYPE_IPV4;
       
      +#undef _nc_TYPE_IPV4
      +FIELDTYPE *_nc_TYPE_IPV4(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_num.c */
       
       #include 
      @@ -775,6 +830,10 @@ thisPARM;
       #undef TYPE_NUMERIC
       FIELDTYPE *TYPE_NUMERIC;
       
      +#undef _nc_TYPE_NUMERIC
      +FIELDTYPE *_nc_TYPE_NUMERIC(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_regex.c */
       
       #include 
      @@ -788,3 +847,7 @@ RegExp_Arg;
       
       #undef TYPE_REGEXP
       FIELDTYPE *TYPE_REGEXP;
      +
      +#undef _nc_TYPE_REGEXP
      +FIELDTYPE *_nc_TYPE_REGEXP(void)
      +		{ return(*(FIELDTYPE **)0); }
      diff --git a/form/llib-lformw b/form/llib-lformw
      index 04cbe2b6..f6a685f5 100644
      --- a/form/llib-lformw
      +++ b/form/llib-lformw
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2002-2010,2013 Free Software Foundation, Inc.              *
      + * Copyright (c) 2002-2013,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey           2002-on                              *
      + *  Author: Thomas E. Dickey       2002-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -687,6 +687,10 @@ alnumARG;
       #undef TYPE_ALNUM
       FIELDTYPE *TYPE_ALNUM;
       
      +#undef _nc_TYPE_ALNUM
      +FIELDTYPE *_nc_TYPE_ALNUM(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_alpha.c */
       
       typedef struct
      @@ -698,6 +702,10 @@ alphaARG;
       #undef TYPE_ALPHA
       FIELDTYPE *TYPE_ALPHA;
       
      +#undef _nc_TYPE_ALPHA
      +FIELDTYPE *_nc_TYPE_ALPHA(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_enum.c */
       
       typedef struct
      @@ -720,11 +728,49 @@ enumParams;
       #undef TYPE_ENUM
       FIELDTYPE *TYPE_ENUM;
       
      +#undef _nc_TYPE_ENUM
      +FIELDTYPE *_nc_TYPE_ENUM(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_generic.c */
       
      -#undef _nc_fty_generic
      -void	_nc_fty_generic(void)
      -		{ /* void */ }
      +#undef _nc_generic_fieldtype
      +FIELDTYPE *_nc_generic_fieldtype(
      +		NCURSES_BOOL (*const field_check)(
      +		FORM	*p1, 
      +		FIELD	*p2, 
      +		const void *p3), 
      +		NCURSES_BOOL (*const char_check)(
      +		int	p1, 
      +		FORM	*p2, 
      +		FIELD	*p3, 
      +		const void *p4), 
      +		NCURSES_BOOL (*const next)(
      +		FORM	*p1, 
      +		FIELD	*p2, 
      +		const void *p3), 
      +		NCURSES_BOOL (*const prev)(
      +		FORM	*p1, 
      +		FIELD	*p2, 
      +		const void *p3), 
      +		void	(*freecallback)(
      +		void	*p1))
      +		{ return(*(FIELDTYPE **)0); }
      +
      +#undef _nc_set_generic_fieldtype
      +int	_nc_set_generic_fieldtype(
      +		FIELD	*field, 
      +		FIELDTYPE *ftyp, 
      +		int	(*argiterator)(
      +		void	**p1))
      +		{ return(*(int *)0); }
      +
      +#undef _nc_form_cursor
      +WINDOW	*_nc_form_cursor(
      +		const FORM *form, 
      +		int	*pRow, 
      +		int	*pCol)
      +		{ return(*(WINDOW **)0); }
       
       /* ./fty_int.c */
       
      @@ -747,10 +793,19 @@ integerPARM;
       #undef TYPE_INTEGER
       FIELDTYPE *TYPE_INTEGER;
       
      +#undef _nc_TYPE_INTEGER
      +FIELDTYPE *_nc_TYPE_INTEGER(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_ipv4.c */
      +
       #undef TYPE_IPV4
       FIELDTYPE *TYPE_IPV4;
       
      +#undef _nc_TYPE_IPV4
      +FIELDTYPE *_nc_TYPE_IPV4(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_num.c */
       
       #include 
      @@ -775,6 +830,10 @@ thisPARM;
       #undef TYPE_NUMERIC
       FIELDTYPE *TYPE_NUMERIC;
       
      +#undef _nc_TYPE_NUMERIC
      +FIELDTYPE *_nc_TYPE_NUMERIC(void)
      +		{ return(*(FIELDTYPE **)0); }
      +
       /* ./fty_regex.c */
       
       #include 
      @@ -788,3 +847,7 @@ RegExp_Arg;
       
       #undef TYPE_REGEXP
       FIELDTYPE *TYPE_REGEXP;
      +
      +#undef _nc_TYPE_REGEXP
      +FIELDTYPE *_nc_TYPE_REGEXP(void)
      +		{ return(*(FIELDTYPE **)0); }
      diff --git a/man/curs_add_wch.3x b/man/curs_add_wch.3x
      index b7164ada..5b744db1 100644
      --- a/man/curs_add_wch.3x
      +++ b/man/curs_add_wch.3x
      @@ -1,5 +1,5 @@
       .\"***************************************************************************
      -.\" Copyright (c) 2001-2011,2012 Free Software Foundation, Inc.              *
      +.\" Copyright (c) 2001-2012,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            *
      @@ -26,7 +26,7 @@
       .\" authorization.                                                           *
       .\"***************************************************************************
       .\"
      -.\" $Id: curs_add_wch.3x,v 1.15 2012/11/03 23:03:59 tom Exp $
      +.\" $Id: curs_add_wch.3x,v 1.16 2015/07/20 23:44:56 tom Exp $
       .TH curs_add_wch 3X ""
       .de bP
       .IP \(bu 4
      @@ -55,6 +55,7 @@
       .B "int wecho_wchar( WINDOW *\fIwin\fP, const cchar_t *\fIwch\fB );"
       .br
       .SH DESCRIPTION
      +.SS add_wch
       .PP
       The
       \fBadd_wch\fP,
      @@ -83,6 +84,7 @@ and the rendition specified by \fIwch\fP is ignored.
       If the character part of \fIwch\fP is
       a tab, newline, backspace or other control character,
       the window is updated and the cursor moves as if \fBaddch\fR were called.
      +.SS echo_wchar
       .PP
       The \fBecho_wchar\fP
       function is functionally equivalent to a call to
      @@ -214,6 +216,7 @@ terms of intermediate symbols.
       This implementation extends those symbols, providing new definitions
       which are not in the SVr4 implementations.
       .SH SEE ALSO
      +.na
       .PP
       \fBcurses\fR(3X),
       \fBcurs_addch\fR(3X),
      diff --git a/man/curs_attr.3x b/man/curs_attr.3x
      index 7a0d1588..718417f1 100644
      --- a/man/curs_attr.3x
      +++ b/man/curs_attr.3x
      @@ -1,6 +1,6 @@
       '\" t
       .\"***************************************************************************
      -.\" Copyright (c) 1998-2010,2013 Free Software Foundation, Inc.              *
      +.\" Copyright (c) 1998-2013,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: curs_attr.3x,v 1.39 2013/09/21 20:39:49 Sven.Joachim Exp $
      +.\" $Id: curs_attr.3x,v 1.40 2015/07/20 23:35:38 tom Exp $
       .TH curs_attr 3X ""
       .na
       .hy 0
      @@ -62,74 +62,82 @@
       .SH SYNOPSIS
       \fB#include \fR
       .br
      -\fBint attroff(int attrs);\fR
      +\fBint attroff(int \fP\fIattrs);\fR
       .br
      -\fBint wattroff(WINDOW *win, int attrs);\fR
      +\fBint wattroff(WINDOW *\fP\fIwin\fP\fB, int \fP\fIattrs\fP\fB);\fR
       .br
      -\fBint attron(int attrs);\fR
      +\fBint attron(int \fP\fIattrs\fP\fB);\fR
       .br
      -\fBint wattron(WINDOW *win, int attrs);\fR
      +\fBint wattron(WINDOW *\fP\fIwin\fP\fB, int \fP\fIattrs\fP\fB);\fR
       .br
      -\fBint attrset(int attrs);\fR
      +\fBint attrset(int \fP\fIattrs\fP\fB);\fR
       .br
      -\fBint wattrset(WINDOW *win, int attrs);\fR
      +\fBint wattrset(WINDOW *\fP\fIwin\fP\fB, int \fP\fIattrs\fP\fB);\fR
       .br
      -\fBint color_set(short color_pair_number, void* opts);\fR
      +\fBint color_set(short \fP\fIcolor_pair_number\fP\fB, void* \fP\fIopts\fP\fB);\fR
       .br
      -\fBint wcolor_set(WINDOW *win, short color_pair_number,\fR
      -      \fBvoid* opts);\fR
      +\fBint wcolor_set(WINDOW *\fP\fIwin\fP\fB, short \fP\fIcolor_pair_number\fP\fB,\fR
      +      \fBvoid* \fP\fIopts);\fR
       .br
       \fBint standend(void);\fR
       .br
      -\fBint wstandend(WINDOW *win);\fR
      +\fBint wstandend(WINDOW *\fP\fIwin\fP\fB);\fR
       .br
       \fBint standout(void);\fR
       .br
      -\fBint wstandout(WINDOW *win);\fR
      +\fBint wstandout(WINDOW *\fP\fIwin\fP\fB);\fR
       .br
      -\fBint attr_get(attr_t *attrs, short *pair, void *opts);\fR
      +\fBint attr_get(attr_t *\fP\fIattrs\fP\fB, short *\fP\fIpair\fP\fB, void *\fP\fIopts\fP\fB);\fR
       .br
      -\fBint wattr_get(WINDOW *win, attr_t *attrs, short *pair,\fR
      -       \fBvoid *opts);\fR
      +\fBint wattr_get(WINDOW *\fP\fIwin\fP\fB, attr_t *\fP\fIattrs\fP\fB, short *\fP\fIpair\fP\fB,\fR
      +       \fBvoid *\fP\fIopts\fP\fB);\fR
       .br
      -\fBint attr_off(attr_t attrs, void *opts);\fR
      +\fBint attr_off(attr_t \fP\fIattrs\fP\fB, void *\fP\fIopts\fP\fB);\fR
       .br
      -\fBint wattr_off(WINDOW *win, attr_t attrs, void *opts);\fR
      +\fBint wattr_off(WINDOW *\fP\fIwin\fP\fB, attr_t \fP\fIattrs\fP\fB, void *\fP\fIopts\fP\fB);\fR
       .br
      -\fBint attr_on(attr_t attrs, void *opts);\fR
      +\fBint attr_on(attr_t \fP\fIattrs\fP\fB, void *\fP\fIopts\fP\fB);\fR
       .br
      -\fBint wattr_on(WINDOW *win, attr_t attrs, void *opts);\fR
      +\fBint wattr_on(WINDOW *\fP\fIwin\fP\fB, attr_t \fP\fIattrs\fP\fB, void *\fP\fIopts\fP\fB);\fR
       .br
      -\fBint attr_set(attr_t attrs, short pair, void *opts);\fR
      +\fBint attr_set(attr_t \fP\fIattrs\fP\fB, short \fP\fIpair\fP\fB, void *\fP\fIopts\fP\fB);\fR
       .br
      -\fBint wattr_set(WINDOW *win, attr_t attrs, short pair, void *opts);\fR
      +\fBint wattr_set(WINDOW *\fP\fIwin\fP\fB, attr_t \fP\fIattrs\fP\fB, short \fP\fIpair\fP\fB, void *\fP\fIopts\fP\fB);\fR
       .br
      -\fBint chgat(int n, attr_t attr, short color,\fR
      -      \fBconst void *opts)\fR
      +\fBint chgat(int \fP\fIn\fP\fB, attr_t \fP\fIattr\fP\fB, short \fP\fIcolor\fP\fB,\fR
      +      \fBconst void *\fP\fIopts\fP\fB);\fR
       .br
      -\fBint wchgat(WINDOW *win, int n, attr_t attr,\fR
      -      \fBshort color, const void *opts)\fR
      +\fBint wchgat(WINDOW *\fP\fIwin\fP\fB, int \fP\fIn\fP\fB, attr_t \fP\fIattr\fP\fB,\fR
      +      \fBshort \fP\fIcolor\fP\fB, const void *\fP\fIopts\fP\fB);\fR
       .br
      -\fBint mvchgat(int y, int x, int n, attr_t attr,\fR
      -      \fBshort color, const void *opts)\fR
      +\fBint mvchgat(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, int \fP\fIn\fP\fB, attr_t \fP\fIattr\fP\fB,\fR
      +      \fBshort \fP\fIcolor\fP\fB, const void *\fP\fIopts\fP\fB);\fR
       .br
      -\fBint mvwchgat(WINDOW *win, int y, int x, int n,\fR
      -      \fBattr_t attr, short color, const void *opts)\fR
      +\fBint mvwchgat(WINDOW *\fP\fIwin, int \fP\fIy, int \fP\fIx, int \fP\fIn,\fR
      +      \fBattr_t \fP\fIattr\fP\fB, short \fP\fIcolor\fP\fB, const void *\fP\fIopts\fP\fB);\fR
       .br
       .SH DESCRIPTION
      -These routines manipulate the current attributes of the named window.  The
      +These routines manipulate the current attributes of the named window.
      +The
       current attributes of a window apply to all characters that are written into
      -the window with \fBwaddch\fR, \fBwaddstr\fR and \fBwprintw\fR.  Attributes are
      +the window with \fBwaddch\fR, \fBwaddstr\fR and \fBwprintw\fR.
      +Attributes are
       a property of the character, and move with the character through any scrolling
      -and insert/delete line/character operations.  To the extent possible, they are
      +and insert/delete line/character operations.
      +To the extent possible, they are
       displayed as appropriate modifications to the graphic rendition of characters
       put on the screen.
      +.SS attrset
       .PP
       The routine \fBattrset\fR sets the current attributes of the given window to
      -\fIattrs\fR.  The routine \fBattroff\fR turns off the named attributes without
      -turning any other attributes on or off.  The routine \fBattron\fR turns on the
      -named attributes without affecting any others.  The routine \fBstandout\fR is
      -the same as \fBattron(A_STANDOUT)\fR.  The routine \fBstandend\fR is the same
      +\fIattrs\fR.
      +The routine \fBattroff\fR turns off the named attributes without
      +turning any other attributes on or off.
      +The routine \fBattron\fR turns on the
      +named attributes without affecting any others.
      +The routine \fBstandout\fR is
      +the same as \fBattron(A_STANDOUT)\fR.
      +The routine \fBstandend\fR is the same
       as \fBattrset(A_NORMAL)\fR or \fBattrset(0)\fR, that is, it turns off all
       attributes.
       .PP
      @@ -137,36 +145,54 @@ The \fBattrset\fR and related routines do not affect the attributes used
       when erasing portions of the window.
       See \fBcurs_bkgd\fR(3X) for functions which modify the attributes used for
       erasing and clearing.
      +.SS attr_set
      +The \fBattrset\fP routine is actually a legacy feature predating SVr4 curses
      +but kept in X/Open Curses for the same reason that SVr4 curses kept it:
      +compatbility.
      +The routine \fBattr_set\fP provides for passing a color-pair parameter.
      +.PP
      +The remaining \fBattr_\fR* functions operate exactly like the corresponding
      +\fBattr\fR* functions, except that they take arguments of type \fBattr_t\fR
      +rather than \fBint\fR.
      +.SS color_set
       .PP
       The routine \fBcolor_set\fR sets the current color of the given window to the
      -foreground/background combination described by the color_pair_number. The
      +foreground/background combination described by the color_pair_number.
      +The
       parameter opts is reserved for future use, applications must supply a null
       pointer.
      +.SS attr_get
       .PP
       The routine \fBwattr_get\fR returns the current attribute and color pair for
       the given window; \fBattr_get\fR returns the current attribute and color pair
       for \fBstdscr\fR.
      -The remaining \fBattr_\fR* functions operate exactly like the corresponding
      -\fBattr\fR* functions, except that they take arguments of type \fBattr_t\fR
      -rather than \fBint\fR.
      +.PP
      +There is no corresponding \fBattrget\fP function as such in X/Open Curses,
      +although ncurses provides \fBgetattrs\fP (see curs_legacy(3x)).
      +.SS chgat
       .PP
       The routine \fBchgat\fR changes the attributes of a given number of characters
      -starting at the current cursor location of \fBstdscr\fR.  It does not update
      -the cursor and does not perform wrapping.  A character count of \-1 or greater
      +starting at the current cursor location of \fBstdscr\fR.
      +It does not update
      +the cursor and does not perform wrapping.
      +A character count of \-1 or greater
       than the remaining window width means to change attributes all the way to the
      -end of the current line.  The \fBwchgat\fR function generalizes this to any
      -window; the \fBmvwchgat\fR function does a cursor move before acting.  In these
      +end of the current line.
      +The \fBwchgat\fR function generalizes this to any
      +window; the \fBmvwchgat\fR function does a cursor move before acting.
      +In these
       functions, the color argument is a color-pair index (as in the first argument
      -of \fIinit_pair\fR, see \fBcurs_color\fR(3X)).  The \fBopts\fR argument is not
      +of \fIinit_pair\fR, see \fBcurs_color\fR(3X)).
      +The \fBopts\fR argument is not
       presently used, but is reserved for the future (leave it \fBNULL\fR).
       .SS Attributes
       The following video attributes, defined in \fB\fR, can be passed to
       the routines \fBattron\fR, \fBattroff\fR, and \fBattrset\fR, or OR'd with the
      -characters passed to \fBaddch\fR.
      +characters passed to \fBaddch\fR (see curs_addch(3x)).
       .PP
       .RS
       .TS
      -l l 
      +l l
       _ _ _
       l l .
       \fIName\fR	\fIDescription\fR
      @@ -190,7 +216,7 @@ These video attributes are supported by \fBattr_on\fP and related functions
       (which also support the attributes recognized by \fBattron\fP, etc.):
       .RS
       .TS
      -l l 
      +l l
       _ _ _
       l l .
       \fIName\fR	\fIDescription\fR
      @@ -226,15 +252,18 @@ value directly.
       However, ncurses ABI 4 and 5 simply OR this value within the alternate functions.
       You must use ncurses ABI 6 to support more than 256 color pairs.
       .SH PORTABILITY
      -These functions are supported in the XSI Curses standard, Issue 4.  The
      +These functions are supported in the XSI Curses standard, Issue 4.
      +The
       standard defined the dedicated type for highlights, \fBattr_t\fR, which is not
      -defined in SVr4 curses. The functions taking \fBattr_t\fR arguments are
      +defined in SVr4 curses.
      +The functions taking \fBattr_t\fR arguments are
       not supported under SVr4.
       .PP
       The XSI Curses standard states that whether the traditional functions
       \fBattron\fR/\fBattroff\fR/\fBattrset\fR can manipulate attributes other than
       \fBA_BLINK\fR, \fBA_BOLD\fR, \fBA_DIM\fR, \fBA_REVERSE\fR, \fBA_STANDOUT\fR, or
      -\fBA_UNDERLINE\fR is "unspecified".  Under this implementation as well as
      +\fBA_UNDERLINE\fR is "unspecified".
      +Under this implementation as well as
       SVr4 curses, these functions correctly manipulate all other highlights
       (specifically, \fBA_ALTCHARSET\fR, \fBA_PROTECT\fR, and \fBA_INVIS\fR).
       .PP
      @@ -248,14 +277,15 @@ This implementation makes the assumption that
       .PP
       XSI Curses added the new entry points, \fBattr_get\fR, \fBattr_on\fR,
       \fBattr_off\fR, \fBattr_set\fR, \fBwattr_on\fR, \fBwattr_off\fR,
      -\fBwattr_get\fR, \fBwattr_set\fR.  These are intended to work with
      +\fBwattr_get\fR, \fBwattr_set\fR.
      +These are intended to work with
       a new series of highlight macros prefixed with \fBWA_\fR.
       The older macros have direct counterparts in the newer set of names:
       .PP
       .RS
       .ne 9
       .TS
      -l l 
      +l l
       _ _ _
       l l .
       \fIName\fR	\fIDescription\fR
      @@ -270,7 +300,7 @@ l l .
       .TE
       .RE
       .PP
      -Older versions of this library did not force an update of the screen
      +Very old versions of this library did not force an update of the screen
       when changing the attributes.
       Use \fBtouchwin\fR to force the screen to match the updated attributes.
       .PP
      @@ -301,6 +331,7 @@ Functions with a "mv" prefix first perform a cursor movement using
       \fBwmove\fP, and return an error if the position is outside the window,
       or if the window pointer is null.
       .SH SEE ALSO
      +.na
       \fBcurses\fR(3X),
       \fBcurs_addch\fR(3X),
       \fBcurs_addstr\fR(3X),
      diff --git a/man/curs_bkgd.3x b/man/curs_bkgd.3x
      index 67e2ab8f..50c3b303 100644
      --- a/man/curs_bkgd.3x
      +++ b/man/curs_bkgd.3x
      @@ -1,5 +1,5 @@
       .\"***************************************************************************
      -.\" Copyright (c) 1998-2003,2010 Free Software Foundation, Inc.              *
      +.\" Copyright (c) 1998-2010,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            *
      @@ -26,7 +26,10 @@
       .\" authorization.                                                           *
       .\"***************************************************************************
       .\"
      -.\" $Id: curs_bkgd.3x,v 1.22 2010/12/04 18:36:44 tom Exp $
      +.\" $Id: curs_bkgd.3x,v 1.23 2015/07/21 00:11:05 tom Exp $
      +.de bP
      +.IP \(bu 4
      +..
       .TH curs_bkgd 3X ""
       .SH NAME
       \fBbkgdset\fR, \fBwbkgdset\fR,
      @@ -35,17 +38,18 @@
       .SH SYNOPSIS
       \fB#include \fR
       .PP
      -\fBvoid bkgdset(chtype ch);\fR
      +\fBvoid bkgdset(chtype \fP\fIch\fP\fB);\fR
       .br
      -\fBvoid wbkgdset(WINDOW *win, chtype ch);\fR
      +\fBvoid wbkgdset(WINDOW *\fP\fIwin, chtype \fP\fIch\fP\fB);\fR
       .br
      -\fBint bkgd(chtype ch);\fR
      +\fBint bkgd(chtype \fP\fIch\fP\fB);\fR
       .br
      -\fBint wbkgd(WINDOW *win, chtype ch);\fR
      +\fBint wbkgd(WINDOW *\fP\fIwin\fP\fB, chtype \fP\fIch\fP\fB);\fR
       .br
      -\fBchtype getbkgd(WINDOW *win);\fR
      +\fBchtype getbkgd(WINDOW *\fP\fIwin\fP\fB);\fR
       .br
       .SH DESCRIPTION
      +.SS bkgdset
       The \fBbkgdset\fR and \fBwbkgdset\fR routines manipulate the
       background of the named window.
       The window background is a \fBchtype\fR consisting of
      @@ -60,32 +64,39 @@ insert/delete line/character operations.
       To the extent possible on a particular terminal,
       the attribute part of the background is displayed
       as the graphic rendition of the character put on the screen.
      +.SS bkgd
       .PP
       The \fBbkgd\fR and \fBwbkgd\fR functions
       set the background property of the current or specified window
       and then apply this setting to every character position in that window:
       .PP
      -.RS
      +.bP
       The rendition of every character on the screen is changed to
       the new background rendition.
      -.PP
      +.bP
       Wherever the former background character
       appears, it is changed to the new background character.
       .RE
      +.SS getbkgd
       .PP
       The \fBgetbkgd\fR function returns the given window's current background
       character/attribute pair.
       .SH RETURN VALUE
      +.PP
       The routines \fBbkgd\fR and \fBwbkgd\fR return the integer \fBOK\fR.
       The SVr4.0 manual says "or a non-negative integer if \fBimmedok\fR is set",
       but this appears to be an error.
       .SH NOTES
      +.PP
       Note that \fBbkgdset\fR and \fBbkgd\fR may be macros.
       .SH PORTABILITY
      +.PP
       These functions are described in the XSI Curses standard, Issue 4.
       It specifies that \fBbkgd\fR and \fBwbkgd\fR return \fBERR\fR on failure,
       but gives no failure conditions.
       .SH SEE ALSO
      +.na
      +.PP
       \fBcurses\fR(3X),
       \fBcurs_addch\fR(3X),
       \fBcurs_attr\fR(3X),
      diff --git a/man/curs_bkgrnd.3x b/man/curs_bkgrnd.3x
      index 08ea59f1..2bbb4fce 100644
      --- a/man/curs_bkgrnd.3x
      +++ b/man/curs_bkgrnd.3x
      @@ -1,5 +1,5 @@
       .\"***************************************************************************
      -.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc.              *
      +.\" Copyright (c) 2002-2012,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            *
      @@ -26,7 +26,10 @@
       .\" authorization.                                                           *
       .\"***************************************************************************
       .\"
      -.\" $Id: curs_bkgrnd.3x,v 1.5 2012/11/03 23:03:59 tom Exp $
      +.\" $Id: curs_bkgrnd.3x,v 1.6 2015/07/21 00:18:42 tom Exp $
      +.de bP
      +.IP \(bu 4
      +..
       .TH curs_bkgrnd 3X ""
       .SH NAME
       \fBbkgrnd\fR,
      @@ -52,6 +55,8 @@
       \fBint wgetbkgrnd(WINDOW *\fR\fIwin\fR\fB, cchar_t *\fR\fIwch\fR\fB);\fR
       .br
       .SH DESCRIPTION
      +.SS bkgrndset
      +.PP
       The \fBbkgrndset\fR and \fBwbkgrndset\fR routines manipulate the
       background of the named window.
       The window background is a \fBcchar_t\fR consisting of
      @@ -67,22 +72,21 @@ insert/delete line/character operations.
       To the extent possible on a
       particular terminal, the attribute part of the background is displayed
       as the graphic rendition of the character put on the screen.
      +.SS bkgrnd
       .PP
       The \fBbkgrnd\fR and \fBwbkgrnd\fR functions
       set the background property of the current or specified window
       and then apply this setting to every character position in that window:
      -.RS
      -.PP
      +.bP
       The rendition of every character on the screen is changed to
       the new background rendition.
      -.PP
      +.bP
       Wherever the former background character
       appears, it is changed to the new background character.
      -.RE
      +.SS getbkgrnd
       .PP
       The \fBgetbkgrnd\fR function returns the given window's current background
       character/attribute pair via the \fBwch\fR pointer.
      -.
       .SH NOTES
       Note that
       \fBbkgrnd\fR,
      @@ -90,6 +94,7 @@ Note that
       \fBgetbkgrnd\fR
       may be macros.
       .SH RETURN VALUE
      +.PP
       The \fBbkgrndset\fR and \fBwbkgrndset\fR routines do not return a value.
       .PP
       Upon successful completion, the other functions return \fBOK\fR.
      diff --git a/man/curs_getcchar.3x b/man/curs_getcchar.3x
      index a974c738..4c5b2291 100644
      --- a/man/curs_getcchar.3x
      +++ b/man/curs_getcchar.3x
      @@ -1,5 +1,5 @@
       .\"***************************************************************************
      -.\" Copyright (c) 2001-2010,2012 Free Software Foundation, Inc.              *
      +.\" Copyright (c) 2001-2012,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            *
      @@ -26,7 +26,7 @@
       .\" authorization.                                                           *
       .\"***************************************************************************
       .\"
      -.\" $Id: curs_getcchar.3x,v 1.16 2012/11/03 23:03:59 tom Exp $
      +.\" $Id: curs_getcchar.3x,v 1.17 2015/07/21 09:30:38 tom Exp $
       .TH curs_getcchar 3X ""
       .de bP
       .IP \(bu 4
      @@ -61,6 +61,7 @@
       .br
       .B "        void *\fIopts\fP );"
       .SH DESCRIPTION
      +.SS getcchar
       .PP
       The \fBgetcchar\fP function gets a wide-character string
       and rendition from a \fBcchar_t\fP argument.
      @@ -88,6 +89,7 @@ Does not change the data referenced by
       \fIattrs\fP
       or
       \fIcolor_pair\fP
      +.SS setcchar
       .PP
       The \fBsetcchar\fP function initializes the location pointed to by \fIwcval\fP
       by using:
      diff --git a/man/curs_getch.3x b/man/curs_getch.3x
      index 8a57bb02..8d94e0aa 100644
      --- a/man/curs_getch.3x
      +++ b/man/curs_getch.3x
      @@ -27,7 +27,7 @@
       .\" authorization.                                                           *
       .\"***************************************************************************
       .\"
      -.\" $Id: curs_getch.3x,v 1.41 2015/07/16 09:29:33 tom Exp $
      +.\" $Id: curs_getch.3x,v 1.42 2015/07/21 08:44:04 tom Exp $
       .TH curs_getch 3X ""
       .na
       .hy 0
      @@ -48,15 +48,15 @@
       .PP
       \fBint getch(void);\fR
       .br
      -\fBint wgetch(WINDOW *win);\fR
      +\fBint wgetch(WINDOW *\fP\fIwin);\fR
       .br
      -\fBint mvgetch(int y, int x);\fR
      +\fBint mvgetch(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
       .br
      -\fBint mvwgetch(WINDOW *win, int y, int x);\fR
      +\fBint mvwgetch(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
       .br
      -\fBint ungetch(int ch);\fR
      +\fBint ungetch(int \fP\fIch\fP\fB);\fR
       .br
      -\fBint has_key(int ch);\fR
      +\fBint has_key(int \fP\fIch\fP\fB);\fR
       .br
       .SH DESCRIPTION
       .SS Reading characters
      @@ -117,11 +117,10 @@ The \fBungetch\fR routine places \fIch\fR back onto the input queue to be
       returned by the next call to \fBwgetch\fR.
       There is just one input queue for all windows.
       .PP
      -.SS Function Keys
      -The following function keys, defined in \fB\fR, might be returned by
      +.SS Predefined key-codes
      +The following special keys, defined in \fB\fR, may be returned by
       \fBgetch\fR if \fBkeypad\fR has been enabled.
      -Note that not all of these are
      -necessarily supported on any particular terminal.
      +Not all of these are necessarily supported on any particular terminal.
       .PP
       .TS
       center tab(/) ;
      @@ -227,7 +226,7 @@ KEY_UNDO/Undo key
       .TE
       .PP
       Keypad is arranged like this:
      -.sp
      +.br
       .TS
       center allbox tab(/) ;
       c c c .
      @@ -236,13 +235,30 @@ c c c .
       \fBC1\fR/\fBdown\fR/\fBC3\fR
       .TE
       .sp
      -The \fBhas_key\fR routine takes a key value from the above list, and
      +A few of these predefined values do \fInot\fP correspond to a real key:
      +.bP
      +.B KEY_RESIZE
      +is returned when the \fBSIGWINCH\fP signal has been detected
      +(see \fBinitscr\fP(3X) and \fBresizeterm\fR(3X)).
      +.bP
      +.B KEY_MOUSE
      +is returned for mouse-events (see \fBcurs_mouse\fR(3X)).
      +.SS Testing key-codes
      +.PP
      +The \fBhas_key\fR routine takes a key-code value from the above list, and
       returns \fBTRUE\fP or \fBFALSE\fP according to whether
       the current terminal type recognizes a key with that value.
      -Note that a few values do not correspond to a real key,
      -e.g., \fBKEY_RESIZE\fP and \fBKEY_MOUSE\fP.
      -See \fBinitscr\fP(3X) and \fBresizeterm\fR(3X) for more details about \fBKEY_RESIZE\fP, and
      -\fBcurs_mouse\fR(3X) for a discussion of \fBKEY_MOUSE\fP.
      +.PP
      +The library also supports these extensions:
      +.RS 3
      +.TP 5
      +.B define_key
      +defines a key-code for a given string (see \fBdefine_key\fP(3X)).
      +.TP 5
      +.B key_defined
      +checks if there is a key-code defined for a given
      +string (see \fBkey_defined\fP(3X)).
      +.RE
       .PP
       .SH RETURN VALUE
       All routines return the integer \fBERR\fR upon failure and an integer value
      @@ -268,7 +284,7 @@ Use of the escape key by a programmer for a single character function is
       discouraged, as it will cause a delay of up to one second while the
       keypad code looks for a following function-key sequence.
       .PP
      -Note that some keys may be the same as commonly used control
      +Some keys may be the same as commonly used control
       keys, e.g., \fBKEY_ENTER\fP versus control/M, \fBKEY_BACKSPACE\fP versus control/H.
       Some curses implementations may differ according to whether they
       treat these control keys specially (and ignore the terminfo), or
      diff --git a/man/curs_initscr.3x b/man/curs_initscr.3x
      index 0582ea2d..dc15ecbc 100644
      --- a/man/curs_initscr.3x
      +++ b/man/curs_initscr.3x
      @@ -26,7 +26,7 @@
       .\" authorization.                                                           *
       .\"***************************************************************************
       .\"
      -.\" $Id: curs_initscr.3x,v 1.23 2015/07/16 09:23:42 tom Exp $
      +.\" $Id: curs_initscr.3x,v 1.24 2015/07/21 23:01:38 tom Exp $
       .TH curs_initscr 3X ""
       .de bP
       .IP \(bu 4
      @@ -55,11 +55,11 @@
       .br
       \fBbool isendwin(void);\fR
       .br
      -\fBSCREEN *newterm(char *type, FILE *outfd, FILE *infd);\fR
      +\fBSCREEN *newterm(char *\fP\fItype\fP\fB, FILE *\fP\fIoutfd\fP\fB, FILE *\fP\fIinfd\fP\fB);\fR
       .br
      -\fBSCREEN *set_term(SCREEN *new);\fR
      +\fBSCREEN *set_term(SCREEN *\fP\fInew\fP\fB);\fR
       .br
      -\fBvoid delscreen(SCREEN* sp);\fR
      +\fBvoid delscreen(SCREEN* \fP\fIsp\fP\fB);\fR
       .br
       .SH DESCRIPTION
       .SS initscr
      diff --git a/man/curs_kernel.3x b/man/curs_kernel.3x
      index d81b134b..664d15d2 100644
      --- a/man/curs_kernel.3x
      +++ b/man/curs_kernel.3x
      @@ -1,5 +1,5 @@
       .\"***************************************************************************
      -.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc.                        *
      +.\" Copyright (c) 1998-2010,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            *
      @@ -26,7 +26,10 @@
       .\" authorization.                                                           *
       .\"***************************************************************************
       .\"
      -.\" $Id: curs_kernel.3x,v 1.19 2010/12/04 18:38:55 tom Exp $
      +.\" $Id: curs_kernel.3x,v 1.20 2015/07/21 01:10:11 tom Exp $
      +.de bP
      +.IP \(bu 4
      +..
       .TH curs_kernel 3X ""
       .na
       .hy 0
      @@ -59,20 +62,21 @@
       .br
       \fBint savetty(void);\fR
       .br
      -\fBvoid getsyx(int y, int x);\fR
      +\fBvoid getsyx(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
       .br
      -\fBvoid setsyx(int y, int x);\fR
      +\fBvoid setsyx(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
       .br
      -\fBint ripoffline(int line, int (*init)(WINDOW *, int));\fR
      +\fBint ripoffline(int \fP\fIline\fP\fB, int (*\fP\fIinit\fP\fB)(WINDOW *, int));\fR
       .br
      -\fBint curs_set(int visibility);\fR
      +\fBint curs_set(int \fP\fIvisibility\fP\fB);\fR
       .br
      -\fBint napms(int ms);\fR
      +\fBint napms(int \fP\fIms\fP\fB);\fR
       .br
       .SH DESCRIPTION
       The following routines give low-level access to various \fBcurses\fR
       capabilities.  These routines typically are used inside library
       routines.
      +.SS def_prog_mode, def_shell_mode
       .PP
       The \fBdef_prog_mode\fR and \fBdef_shell_mode\fR routines save the
       current terminal modes as the "program" (in \fBcurses\fR) or "shell"
      @@ -80,17 +84,20 @@ current terminal modes as the "program" (in \fBcurses\fR) or "shell"
       \fBreset_shell_mode\fR routines.  This is done automatically by
       \fBinitscr\fR.  There is one such save area for each screen context
       allocated by \fBnewterm()\fR.
      +.SS reset_prog_mode, reset_shell_mode
       .PP
       The \fBreset_prog_mode\fR and \fBreset_shell_mode\fR routines restore
       the terminal to "program" (in \fBcurses\fR) or "shell" (out of
       \fBcurses\fR) state.  These are done automatically by \fBendwin\fR
       and, after an \fBendwin\fR, by \fBdoupdate\fR, so they normally are
       not called.
      +.SS resetty, savetty
       .PP
       The \fBresetty\fR and \fBsavetty\fR routines save and restore the
       state of the terminal modes.  \fBsavetty\fR saves the current state in
       a buffer and \fBresetty\fR restores the state to what it was at the
       last call to \fBsavetty\fR.
      +.SS getsyx
       .PP
       The \fBgetsyx\fR routine returns the current coordinates of the virtual screen
       cursor in \fIy\fR and \fIx\fR.  If \fBleaveok\fR is currently \fBTRUE\fR, then
      @@ -98,6 +105,7 @@ cursor in \fIy\fR and \fIx\fR.  If \fBleaveok\fR is currently \fBTRUE\fR, then
       screen, using \fBripoffline\fR, \fIy\fR and \fIx\fR include these lines;
       therefore, \fIy\fR and \fIx\fR should be used only as arguments for
       \fBsetsyx\fR.
      +.SS setsyx
       .PP
       The \fBsetsyx\fR routine sets the virtual screen cursor to
       \fIy\fR, \fIx\fR.  If \fIy\fR and \fIx\fR are both \fB\-1\fR, then
      @@ -108,16 +116,26 @@ of the program's cursor.  The library routine would call \fBgetsyx\fR
       at the beginning, do its manipulation of its own windows, do a
       \fBwnoutrefresh\fR on its windows, call \fBsetsyx\fR, and then call
       \fBdoupdate\fR.
      +.SS ripoffline
       .PP
       The \fBripoffline\fR routine provides access to the same facility that
       \fBslk_init\fR [see \fBcurs_slk\fR(3X)] uses to reduce the size of the
       screen.  \fBripoffline\fR must be called before \fBinitscr\fR or
      -\fBnewterm\fR is called.  If \fIline\fR is positive, a line is removed
      -from the top of \fBstdscr\fR; if \fIline\fR is negative, a line is
      -removed from the bottom.  When this is done inside \fBinitscr\fR, the
      +\fBnewterm\fR is called, to prepare these initial actions:
      +.bP
      +If \fIline\fR is positive, a line is removed from the top of \fBstdscr\fR.
      +.bP
      +if \fIline\fR is negative, a line is removed from the bottom.
      +.PP
      +When the resulting initialization is done inside \fBinitscr\fR, the
       routine \fBinit\fR (supplied by the user) is called with two
      -arguments: a window pointer to the one-line window that has been
      -allocated and an integer with the number of columns in the window.
      +arguments:
      +.bP
      +a window pointer to the one-line window that has been
      +allocated and
      +.bP
      +an integer with the number of columns in the window.
      +.PP
       Inside this initialization routine, the integer variables \fBLINES\fR
       and \fBCOLS\fR (defined in \fB\fR) are not guaranteed to be
       accurate and \fBwrefresh\fR or \fBdoupdate\fR must not be called.  It
      @@ -126,12 +144,14 @@ routine.
       .PP
       \fBripoffline\fR can be called up to five times before calling \fBinitscr\fR or
       \fBnewterm\fR.
      +.SS curs_set
       .PP
       The \fBcurs_set\fR routine sets the cursor state to invisible,
       normal, or very visible for \fBvisibility\fR equal to \fB0\fR,
       \fB1\fR, or \fB2\fR respectively.  If the terminal supports the
       \fIvisibility\fR requested, the previous \fIcursor\fR state is
       returned; otherwise, \fBERR\fR is returned.
      +.SS napms
       .PP
       The \fBnapms\fR routine is used to sleep for \fIms\fR milliseconds.
       .SH RETURN VALUE
      @@ -143,9 +163,12 @@ requested \fIvisibility\fR is not supported.
       .PP
       X/Open defines no error conditions.
       In this implementation
      -.RS
       .TP 5
      +.na
      +.hy 0
       \fBdef_prog_mode\fR, \fBdef_shell_mode\fR, \fBreset_prog_mode\fR, \fBreset_shell_mode\fR
      +.hy
      +.ad
       return an error
       if the terminal was not initialized, or
       if the I/O call to obtain the terminal settings fails.
      @@ -153,7 +176,6 @@ if the I/O call to obtain the terminal settings fails.
       \fBripoffline\fP
       returns an error if the maximum number of ripped-off lines
       exceeds the maximum (NRIPS = 5).
      -.RE
       .SH NOTES
       Note that \fBgetsyx\fR is a macro, so \fB&\fR is not necessary before
       the variables \fIy\fR and \fIx\fR.
      diff --git a/man/curs_mouse.3x b/man/curs_mouse.3x
      index 0a75065f..b7cf4c6c 100644
      --- a/man/curs_mouse.3x
      +++ b/man/curs_mouse.3x
      @@ -27,7 +27,10 @@
       .\" authorization.                                                           *
       .\"***************************************************************************
       .\"
      -.\" $Id: curs_mouse.3x,v 1.41 2015/04/11 10:23:49 tom Exp $
      +.\" $Id: curs_mouse.3x,v 1.42 2015/07/21 09:27:39 tom Exp $
      +.de bP
      +.IP \(bu 4
      +..
       .TH curs_mouse 3X ""
       .na
       .hy 0
      @@ -54,27 +57,28 @@
       .PP
       \fBbool has_mouse(void);\fR
       .br
      -\fBint getmouse(MEVENT *event);\fR
      +\fBint getmouse(MEVENT *\fP\fIevent\fP\fB);\fR
       .br
      -\fBint ungetmouse(MEVENT *event);\fR
      +\fBint ungetmouse(MEVENT *\fP\fIevent\fP\fB);\fR
       .br
      -\fBmmask_t mousemask(mmask_t newmask, mmask_t *oldmask);\fR
      +\fBmmask_t mousemask(mmask_t \fP\fInewmask\fP\fB, mmask_t *\fP\fIoldmask\fP\fB);\fR
       .br
      -\fBbool wenclose(const WINDOW *win, int y, int x);\fR
      +\fBbool wenclose(const WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
       .br
      -\fBbool mouse_trafo(int* pY, int* pX, bool to_screen);\fR
      +\fBbool mouse_trafo(int* \fP\fIpY\fP\fB, int* \fP\fIpX\fP\fB, bool \fP\fIto_screen\fP\fB);\fR
       .br
      -\fBbool wmouse_trafo(const WINDOW* win, int* pY, int* pX,\fR
      +\fBbool wmouse_trafo(const WINDOW* \fP\fIwin\fP\fB, int* \fP\fIpY\fP\fB, int* \fP\fIpX\fP\fB,\fR
       .br
      -	\fBbool to_screen);\fR
      +	\fBbool \fP\fIto_screen\fP\fB);\fR
       .br
      -\fBint mouseinterval(int erval);\fR
      +\fBint mouseinterval(int \fP\fIerval\fP\fB);\fR
       .br
       .SH DESCRIPTION
       These functions provide an interface to mouse events from
       \fBncurses\fR(3X).
       Mouse events are represented by \fBKEY_MOUSE\fR
       pseudo-key values in the \fBwgetch\fR input stream.
      +.SS mousemask
       .PP
       To make mouse events visible, use the \fBmousemask\fR function.
       This will set
      @@ -89,6 +93,7 @@ window's mouse event mask.
       As a side effect, setting a zero mousemask may turn off the mouse pointer;
       setting a nonzero mask may turn it on.
       Whether this happens is device-dependent.
      +.SS Mouse events
       .PP
       Here are the mouse event type masks which may be defined:
       .PP
      @@ -134,6 +139,7 @@ ALL_MOUSE_EVENTS	report all button state changes
       REPORT_MOUSE_POSITION	report mouse movement
       _
       .TE
      +.SS getmouse
       .PP
       Once a class of mouse events has been made visible in a window,
       calling the \fBwgetch\fR function on that window may return
      @@ -150,48 +156,57 @@ indicate the event type.
       The corresponding data in the queue is marked invalid.
       A subsequent call to \fBgetmouse\fP will retrieve the next older
       item from the queue.
      +.SS ungetmouse
       .PP
       The \fBungetmouse\fR function behaves analogously to \fBungetch\fR.
       It pushes
       a \fBKEY_MOUSE\fR event onto the input queue, and associates with that event
       the given state data and screen-relative character-cell coordinates.
      +.SS wenclose
       .PP
       The \fBwenclose\fR function tests whether a given pair of screen-relative
       character-cell coordinates is enclosed by a given window, returning \fBTRUE\fP
       if it is and \fBFALSE\fP otherwise.
       It is useful for determining what subset of
       the screen windows enclose the location of a mouse event.
      +.SS wmouse_trafo
       .PP
       The \fBwmouse_trafo\fR function transforms a given pair of coordinates
       from stdscr-relative coordinates
       to coordinates relative to the given window or vice versa.
      -Please remember, that stdscr-relative coordinates are not always identical
      +The resulting stdscr-relative coordinates are not always identical
       to window-relative coordinates due to the mechanism to reserve lines on top
       or bottom of the screen for other purposes
      -(see the \fBripoffline()\fP and \fBslk_init\fR calls, for example).
      +(see the \fBripoffline\fP and \fBslk_init\fR calls, for example).
      +.bP
       If the parameter \fBto_screen\fR is \fBTRUE\fR, the pointers
       \fBpY, pX\fR must reference the coordinates of a location
       inside the window \fBwin\fR.
       They are converted to window-relative coordinates and returned
       through the pointers.
       If the conversion was successful, the function returns \fBTRUE\fR.
      +.bP
       If one of the parameters was NULL or the location is
       not inside the window, \fBFALSE\fR is returned.
      +.bP
       If \fBto_screen\fR is
       \fBFALSE\fR, the pointers \fBpY, pX\fR must reference window-relative
       coordinates.
       They are converted to stdscr-relative coordinates if the
       window \fBwin\fR encloses this point.
       In this case the function returns \fBTRUE\fR.
      +.bP
       If one of the parameters is NULL or the point is not inside the
       window, \fBFALSE\fR is returned.
      -Please notice, that the referenced coordinates
      +The referenced coordinates
       are only replaced by the converted coordinates if the transformation was
       successful.
      +.SS mouse_trafo
       .PP
       The \fBmouse_trafo\fR function performs the same translation
       as \fBwmouse_trafo\fR,
       using stdscr for \fBwin\fR.
      +.SS mouseinterval
       .PP
       The \fBmouseinterval\fR function sets the maximum time (in thousands of a
       second) that can elapse between press and release events for them to
      @@ -200,6 +215,7 @@ Use \fBmouseinterval(0)\fR to disable click resolution.
       This function returns the previous interval value.
       Use \fBmouseinterval(\-1)\fR to obtain the interval without altering it.
       The default is one sixth of a second.
      +.SS has_mouse
       .PP
       The \fBhas_mouse\fP function returns \fBTRUE\fP if the mouse driver has been
       successfully initialized.
      @@ -211,14 +227,16 @@ termination.
       .SH RETURN VALUE
       \fBgetmouse\fR and \fBungetmouse\fR
       return the integer \fBERR\fR upon failure or \fBOK\fR
      -upon successful completion.
      -.RS
      +upon successful completion:
      +.RS 3
       .TP 5
       \fBgetmouse\fP
       returns an error.
      +.bP
       If no mouse driver was initialized, or
       if the mask parameter is zero,
      -it also returns an error if no more events remain in the queue.
      +.bP
      +It also returns an error if no more events remain in the queue.
       .TP 5
       \fBungetmouse\fP
       returns an error if the FIFO is full.
      @@ -245,7 +263,7 @@ If the interface is changed, the value of \fBNCURSES_MOUSE_VERSION\fR will be
       incremented.
       These values for \fBNCURSES_MOUSE_VERSION\fR may be
       specified when configuring ncurses:
      -.RS
      +.RS 3
       .TP 3
       1
       has definitions for reserved events.
      @@ -263,13 +281,15 @@ Additional fields may be added to the structure in the future.
       Under \fBncurses\fR(3X), these calls are implemented using either
       xterm's built-in mouse-tracking API or
       platform-specific drivers including
      -.RS
      +.RS 3
      +.bP
       Alessandro Rubini's gpm server
      -.br
      +.bP
       FreeBSD sysmouse
      -.br
      +.bP
       OS/2 EMX
       .RE
      +.PP
       If you are using an unsupported configuration,
       mouse events will not be visible to
       \fBncurses\fR(3X) (and the \fBmousemask\fR function will always
      @@ -280,11 +300,12 @@ this is used in the xterm mouse driver to control the
       way the terminal is initialized for mouse operation.
       The default, if \fBXM\fR is not found,
       corresponds to private mode 1000 of xterm:
      -.RS
      +.PP
      +.RS 3
       \\E[?1000%?%p1%{1}%=%th%el%;
       .RE
       .PP
      -The z member in the event structure is not presently used.
      +The \fIz\fP member in the event structure is not presently used.
       It is intended
       for use with touch screens (which may be pressure-sensitive) or with
       3D-mice/trackballs/power gloves.
      diff --git a/man/curs_outopts.3x b/man/curs_outopts.3x
      index 52c04cdd..f6d425b2 100644
      --- a/man/curs_outopts.3x
      +++ b/man/curs_outopts.3x
      @@ -1,5 +1,5 @@
       .\"***************************************************************************
      -.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc.              *
      +.\" Copyright (c) 1998-2010,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            *
      @@ -26,7 +26,7 @@
       .\" authorization.                                                           *
       .\"***************************************************************************
       .\"
      -.\" $Id: curs_outopts.3x,v 1.25 2010/12/04 18:38:55 tom Exp $
      +.\" $Id: curs_outopts.3x,v 1.26 2015/07/21 00:23:43 tom Exp $
       .TH curs_outopts 3X ""
       .na
       .hy 0
      @@ -46,21 +46,21 @@
       .SH SYNOPSIS
       \fB#include \fR
       .sp
      -\fBint clearok(WINDOW *win, bool bf);\fR
      +\fBint clearok(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
       .br
      -\fBint idlok(WINDOW *win, bool bf);\fR
      +\fBint idlok(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
       .br
      -\fBvoid idcok(WINDOW *win, bool bf);\fR
      +\fBvoid idcok(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
       .br
      -\fBvoid immedok(WINDOW *win, bool bf);\fR
      +\fBvoid immedok(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
       .br
      -\fBint leaveok(WINDOW *win, bool bf);\fR
      +\fBint leaveok(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
       .br
      -\fBint setscrreg(int top, int bot);\fR
      +\fBint setscrreg(int \fP\fItop\fP\fB, int \fP\fIbot\fP\fB);\fR
       .br
      -\fBint wsetscrreg(WINDOW *win, int top, int bot);\fR
      +\fBint wsetscrreg(WINDOW *\fP\fIwin\fP\fB, int \fP\fItop\fP\fB, int \fP\fIbot\fP\fB);\fR
       .br
      -\fBint scrollok(WINDOW *win, bool bf);\fR
      +\fBint scrollok(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
       .br
       \fBint nl(void);\fR
       .br
      @@ -71,6 +71,7 @@ These routines set options that change the style of output within
       \fBcurses\fR.
       All options are initially \fBFALSE\fR, unless otherwise stated.
       It is not necessary to turn these options off before calling \fBendwin\fR.
      +.SS clearok
       .PP
       If \fBclearok\fR is called with \fBTRUE\fR as argument, the next
       call to \fBwrefresh\fR with this window will clear the screen completely and
      @@ -81,6 +82,7 @@ If
       the \fIwin\fR argument to \fBclearok\fR is the global variable \fBcurscr\fR,
       the next call to \fBwrefresh\fR with any window causes the screen to be cleared
       and repainted from scratch.
      +.SS idlok
       .PP
       If \fBidlok\fR is called with \fBTRUE\fR as second argument, \fBcurses\fR
       considers using the hardware insert/delete line feature of terminals so
      @@ -94,6 +96,7 @@ disabled by default because insert/delete line tends to be visually annoying
       when used in applications where it is not really needed.
       If insert/delete line
       cannot be used, \fBcurses\fR redraws the changed portions of all lines.
      +.SS idcok
       .PP
       If \fBidcok\fR is called with \fBFALSE\fR as second argument, \fBcurses\fR
       no longer considers using the hardware insert/delete character feature of
      @@ -101,6 +104,7 @@ terminals so equipped.
       Use of character insert/delete is enabled by default.
       Calling \fBidcok\fR with \fBTRUE\fR as second argument re-enables use
       of character insertion and deletion.
      +.SS immedok
       .PP
       If \fBimmedok\fR is called with \fBTRUE as argument\fR, any change
       in the window image, such as the ones caused by \fBwaddch, wclrtobot, wscrl\fR,
      @@ -108,6 +112,7 @@ etc., automatically cause a call to \fBwrefresh\fR.
       However, it may
       degrade performance considerably, due to repeated calls to \fBwrefresh\fR.
       It is disabled by default.
      +.SS leaveok
       .PP
       Normally, the hardware cursor is left at the location of the window cursor
       being refreshed.
      @@ -115,6 +120,7 @@ The \fBleaveok\fR option allows the cursor to be left
       wherever the update happens to leave it.
       It is useful for applications where
       the cursor is not used, since it reduces the need for cursor motions.
      +.SS setscrreg
       .PP
       The \fBsetscrreg\fR and \fBwsetscrreg\fR routines allow the application
       programmer to set a software scrolling region in a window.
      @@ -133,6 +139,7 @@ terminal, like that in the VT100.
       If \fBidlok\fR is enabled and the terminal
       has either a scrolling region or insert/delete line capability, they will
       probably be used by the output routines.)
      +.SS scrollok
       .PP
       The \fBscrollok\fR option controls what happens when the cursor of a window is
       moved off the edge of the window or scrolling region, either as a result of a
      @@ -143,6 +150,7 @@ line.
       If enabled, (\fIbf\fR is \fBTRUE\fR), the window is scrolled up one line
       (Note that to get the physical scrolling effect on the terminal, it is
       also necessary to call \fBidlok\fR).
      +.SS nl, nonl
       .PP
       The \fBnl\fR and \fBnonl\fR routines control whether the underlying display
       device translates the return key into newline on input, and whether it
      @@ -161,7 +169,7 @@ and \fBERR\fR upon failure.
       All other routines that return an integer always
       return \fBOK\fR.
       .PP
      -X/Open does not define any error conditions.
      +X/Open Curses does not define any error conditions.
       .PP
       In this implementation, those functions that have a window pointer
       will return an error if the window pointer is null.
      @@ -213,6 +221,7 @@ Note that \fBclearok\fR, \fBleaveok\fR, \fBscrollok\fR, \fBidcok\fR, \fBnl\fR,
       The \fBimmedok\fR routine is useful for windows that are used as terminal
       emulators.
       .SH SEE ALSO
      +.na
       \fBcurses\fR(3X),
       \fBcurs_addch\fR(3X),
       \fBcurs_clear\fR(3X),
      diff --git a/man/curs_overlay.3x b/man/curs_overlay.3x
      index 972a9577..e3ed63f8 100644
      --- a/man/curs_overlay.3x
      +++ b/man/curs_overlay.3x
      @@ -1,5 +1,5 @@
       .\"***************************************************************************
      -.\" Copyright (c) 1998-2010,2013 Free Software Foundation, Inc.              *
      +.\" Copyright (c) 1998-2013,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            *
      @@ -26,7 +26,7 @@
       .\" authorization.                                                           *
       .\"***************************************************************************
       .\"
      -.\" $Id: curs_overlay.3x,v 1.17 2013/04/06 23:48:51 tom Exp $
      +.\" $Id: curs_overlay.3x,v 1.18 2015/07/21 00:51:31 tom Exp $
       .TH curs_overlay 3X ""
       .na
       .hy 0
      @@ -39,20 +39,22 @@
       .SH SYNOPSIS
       \fB#include \fR
       .sp
      -\fBint overlay(const WINDOW *srcwin, WINDOW *dstwin);\fR
      +\fBint overlay(const WINDOW *\fP\fIsrcwin\fP\fB, WINDOW *\fP\fIdstwin\fP\fB);\fR
       .br
      -\fBint overwrite(const WINDOW *srcwin, WINDOW *dstwin);\fR
      +\fBint overwrite(const WINDOW *\fP\fIsrcwin\fP\fB, WINDOW *\fP\fIdstwin\fP\fB);\fR
       .br
      -\fBint copywin(const WINDOW *srcwin, WINDOW *dstwin, int sminrow,\fR
      -      \fBint smincol, int dminrow, int dmincol, int dmaxrow,\fR
      -      \fBint dmaxcol, int overlay);\fR
      +\fBint copywin(const WINDOW *\fP\fIsrcwin\fP\fB, WINDOW *\fP\fIdstwin\fP\fB, int \fP\fIsminrow\fP\fB,\fR
      +      \fBint \fP\fIsmincol\fP\fB, int \fP\fIdminrow\fP\fB, int \fP\fIdmincol\fP\fB, int \fP\fIdmaxrow\fP\fB,\fR
      +      \fBint \fP\fIdmaxcol\fP\fB, int \fP\fIoverlay\fP\fB);\fR
       .SH DESCRIPTION
      +.SS overlay, overwrite
       The \fBoverlay\fR and \fBoverwrite\fR routines overlay \fIsrcwin\fR on
       top of \fIdstwin\fR.
       \fIscrwin\fR and \fIdstwin\fR are not required
       to be the same size; only text where the two windows overlap is copied.
       The difference is that \fBoverlay\fR is non-destructive
       (blanks are not copied) whereas \fBoverwrite\fR is destructive.
      +.SS copywin
       .PP
       The \fBcopywin\fR routine provides a finer granularity of control over the
       \fBoverlay\fR and \fBoverwrite\fR routines.
      diff --git a/man/curs_pad.3x b/man/curs_pad.3x
      index 6ce640b7..52fe51cf 100644
      --- a/man/curs_pad.3x
      +++ b/man/curs_pad.3x
      @@ -1,5 +1,5 @@
       .\"***************************************************************************
      -.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc.              *
      +.\" Copyright (c) 1998-2010,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            *
      @@ -26,7 +26,7 @@
       .\" authorization.                                                           *
       .\"***************************************************************************
       .\"
      -.\" $Id: curs_pad.3x,v 1.17 2010/12/04 18:41:07 tom Exp $
      +.\" $Id: curs_pad.3x,v 1.18 2015/07/21 08:58:44 tom Exp $
       .TH curs_pad 3X ""
       .na
       .hy 0
      @@ -42,21 +42,22 @@
       .SH SYNOPSIS
       \fB#include \fR
       .sp
      -\fBWINDOW *newpad(int nlines, int ncols);\fR
      +\fBWINDOW *newpad(int \fP\fInlines\fP\fB, int \fP\fIncols\fP\fB);\fR
       .br
      -\fBWINDOW *subpad(WINDOW *orig, int nlines, int ncols,\fR
      -      \fBint begin_y, int begin_x);\fR
      +\fBWINDOW *subpad(WINDOW *\fP\fIorig\fP\fB, int \fP\fInlines\fP\fB, int \fP\fIncols\fP\fB,\fR
      +      \fBint \fP\fIbegin_y\fP\fB, int \fP\fIbegin_x\fP\fB);\fR
       .br
      -\fBint prefresh(WINDOW *pad, int pminrow, int pmincol,\fR
      -      \fBint sminrow, int smincol, int smaxrow, int smaxcol);\fR
      +\fBint prefresh(WINDOW *\fP\fIpad\fP\fB, int \fP\fIpminrow\fP\fB, int \fP\fIpmincol\fP\fB,\fR
      +      \fBint \fP\fIsminrow\fP\fB, int \fP\fIsmincol\fP\fB, int \fP\fIsmaxrow\fP\fB, int \fP\fIsmaxcol\fP\fB);\fR
       .br
      -\fBint pnoutrefresh(WINDOW *pad, int pminrow, int pmincol,\fR
      -      \fBint sminrow, int smincol, int smaxrow, int smaxcol);\fR
      +\fBint pnoutrefresh(WINDOW *\fP\fIpad\fP\fB, int \fP\fIpminrow\fP\fB, int \fP\fIpmincol\fP\fB,\fR
      +      \fBint \fP\fIsminrow\fP\fB, int \fP\fIsmincol\fP\fB, int \fP\fIsmaxrow\fP\fB, int \fP\fIsmaxcol\fP\fB);\fR
       .br
      -\fBint pechochar(WINDOW *pad, chtype ch);\fR
      +\fBint pechochar(WINDOW *\fP\fIpad\fP\fB, chtype \fP\fIch\fP\fB);\fR
       .br
      -\fBint pecho_wchar(WINDOW *pad, const cchar_t *wch);\fR
      +\fBint pecho_wchar(WINDOW *\fP\fIpad\fP\fB, const cchar_t *\fP\fIwch\fP\fB);\fR
       .SH DESCRIPTION
      +.SS newpad
       The \fBnewpad\fR routine creates and returns a pointer to a new pad data
       structure with the given number of lines, \fInlines\fR, and columns,
       \fIncols\fR.
      @@ -73,6 +74,7 @@ legal to call \fBwrefresh\fR with a \fIpad\fR as an argument; the routines
       Note that these
       routines require additional parameters to specify the part of the pad to be
       displayed and the location on the screen to be used for the display.
      +.SS subpad
       .PP
       The \fBsubpad\fR routine creates and returns a pointer to a subwindow within a
       pad with the given number of lines, \fInlines\fR, and columns, \fIncols\fR.
      @@ -84,6 +86,7 @@ affect both windows.
       During the use of this routine, it will often be
       necessary to call \fBtouchwin\fR or \fBtouchline\fR on \fIorig\fR before
       calling \fBprefresh\fR.
      +.SS prefresh, pnoutrefresh
       .PP
       The \fBprefresh\fR and \fBpnoutrefresh\fR routines are analogous to
       \fBwrefresh\fR and \fBwnoutrefresh\fR except that they relate to pads instead
      @@ -104,6 +107,7 @@ contained within their respective structures.
       Negative values of
       \fIpminrow\fR, \fIpmincol\fR, \fIsminrow\fR, or \fIsmincol\fR are treated as if
       they were zero.
      +.SS pechochar
       .PP
       The \fBpechochar\fR routine is functionally equivalent to a call to \fBaddch\fR
       followed by a call to \fBrefresh\fR, a call to \fBwaddch\fR followed by a call
      @@ -115,6 +119,7 @@ performance gain might be seen by using these routines instead of their
       equivalents.
       In the case of \fBpechochar\fR, the last location of the pad on
       the screen is reused for the arguments to \fBprefresh\fR.
      +.SS pecho_wchar
       .PP
       The \fBpecho_wchar\fR function is the analogous wide-character
       form of \fBpechochar\fR.
      @@ -130,7 +135,7 @@ to \fBENOMEM\fR.
       .PP
       X/Open does not define any error conditions.
       In this implementation
      -.RS
      +.RS 3
       .TP 5
       \fBprefresh\fP and \fBpnoutrefresh\fP
       return an error
      diff --git a/man/curs_termattrs.3x b/man/curs_termattrs.3x
      index 0f0294cd..e19459fa 100644
      --- a/man/curs_termattrs.3x
      +++ b/man/curs_termattrs.3x
      @@ -1,5 +1,5 @@
       .\"***************************************************************************
      -.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc.              *
      +.\" Copyright (c) 1998-2010,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            *
      @@ -26,7 +26,7 @@
       .\" authorization.                                                           *
       .\"***************************************************************************
       .\"
      -.\" $Id: curs_termattrs.3x,v 1.12 2010/12/04 18:40:45 tom Exp $
      +.\" $Id: curs_termattrs.3x,v 1.13 2015/07/21 00:03:34 tom Exp $
       .TH curs_termattrs 3X ""
       .SH NAME
       \fBbaudrate\fR,
      @@ -66,9 +66,11 @@
       \fBchar *termname(void);\fR
       .br
       .SH DESCRIPTION
      +.SS baudrate
       The \fBbaudrate\fR routine returns the output speed of the terminal.  The
       number returned is in bits per second, for example \fB9600\fR, and is an
       integer.
      +.SS erasechar, erasewchar
       .PP
       The \fBerasechar\fR routine returns the user's current erase character.
       .PP
      @@ -76,6 +78,7 @@ The \fBerasewchar\fR routine stores the current erase character
       in the location referenced by \fIch\fR.
       If no erase character has been defined, the routine fails
       and the location referenced by \fIch\fR is not changed.
      +.SS has_is, has_il
       .PP
       The \fBhas_ic\fR routine is true if the terminal has insert- and delete-
       character capabilities.
      @@ -84,6 +87,7 @@ The \fBhas_il\fR routine is true if the terminal has insert- and delete-line
       capabilities, or can simulate them using scrolling regions.  This might
       be used to determine if it would be appropriate to turn on physical
       scrolling using \fBscrollok\fR.
      +.SS killchar, killwchar
       .PP
       The \fBkillchar\fR routine returns the user's current line kill character.
       .PP
      @@ -91,6 +95,7 @@ The \fBkillwchar\fR routine stores the current line-kill character
       in the location referenced by \fIch\fR.
       If no line-kill character has been defined,
       the routine fails and the location referenced by \fIch\fR is not changed.
      +.SS longname
       .PP
       The \fBlongname\fR routine returns a pointer to a static area
       containing a verbose description of the current terminal.  The maximum
      @@ -100,6 +105,7 @@ overwritten by each call to \fBnewterm\fR and is not restored by
       \fBset_term\fR, so the value should be saved between calls to
       \fBnewterm\fR if \fBlongname\fR is going to be used with multiple
       terminals.
      +.SS termattrs, term_attrs
       .PP
       If a given terminal does not support a video attribute that an
       application program is trying to use, \fBcurses\fR may substitute a
      @@ -109,6 +115,7 @@ return a logical \fBOR\fR of all video attributes supported by the
       terminal using \fIA_\fR and \fIWA_\fR constants respectively.
       This information is useful when a \fBcurses\fR program
       needs complete control over the appearance of the screen.
      +.SS termname
       .PP
       The \fBtermname\fR routine returns the terminal name used by \fBsetupterm\fR.
       .SH RETURN VALUE
      diff --git a/man/curs_trace.3x b/man/curs_trace.3x
      index ef784165..00e7bd63 100644
      --- a/man/curs_trace.3x
      +++ b/man/curs_trace.3x
      @@ -1,5 +1,5 @@
       .\"***************************************************************************
      -.\" Copyright (c) 2000-2009,2010 Free Software Foundation, Inc.              *
      +.\" Copyright (c) 2000-2010,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            *
      @@ -26,7 +26,10 @@
       .\" authorization.                                                           *
       .\"***************************************************************************
       .\"
      -.\" $Id: curs_trace.3x,v 1.12 2010/12/04 18:40:45 tom Exp $
      +.\" $Id: curs_trace.3x,v 1.13 2015/07/20 22:54:44 tom Exp $
      +.de bP
      +.IP \(bu 4
      +..
       .TH curs_trace 3X ""
       .na
       .hy 0
      @@ -48,116 +51,136 @@
       .SH SYNOPSIS
       \fB#include \fR
       .sp
      -\fBvoid _tracef(const char *format, ...);\fR
      +\fBvoid _tracef(const char *\fP\fIformat\fP\fB, ...);\fR
       .br
      -\fBvoid _tracedump(const char *label, WINDOW *win);\fR
      +\fBvoid _tracedump(const char *\fP\fIlabel\fP\fB, WINDOW *\fP\fIwin\fP\fB);\fR
       .br
      -\fBchar *_traceattr(attr_t attr);\fR
      +\fBchar *_traceattr(attr_t \fP\fIattr\fP\fB);\fR
       .br
      -\fBchar *_traceattr2(int buffer, chtype ch);\fR
      +\fBchar *_traceattr2(int \fP\fIbuffer\fP\fB, chtype \fP\fIch\fP\fB);\fR
       .br
       \fBchar *_nc_tracebits(void);\fR
       .br
      -\fBchar * _tracecchar_t(const cchar_t *string);\fR
      +\fBchar * _tracecchar_t(const cchar_t *\fP\fIstring\fP\fB);\fR
       .br
      -\fBchar * _tracecchar_t2(int buffer, const cchar_t *string);\fR
      +\fBchar * _tracecchar_t2(int \fP\fIbuffer\fP\fB, const cchar_t *\fP\fIstring\fP\fB);\fR
       .br
      -\fBchar *_tracechar(int ch);\fR
      +\fBchar *_tracechar(int \fP\fIch\fP\fB);\fR
       .br
      -\fBchar *_tracechtype(chtype ch);\fR
      +\fBchar *_tracechtype(chtype \fP\fIch\fP\fB);\fR
       .br
      -\fBchar *_tracechtype2(int buffer, chtype ch);\fR
      +\fBchar *_tracechtype2(int \fP\fIbuffer\fP\fB, chtype \fP\fIch\fP\fB);\fR
       .br
      -\fBchar *_tracemouse(const MEVENT *event);\fR
      +\fBchar *_tracemouse(const MEVENT *\fP\fIevent\fP\fB);\fR
       .br
      -\fBvoid trace(const unsigned int param);\fR
      +\fBvoid trace(const unsigned int \fP\fIparam\fP\fB);\fR
       .SH DESCRIPTION
       The \fBtrace\fR routines are used for debugging the ncurses libraries,
       as well as applications which use the ncurses libraries.
       These functions are normally available only with the debugging library
      -\fIlibncurses_g.a\fR, but may be compiled into any model (shared, static,
      +e.g., \fIlibncurses_g.a\fR, but may be compiled into any model (shared, static,
       profile) by defining the symbol \fBTRACE\fR.
       Additionally, some functions are only available with the wide-character
       configuration of the libraries.
       .PP
      -The principal parts of this interface are the \fBtrace\fR routine which
      -selectively enables different tracing features, and the \fB_tracef\fR
      -routine which writes formatted data to the \fItrace\fR file.
      +The principal parts of this interface are
      +.bP
      +\fBtrace\fR, which selectively enables different tracing features, and
      +.bP
      +\fB_tracef\fR, which writes formatted data to the \fItrace\fR file.
       .PP
       Calling \fBtrace\fR with a nonzero parameter opens the file \fBtrace\fR
      -in the current directory for output.  The parameter is formed by OR'ing
      +in the current directory for output.
      +The parameter is formed by OR'ing
       values from the list of \fBTRACE_\fP\fIxxx\fR definitions in \fB\fR.
       These include:
       .TP 5
      -TRACE_DISABLE
      +.B TRACE_DISABLE
       turn off tracing.
       .TP 5
      -TRACE_TIMES
      +.B TRACE_TIMES
       trace user and system times of updates.
       .TP 5
      -TRACE_TPUTS
      +.B TRACE_TPUTS
       trace tputs calls.
       .TP 5
      -TRACE_UPDATE
      +.B TRACE_UPDATE
       trace update actions, old & new screens.
       .TP 5
      -TRACE_MOVE
      +.B TRACE_MOVE
       trace cursor movement and scrolling.
       .TP 5
      -TRACE_CHARPUT
      +.B TRACE_CHARPUT
       trace all character outputs.
       .TP 5
      -TRACE_ORDINARY
      +.B TRACE_ORDINARY
       trace all update actions.
       The old and new screen contents are written to the trace file
       for each refresh.
       .TP 5
      -TRACE_CALLS
      +.B TRACE_CALLS
       trace all curses calls.
       The parameters for each call are traced, as well as return values.
       .TP 5
      -TRACE_VIRTPUT
      +.B TRACE_VIRTPUT
       trace virtual character puts, i.e., calls to \fBaddch\fR.
       .TP 5
      -TRACE_IEVENT
      +.B TRACE_IEVENT
       trace low-level input processing, including timeouts.
       .TP 5
      -TRACE_BITS
      +.B TRACE_BITS
       trace state of TTY control bits.
       .TP 5
      -TRACE_ICALLS
      +.B TRACE_ICALLS
       trace internal/nested calls.
       .TP 5
      -TRACE_CCALLS
      +.B TRACE_CCALLS
       trace per-character calls.
       .TP 5
      -TRACE_DATABASE
      +.B TRACE_DATABASE
       trace read/write of terminfo/termcap data.
       .TP 5
      -TRACE_ATTRS
      +.B TRACE_ATTRS
       trace changes to video attributes and colors.
       .TP 5
      -TRACE_MAXIMUM
      +.B TRACE_MAXIMUM
       maximum trace level, enables all of the separate trace features.
       .PP
       Some tracing features are enabled whenever the \fBtrace\fR parameter
      -is nonzero.  Some features overlap.
      +is nonzero.
      +Some features overlap.
       The specific names are used as a guideline.
       .PP
      +The other functions either return a pointer to a string-area
      +(allocated by the corresponding function),
      +or return no value (such as \fB_tracedump\fP, which implements the
      +screen dump for \fBTRACE_UPDATE\fP).
      +The caller should not free these
      +strings, since the allocation is reused on successive calls.
      +To work around the problem of a single string-area per function,
      +some use a buffer-number parameter, telling the library to allocate
      +additional string-areas.
      +.PP
       These functions check the \fBNCURSES_TRACE\fP environment variable,
       to set the tracing feature as if \fBtrace\fP was called:
       .RS
      +.PP
      +.na
       filter,
       initscr,
       new_prescr,
       newterm,
       nofilter,
      +restartterm,
       ripoffline,
       setupterm,
       slk_init,
      -tgetent
      +tgetent,
      +use_env,
      +use_extended_names,
      +use_tioctl
      +.ad
       .RE
      -
       .SH RETURN VALUE
       Routines which return a value are designed to be used as parameters
       to the \fB_tracef\fR routine.
      diff --git a/man/curs_window.3x b/man/curs_window.3x
      index ec811d36..ba9d293e 100644
      --- a/man/curs_window.3x
      +++ b/man/curs_window.3x
      @@ -1,5 +1,5 @@
       .\"***************************************************************************
      -.\" Copyright (c) 1998-2010,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            *
      @@ -26,7 +26,7 @@
       .\" authorization.                                                           *
       .\"***************************************************************************
       .\"
      -.\" $Id: curs_window.3x,v 1.18 2014/03/01 23:36:38 tom Exp $
      +.\" $Id: curs_window.3x,v 1.19 2015/07/21 08:25:23 tom Exp $
       .TH curs_window 3X ""
       .na
       .hy 0
      @@ -48,34 +48,35 @@
       \fB#include \fR
       .sp
       \fBWINDOW *newwin(\fR
      -      \fBint nlines, int ncols,\fR
      -      \fBint begin_y, int begin_x);\fR
      +      \fBint \fP\fInlines\fP\fB, int \fP\fIncols\fP\fB,\fR
      +      \fBint \fP\fIbegin_y\fP\fB, int \fP\fIbegin_x\fP\fB);\fR
       .br
      -\fBint delwin(WINDOW *win);\fR
      +\fBint delwin(WINDOW *\fP\fIwin\fP\fB);\fR
       .br
      -\fBint mvwin(WINDOW *win, int y, int x);\fR
      +\fBint mvwin(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
       .br
      -\fBWINDOW *subwin(WINDOW *orig,\fR
      -      \fBint nlines, int ncols,\fR
      -      \fBint begin_y, int begin_x);\fR
      +\fBWINDOW *subwin(WINDOW *\fP\fIorig\fP\fB,\fR
      +      \fBint \fP\fInlines\fP\fB, int \fP\fIncols\fP\fB,\fR
      +      \fBint \fP\fIbegin_y\fP\fB, int \fP\fIbegin_x\fP\fB);\fR
       .br
      -\fBWINDOW *derwin(WINDOW *orig,\fR
      -      \fBint nlines, int ncols,\fR
      -      \fBint begin_y, int begin_x);\fR
      +\fBWINDOW *derwin(WINDOW *\fP\fIorig\fP\fB,\fR
      +      \fBint \fP\fInlines\fP\fB, int \fP\fIncols\fP\fB,\fR
      +      \fBint \fP\fIbegin_y\fP\fB, int \fP\fIbegin_x\fP\fB);\fR
       .br
      -\fBint mvderwin(WINDOW *win, int par_y, int par_x);\fR
      +\fBint mvderwin(WINDOW *\fP\fIwin\fP\fB, int \fP\fIpar_y\fP\fB, int \fP\fIpar_x\fP\fB);\fR
       .br
      -\fBWINDOW *dupwin(WINDOW *win);\fR
      +\fBWINDOW *dupwin(WINDOW *\fP\fIwin\fP\fB);\fR
       .br
      -\fBvoid wsyncup(WINDOW *win);\fR
      +\fBvoid wsyncup(WINDOW *\fP\fIwin\fP\fB);\fR
       .br
      -\fBint syncok(WINDOW *win, bool bf);\fR
      +\fBint syncok(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
       .br
      -\fBvoid wcursyncup(WINDOW *win);\fR
      +\fBvoid wcursyncup(WINDOW *\fP\fIwin\fP\fB);\fR
       .br
      -\fBvoid wsyncdown(WINDOW *win);\fR
      +\fBvoid wsyncdown(WINDOW *\fP\fIwin\fP\fB);\fR
       .br
       .SH DESCRIPTION
      +.SS newwin
       Calling \fBnewwin\fR creates and returns a pointer to a new window with the
       given number of lines and columns.
       The upper left-hand corner of the window is
      @@ -95,17 +96,20 @@ If either
       .RE
       .PP
       A new full-screen window is created by calling \fBnewwin(0,0,0,0)\fR.
      +.SS delwin
       .PP
       Calling \fBdelwin\fR deletes the named window, freeing all memory
       associated with it (it does not actually erase the window's screen
       image).
       Subwindows must be deleted before the main window can be deleted.
      +.SS mvwin
       .PP
       Calling \fBmvwin\fR moves the window so that the upper left-hand
       corner is at position (\fIx\fR, \fIy\fR).
       If the move would cause the window to be off the screen,
       it is an error and the window is not moved.
       Moving subwindows is allowed, but should be avoided.
      +.SS subwin
       .PP
       Calling \fBsubwin\fR creates and returns a pointer to a new window
       with the given number of lines, \fInlines\fR, and columns, \fIncols\fR.
      @@ -117,6 +121,7 @@ will affect both windows.
       When using this routine, it is necessary to call
       \fBtouchwin\fR or \fBtouchline\fR on \fIorig\fR before calling
       \fBwrefresh\fR on the subwindow.
      +.SS derwin
       .PP
       Calling \fBderwin\fR is the same as calling \fBsubwin,\fR except that
       \fIbegin\fR_\fIy\fR and \fIbegin\fR_\fIx\fR are relative to the origin
      @@ -129,19 +134,23 @@ The screen-relative parameters of the window are not changed.
       This routine is used to display different
       parts of the parent window at the same physical position on the
       screen.
      +.SS dupwin
       .PP
       Calling \fBdupwin\fR creates an exact duplicate of the window \fIwin\fR.
      +.SS wsyncup
       .PP
       Calling \fBwsyncup\fR touches all locations in ancestors of \fIwin\fR that are
       changed in \fIwin\fR.
       If \fBsyncok\fR is called with second argument
       \fBTRUE\fR then \fBwsyncup\fR is called automatically whenever there is a
       change in the window.
      +.SS wsyncdown
       .PP
       The \fBwsyncdown\fR routine touches each location in \fIwin\fR that has been
       touched in any of its ancestor windows.
       This routine is called by
       \fBwrefresh\fR, so it should almost never be necessary to call it manually.
      +.SS wcursyncup
       .PP
       The routine \fBwcursyncup\fR updates the current cursor position of all the
       ancestors of the window to reflect the current cursor position of the
      diff --git a/man/ncurses.3x b/man/ncurses.3x
      index df709418..b34c1301 100644
      --- a/man/ncurses.3x
      +++ b/man/ncurses.3x
      @@ -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: ncurses.3x,v 1.119 2014/08/09 20:54:30 tom Exp $
      +.\" $Id: ncurses.3x,v 1.121 2015/07/21 23:49:19 tom Exp $
       .hy 0
       .TH ncurses 3X ""
       .ie \n(.g .ds `` \(lq
      @@ -82,6 +82,7 @@ manipulation; output to windows and pads; reading terminal input; control over
       terminal and \fBcurses\fR input and output options; environment query
       routines; color manipulation; use of soft label keys; terminfo capabilities;
       and access to low-level terminal-manipulation routines.
      +.SS Initialization
       .PP
       The library uses the locale which the calling program has initialized.
       That is normally done with \fBsetlocale\fP:
      @@ -118,6 +119,7 @@ This can be done by executing the \fB@TPUT@ init\fR command
       after the shell environment variable \fBTERM\fR has been exported.
       \fB@TSET@(1)\fR is usually responsible for doing this.
       [See \fBterminfo\fR(\*n) for further details.]
      +.SS Datatypes
       .PP
       The \fBncurses\fR library permits manipulation of data structures,
       called \fIwindows\fR, which can be thought of as two-dimensional
      @@ -167,6 +169,7 @@ transmit escape sequences into single values.
       The video attributes, line
       drawing characters, and input values use names, defined in \fB\fR,
       such as \fBA_REVERSE\fR, \fBACS_HLINE\fR, and \fBKEY_LEFT\fR.
      +.SS Environment variables
       .PP
       If the environment variables \fBLINES\fR and \fBCOLUMNS\fR are set, or if the
       program is executing in a window environment, line and column information in
      @@ -240,9 +243,9 @@ Types used for the terminfo routines such as
       This manual page describes functions which may appear in any configuration
       of the library.
       There are two common configurations of the library:
      -.RS
      +.RS 3
       .TP 5
      -ncurses
      +.I ncurses
       the "normal" library, which handles 8-bit characters.
       The normal (8-bit) library stores characters combined with attributes
       in \fBchtype\fP data.
      @@ -253,13 +256,13 @@ In either case, the data is stored in something like an integer.
       .IP
       Each cell (row and column) in a \fBWINDOW\fP is stored as a \fBchtype\fP.
       .TP 5
      -ncursesw
      +.I ncursesw
       the so-called "wide" library, which handles multibyte characters
       (see the section on \fBALTERNATE CONFIGURATIONS\fP).
       The "wide" library includes all of the calls from the "normal" library.
       It adds about one third more calls using data types which store
       multibyte characters:
      -.RS
      +.RS 5
       .TP 5
       .B cchar_t
       corresponds to \fBchtype\fP.
      @@ -759,89 +762,82 @@ Routines that return pointers return \fBNULL\fR on error.
       The following environment symbols are useful for customizing the
       runtime behavior of the \fBncurses\fR library.
       The most important ones have been already discussed in detail.
      -.TP 5
      -CC
      +.SS CC
       When set, change occurrences of the command_character
       (i.e., the \fBcmdch\fP capability)
       of the loaded terminfo entries to the value of this variable.
       Very few terminfo entries provide this feature.
      -.IP
      +.PP
       Because this name is also used in development environments to represent
       the C compiler's name, \fBncurses\fR ignores it if it does not happen to
       be a single character.
      -.TP 5
      -BAUDRATE
      +.SS BAUDRATE
       The debugging library checks this environment variable when the application
       has redirected output to a file.
       The variable's numeric value is used for the baudrate.
       If no value is found, \fBncurses\fR uses 9600.
       This allows testers to construct repeatable test-cases
       that take into account costs that depend on baudrate.
      -.TP 5
      -COLUMNS
      +.SS COLUMNS
       Specify the width of the screen in characters.
       Applications running in a windowing environment usually are able to
       obtain the width of the window in which they are executing.
       If neither the \fBCOLUMNS\fP value nor the terminal's screen size is available,
       \fBncurses\fR uses the size which may be specified in the terminfo database
       (i.e., the \fBcols\fR capability).
      -.IP
      +.PP
       It is important that your application use a correct size for the screen.
       This is not always possible because your application may be
       running on a host which does not honor NAWS (Negotiations About Window
       Size), or because you are temporarily running as another user.
       However, setting \fBCOLUMNS\fP and/or \fBLINES\fP overrides the library's
       use of the screen size obtained from the operating system.
      -.IP
      +.PP
       Either \fBCOLUMNS\fP or \fBLINES\fP symbols may be specified independently.
       This is mainly useful to circumvent legacy misfeatures of terminal descriptions,
       e.g., xterm which commonly specifies a 65 line screen.
       For best results, \fBlines\fR and \fBcols\fR should not be specified in
       a terminal description for terminals which are run as emulations.
      -.IP
      +.PP
       Use the \fBuse_env\fR function to disable all use of external environment
       (but not including system calls) to determine the screen size.
       Use the \fBuse_tioctl\fR function to update \fBCOLUMNS\fP or \fBLINES\fP
       to match the screen size obtained from system calls or the terminal database.
      -.TP 5
      -ESCDELAY
      +.SS ESCDELAY
       Specifies the total time, in milliseconds, for which ncurses will
       await a character sequence, e.g., a function key.
       The default value, 1000 milliseconds, is enough for most uses.
       However, it is made a variable to accommodate unusual applications.
      -.IP
      +.PP
       The most common instance where you may wish to change this value
       is to work with slow hosts, e.g., running on a network.
       If the host cannot read characters rapidly enough, it will have the same
       effect as if the terminal did not send characters rapidly enough.
       The library will still see a timeout.
      -.IP
      +.PP
       Note that xterm mouse events are built up from character sequences
       received from the xterm.
       If your application makes heavy use of multiple-clicking, you may
       wish to lengthen this default value because the timeout applies
       to the composed multi-click event as well as the individual clicks.
      -.IP
      +.PP
       In addition to the environment variable,
       this implementation provides a global variable with the same name.
       Portable applications should not rely upon the presence of ESCDELAY
       in either form,
       but setting the environment variable rather than the global variable
       does not create problems when compiling an application.
      -.TP 5
      -HOME
      +.SS HOME
       Tells \fBncurses\fR where your home directory is.
       That is where it may read and write auxiliary terminal descriptions:
      -.IP
      +.PP
       $HOME/.termcap
       .br
       $HOME/.terminfo
      -.TP 5
      -LINES
      +.SS LINES
       Like COLUMNS, specify the height of the screen in characters.
       See COLUMNS for a detailed description.
      -.TP 5
      -MOUSE_BUTTONS_123
      +.SS MOUSE_BUTTONS_123
       This applies only to the OS/2 EMX port.
       It specifies the order of buttons on the mouse.
       OS/2 numbers a 3-button mouse inconsistently from other
      @@ -856,8 +852,7 @@ platforms:
       This variable lets you customize the mouse.
       The variable must be three numeric digits 1\-3 in any order, e.g., 123 or 321.
       If it is not specified, \fBncurses\fR uses 132.
      -.TP 5
      -NCURSES_ASSUMED_COLORS
      +.SS NCURSES_ASSUMED_COLORS
       Override the compiled-in assumption that the
       terminal's default colors are white-on-black
       (see \fBdefault_colors\fR(3X)).
      @@ -867,10 +862,9 @@ For example, to tell ncurses to not assume anything
       about the colors, set this to "\-1,\-1".
       To make it green-on-black, set it to "2,0".
       Any positive value from zero to the terminfo \fBmax_colors\fR value is allowed.
      -.TP 5
      -NCURSES_CONSOLE2
      +.SS NCURSES_CONSOLE2
       This applies only to the MinGW port of ncurses.
      -.IP
      +.PP
       The \fBConsole2\fP program's handling of the Microsoft Console API call
       \fBCreateConsoleScreenBuffer\fP is defective.
       Applications which use this will hang.
      @@ -878,33 +872,29 @@ However, it is possible to simulate the action of this call by
       mapping coordinates,
       explicitly saving and restoring the original screen contents.
       Setting the environment variable \fBNCGDB\fP has the same effect.
      -.TP 5
      -NCURSES_GPM_TERMS
      +.SS NCURSES_GPM_TERMS
       This applies only to ncurses configured to use the GPM interface.
      -.IP
      +.PP
       If present,
       the environment variable is a list of one or more terminal names
       against which the TERM environment variable is matched.
       Setting it to an empty value disables the GPM interface;
       using the built-in support for xterm, etc.
      -.IP
      +.PP
       If the environment variable is absent,
       ncurses will attempt to open GPM if TERM contains "linux".
      -.TP 5
      -NCURSES_NO_HARD_TABS
      +.SS NCURSES_NO_HARD_TABS
       \fBNcurses\fP may use tabs as part of the cursor movement optimization.
       In some cases,
       your terminal driver may not handle these properly.
       Set this environment variable to disable the feature.
       You can also adjust your \fBstty\fP settings to avoid the problem.
      -.TP 5
       NCURSES_NO_MAGIC_COOKIE
       Some terminals use a magic-cookie feature which requires special handling
       to make highlighting and other video attributes display properly.
       You can suppress the highlighting entirely for these terminals by
       setting this environment variable.
      -.TP 5
      -NCURSES_NO_PADDING
      +.SS NCURSES_NO_PADDING
       Most of the terminal descriptions in the terminfo database are written
       for real "hardware" terminals.
       Many people use terminal emulators
      @@ -920,29 +910,28 @@ it (or your application) must manage dataflow, preventing overruns.
       The cheapest solution (no hardware cost)
       is for your program to do this by pausing after
       operations that the terminal does slowly, such as clearing the display.
      -.IP
      +.PP
       As a result, many terminal descriptions (including the vt100)
       have delay times embedded.
       You may wish to use these descriptions,
       but not want to pay the performance penalty.
      -.IP
      +.PP
       Set the NCURSES_NO_PADDING environment variable to disable all but mandatory
       padding.
       Mandatory padding is used as a part of special control
       sequences such as \fIflash\fR.
      -.TP 5
      -NCURSES_NO_SETBUF
      +.SS NCURSES_NO_SETBUF
       This setting is obsolete.
       Before changes
      -.RS
      +.RS 3
       .bP
      -started with 5.9 patch 20120825 
      +started with 5.9 patch 20120825
       and
       .bP
       continued
       though 5.9 patch 20130126
       .RE
      -.IP
      +.PP
       \fBncurses\fR enabled buffered output during terminal initialization.
       This was done (as in SVr4 curses) for performance reasons.
       For testing purposes, both of \fBncurses\fR and certain applications,
      @@ -950,11 +939,11 @@ this feature was made optional.
       Setting the NCURSES_NO_SETBUF variable
       disabled output buffering, leaving the output in the original (usually
       line buffered) mode.
      -.IP
      +.PP
       In the current implementation,
       ncurses performs its own buffering and does not require this workaround.
       It does not modify the buffering of the standard output.
      -.IP
      +.PP
       The reason for the change was to make the behavior for interrupts and
       other signals more robust.
       One drawback is that certain nonconventional programs would mix
      @@ -964,8 +953,7 @@ the buffered standard output but its own output (to the same file descriptor).
       As a special case, the low-level calls such as \fBputp\fP still use the
       standard output.
       But high-level curses calls do not.
      -.TP 5
      -NCURSES_NO_UTF8_ACS
      +.SS NCURSES_NO_UTF8_ACS
       During initialization, the \fBncurses\fR library
       checks for special cases where VT100 line-drawing (and the corresponding
       alternate character set capabilities) described in the terminfo are known
      @@ -978,16 +966,16 @@ Doing this tells ncurses to use Unicode values which correspond to
       the VT100 line-drawing glyphs.
       That works for the special cases cited,
       and is likely to work for terminal emulators.
      -.IP
      +.PP
       When setting this variable, you should set it to a nonzero value.
       Setting it to zero (or to a nonnumber)
       disables the special check for "linux" and "screen".
      -.IP
      +.PP
       As an alternative to the environment variable,
       ncurses checks for an extended terminfo capability \fBU8\fP.
       This is a numeric capability which can be compiled using \fB@TIC@\ \-x\fP.
       For example
      -.RS 5
      +.RS 3
       .ft CW
       .sp
       .nf
      @@ -1002,33 +990,33 @@ xterm-utf8|xterm relying on UTF-8 line-graphics,
       .fi
       .ft
       .RE
      -.IP
      +.PP
       The name "U8" is chosen to be two characters,
       to permit it to be used by applications that use ncurses'
       termcap interface.
      -.TP 5
      -NCURSES_TRACE
      +.SS NCURSES_TRACE
       During initialization, the \fBncurses\fR debugging library
       checks the NCURSES_TRACE environment variable.
       If it is defined, to a numeric value, \fBncurses\fR calls the \fBtrace\fR
       function, using that value as the argument.
      -.IP
      +.PP
       The argument values, which are defined in \fBcurses.h\fR, provide several
       types of information.
       When running with traces enabled, your application will write the
       file \fBtrace\fR to the current directory.
      -.TP 5
      -TERM
      +.PP
      +See \fBcurs_trace\fP(3X) for more information.
      +.SS TERM
       Denotes your terminal type.
       Each terminal type is distinct, though many are similar.
      -.IP
      +.PP
       \fBTERM\fP is commonly set by terminal emulators to help
       applications find a workable terminal description.
       Some of those choose a popular approximation, e.g.,
       \*(``ansi\*('', \*(``vt100\*('', \*(``xterm\*('' rather than an exact fit.
       Not infrequently, your application will have problems with that approach,
       e.g., incorrect function-key definitions.
      -.IP
      +.PP
       If you set \fBTERM\fP in your environment,
       it has no effect on the operation of the terminal emulator.
       It only affects the way applications work within the terminal.
      @@ -1036,25 +1024,23 @@ Likewise, as a general rule (\fBxterm\fP being a rare exception),
       terminal emulators which allow you to
       specify \fBTERM\fP as a parameter or configuration value do
       not change their behavior to match that setting.
      -.TP 5
      -TERMCAP
      +.SS TERMCAP
       If the \fBncurses\fR library has been configured with \fItermcap\fR
       support, \fBncurses\fR will check for a terminal's description in
       termcap form if it is not available in the terminfo database.
      -.IP
      +.PP
       The TERMCAP environment variable contains either a terminal description (with
       newlines stripped out),
       or a file name telling where the information denoted by
       the TERM environment variable exists.
       In either case, setting it directs \fBncurses\fR to ignore
       the usual place for this information, e.g., /etc/termcap.
      -.TP 5
      -TERMINFO
      +.SS TERMINFO
       Overrides the directory in which \fBncurses\fR searches for your terminal
       description.
       This is the simplest, but not the only way to change the list of directories.
       The complete list of directories in order follows:
      -.RS
      +.RS 3
       .bP
       the last directory to which \fBncurses\fR wrote, if any, is searched first
       .bP
      @@ -1066,35 +1052,33 @@ directories listed in the TERMINFO_DIRS environment variable
       .bP
       one or more directories whose names are configured and compiled into the
       ncurses library, i.e.,
      -.RS
      +.RS 3
       .bP
       @TERMINFO_DIRS@ (corresponding to the TERMINFO_DIRS variable)
       .bP
       @TERMINFO@ (corresponding to the TERMINFO variable)
       .RE
       .RE
      -.TP 5
      -TERMINFO_DIRS
      +.SS TERMINFO_DIRS
       Specifies a list of directories to search for terminal descriptions.
       The list is separated by colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
      -.IP
      +.PP
       All of the terminal descriptions are in terminfo form.
       Normally these are stored in a directory tree,
       using subdirectories named by the first letter of the terminal names therein.
      -.IP
      +.PP
       If \fBncurses\fP is built with a hashed database,
       then each entry in this list can also be the path of the corresponding
       database file.
      -.IP
      +.PP
       If \fBncurses\fP is built with a support for reading termcap files
       directly, then an entry in this list may be the path of a termcap file.
      -.TP 5
      -TERMPATH
      +.SS TERMPATH
       If TERMCAP does not hold a file name then \fBncurses\fR checks
       the TERMPATH environment variable.
       This is a list of filenames separated by spaces or colons (i.e., ":") on Unix,
       semicolons on OS/2 EMX.
      -.IP
      +.PP
       If the TERMPATH environment variable is not set,
       \fBncurses\fR looks in the files
       /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap, in that order.
      @@ -1102,7 +1086,7 @@ If the TERMPATH environment variable is not set,
       The library may be configured to disregard the following variables when the
       current user is the superuser (root), or if the application uses setuid or
       setgid permissions:
      -.IP
      +.PP
       $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
       .SH ALTERNATE CONFIGURATIONS
       Several different configurations are possible,
      @@ -1112,7 +1096,7 @@ developer using \fBncurses\fP:
       .TP 5
       \-\-disable\-overwrite
       The standard include for \fBncurses\fP is as noted in \fBSYNOPSIS\fP:
      -.RS
      +.RS 3
       .sp
       \fB#include \fR
       .RE
      @@ -1121,7 +1105,7 @@ This option is used to avoid filename conflicts when \fBncurses\fP
       is not the main implementation of curses of the computer.
       If \fBncurses\fP is installed disabling overwrite, it puts its headers in
       a subdirectory, e.g.,
      -.RS
      +.RS 3
       .sp
       \fB#include \fR
       .RE
      @@ -1135,13 +1119,13 @@ The configure script renames the library and
       puts the header files in a different subdirectory.
       All of the library names have a "w" appended to them,
       i.e., instead of
      -.RS
      +.RS 3
       .sp
       \fB\-lncurses\fR
       .RE
       .IP
       you link with
      -.RS
      +.RS 3
       .sp
       \fB\-lncursesw\fR
       .RE
      @@ -1195,7 +1179,7 @@ terminal capability database
       \fBterminfo\fR(\*n) and related pages whose names begin
       "curs_" for detailed routine descriptions.
       .br
      -\fBcurs_variables\fR(3X) 
      +\fBcurs_variables\fR(3X)
       .SH EXTENSIONS
       The \fBncurses\fR library can be compiled with an option (\fB\-DUSE_GETCAP\fR)
       that falls back to the old-style /etc/termcap file if the terminal setup code
      diff --git a/misc/terminfo.src b/misc/terminfo.src
      index c96aa0d6..e5d16870 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.546 $
      -#	$Date: 2015/06/27 18:57:21 $
      +#	$Revision: 1.549 $
      +#	$Date: 2015/07/25 19:27:20 $
       #
       # 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
      @@ -5584,8 +5584,13 @@ mgr-linux|Mgr window with Linux keyboard,
       # Rather, it acts like xterm - when the meta feature is disabled.
       #
       # Removed invis -TD
      +# Added eo, removed ul -TD
      +#
      +# Reviewed st 0.5:
      +# implements control-modifier, but not control-shift for special keys
      +# implements alt-modifier, but not alt-shift for special keys
       st|stterm| simpleterm 0.4.1,
      -	am, bce, hs, mir, msgr, ul, xenl,
      +	am, bce, eo, hs, mir, msgr, xenl,
       	colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,
       	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
       	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
      @@ -6180,7 +6185,7 @@ screen3|older VT 100/ANSI X3.64 virtual terminal,
       # xterm cursor bits.
       tmux|tmux terminal multiplexer,
       	ritm=\E[23m, rmso=\E[27m, sitm=\E[3m, smso=\E[7m, Ms@,
      -	use=xterm+tmux, use=screen,
      +	use=xterm+sl, use=xterm+tmux, use=screen,
       
       tmux-256color|tmux with 256 colors,
       	use=xterm+256setaf, use=tmux,
      @@ -23689,8 +23694,12 @@ v3220|LANPAR Vision II model 3220/3221/3222,
       #	+ remove spurious "%;" from st entry (report by Daniel Pitts) -TD
       #	+ add vte-2014, update vte to use that -TD
       #
      -# 2015-6-27
      +# 2015-06-27
       #	+ comment-out "screen.xterm" entry, and inherit screen.xterm-256color
       #	  from xterm-new (report by Richard Birkett) -TD
       #
      +# 2015-07-25
      +#	+ add status line to tmux via xterm+sl (patch by Nicholas Marriott).
      +#	+ fixes for st 0.5 from testing with tack -TD
      +#
       ######## SHANTIH!  SHANTIH!  SHANTIH!
      diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh
      index b91398c7..9e41cea2 100755
      --- a/ncurses/base/MKlib_gen.sh
      +++ b/ncurses/base/MKlib_gen.sh
      @@ -2,10 +2,10 @@
       #
       # MKlib_gen.sh -- generate sources from curses.h macro definitions
       #
      -# ($Id: MKlib_gen.sh,v 1.47 2014/12/06 18:56:25 tom Exp $)
      +# ($Id: MKlib_gen.sh,v 1.48 2015/07/25 19:02:45 tom Exp $)
       #
       ##############################################################################
      -# Copyright (c) 1998-2011,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 "Software"), #
      @@ -66,6 +66,23 @@ preprocessor="$1 -DNCURSES_INTERNALS -I../include"
       AWK="$2"
       USE="$3"
       
      +# A patch discussed here:
      +#	https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
      +# introduces spurious #line markers into the preprocessor output.  The result
      +# appears in gcc 5.0 and (with modification) in 5.1, making it necessary to
      +# determine if we are using gcc, and if so, what version because the proposed
      +# solution uses a nonstandard option.
      +PRG=`echo "$1" | sed -e 's/[[:space:]].*$//'`
      +FSF=`"$PRG" --version 2>/dev/null | fgrep "Free Software Foundation" | head -n 1`
      +ALL=`"$PRG" -dumpversion 2>/dev/null `
      +ONE=`echo "$ALL" | sed -e 's/\..*$//'`
      +if test -n "$FSF" && test -n "$ALL" && test -n "$ONE" ; then
      +	if test $ONE -ge 5 ; then
      +		echo ".. adding -P option to work around $PRG $ALL" >&2
      +		preprocessor="$preprocessor -P"
      +	fi
      +fi
      +
       PID=$$
       ED1=sed1_${PID}.sed
       ED2=sed2_${PID}.sed
      @@ -474,22 +491,11 @@ sed -n -f $ED1 \
       	-e 's/gen_$//' \
       	-e 's/  / /g' >>$TMP
       
      -cat >$ED1 < $ED2
      -cat $ED2 >$TMP
      -
       $preprocessor $TMP 2>/dev/null \
      -| sed -f $ED1 \
      +| sed \
      +	-e 's/  / /g' \
      +	-e 's/^ //' \
      +	-e 's/_Bool/NCURSES_BOOL/g' \
       | $AWK -f $AW2 \
       | sed -f $ED3 \
       | sed \
      diff --git a/ncurses/llib-lncurses b/ncurses/llib-lncurses
      index d98dcd59..4604fdd6 100644
      --- a/ncurses/llib-lncurses
      +++ b/ncurses/llib-lncurses
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc.              *
      + * Copyright (c) 1998-2013,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey 1996-on                                        *
      + *  Author: Thomas E. Dickey       1996-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -1033,7 +1033,7 @@ int	(vw_printw)(
       #undef vw_scanw
       int	(vw_scanw)(
       		WINDOW	*a1, 
      -		char	*a2, 
      +		const char *a2, 
       		va_list	z)
       		{ return(*(int *)0); }
       
      @@ -1237,6 +1237,11 @@ NCURSES_BOOL (is_syncok)(
       		const WINDOW *z)
       		{ return(*(NCURSES_BOOL *)0); }
       
      +#undef wgetdelay
      +int	(wgetdelay)(
      +		const WINDOW *z)
      +		{ return(*(int *)0); }
      +
       #undef wgetscrreg
       int	(wgetscrreg)(
       		const WINDOW *a1, 
      @@ -1586,14 +1591,14 @@ void	nofilter(void)
       #undef newterm_sp
       SCREEN	*newterm_sp(
       		SCREEN	*sp, 
      -		char	*name, 
      +		const char *name, 
       		FILE	*ofp, 
       		FILE	*ifp)
       		{ return(*(SCREEN **)0); }
       
       #undef newterm
       SCREEN	*newterm(
      -		char	*name, 
      +		const char *name, 
       		FILE	*ofp, 
       		FILE	*ifp)
       		{ return(*(SCREEN **)0); }
      @@ -1829,14 +1834,14 @@ int	wnoutrefresh(
       #undef restartterm_sp
       int	restartterm_sp(
       		SCREEN	*sp, 
      -		char	*termp, 
      +		const char *termp, 
       		int	filenum, 
       		int	*errret)
       		{ return(*(int *)0); }
       
       #undef restartterm
       int	restartterm(
      -		char	*termp, 
      +		const char *termp, 
       		int	filenum, 
       		int	*errret)
       		{ return(*(int *)0); }
      @@ -1846,20 +1851,20 @@ int	restartterm(
       #undef vwscanw
       int	vwscanw(
       		WINDOW	*win, 
      -		char	*fmt, 
      +		const char *fmt, 
       		va_list	argp)
       		{ return(*(int *)0); }
       
       #undef scanw
       int	scanw(
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
       #undef wscanw
       int	wscanw(
       		WINDOW	*win, 
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
      @@ -1867,7 +1872,7 @@ int	wscanw(
       int	mvscanw(
       		int	y, 
       		int	x, 
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
      @@ -1876,7 +1881,7 @@ int	mvwscanw(
       		WINDOW	*win, 
       		int	y, 
       		int	x, 
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
      @@ -2255,6 +2260,12 @@ void	_tracedump(
       
       /* ./trace/lib_tracemse.c */
       
      +#undef _nc_trace_mmask_t
      +char	*_nc_trace_mmask_t(
      +		SCREEN	*sp, 
      +		mmask_t	code)
      +		{ return(*(char **)0); }
      +
       #undef _nc_tracemouse
       char	*_nc_tracemouse(
       		SCREEN	*sp, 
      @@ -2775,11 +2786,11 @@ void	_nc_copy_termtype(
       /* ./codes.c */
       
       #undef boolcodes
      -char	*const boolcodes[] = {0};
      +const char *const boolcodes[] = {0};
       #undef numcodes
      -char	*const numcodes[] = {0};
      +const char *const numcodes[] = {0};
       #undef strcodes
      -char	*const strcodes[] = {0};
      +const char *const strcodes[] = {0};
       
       /* ./comp_captab.c */
       
      @@ -2993,7 +3004,7 @@ void	_nc_init_acs(void)
       /* ./tinfo/lib_baudrate.c */
       
       struct speed {
      -    int s; 
      +    short s; 
           int sp; 
       };
       
      @@ -3119,18 +3130,23 @@ int	flushinp(void)
       struct kn { short offset; int code; };
       
       #undef keyname_sp
      -char	*keyname_sp(
      +const char *keyname_sp(
       		SCREEN	*sp, 
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef keyname
      -char	*keyname(
      +const char *keyname(
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./tinfo/lib_longname.c */
       
      +#undef longname_sp
      +char	*longname_sp(
      +		SCREEN	*sp)
      +		{ return(*(char **)0); }
      +
       #undef longname
       char	*longname(void)
       		{ return(*(char **)0); }
      @@ -3406,7 +3422,7 @@ int	_nc_locale_breaks_acs(
       
       #undef _nc_setupterm
       int	_nc_setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret, 
       		int	reuse)
      @@ -3418,7 +3434,7 @@ SCREEN	*new_prescr(void)
       
       #undef setupterm
       int	setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret)
       		{ return(*(int *)0); }
      @@ -3446,35 +3462,35 @@ int	tgetent(
       #undef tgetflag_sp
       int	tgetflag_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetflag
       int	tgetflag(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum_sp
       int	tgetnum_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum
       int	tgetnum(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetstr_sp
       char	*tgetstr_sp(
       		SCREEN	*sp, 
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
       #undef tgetstr
       char	*tgetstr(
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
      @@ -3503,34 +3519,34 @@ char	*tgoto(
       #undef tigetflag_sp
       int	tigetflag_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetflag
       int	tigetflag(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum_sp
       int	tigetnum_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum
       int	tigetnum(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetstr_sp
       char	*tigetstr_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       #undef tigetstr
       char	*tigetstr(
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       /* ./tinfo/lib_tparm.c */
      @@ -3547,7 +3563,7 @@ int	_nc_tparm_analyze(
       
       #undef tparm
       char	*tparm(
      -		char	*string, 
      +		const char *string, 
       		...)
       		{ return(*(char **)0); }
       
      @@ -3710,9 +3726,9 @@ const char *_nc_retrace_cptr(
       		{ return(*(const char **)0); }
       
       #undef _nc_retrace_cvoid_ptr
      -void	*_nc_retrace_cvoid_ptr(
      -		void	*code)
      -		{ return(*(void **)0); }
      +const void *_nc_retrace_cvoid_ptr(
      +		const void *code)
      +		{ return(*(const void **)0); }
       
       #undef _nc_retrace_void_ptr
       void	*_nc_retrace_void_ptr(
      @@ -3778,7 +3794,7 @@ chtype	_nc_retrace_chtype(
       
       typedef struct {
           unsigned int val;
      -    const char *name;
      +    const char name[8];
       } BITNAMES;
       
       #undef _nc_trace_ttymode
      @@ -3908,17 +3924,17 @@ int	_nc_name_match(
       /* ./names.c */
       
       #undef boolnames
      -char	*const boolnames[] = {0};
      +const char *const boolnames[] = {0};
       #undef boolfnames
      -char	*const boolfnames[] = {0};
      +const char *const boolfnames[] = {0};
       #undef numnames
      -char	*const numnames[] = {0};
      +const char *const numnames[] = {0};
       #undef numfnames
      -char	*const numfnames[] = {0};
      +const char *const numfnames[] = {0};
       #undef strnames
      -char	*const strnames[] = {0};
      +const char *const strnames[] = {0};
       #undef strfnames
      -char	*const strfnames[] = {0};
      +const char *const strfnames[] = {0};
       
       /* ./tinfo/obsolete.c */
       
      @@ -4054,15 +4070,15 @@ char	*_nc_trim_sgr0(
       /* ./unctrl.c */
       
       #undef unctrl_sp
      -char	*unctrl_sp(
      +const char *unctrl_sp(
       		SCREEN	*sp, 
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef unctrl
      -char	*unctrl(
      +const char *unctrl(
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./trace/visbuf.c */
       
      @@ -4249,15 +4265,15 @@ int	_nc_capcmp(
       		{ return(*(int *)0); }
       
       typedef struct {
      -    const char *from;
      -    const char *to;
      +    const char from[3];
      +    const char to[6];
       } assoc;
       
       /* ./tinfo/write_entry.c */
       
       #undef _nc_set_writedir
       void	_nc_set_writedir(
      -		char	*dir)
      +		const char *dir)
       		{ /* void */ }
       
       #undef _nc_write_entry
      diff --git a/ncurses/llib-lncursest b/ncurses/llib-lncursest
      index 3401ad36..c787f30b 100644
      --- a/ncurses/llib-lncursest
      +++ b/ncurses/llib-lncursest
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2008-2011,2013 Free Software Foundation, Inc.              *
      + * Copyright (c) 2008-2013,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey 2008-on                                        *
      + *  Author: Thomas E. Dickey       2008-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -95,8 +95,6 @@ void	_nc_scroll_oldhash(
       
       /* ./base/lib_addch.c */
       
      -#include 
      -
       #undef _nc_render
       chtype	_nc_render(
       		WINDOW	*win, 
      @@ -219,8 +217,6 @@ int	wclrtoeol(
       
       /* ./base/lib_color.c */
       
      -#include 
      -
       #undef _nc_COLOR_PAIRS
       int	_nc_COLOR_PAIRS(void)
       		{ return(*(int *)0); }
      @@ -420,8 +416,6 @@ int	flash(void)
       
       /* ./lib_gen.c */
       
      -#include 
      -
       #undef addch
       int	(addch)(
       		const chtype z)
      @@ -451,17 +445,17 @@ int	(addstr)(
       
       #undef attroff
       int	(attroff)(
      -		int	z)
      +		NCURSES_ATTR_T	z)
       		{ return(*(int *)0); }
       
       #undef attron
       int	(attron)(
      -		int	z)
      +		NCURSES_ATTR_T	z)
       		{ return(*(int *)0); }
       
       #undef attrset
       int	(attrset)(
      -		int	z)
      +		NCURSES_ATTR_T	z)
       		{ return(*(int *)0); }
       
       #undef attr_get
      @@ -1042,7 +1036,7 @@ int	(vw_printw)(
       #undef vw_scanw
       int	(vw_scanw)(
       		WINDOW	*a1, 
      -		char	*a2, 
      +		const char *a2, 
       		va_list	z)
       		{ return(*(int *)0); }
       
      @@ -1246,6 +1240,11 @@ NCURSES_BOOL (is_syncok)(
       		const WINDOW *z)
       		{ return(*(NCURSES_BOOL *)0); }
       
      +#undef wgetdelay
      +int	(wgetdelay)(
      +		const WINDOW *z)
      +		{ return(*(int *)0); }
      +
       #undef wgetscrreg
       int	(wgetscrreg)(
       		const WINDOW *a1, 
      @@ -1262,8 +1261,6 @@ NCURSES_BOOL (mouse_trafo)(
       
       /* ./base/lib_getch.c */
       
      -#include 
      -
       #undef _nc_ESCDELAY
       int	_nc_ESCDELAY(void)
       		{ return(*(int *)0); }
      @@ -1603,22 +1600,20 @@ void	nofilter(void)
       #undef newterm_sp
       SCREEN	*newterm_sp(
       		SCREEN	*sp, 
      -		char	*name, 
      +		const char *name, 
       		FILE	*ofp, 
       		FILE	*ifp)
       		{ return(*(SCREEN **)0); }
       
       #undef newterm
       SCREEN	*newterm(
      -		char	*name, 
      +		const char *name, 
       		FILE	*ofp, 
       		FILE	*ifp)
       		{ return(*(SCREEN **)0); }
       
       /* ./base/lib_newwin.c */
       
      -#include "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h"
      -
       #undef _nc_freewin
       int	_nc_freewin(
       		WINDOW	*win)
      @@ -1848,14 +1843,14 @@ int	wnoutrefresh(
       #undef restartterm_sp
       int	restartterm_sp(
       		SCREEN	*sp, 
      -		char	*termp, 
      +		const char *termp, 
       		int	filenum, 
       		int	*errret)
       		{ return(*(int *)0); }
       
       #undef restartterm
       int	restartterm(
      -		char	*termp, 
      +		const char *termp, 
       		int	filenum, 
       		int	*errret)
       		{ return(*(int *)0); }
      @@ -1865,20 +1860,20 @@ int	restartterm(
       #undef vwscanw
       int	vwscanw(
       		WINDOW	*win, 
      -		char	*fmt, 
      +		const char *fmt, 
       		va_list	argp)
       		{ return(*(int *)0); }
       
       #undef scanw
       int	scanw(
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
       #undef wscanw
       int	wscanw(
       		WINDOW	*win, 
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
      @@ -1886,7 +1881,7 @@ int	wscanw(
       int	mvscanw(
       		int	y, 
       		int	x, 
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
      @@ -1895,7 +1890,7 @@ int	mvwscanw(
       		WINDOW	*win, 
       		int	y, 
       		int	x, 
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
      @@ -2274,6 +2269,12 @@ void	_tracedump(
       
       /* ./trace/lib_tracemse.c */
       
      +#undef _nc_trace_mmask_t
      +char	*_nc_trace_mmask_t(
      +		SCREEN	*sp, 
      +		mmask_t	code)
      +		{ return(*(char **)0); }
      +
       #undef _nc_tracemouse
       char	*_nc_tracemouse(
       		SCREEN	*sp, 
      @@ -2293,8 +2294,6 @@ char	*_tracemouse(
       
       /* ./tty/lib_tstp.c */
       
      -#include 
      -
       #undef _nc_signal_handler
       void	_nc_signal_handler(
       		int	enable)
      @@ -2455,9 +2454,6 @@ char	*_nc_printf_string(
       
       /* ./tty/tty_update.c */
       
      -#include 
      -#include 
      -
       #undef doupdate_sp
       int	doupdate_sp(
       		SCREEN	*sp)
      @@ -2799,21 +2795,19 @@ void	_nc_copy_termtype(
       /* ./codes.c */
       
       #undef _nc_boolcodes
      -char	*const *_nc_boolcodes(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_boolcodes(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_numcodes
      -char	*const *_nc_numcodes(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_numcodes(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_strcodes
      -char	*const *_nc_strcodes(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_strcodes(void)
      +		{ return(*(const char **)0); }
       
       /* ./comp_captab.c */
       
      -#include 
      -
       #undef _nc_get_table
       const struct name_table_entry *_nc_get_table(
       		NCURSES_BOOL termcap)
      @@ -2897,8 +2891,6 @@ struct name_table_entry const *_nc_find_type_entry(
       
       /* ./tinfo/db_iterator.c */
       
      -#include 
      -
       #undef _nc_tic_dir
       const char *_nc_tic_dir(
       		const char *path)
      @@ -3004,15 +2996,6 @@ char	*_nc_home_terminfo(void)
       
       /* ./tinfo/init_keytry.c */
       
      -#if 0
      -
      -#include 
      -
      -#undef _nc_tinfo_fkeys
      -const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
      -
      -#endif
      -
       #undef _nc_init_keytry
       void	_nc_init_keytry(
       		SCREEN	*sp)
      @@ -3035,10 +3018,8 @@ void	_nc_init_acs(void)
       
       /* ./tinfo/lib_baudrate.c */
       
      -#include 
      -
       struct speed {
      -    int s; 
      +    short s; 
           int sp; 
       };
       
      @@ -3204,15 +3185,15 @@ int	flushinp(void)
       struct kn { short offset; int code; };
       
       #undef keyname_sp
      -char	*keyname_sp(
      +const char *keyname_sp(
       		SCREEN	*sp, 
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef keyname
      -char	*keyname(
      +const char *keyname(
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./tinfo/lib_longname.c */
       
      @@ -3410,10 +3391,6 @@ int	intrflush(
       
       /* ./tinfo/lib_setup.c */
       
      -#include 
      -#include 
      -#include 
      -
       #undef _nc_ttytype
       char	*_nc_ttytype(void)
       		{ return(*(char **)0); }
      @@ -3522,7 +3499,7 @@ int	_nc_locale_breaks_acs(
       
       #undef _nc_setupterm
       int	_nc_setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret, 
       		int	reuse)
      @@ -3534,7 +3511,7 @@ SCREEN	*new_prescr(void)
       
       #undef setupterm
       int	setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret)
       		{ return(*(int *)0); }
      @@ -3553,12 +3530,6 @@ int	tgetent_sp(
       		const char *name)
       		{ return(*(int *)0); }
       
      -#if 0
      -
      -#include 
      -
      -#endif
      -
       #undef tgetent
       int	tgetent(
       		char	*bufp, 
      @@ -3568,35 +3539,35 @@ int	tgetent(
       #undef tgetflag_sp
       int	tgetflag_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetflag
       int	tgetflag(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum_sp
       int	tgetnum_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum
       int	tgetnum(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetstr_sp
       char	*tgetstr_sp(
       		SCREEN	*sp, 
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
       #undef tgetstr
       char	*tgetstr(
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
      @@ -3625,34 +3596,34 @@ char	*tgoto(
       #undef tigetflag_sp
       int	tigetflag_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetflag
       int	tigetflag(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum_sp
       int	tigetnum_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum
       int	tigetnum(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetstr_sp
       char	*tigetstr_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       #undef tigetstr
       char	*tigetstr(
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       /* ./tinfo/lib_tparm.c */
      @@ -3669,7 +3640,7 @@ int	_nc_tparm_analyze(
       
       #undef tparm
       char	*tparm(
      -		char	*string, 
      +		const char *string, 
       		...)
       		{ return(*(char **)0); }
       
      @@ -3846,9 +3817,9 @@ const char *_nc_retrace_cptr(
       		{ return(*(const char **)0); }
       
       #undef _nc_retrace_cvoid_ptr
      -void	*_nc_retrace_cvoid_ptr(
      -		void	*code)
      -		{ return(*(void **)0); }
      +const void *_nc_retrace_cvoid_ptr(
      +		const void *code)
      +		{ return(*(const void **)0); }
       
       #undef _nc_retrace_void_ptr
       void	*_nc_retrace_void_ptr(
      @@ -3925,7 +3896,7 @@ chtype	_nc_retrace_chtype(
       
       typedef struct {
           unsigned int val;
      -    const char *name;
      +    const char name[8];
       } BITNAMES;
       
       #undef _nc_trace_ttymode
      @@ -4055,28 +4026,28 @@ int	_nc_name_match(
       /* ./names.c */
       
       #undef _nc_boolnames
      -char	*const *_nc_boolnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_boolnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_boolfnames
      -char	*const *_nc_boolfnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_boolfnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_numnames
      -char	*const *_nc_numnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_numnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_numfnames
      -char	*const *_nc_numfnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_numfnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_strnames
      -char	*const *_nc_strnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_strnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_strfnames
      -char	*const *_nc_strfnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_strfnames(void)
      +		{ return(*(const char **)0); }
       
       /* ./tinfo/obsolete.c */
       
      @@ -4095,8 +4066,6 @@ void	_nc_set_buffer(
       
       /* ./tinfo/read_entry.c */
       
      -#include 
      -
       #undef _nc_init_termtype
       void	_nc_init_termtype(
       		TERMTYPE *const tp)
      @@ -4124,8 +4093,6 @@ int	_nc_read_entry(
       
       /* ./tinfo/read_termcap.c */
       
      -#include 
      -
       #undef _nc_read_termcap
       void	_nc_read_termcap(void)
       		{ /* void */ }
      @@ -4216,15 +4183,15 @@ char	*_nc_trim_sgr0(
       /* ./unctrl.c */
       
       #undef unctrl_sp
      -char	*unctrl_sp(
      +const char *unctrl_sp(
       		SCREEN	*sp, 
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef unctrl
      -char	*unctrl(
      +const char *unctrl(
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./trace/visbuf.c */
       
      @@ -4411,15 +4378,15 @@ int	_nc_capcmp(
       		{ return(*(int *)0); }
       
       typedef struct {
      -    const char *from;
      -    const char *to;
      +    const char from[3];
      +    const char to[6];
       } assoc;
       
       /* ./tinfo/write_entry.c */
       
       #undef _nc_set_writedir
       void	_nc_set_writedir(
      -		char	*dir)
      +		const char *dir)
       		{ /* void */ }
       
       #undef _nc_write_entry
      diff --git a/ncurses/llib-lncursestw b/ncurses/llib-lncursestw
      index b1919c43..9871dcce 100644
      --- a/ncurses/llib-lncursestw
      +++ b/ncurses/llib-lncursestw
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2009-2011,2013 Free Software Foundation, Inc.              *
      + * Copyright (c) 2009-2013,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey 2009-on                                        *
      + *  Author: Thomas E. Dickey       2009-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -95,8 +95,6 @@ void	_nc_scroll_oldhash(
       
       /* ./base/lib_addch.c */
       
      -#include 
      -
       #undef _nc_render
       cchar_t	_nc_render(
       		WINDOW	*win, 
      @@ -256,8 +254,6 @@ int	wclrtoeol(
       
       /* ./base/lib_color.c */
       
      -#include 
      -
       #undef _nc_COLOR_PAIRS
       int	_nc_COLOR_PAIRS(void)
       		{ return(*(int *)0); }
      @@ -457,8 +453,6 @@ int	flash(void)
       
       /* ./lib_gen.c */
       
      -#include 
      -
       #undef addch
       int	(addch)(
       		const chtype z)
      @@ -488,17 +482,17 @@ int	(addstr)(
       
       #undef attroff
       int	(attroff)(
      -		int	z)
      +		NCURSES_ATTR_T	z)
       		{ return(*(int *)0); }
       
       #undef attron
       int	(attron)(
      -		int	z)
      +		NCURSES_ATTR_T	z)
       		{ return(*(int *)0); }
       
       #undef attrset
       int	(attrset)(
      -		int	z)
      +		NCURSES_ATTR_T	z)
       		{ return(*(int *)0); }
       
       #undef attr_get
      @@ -1091,7 +1085,7 @@ int	(vw_printw)(
       #undef vw_scanw
       int	(vw_scanw)(
       		WINDOW	*a1, 
      -		char	*a2, 
      +		const char *a2, 
       		va_list	z)
       		{ return(*(int *)0); }
       
      @@ -1295,6 +1289,11 @@ NCURSES_BOOL (is_syncok)(
       		const WINDOW *z)
       		{ return(*(NCURSES_BOOL *)0); }
       
      +#undef wgetdelay
      +int	(wgetdelay)(
      +		const WINDOW *z)
      +		{ return(*(int *)0); }
      +
       #undef wgetscrreg
       int	(wgetscrreg)(
       		const WINDOW *a1, 
      @@ -1770,8 +1769,6 @@ NCURSES_BOOL (mouse_trafo)(
       
       /* ./base/lib_getch.c */
       
      -#include 
      -
       #undef _nc_ESCDELAY
       int	_nc_ESCDELAY(void)
       		{ return(*(int *)0); }
      @@ -2111,22 +2108,20 @@ void	nofilter(void)
       #undef newterm_sp
       SCREEN	*newterm_sp(
       		SCREEN	*sp, 
      -		char	*name, 
      +		const char *name, 
       		FILE	*ofp, 
       		FILE	*ifp)
       		{ return(*(SCREEN **)0); }
       
       #undef newterm
       SCREEN	*newterm(
      -		char	*name, 
      +		const char *name, 
       		FILE	*ofp, 
       		FILE	*ifp)
       		{ return(*(SCREEN **)0); }
       
       /* ./base/lib_newwin.c */
       
      -#include "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h"
      -
       #undef _nc_freewin
       int	_nc_freewin(
       		WINDOW	*win)
      @@ -2356,14 +2351,14 @@ int	wnoutrefresh(
       #undef restartterm_sp
       int	restartterm_sp(
       		SCREEN	*sp, 
      -		char	*termp, 
      +		const char *termp, 
       		int	filenum, 
       		int	*errret)
       		{ return(*(int *)0); }
       
       #undef restartterm
       int	restartterm(
      -		char	*termp, 
      +		const char *termp, 
       		int	filenum, 
       		int	*errret)
       		{ return(*(int *)0); }
      @@ -2373,20 +2368,20 @@ int	restartterm(
       #undef vwscanw
       int	vwscanw(
       		WINDOW	*win, 
      -		char	*fmt, 
      +		const char *fmt, 
       		va_list	argp)
       		{ return(*(int *)0); }
       
       #undef scanw
       int	scanw(
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
       #undef wscanw
       int	wscanw(
       		WINDOW	*win, 
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
      @@ -2394,7 +2389,7 @@ int	wscanw(
       int	mvscanw(
       		int	y, 
       		int	x, 
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
      @@ -2403,7 +2398,7 @@ int	mvwscanw(
       		WINDOW	*win, 
       		int	y, 
       		int	x, 
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
      @@ -2725,8 +2720,6 @@ int	slk_refresh(void)
       
       /* ./base/lib_slkset.c */
       
      -#include 
      -
       #undef slk_set_sp
       int	slk_set_sp(
       		SCREEN	*sp, 
      @@ -2784,6 +2777,12 @@ void	_tracedump(
       
       /* ./trace/lib_tracemse.c */
       
      +#undef _nc_trace_mmask_t
      +char	*_nc_trace_mmask_t(
      +		SCREEN	*sp, 
      +		mmask_t	code)
      +		{ return(*(char **)0); }
      +
       #undef _nc_tracemouse
       char	*_nc_tracemouse(
       		SCREEN	*sp, 
      @@ -2803,8 +2802,6 @@ char	*_tracemouse(
       
       /* ./tty/lib_tstp.c */
       
      -#include 
      -
       #undef _nc_signal_handler
       void	_nc_signal_handler(
       		int	enable)
      @@ -2965,9 +2962,6 @@ char	*_nc_printf_string(
       
       /* ./tty/tty_update.c */
       
      -#include 
      -#include 
      -
       #undef doupdate_sp
       int	doupdate_sp(
       		SCREEN	*sp)
      @@ -3227,9 +3221,9 @@ int	winwstr(
       /* ./widechar/lib_key_name.c */
       
       #undef key_name
      -char	*key_name(
      +const char *key_name(
       		wchar_t	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./widechar/lib_pecho_wchar.c */
       
      @@ -3584,21 +3578,19 @@ void	_nc_copy_termtype(
       /* ./codes.c */
       
       #undef _nc_boolcodes
      -char	*const *_nc_boolcodes(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_boolcodes(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_numcodes
      -char	*const *_nc_numcodes(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_numcodes(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_strcodes
      -char	*const *_nc_strcodes(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_strcodes(void)
      +		{ return(*(const char **)0); }
       
       /* ./comp_captab.c */
       
      -#include 
      -
       #undef _nc_get_table
       const struct name_table_entry *_nc_get_table(
       		NCURSES_BOOL termcap)
      @@ -3682,8 +3674,6 @@ struct name_table_entry const *_nc_find_type_entry(
       
       /* ./tinfo/db_iterator.c */
       
      -#include 
      -
       #undef _nc_tic_dir
       const char *_nc_tic_dir(
       		const char *path)
      @@ -3789,15 +3779,6 @@ char	*_nc_home_terminfo(void)
       
       /* ./tinfo/init_keytry.c */
       
      -#if 0
      -
      -#include 
      -
      -#undef _nc_tinfo_fkeys
      -const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
      -
      -#endif
      -
       #undef _nc_init_keytry
       void	_nc_init_keytry(
       		SCREEN	*sp)
      @@ -3820,10 +3801,8 @@ void	_nc_init_acs(void)
       
       /* ./tinfo/lib_baudrate.c */
       
      -#include 
      -
       struct speed {
      -    int s; 
      +    short s; 
           int sp; 
       };
       
      @@ -3989,15 +3968,15 @@ int	flushinp(void)
       struct kn { short offset; int code; };
       
       #undef keyname_sp
      -char	*keyname_sp(
      +const char *keyname_sp(
       		SCREEN	*sp, 
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef keyname
      -char	*keyname(
      +const char *keyname(
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./tinfo/lib_longname.c */
       
      @@ -4195,10 +4174,6 @@ int	intrflush(
       
       /* ./tinfo/lib_setup.c */
       
      -#include 
      -#include 
      -#include 
      -
       #undef _nc_ttytype
       char	*_nc_ttytype(void)
       		{ return(*(char **)0); }
      @@ -4307,7 +4282,7 @@ int	_nc_locale_breaks_acs(
       
       #undef _nc_setupterm
       int	_nc_setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret, 
       		int	reuse)
      @@ -4319,7 +4294,7 @@ SCREEN	*new_prescr(void)
       
       #undef setupterm
       int	setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret)
       		{ return(*(int *)0); }
      @@ -4338,12 +4313,6 @@ int	tgetent_sp(
       		const char *name)
       		{ return(*(int *)0); }
       
      -#if 0
      -
      -#include 
      -
      -#endif
      -
       #undef tgetent
       int	tgetent(
       		char	*bufp, 
      @@ -4353,35 +4322,35 @@ int	tgetent(
       #undef tgetflag_sp
       int	tgetflag_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetflag
       int	tgetflag(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum_sp
       int	tgetnum_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum
       int	tgetnum(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetstr_sp
       char	*tgetstr_sp(
       		SCREEN	*sp, 
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
       #undef tgetstr
       char	*tgetstr(
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
      @@ -4410,34 +4379,34 @@ char	*tgoto(
       #undef tigetflag_sp
       int	tigetflag_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetflag
       int	tigetflag(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum_sp
       int	tigetnum_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum
       int	tigetnum(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetstr_sp
       char	*tigetstr_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       #undef tigetstr
       char	*tigetstr(
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       /* ./tinfo/lib_tparm.c */
      @@ -4454,7 +4423,7 @@ int	_nc_tparm_analyze(
       
       #undef tparm
       char	*tparm(
      -		char	*string, 
      +		const char *string, 
       		...)
       		{ return(*(char **)0); }
       
      @@ -4631,9 +4600,9 @@ const char *_nc_retrace_cptr(
       		{ return(*(const char **)0); }
       
       #undef _nc_retrace_cvoid_ptr
      -void	*_nc_retrace_cvoid_ptr(
      -		void	*code)
      -		{ return(*(void **)0); }
      +const void *_nc_retrace_cvoid_ptr(
      +		const void *code)
      +		{ return(*(const void **)0); }
       
       #undef _nc_retrace_void_ptr
       void	*_nc_retrace_void_ptr(
      @@ -4721,7 +4690,7 @@ char	*_tracecchar_t(
       
       typedef struct {
           unsigned int val;
      -    const char *name;
      +    const char name[8];
       } BITNAMES;
       
       #undef _nc_trace_ttymode
      @@ -4851,28 +4820,28 @@ int	_nc_name_match(
       /* ./names.c */
       
       #undef _nc_boolnames
      -char	*const *_nc_boolnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_boolnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_boolfnames
      -char	*const *_nc_boolfnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_boolfnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_numnames
      -char	*const *_nc_numnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_numnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_numfnames
      -char	*const *_nc_numfnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_numfnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_strnames
      -char	*const *_nc_strnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_strnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_strfnames
      -char	*const *_nc_strfnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_strfnames(void)
      +		{ return(*(const char **)0); }
       
       /* ./tinfo/obsolete.c */
       
      @@ -4891,8 +4860,6 @@ void	_nc_set_buffer(
       
       /* ./tinfo/read_entry.c */
       
      -#include 
      -
       #undef _nc_init_termtype
       void	_nc_init_termtype(
       		TERMTYPE *const tp)
      @@ -4920,8 +4887,6 @@ int	_nc_read_entry(
       
       /* ./tinfo/read_termcap.c */
       
      -#include 
      -
       #undef _nc_read_termcap
       void	_nc_read_termcap(void)
       		{ /* void */ }
      @@ -5012,15 +4977,15 @@ char	*_nc_trim_sgr0(
       /* ./unctrl.c */
       
       #undef unctrl_sp
      -char	*unctrl_sp(
      +const char *unctrl_sp(
       		SCREEN	*sp, 
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef unctrl
      -char	*unctrl(
      +const char *unctrl(
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./trace/visbuf.c */
       
      @@ -5229,15 +5194,15 @@ int	_nc_capcmp(
       		{ return(*(int *)0); }
       
       typedef struct {
      -    const char *from;
      -    const char *to;
      +    const char from[3];
      +    const char to[6];
       } assoc;
       
       /* ./tinfo/write_entry.c */
       
       #undef _nc_set_writedir
       void	_nc_set_writedir(
      -		char	*dir)
      +		const char *dir)
       		{ /* void */ }
       
       #undef _nc_write_entry
      diff --git a/ncurses/llib-lncursesw b/ncurses/llib-lncursesw
      index be768d71..217ae1b5 100644
      --- a/ncurses/llib-lncursesw
      +++ b/ncurses/llib-lncursesw
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2001-2011,2013 Free Software Foundation, Inc.              *
      + * Copyright (c) 2001-2013,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey 2001-on                                        *
      + *  Author: Thomas E. Dickey       2001-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -95,8 +95,6 @@ void	_nc_scroll_oldhash(
       
       /* ./base/lib_addch.c */
       
      -#include 
      -
       #undef _nc_render
       cchar_t	_nc_render(
       		WINDOW	*win, 
      @@ -256,8 +254,6 @@ int	wclrtoeol(
       
       /* ./base/lib_color.c */
       
      -#include 
      -
       #undef COLOR_PAIRS
       int	COLOR_PAIRS;
       #undef COLORS
      @@ -454,8 +450,6 @@ int	flash(void)
       
       /* ./lib_gen.c */
       
      -#include 
      -
       #undef addch
       int	(addch)(
       		const chtype z)
      @@ -485,17 +479,17 @@ int	(addstr)(
       
       #undef attroff
       int	(attroff)(
      -		int	z)
      +		NCURSES_ATTR_T	z)
       		{ return(*(int *)0); }
       
       #undef attron
       int	(attron)(
      -		int	z)
      +		NCURSES_ATTR_T	z)
       		{ return(*(int *)0); }
       
       #undef attrset
       int	(attrset)(
      -		int	z)
      +		NCURSES_ATTR_T	z)
       		{ return(*(int *)0); }
       
       #undef attr_get
      @@ -1088,7 +1082,7 @@ int	(vw_printw)(
       #undef vw_scanw
       int	(vw_scanw)(
       		WINDOW	*a1, 
      -		char	*a2, 
      +		const char *a2, 
       		va_list	z)
       		{ return(*(int *)0); }
       
      @@ -1292,6 +1286,11 @@ NCURSES_BOOL (is_syncok)(
       		const WINDOW *z)
       		{ return(*(NCURSES_BOOL *)0); }
       
      +#undef wgetdelay
      +int	(wgetdelay)(
      +		const WINDOW *z)
      +		{ return(*(int *)0); }
      +
       #undef wgetscrreg
       int	(wgetscrreg)(
       		const WINDOW *a1, 
      @@ -1767,8 +1766,6 @@ NCURSES_BOOL (mouse_trafo)(
       
       /* ./base/lib_getch.c */
       
      -#include 
      -
       #undef ESCDELAY
       int	ESCDELAY;
       
      @@ -1907,6 +1904,13 @@ int	leaveok(
       
       /* ./base/lib_mouse.c */
       
      +typedef struct {
      +    int nerror; 
      +    int nparam; 
      +    int params[9];
      +    int final; 
      +} SGR_DATA;
      +
       #undef getmouse_sp
       int	getmouse_sp(
       		SCREEN	*sp, 
      @@ -2102,22 +2106,20 @@ void	nofilter(void)
       #undef newterm_sp
       SCREEN	*newterm_sp(
       		SCREEN	*sp, 
      -		char	*name, 
      +		const char *name, 
       		FILE	*ofp, 
       		FILE	*ifp)
       		{ return(*(SCREEN **)0); }
       
       #undef newterm
       SCREEN	*newterm(
      -		char	*name, 
      +		const char *name, 
       		FILE	*ofp, 
       		FILE	*ifp)
       		{ return(*(SCREEN **)0); }
       
       /* ./base/lib_newwin.c */
       
      -#include "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h"
      -
       #undef _nc_freewin
       int	_nc_freewin(
       		WINDOW	*win)
      @@ -2347,14 +2349,14 @@ int	wnoutrefresh(
       #undef restartterm_sp
       int	restartterm_sp(
       		SCREEN	*sp, 
      -		char	*termp, 
      +		const char *termp, 
       		int	filenum, 
       		int	*errret)
       		{ return(*(int *)0); }
       
       #undef restartterm
       int	restartterm(
      -		char	*termp, 
      +		const char *termp, 
       		int	filenum, 
       		int	*errret)
       		{ return(*(int *)0); }
      @@ -2364,20 +2366,20 @@ int	restartterm(
       #undef vwscanw
       int	vwscanw(
       		WINDOW	*win, 
      -		char	*fmt, 
      +		const char *fmt, 
       		va_list	argp)
       		{ return(*(int *)0); }
       
       #undef scanw
       int	scanw(
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
       #undef wscanw
       int	wscanw(
       		WINDOW	*win, 
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
      @@ -2385,7 +2387,7 @@ int	wscanw(
       int	mvscanw(
       		int	y, 
       		int	x, 
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
      @@ -2394,12 +2396,34 @@ int	mvwscanw(
       		WINDOW	*win, 
       		int	y, 
       		int	x, 
      -		char	*fmt, 
      +		const char *fmt, 
       		...)
       		{ return(*(int *)0); }
       
       /* ./base/lib_screen.c */
       
      +typedef enum {
      +    pINT 
      +    ,pSHORT 
      +    ,pBOOL 
      +    ,pATTR 
      +    ,pCHAR 
      +    ,pSIZE 
      +    ,pCCHAR 
      +} PARAM_TYPE;
      +
      +typedef struct {
      +    const char name[11];
      +    attr_t attr;
      +} SCR_ATTRS;
      +
      +typedef struct {
      +    const char name[17];
      +    PARAM_TYPE type;
      +    size_t size;
      +    size_t offset;
      +} SCR_PARAMS;
      +
       #undef getwin_sp
       WINDOW	*getwin_sp(
       		SCREEN	*sp, 
      @@ -2716,8 +2740,6 @@ int	slk_refresh(void)
       
       /* ./base/lib_slkset.c */
       
      -#include 
      -
       #undef slk_set_sp
       int	slk_set_sp(
       		SCREEN	*sp, 
      @@ -2775,6 +2797,12 @@ void	_tracedump(
       
       /* ./trace/lib_tracemse.c */
       
      +#undef _nc_trace_mmask_t
      +char	*_nc_trace_mmask_t(
      +		SCREEN	*sp, 
      +		mmask_t	code)
      +		{ return(*(char **)0); }
      +
       #undef _nc_tracemouse
       char	*_nc_tracemouse(
       		SCREEN	*sp, 
      @@ -2794,8 +2822,6 @@ char	*_tracemouse(
       
       /* ./tty/lib_tstp.c */
       
      -#include 
      -
       #undef _nc_signal_handler
       void	_nc_signal_handler(
       		int	enable)
      @@ -2956,9 +2982,6 @@ char	*_nc_printf_string(
       
       /* ./tty/tty_update.c */
       
      -#include 
      -#include 
      -
       #undef doupdate_sp
       int	doupdate_sp(
       		SCREEN	*sp)
      @@ -3218,9 +3241,9 @@ int	winwstr(
       /* ./widechar/lib_key_name.c */
       
       #undef key_name
      -char	*key_name(
      +const char *key_name(
       		wchar_t	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./widechar/lib_pecho_wchar.c */
       
      @@ -3575,16 +3598,14 @@ void	_nc_copy_termtype(
       /* ./codes.c */
       
       #undef boolcodes
      -char	*const boolcodes[] = {0};
      +const char *const boolcodes[] = {0};
       #undef numcodes
      -char	*const numcodes[] = {0};
      +const char *const numcodes[] = {0};
       #undef strcodes
      -char	*const strcodes[] = {0};
      +const char *const strcodes[] = {0};
       
       /* ./comp_captab.c */
       
      -#include 
      -
       #undef _nc_get_table
       const struct name_table_entry *_nc_get_table(
       		NCURSES_BOOL termcap)
      @@ -3668,8 +3689,6 @@ struct name_table_entry const *_nc_find_type_entry(
       
       /* ./tinfo/db_iterator.c */
       
      -#include 
      -
       #undef _nc_tic_dir
       const char *_nc_tic_dir(
       		const char *path)
      @@ -3775,15 +3794,6 @@ char	*_nc_home_terminfo(void)
       
       /* ./tinfo/init_keytry.c */
       
      -#if 0
      -
      -#include 
      -
      -#undef _nc_tinfo_fkeys
      -const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
      -
      -#endif
      -
       #undef _nc_init_keytry
       void	_nc_init_keytry(
       		SCREEN	*sp)
      @@ -3805,10 +3815,8 @@ void	_nc_init_acs(void)
       
       /* ./tinfo/lib_baudrate.c */
       
      -#include 
      -
       struct speed {
      -    int s; 
      +    short s; 
           int sp; 
       };
       
      @@ -3934,18 +3942,23 @@ int	flushinp(void)
       struct kn { short offset; int code; };
       
       #undef keyname_sp
      -char	*keyname_sp(
      +const char *keyname_sp(
       		SCREEN	*sp, 
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef keyname
      -char	*keyname(
      +const char *keyname(
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./tinfo/lib_longname.c */
       
      +#undef longname_sp
      +char	*longname_sp(
      +		SCREEN	*sp)
      +		{ return(*(char **)0); }
      +
       #undef longname
       char	*longname(void)
       		{ return(*(char **)0); }
      @@ -4135,10 +4148,6 @@ int	intrflush(
       
       /* ./tinfo/lib_setup.c */
       
      -#include 
      -#include 
      -#include 
      -
       #undef ttytype
       char	ttytype[256];
       #undef LINES
      @@ -4225,7 +4234,7 @@ int	_nc_locale_breaks_acs(
       
       #undef _nc_setupterm
       int	_nc_setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret, 
       		int	reuse)
      @@ -4237,7 +4246,7 @@ SCREEN	*new_prescr(void)
       
       #undef setupterm
       int	setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret)
       		{ return(*(int *)0); }
      @@ -4256,12 +4265,6 @@ int	tgetent_sp(
       		const char *name)
       		{ return(*(int *)0); }
       
      -#if 0
      -
      -#include 
      -
      -#endif
      -
       #undef tgetent
       int	tgetent(
       		char	*bufp, 
      @@ -4271,35 +4274,35 @@ int	tgetent(
       #undef tgetflag_sp
       int	tgetflag_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetflag
       int	tgetflag(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum_sp
       int	tgetnum_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum
       int	tgetnum(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetstr_sp
       char	*tgetstr_sp(
       		SCREEN	*sp, 
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
       #undef tgetstr
       char	*tgetstr(
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
      @@ -4328,34 +4331,34 @@ char	*tgoto(
       #undef tigetflag_sp
       int	tigetflag_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetflag
       int	tigetflag(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum_sp
       int	tigetnum_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum
       int	tigetnum(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetstr_sp
       char	*tigetstr_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       #undef tigetstr
       char	*tigetstr(
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       /* ./tinfo/lib_tparm.c */
      @@ -4372,7 +4375,7 @@ int	_nc_tparm_analyze(
       
       #undef tparm
       char	*tparm(
      -		char	*string, 
      +		const char *string, 
       		...)
       		{ return(*(char **)0); }
       
      @@ -4535,9 +4538,9 @@ const char *_nc_retrace_cptr(
       		{ return(*(const char **)0); }
       
       #undef _nc_retrace_cvoid_ptr
      -void	*_nc_retrace_cvoid_ptr(
      -		void	*code)
      -		{ return(*(void **)0); }
      +const void *_nc_retrace_cvoid_ptr(
      +		const void *code)
      +		{ return(*(const void **)0); }
       
       #undef _nc_retrace_void_ptr
       void	*_nc_retrace_void_ptr(
      @@ -4614,7 +4617,7 @@ char	*_tracecchar_t(
       
       typedef struct {
           unsigned int val;
      -    const char *name;
      +    const char name[8];
       } BITNAMES;
       
       #undef _nc_trace_ttymode
      @@ -4744,17 +4747,17 @@ int	_nc_name_match(
       /* ./names.c */
       
       #undef boolnames
      -char	*const boolnames[] = {0};
      +const char *const boolnames[] = {0};
       #undef boolfnames
      -char	*const boolfnames[] = {0};
      +const char *const boolfnames[] = {0};
       #undef numnames
      -char	*const numnames[] = {0};
      +const char *const numnames[] = {0};
       #undef numfnames
      -char	*const numfnames[] = {0};
      +const char *const numfnames[] = {0};
       #undef strnames
      -char	*const strnames[] = {0};
      +const char *const strnames[] = {0};
       #undef strfnames
      -char	*const strfnames[] = {0};
      +const char *const strfnames[] = {0};
       
       /* ./tinfo/obsolete.c */
       
      @@ -4773,8 +4776,6 @@ void	_nc_set_buffer(
       
       /* ./tinfo/read_entry.c */
       
      -#include 
      -
       #undef _nc_init_termtype
       void	_nc_init_termtype(
       		TERMTYPE *const tp)
      @@ -4802,8 +4803,6 @@ int	_nc_read_entry(
       
       /* ./tinfo/read_termcap.c */
       
      -#include 
      -
       #undef _nc_read_termcap
       void	_nc_read_termcap(void)
       		{ /* void */ }
      @@ -4894,15 +4893,15 @@ char	*_nc_trim_sgr0(
       /* ./unctrl.c */
       
       #undef unctrl_sp
      -char	*unctrl_sp(
      +const char *unctrl_sp(
       		SCREEN	*sp, 
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef unctrl
      -char	*unctrl(
      +const char *unctrl(
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./trace/visbuf.c */
       
      @@ -5111,15 +5110,15 @@ int	_nc_capcmp(
       		{ return(*(int *)0); }
       
       typedef struct {
      -    const char *from;
      -    const char *to;
      +    const char from[3];
      +    const char to[6];
       } assoc;
       
       /* ./tinfo/write_entry.c */
       
       #undef _nc_set_writedir
       void	_nc_set_writedir(
      -		char	*dir)
      +		const char *dir)
       		{ /* void */ }
       
       #undef _nc_write_entry
      diff --git a/ncurses/llib-ltic b/ncurses/llib-ltic
      index 981bb196..82309815 100644
      --- a/ncurses/llib-ltic
      +++ b/ncurses/llib-ltic
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2012 Free Software Foundation, Inc.                        *
      + * Copyright (c) 2012,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey 2012                                           *
      + *  Author: Thomas E. Dickey       2012-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -189,8 +189,8 @@ int	_nc_capcmp(
       		{ return(*(int *)0); }
       
       typedef struct {
      -    const char *from;
      -    const char *to;
      +    const char from[3];
      +    const char to[6];
       } assoc;
       
       /* ./tinfo/write_entry.c */
      @@ -199,7 +199,7 @@ typedef struct {
       
       #undef _nc_set_writedir
       void	_nc_set_writedir(
      -		char	*dir)
      +		const char *dir)
       		{ /* void */ }
       
       #undef _nc_write_entry
      diff --git a/ncurses/llib-ltict b/ncurses/llib-ltict
      index 8371c182..e7d175c6 100644
      --- a/ncurses/llib-ltict
      +++ b/ncurses/llib-ltict
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2013 Free Software Foundation, Inc.                        *
      + * Copyright (c) 2013,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey 2013                                           *
      + *  Author: Thomas E. Dickey       2013-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -189,8 +189,8 @@ int	_nc_capcmp(
       		{ return(*(int *)0); }
       
       typedef struct {
      -    const char *from;
      -    const char *to;
      +    const char from[3];
      +    const char to[6];
       } assoc;
       
       /* ./tinfo/write_entry.c */
      @@ -199,7 +199,7 @@ typedef struct {
       
       #undef _nc_set_writedir
       void	_nc_set_writedir(
      -		char	*dir)
      +		const char *dir)
       		{ /* void */ }
       
       #undef _nc_write_entry
      diff --git a/ncurses/llib-ltictw b/ncurses/llib-ltictw
      index 981bb196..82309815 100644
      --- a/ncurses/llib-ltictw
      +++ b/ncurses/llib-ltictw
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2012 Free Software Foundation, Inc.                        *
      + * Copyright (c) 2012,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey 2012                                           *
      + *  Author: Thomas E. Dickey       2012-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -189,8 +189,8 @@ int	_nc_capcmp(
       		{ return(*(int *)0); }
       
       typedef struct {
      -    const char *from;
      -    const char *to;
      +    const char from[3];
      +    const char to[6];
       } assoc;
       
       /* ./tinfo/write_entry.c */
      @@ -199,7 +199,7 @@ typedef struct {
       
       #undef _nc_set_writedir
       void	_nc_set_writedir(
      -		char	*dir)
      +		const char *dir)
       		{ /* void */ }
       
       #undef _nc_write_entry
      diff --git a/ncurses/llib-lticw b/ncurses/llib-lticw
      index 981bb196..82309815 100644
      --- a/ncurses/llib-lticw
      +++ b/ncurses/llib-lticw
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2012 Free Software Foundation, Inc.                        *
      + * Copyright (c) 2012,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey 2012                                           *
      + *  Author: Thomas E. Dickey       2012-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -189,8 +189,8 @@ int	_nc_capcmp(
       		{ return(*(int *)0); }
       
       typedef struct {
      -    const char *from;
      -    const char *to;
      +    const char from[3];
      +    const char to[6];
       } assoc;
       
       /* ./tinfo/write_entry.c */
      @@ -199,7 +199,7 @@ typedef struct {
       
       #undef _nc_set_writedir
       void	_nc_set_writedir(
      -		char	*dir)
      +		const char *dir)
       		{ /* void */ }
       
       #undef _nc_write_entry
      diff --git a/ncurses/llib-ltinfo b/ncurses/llib-ltinfo
      index 79ac2293..fd3036bc 100644
      --- a/ncurses/llib-ltinfo
      +++ b/ncurses/llib-ltinfo
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2012,2013 Free Software Foundation, Inc.                   *
      + * Copyright (c) 2012-2013,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey 2012                                           *
      + *  Author: Thomas E. Dickey       2012-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -103,11 +103,11 @@ void	_nc_copy_termtype(
       /* ./codes.c */
       
       #undef boolcodes
      -char	*const boolcodes[] = {0};
      +const char *const boolcodes[] = {0};
       #undef numcodes
      -char	*const numcodes[] = {0};
      +const char *const numcodes[] = {0};
       #undef strcodes
      -char	*const strcodes[] = {0};
      +const char *const strcodes[] = {0};
       
       /* ./comp_captab.c */
       
      @@ -336,7 +336,7 @@ void	_nc_init_acs(void)
       #include 
       
       struct speed {
      -    int s; 
      +    short s; 
           int sp; 
       };
       
      @@ -462,18 +462,23 @@ int	flushinp(void)
       struct kn { short offset; int code; };
       
       #undef keyname_sp
      -char	*keyname_sp(
      +const char *keyname_sp(
       		SCREEN	*sp, 
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef keyname
      -char	*keyname(
      +const char *keyname(
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./tinfo/lib_longname.c */
       
      +#undef longname_sp
      +char	*longname_sp(
      +		SCREEN	*sp)
      +		{ return(*(char **)0); }
      +
       #undef longname
       char	*longname(void)
       		{ return(*(char **)0); }
      @@ -755,7 +760,7 @@ int	_nc_locale_breaks_acs(
       
       #undef _nc_setupterm
       int	_nc_setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret, 
       		int	reuse)
      @@ -767,7 +772,7 @@ SCREEN	*new_prescr(void)
       
       #undef setupterm
       int	setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret)
       		{ return(*(int *)0); }
      @@ -801,35 +806,35 @@ int	tgetent(
       #undef tgetflag_sp
       int	tgetflag_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetflag
       int	tgetflag(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum_sp
       int	tgetnum_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum
       int	tgetnum(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetstr_sp
       char	*tgetstr_sp(
       		SCREEN	*sp, 
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
       #undef tgetstr
       char	*tgetstr(
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
      @@ -858,34 +863,34 @@ char	*tgoto(
       #undef tigetflag_sp
       int	tigetflag_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetflag
       int	tigetflag(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum_sp
       int	tigetnum_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum
       int	tigetnum(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetstr_sp
       char	*tigetstr_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       #undef tigetstr
       char	*tigetstr(
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       /* ./tinfo/lib_tparm.c */
      @@ -902,7 +907,7 @@ int	_nc_tparm_analyze(
       
       #undef tparm
       char	*tparm(
      -		char	*string, 
      +		const char *string, 
       		...)
       		{ return(*(char **)0); }
       
      @@ -1065,9 +1070,9 @@ const char *_nc_retrace_cptr(
       		{ return(*(const char **)0); }
       
       #undef _nc_retrace_cvoid_ptr
      -void	*_nc_retrace_cvoid_ptr(
      -		void	*code)
      -		{ return(*(void **)0); }
      +const void *_nc_retrace_cvoid_ptr(
      +		const void *code)
      +		{ return(*(const void **)0); }
       
       #undef _nc_retrace_void_ptr
       void	*_nc_retrace_void_ptr(
      @@ -1133,7 +1138,7 @@ chtype	_nc_retrace_chtype(
       
       typedef struct {
           unsigned int val;
      -    const char *name;
      +    const char name[8];
       } BITNAMES;
       
       #undef _nc_trace_ttymode
      @@ -1263,17 +1268,17 @@ int	_nc_name_match(
       /* ./names.c */
       
       #undef boolnames
      -char	*const boolnames[] = {0};
      +const char *const boolnames[] = {0};
       #undef boolfnames
      -char	*const boolfnames[] = {0};
      +const char *const boolfnames[] = {0};
       #undef numnames
      -char	*const numnames[] = {0};
      +const char *const numnames[] = {0};
       #undef numfnames
      -char	*const numfnames[] = {0};
      +const char *const numfnames[] = {0};
       #undef strnames
      -char	*const strnames[] = {0};
      +const char *const strnames[] = {0};
       #undef strfnames
      -char	*const strfnames[] = {0};
      +const char *const strfnames[] = {0};
       
       /* ./tinfo/obsolete.c */
       
      @@ -1413,15 +1418,15 @@ char	*_nc_trim_sgr0(
       /* ./unctrl.c */
       
       #undef unctrl_sp
      -char	*unctrl_sp(
      +const char *unctrl_sp(
       		SCREEN	*sp, 
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef unctrl
      -char	*unctrl(
      +const char *unctrl(
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./trace/visbuf.c */
       
      diff --git a/ncurses/llib-ltinfot b/ncurses/llib-ltinfot
      index 4f66f6a0..11f0d957 100644
      --- a/ncurses/llib-ltinfot
      +++ b/ncurses/llib-ltinfot
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2013 Free Software Foundation, Inc.                        *
      + * Copyright (c) 2013-2013,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey 2013                                           *
      + *  Author: Thomas E. Dickey       2013-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -103,16 +103,16 @@ void	_nc_copy_termtype(
       /* ./codes.c */
       
       #undef _nc_boolcodes
      -char	*const *_nc_boolcodes(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_boolcodes(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_numcodes
      -char	*const *_nc_numcodes(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_numcodes(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_strcodes
      -char	*const *_nc_strcodes(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_strcodes(void)
      +		{ return(*(const char **)0); }
       
       /* ./comp_captab.c */
       
      @@ -342,7 +342,7 @@ void	_nc_init_acs(void)
       #include 
       
       struct speed {
      -    int s; 
      +    short s; 
           int sp; 
       };
       
      @@ -508,15 +508,15 @@ int	flushinp(void)
       struct kn { short offset; int code; };
       
       #undef keyname_sp
      -char	*keyname_sp(
      +const char *keyname_sp(
       		SCREEN	*sp, 
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef keyname
      -char	*keyname(
      +const char *keyname(
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./tinfo/lib_longname.c */
       
      @@ -826,7 +826,7 @@ int	_nc_locale_breaks_acs(
       
       #undef _nc_setupterm
       int	_nc_setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret, 
       		int	reuse)
      @@ -838,7 +838,7 @@ SCREEN	*new_prescr(void)
       
       #undef setupterm
       int	setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret)
       		{ return(*(int *)0); }
      @@ -872,35 +872,35 @@ int	tgetent(
       #undef tgetflag_sp
       int	tgetflag_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetflag
       int	tgetflag(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum_sp
       int	tgetnum_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum
       int	tgetnum(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetstr_sp
       char	*tgetstr_sp(
       		SCREEN	*sp, 
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
       #undef tgetstr
       char	*tgetstr(
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
      @@ -929,34 +929,34 @@ char	*tgoto(
       #undef tigetflag_sp
       int	tigetflag_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetflag
       int	tigetflag(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum_sp
       int	tigetnum_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum
       int	tigetnum(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetstr_sp
       char	*tigetstr_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       #undef tigetstr
       char	*tigetstr(
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       /* ./tinfo/lib_tparm.c */
      @@ -973,7 +973,7 @@ int	_nc_tparm_analyze(
       
       #undef tparm
       char	*tparm(
      -		char	*string, 
      +		const char *string, 
       		...)
       		{ return(*(char **)0); }
       
      @@ -1150,9 +1150,9 @@ const char *_nc_retrace_cptr(
       		{ return(*(const char **)0); }
       
       #undef _nc_retrace_cvoid_ptr
      -void	*_nc_retrace_cvoid_ptr(
      -		void	*code)
      -		{ return(*(void **)0); }
      +const void *_nc_retrace_cvoid_ptr(
      +		const void *code)
      +		{ return(*(const void **)0); }
       
       #undef _nc_retrace_void_ptr
       void	*_nc_retrace_void_ptr(
      @@ -1229,7 +1229,7 @@ chtype	_nc_retrace_chtype(
       
       typedef struct {
           unsigned int val;
      -    const char *name;
      +    const char name[8];
       } BITNAMES;
       
       #undef _nc_trace_ttymode
      @@ -1361,28 +1361,28 @@ int	_nc_name_match(
       /* ./names.c */
       
       #undef _nc_boolnames
      -char	*const *_nc_boolnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_boolnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_boolfnames
      -char	*const *_nc_boolfnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_boolfnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_numnames
      -char	*const *_nc_numnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_numnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_numfnames
      -char	*const *_nc_numfnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_numfnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_strnames
      -char	*const *_nc_strnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_strnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_strfnames
      -char	*const *_nc_strfnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_strfnames(void)
      +		{ return(*(const char **)0); }
       
       /* ./tinfo/obsolete.c */
       
      @@ -1522,15 +1522,15 @@ char	*_nc_trim_sgr0(
       /* ./unctrl.c */
       
       #undef unctrl_sp
      -char	*unctrl_sp(
      +const char *unctrl_sp(
       		SCREEN	*sp, 
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef unctrl
      -char	*unctrl(
      +const char *unctrl(
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./trace/visbuf.c */
       
      diff --git a/ncurses/llib-ltinfotw b/ncurses/llib-ltinfotw
      index ec9b63d4..3e6ada32 100644
      --- a/ncurses/llib-ltinfotw
      +++ b/ncurses/llib-ltinfotw
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2012,2013 Free Software Foundation, Inc.                   *
      + * Copyright (c) 2012-2013,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey 2012                                           *
      + *  Author: Thomas E. Dickey       2012-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -103,16 +103,16 @@ void	_nc_copy_termtype(
       /* ./codes.c */
       
       #undef _nc_boolcodes
      -char	*const *_nc_boolcodes(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_boolcodes(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_numcodes
      -char	*const *_nc_numcodes(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_numcodes(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_strcodes
      -char	*const *_nc_strcodes(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_strcodes(void)
      +		{ return(*(const char **)0); }
       
       /* ./comp_captab.c */
       
      @@ -342,7 +342,7 @@ void	_nc_init_acs(void)
       #include 
       
       struct speed {
      -    int s; 
      +    short s; 
           int sp; 
       };
       
      @@ -508,15 +508,15 @@ int	flushinp(void)
       struct kn { short offset; int code; };
       
       #undef keyname_sp
      -char	*keyname_sp(
      +const char *keyname_sp(
       		SCREEN	*sp, 
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef keyname
      -char	*keyname(
      +const char *keyname(
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./tinfo/lib_longname.c */
       
      @@ -826,7 +826,7 @@ int	_nc_locale_breaks_acs(
       
       #undef _nc_setupterm
       int	_nc_setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret, 
       		int	reuse)
      @@ -838,7 +838,7 @@ SCREEN	*new_prescr(void)
       
       #undef setupterm
       int	setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret)
       		{ return(*(int *)0); }
      @@ -872,35 +872,35 @@ int	tgetent(
       #undef tgetflag_sp
       int	tgetflag_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetflag
       int	tgetflag(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum_sp
       int	tgetnum_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum
       int	tgetnum(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetstr_sp
       char	*tgetstr_sp(
       		SCREEN	*sp, 
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
       #undef tgetstr
       char	*tgetstr(
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
      @@ -929,34 +929,34 @@ char	*tgoto(
       #undef tigetflag_sp
       int	tigetflag_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetflag
       int	tigetflag(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum_sp
       int	tigetnum_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum
       int	tigetnum(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetstr_sp
       char	*tigetstr_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       #undef tigetstr
       char	*tigetstr(
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       /* ./tinfo/lib_tparm.c */
      @@ -973,7 +973,7 @@ int	_nc_tparm_analyze(
       
       #undef tparm
       char	*tparm(
      -		char	*string, 
      +		const char *string, 
       		...)
       		{ return(*(char **)0); }
       
      @@ -1150,9 +1150,9 @@ const char *_nc_retrace_cptr(
       		{ return(*(const char **)0); }
       
       #undef _nc_retrace_cvoid_ptr
      -void	*_nc_retrace_cvoid_ptr(
      -		void	*code)
      -		{ return(*(void **)0); }
      +const void *_nc_retrace_cvoid_ptr(
      +		const void *code)
      +		{ return(*(const void **)0); }
       
       #undef _nc_retrace_void_ptr
       void	*_nc_retrace_void_ptr(
      @@ -1240,7 +1240,7 @@ char	*_tracecchar_t(
       
       typedef struct {
           unsigned int val;
      -    const char *name;
      +    const char name[8];
       } BITNAMES;
       
       #undef _nc_trace_ttymode
      @@ -1372,28 +1372,28 @@ int	_nc_name_match(
       /* ./names.c */
       
       #undef _nc_boolnames
      -char	*const *_nc_boolnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_boolnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_boolfnames
      -char	*const *_nc_boolfnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_boolfnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_numnames
      -char	*const *_nc_numnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_numnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_numfnames
      -char	*const *_nc_numfnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_numfnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_strnames
      -char	*const *_nc_strnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_strnames(void)
      +		{ return(*(const char **)0); }
       
       #undef _nc_strfnames
      -char	*const *_nc_strfnames(void)
      -		{ return(*(char **)0); }
      +const char *const *_nc_strfnames(void)
      +		{ return(*(const char **)0); }
       
       /* ./tinfo/obsolete.c */
       
      @@ -1533,15 +1533,15 @@ char	*_nc_trim_sgr0(
       /* ./unctrl.c */
       
       #undef unctrl_sp
      -char	*unctrl_sp(
      +const char *unctrl_sp(
       		SCREEN	*sp, 
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef unctrl
      -char	*unctrl(
      +const char *unctrl(
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./trace/visbuf.c */
       
      diff --git a/ncurses/llib-ltinfow b/ncurses/llib-ltinfow
      index f2196983..6df32966 100644
      --- a/ncurses/llib-ltinfow
      +++ b/ncurses/llib-ltinfow
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2012,2013 Free Software Foundation, Inc.                   *
      + * Copyright (c) 2012-2013,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey 2012                                           *
      + *  Author: Thomas E. Dickey       2012-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -103,11 +103,11 @@ void	_nc_copy_termtype(
       /* ./codes.c */
       
       #undef boolcodes
      -char	*const boolcodes[] = {0};
      +const char *const boolcodes[] = {0};
       #undef numcodes
      -char	*const numcodes[] = {0};
      +const char *const numcodes[] = {0};
       #undef strcodes
      -char	*const strcodes[] = {0};
      +const char *const strcodes[] = {0};
       
       /* ./comp_captab.c */
       
      @@ -336,7 +336,7 @@ void	_nc_init_acs(void)
       #include 
       
       struct speed {
      -    int s; 
      +    short s; 
           int sp; 
       };
       
      @@ -462,18 +462,23 @@ int	flushinp(void)
       struct kn { short offset; int code; };
       
       #undef keyname_sp
      -char	*keyname_sp(
      +const char *keyname_sp(
       		SCREEN	*sp, 
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef keyname
      -char	*keyname(
      +const char *keyname(
       		int	c)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./tinfo/lib_longname.c */
       
      +#undef longname_sp
      +char	*longname_sp(
      +		SCREEN	*sp)
      +		{ return(*(char **)0); }
      +
       #undef longname
       char	*longname(void)
       		{ return(*(char **)0); }
      @@ -755,7 +760,7 @@ int	_nc_locale_breaks_acs(
       
       #undef _nc_setupterm
       int	_nc_setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret, 
       		int	reuse)
      @@ -767,7 +772,7 @@ SCREEN	*new_prescr(void)
       
       #undef setupterm
       int	setupterm(
      -		char	*tname, 
      +		const char *tname, 
       		int	Filedes, 
       		int	*errret)
       		{ return(*(int *)0); }
      @@ -801,35 +806,35 @@ int	tgetent(
       #undef tgetflag_sp
       int	tgetflag_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetflag
       int	tgetflag(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum_sp
       int	tgetnum_sp(
       		SCREEN	*sp, 
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetnum
       int	tgetnum(
      -		char	*id)
      +		const char *id)
       		{ return(*(int *)0); }
       
       #undef tgetstr_sp
       char	*tgetstr_sp(
       		SCREEN	*sp, 
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
       #undef tgetstr
       char	*tgetstr(
      -		char	*id, 
      +		const char *id, 
       		char	**area)
       		{ return(*(char **)0); }
       
      @@ -858,34 +863,34 @@ char	*tgoto(
       #undef tigetflag_sp
       int	tigetflag_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetflag
       int	tigetflag(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum_sp
       int	tigetnum_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetnum
       int	tigetnum(
      -		char	*str)
      +		const char *str)
       		{ return(*(int *)0); }
       
       #undef tigetstr_sp
       char	*tigetstr_sp(
       		SCREEN	*sp, 
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       #undef tigetstr
       char	*tigetstr(
      -		char	*str)
      +		const char *str)
       		{ return(*(char **)0); }
       
       /* ./tinfo/lib_tparm.c */
      @@ -902,7 +907,7 @@ int	_nc_tparm_analyze(
       
       #undef tparm
       char	*tparm(
      -		char	*string, 
      +		const char *string, 
       		...)
       		{ return(*(char **)0); }
       
      @@ -1065,9 +1070,9 @@ const char *_nc_retrace_cptr(
       		{ return(*(const char **)0); }
       
       #undef _nc_retrace_cvoid_ptr
      -void	*_nc_retrace_cvoid_ptr(
      -		void	*code)
      -		{ return(*(void **)0); }
      +const void *_nc_retrace_cvoid_ptr(
      +		const void *code)
      +		{ return(*(const void **)0); }
       
       #undef _nc_retrace_void_ptr
       void	*_nc_retrace_void_ptr(
      @@ -1144,7 +1149,7 @@ char	*_tracecchar_t(
       
       typedef struct {
           unsigned int val;
      -    const char *name;
      +    const char name[8];
       } BITNAMES;
       
       #undef _nc_trace_ttymode
      @@ -1274,17 +1279,17 @@ int	_nc_name_match(
       /* ./names.c */
       
       #undef boolnames
      -char	*const boolnames[] = {0};
      +const char *const boolnames[] = {0};
       #undef boolfnames
      -char	*const boolfnames[] = {0};
      +const char *const boolfnames[] = {0};
       #undef numnames
      -char	*const numnames[] = {0};
      +const char *const numnames[] = {0};
       #undef numfnames
      -char	*const numfnames[] = {0};
      +const char *const numfnames[] = {0};
       #undef strnames
      -char	*const strnames[] = {0};
      +const char *const strnames[] = {0};
       #undef strfnames
      -char	*const strfnames[] = {0};
      +const char *const strfnames[] = {0};
       
       /* ./tinfo/obsolete.c */
       
      @@ -1424,15 +1429,15 @@ char	*_nc_trim_sgr0(
       /* ./unctrl.c */
       
       #undef unctrl_sp
      -char	*unctrl_sp(
      +const char *unctrl_sp(
       		SCREEN	*sp, 
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       #undef unctrl
      -char	*unctrl(
      +const char *unctrl(
       		chtype	ch)
      -		{ return(*(char **)0); }
      +		{ return(*(const char **)0); }
       
       /* ./trace/visbuf.c */
       
      diff --git a/ncurses/tinfo/lib_longname.c b/ncurses/tinfo/lib_longname.c
      index 14903175..fa231b88 100644
      --- a/ncurses/tinfo/lib_longname.c
      +++ b/ncurses/tinfo/lib_longname.c
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc.              *
      + * Copyright (c) 1998-2010,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            *
      @@ -42,7 +42,7 @@
       
       #include 
       
      -MODULE_ID("$Id: lib_longname.c,v 1.12 2010/12/20 00:31:26 tom Exp $")
      +MODULE_ID("$Id: lib_longname.c,v 1.13 2015/07/25 20:08:14 tom Exp $")
       
       #if USE_REENTRANT
       NCURSES_EXPORT(char *)
      @@ -74,6 +74,17 @@ longname(void)
       #endif
       
       #else
      +
      +/* a dummy entrypoint is simpler than generating a conditional in curses.h */
      +#if NCURSES_SP_FUNCS
      +NCURSES_EXPORT(char *)
      +NCURSES_SP_NAME(longname) (NCURSES_SP_DCL0)
      +{
      +    (void) SP_PARM;
      +    return longname();
      +}
      +#endif
      +
       NCURSES_EXPORT(char *)
       longname(void)
       {
      diff --git a/ncurses/tty/hardscroll.c b/ncurses/tty/hardscroll.c
      index 4ec168a0..d6f28d67 100644
      --- a/ncurses/tty/hardscroll.c
      +++ b/ncurses/tty/hardscroll.c
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc.              *
      + * Copyright (c) 1998-2012,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            *
      @@ -147,7 +147,7 @@ AUTHOR
       
       #include 
       
      -MODULE_ID("$Id: hardscroll.c,v 1.51 2012/10/17 09:01:10 tom Exp $")
      +MODULE_ID("$Id: hardscroll.c,v 1.52 2015/07/25 20:13:07 tom Exp $")
       
       #if defined(SCROLLDEBUG) || defined(HASHDEBUG)
       
      @@ -303,6 +303,7 @@ NCURSES_SP_NAME(_nc_linedump) (NCURSES_SP_DCL0)
           int n;
           char *buf = 0;
           size_t want = ((size_t) screen_lines(SP_PARM) + 1) * 4;
      +    (void) SP_PARM;
       
           if ((buf = typeMalloc(char, want)) != 0) {
       
      @@ -339,7 +340,7 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
           for (;;) {
       	int n;
       
      -	for (n = 0; n < screen_lines; n++)
      +	for (n = 0; n < screen_lines(sp); n++)
       	    oldnums[n] = _NEWINDEX;
       
       	/* grab the test vector */
      diff --git a/ncurses/tty/hashmap.c b/ncurses/tty/hashmap.c
      index 92822761..8c0fdfd8 100644
      --- a/ncurses/tty/hashmap.c
      +++ b/ncurses/tty/hashmap.c
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 1998-2011,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            *
      @@ -73,19 +73,23 @@ AUTHOR
       #define CUR SP_TERMTYPE
       #endif
       
      -MODULE_ID("$Id: hashmap.c,v 1.64 2014/04/26 18:48:44 juergen Exp $")
      +MODULE_ID("$Id: hashmap.c,v 1.65 2015/07/25 20:13:56 tom Exp $")
       
       #ifdef HASHDEBUG
       
       # define _tracef	printf
       # undef TR
      +# ifdef TRACE
       # define TR(n, a)	if (_nc_tracing & (n)) { _tracef a ; putchar('\n'); }
      +# else
      +# define TR(n, a)	{ _tracef a ; putchar('\n'); }
      +# endif
       # undef screen_lines
      -# define screen_lines MAXLINES
      -# define TEXTWIDTH	1
      +# define screen_lines(sp) MAXLINES
      +# define TEXTWIDTH(sp)	1
       int oldnums[MAXLINES], reallines[MAXLINES];
      -static NCURSES_CH_T oldtext[MAXLINES][TEXTWIDTH];
      -static NCURSES_CH_T newtext[MAXLINES][TEXTWIDTH];
      +static NCURSES_CH_T oldtext[MAXLINES][TEXTWIDTH(sp)];
      +static NCURSES_CH_T newtext[MAXLINES][TEXTWIDTH(sp)];
       # define OLDNUM(sp,n)	oldnums[n]
       # define OLDTEXT(sp,n)	oldtext[n]
       # define NEWTEXT(sp,m)	newtext[m]
      @@ -120,6 +124,8 @@ hash(SCREEN *sp, NCURSES_CH_T * text)
           int i;
           NCURSES_CH_T ch;
           unsigned long result = 0;
      +    (void) sp;
      +
           for (i = TEXTWIDTH(sp); i > 0; i--) {
       	ch = *text++;
       	result += (result << 5) + (unsigned long) HASH_VAL(ch);
      @@ -133,6 +139,7 @@ update_cost(SCREEN *sp, NCURSES_CH_T * from, NCURSES_CH_T * to)
       {
           int cost = 0;
           int i;
      +    (void) sp;
       
           for (i = TEXTWIDTH(sp); i > 0; i--, from++, to++)
       	if (!(CharEq(*from, *to)))
      @@ -147,6 +154,7 @@ update_cost_from_blank(SCREEN *sp, NCURSES_CH_T * to)
           int cost = 0;
           int i;
           NCURSES_CH_T blank = blankchar;
      +    (void) sp;
       
           if (back_color_erase)
       	SetPair(blank, GetPair(stdscr->_nc_bkgd));
      @@ -486,7 +494,7 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
       	return EXIT_FAILURE;
           (void) _nc_alloc_screen();
       
      -    for (n = 0; n < screen_lines; n++) {
      +    for (n = 0; n < screen_lines(sp); n++) {
       	reallines[n] = n;
       	oldnums[n] = _NEWINDEX;
       	CharOf(oldtext[n][0]) = CharOf(newtext[n][0]) = '.';
      @@ -509,7 +517,7 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
       	    break;
       
       	case 'l':		/* get initial line number vector */
      -	    for (n = 0; n < screen_lines; n++) {
      +	    for (n = 0; n < screen_lines(sp); n++) {
       		reallines[n] = n;
       		oldnums[n] = _NEWINDEX;
       	    }
      @@ -522,9 +530,9 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
       	    break;
       
       	case 'n':		/* use following letters as text of new lines */
      -	    for (n = 0; n < screen_lines; n++)
      +	    for (n = 0; n < screen_lines(sp); n++)
       		CharOf(newtext[n][0]) = '.';
      -	    for (n = 0; n < screen_lines; n++)
      +	    for (n = 0; n < screen_lines(sp); n++)
       		if (line[n + 1] == '\n')
       		    break;
       		else
      @@ -532,9 +540,9 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
       	    break;
       
       	case 'o':		/* use following letters as text of old lines */
      -	    for (n = 0; n < screen_lines; n++)
      +	    for (n = 0; n < screen_lines(sp); n++)
       		CharOf(oldtext[n][0]) = '.';
      -	    for (n = 0; n < screen_lines; n++)
      +	    for (n = 0; n < screen_lines(sp); n++)
       		if (line[n + 1] == '\n')
       		    break;
       		else
      @@ -546,12 +554,12 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
       	    _nc_linedump();
       #endif
       	    (void) fputs("Old lines: [", stdout);
      -	    for (n = 0; n < screen_lines; n++)
      +	    for (n = 0; n < screen_lines(sp); n++)
       		putchar(CharOf(oldtext[n][0]));
       	    putchar(']');
       	    putchar('\n');
       	    (void) fputs("New lines: [", stdout);
      -	    for (n = 0; n < screen_lines; n++)
      +	    for (n = 0; n < screen_lines(sp); n++)
       		putchar(CharOf(newtext[n][0]));
       	    putchar(']');
       	    putchar('\n');
      diff --git a/ncurses/tty/lib_mvcur.c b/ncurses/tty/lib_mvcur.c
      index e1727366..0b3300b9 100644
      --- a/ncurses/tty/lib_mvcur.c
      +++ b/ncurses/tty/lib_mvcur.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            *
      @@ -159,7 +159,7 @@
       #define CUR SP_TERMTYPE
       #endif
       
      -MODULE_ID("$Id: lib_mvcur.c,v 1.135 2014/04/26 18:47:20 juergen Exp $")
      +MODULE_ID("$Id: lib_mvcur.c,v 1.136 2015/07/25 20:14:57 tom Exp $")
       
       #define WANT_CHAR(sp, y, x) NewScreen(sp)->_line[y].text[x]	/* desired state */
       
      @@ -1278,7 +1278,7 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
       		}
       	    }
       	} else if (buf[0] == 'i') {
      -	    dump_init((char *) NULL, F_TERMINFO, S_TERMINFO, 70, 0, FALSE);
      +	    dump_init(NULL, F_TERMINFO, S_TERMINFO, 70, 0, 0, FALSE, FALSE);
       	    dump_entry(&cur_term->type, FALSE, TRUE, 0, 0);
       	    putchar('\n');
       	} else if (buf[0] == 'o') {
      diff --git a/package/debian-mingw/changelog b/package/debian-mingw/changelog
      index 97288f6e..d54f6714 100644
      --- a/package/debian-mingw/changelog
      +++ b/package/debian-mingw/changelog
      @@ -1,8 +1,8 @@
      -ncurses6 (6.0+20150719) unstable; urgency=low
      +ncurses6 (6.0+20150725) unstable; urgency=low
       
         * latest weekly patch
       
      - -- Thomas E. Dickey   Sun, 19 Jul 2015 19:55:23 -0400
      + -- Thomas E. Dickey   Mon, 20 Jul 2015 18:28:06 -0400
       
       ncurses6 (5.9-20131005) unstable; urgency=low
       
      diff --git a/package/debian-mingw64/changelog b/package/debian-mingw64/changelog
      index 97288f6e..d54f6714 100644
      --- a/package/debian-mingw64/changelog
      +++ b/package/debian-mingw64/changelog
      @@ -1,8 +1,8 @@
      -ncurses6 (6.0+20150719) unstable; urgency=low
      +ncurses6 (6.0+20150725) unstable; urgency=low
       
         * latest weekly patch
       
      - -- Thomas E. Dickey   Sun, 19 Jul 2015 19:55:23 -0400
      + -- Thomas E. Dickey   Mon, 20 Jul 2015 18:28:06 -0400
       
       ncurses6 (5.9-20131005) unstable; urgency=low
       
      diff --git a/package/debian/changelog b/package/debian/changelog
      index 575b1f1e..74f768e5 100644
      --- a/package/debian/changelog
      +++ b/package/debian/changelog
      @@ -1,8 +1,8 @@
      -ncurses6 (6.0+20150719) unstable; urgency=low
      +ncurses6 (6.0+20150725) unstable; urgency=low
       
         * latest weekly patch
       
      - -- Thomas E. Dickey   Sun, 19 Jul 2015 19:55:23 -0400
      + -- Thomas E. Dickey   Mon, 20 Jul 2015 18:28:06 -0400
       
       ncurses6 (5.9-20120608) unstable; urgency=low
       
      diff --git a/package/mingw-ncurses.nsi b/package/mingw-ncurses.nsi
      index 6a6de1dc..6a94dcce 100644
      --- a/package/mingw-ncurses.nsi
      +++ b/package/mingw-ncurses.nsi
      @@ -1,4 +1,4 @@
      -; $Id: mingw-ncurses.nsi,v 1.114 2015/07/19 23:55:55 tom Exp $
      +; $Id: mingw-ncurses.nsi,v 1.115 2015/07/20 22:28:06 tom Exp $
       
       ; TODO add examples
       ; TODO bump ABI to 6
      @@ -10,7 +10,7 @@
       !define VERSION_MAJOR "6"
       !define VERSION_MINOR "0"
       !define VERSION_YYYY  "2015"
      -!define VERSION_MMDD  "0719"
      +!define VERSION_MMDD  "0725"
       !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
       
       !define MY_ABI   "5"
      diff --git a/package/mingw-ncurses.spec b/package/mingw-ncurses.spec
      index fc641330..03a4873f 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: 6.0
      -Release: 20150719
      +Release: 20150725
       License: X11
       Group: Development/Libraries
       Source: ncurses-%{version}-%{release}.tgz
      diff --git a/package/ncurses.spec b/package/ncurses.spec
      index 5b19ad58..a2bfb904 100644
      --- a/package/ncurses.spec
      +++ b/package/ncurses.spec
      @@ -1,7 +1,7 @@
       Summary: shared libraries for terminal handling
       Name: ncurses6
       Version: 6.0
      -Release: 20150719
      +Release: 20150725
       License: X11
       Group: Development/Libraries
       Source: ncurses-%{version}-%{release}.tgz
      diff --git a/panel/llib-lpanel b/panel/llib-lpanel
      index 85371ec7..02e10546 100644
      --- a/panel/llib-lpanel
      +++ b/panel/llib-lpanel
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc.              *
      + * Copyright (c) 1998-2010,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey        1997,2005,2010                          *
      + *  Author: Thomas E. Dickey       1996-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -181,13 +181,13 @@ void	update_panels(void)
       #undef set_panel_userptr
       int	set_panel_userptr(
       		PANEL	*pan, 
      -		void	*uptr)
      +		const void *uptr)
       		{ return(*(int *)0); }
       
       #undef panel_userptr
      -void	*panel_userptr(
      +const void *panel_userptr(
       		const PANEL *pan)
      -		{ return(*(void **)0); }
      +		{ return(*(const void **)0); }
       
       /* ./p_win.c */
       
      diff --git a/panel/llib-lpanelt b/panel/llib-lpanelt
      index 8fcd42c9..efa41752 100644
      --- a/panel/llib-lpanelt
      +++ b/panel/llib-lpanelt
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2010 Free Software Foundation, Inc.                        *
      + * Copyright (c) 2010-2010,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey        2010                                    *
      + *  Author: Thomas E. Dickey       2010-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -181,13 +181,13 @@ void	update_panels(void)
       #undef set_panel_userptr
       int	set_panel_userptr(
       		PANEL	*pan, 
      -		void	*uptr)
      +		const void *uptr)
       		{ return(*(int *)0); }
       
       #undef panel_userptr
      -void	*panel_userptr(
      +const void *panel_userptr(
       		const PANEL *pan)
      -		{ return(*(void **)0); }
      +		{ return(*(const void **)0); }
       
       /* ./p_win.c */
       
      diff --git a/panel/llib-lpaneltw b/panel/llib-lpaneltw
      index 1d3cd8d8..efa41752 100644
      --- a/panel/llib-lpaneltw
      +++ b/panel/llib-lpaneltw
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2010 Free Software Foundation, Inc.                        *
      + * Copyright (c) 2010-2010,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey                    2010                        *
      + *  Author: Thomas E. Dickey       2010-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -181,13 +181,13 @@ void	update_panels(void)
       #undef set_panel_userptr
       int	set_panel_userptr(
       		PANEL	*pan, 
      -		void	*uptr)
      +		const void *uptr)
       		{ return(*(int *)0); }
       
       #undef panel_userptr
      -void	*panel_userptr(
      +const void *panel_userptr(
       		const PANEL *pan)
      -		{ return(*(void **)0); }
      +		{ return(*(const void **)0); }
       
       /* ./p_win.c */
       
      diff --git a/panel/llib-lpanelw b/panel/llib-lpanelw
      index 503b3434..4d6688e5 100644
      --- a/panel/llib-lpanelw
      +++ b/panel/llib-lpanelw
      @@ -1,5 +1,5 @@
       /****************************************************************************
      - * Copyright (c) 2002-2005,2010 Free Software Foundation, Inc.              *
      + * Copyright (c) 2002-2010,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 @@
        ****************************************************************************/
       
       /****************************************************************************
      - *  Author: Thomas E. Dickey                    2002-2005,2010              *
      + *  Author: Thomas E. Dickey       2002-on                                  *
        ****************************************************************************/
       /* LINTLIBRARY */
       
      @@ -181,13 +181,13 @@ void	update_panels(void)
       #undef set_panel_userptr
       int	set_panel_userptr(
       		PANEL	*pan, 
      -		void	*uptr)
      +		const void *uptr)
       		{ return(*(int *)0); }
       
       #undef panel_userptr
      -void	*panel_userptr(
      +const void *panel_userptr(
       		const PANEL *pan)
      -		{ return(*(void **)0); }
      +		{ return(*(const void **)0); }
       
       /* ./p_win.c */
       
      -- 
      2.44.0