From a90dd7b66fa711acd24d8181ea20e4f57d4b36cd Mon Sep 17 00:00:00 2001 From: "Thomas E. Dickey" Date: Sun, 23 Feb 2020 02:26:40 +0000 Subject: [PATCH] ncurses 6.2 - patch 20200222 + expanded note in ncurses.3x regarding automatically-included headers + improve vt50h and vt52 based on DECScope manual -TD + add/use vt52+keypad and vt52-basic -TD + check/workaround for line-too-long in Ada95 generate utility when building out-of-tree. + improve/update HEADER_DEPS in */Makefile.in + add "check" rule to include/Makefile, to demonstrate that the headers include all of the required headers for the types used. --- Ada95/gen/gen.c | 15 ++- NEWS | 12 ++- VERSION | 2 +- c++/Makefile.in | 40 ++++---- dist.mk | 4 +- doc/html/man/adacurses6-config.1.html | 2 +- doc/html/man/captoinfo.1m.html | 2 +- doc/html/man/clear.1.html | 2 +- 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 | 131 +++++++++++++++++++++----- doc/html/man/ncurses6-config.1.html | 2 +- doc/html/man/panel.3x.html | 2 +- doc/html/man/tabs.1.html | 2 +- doc/html/man/terminfo.5.html | 2 +- doc/html/man/tic.1m.html | 2 +- doc/html/man/toe.1m.html | 2 +- doc/html/man/tput.1.html | 2 +- doc/html/man/tset.1.html | 2 +- form/Makefile.in | 27 ++++-- include/Makefile.in | 19 +++- man/ncurses.3x | 85 ++++++++++++++++- menu/Makefile.in | 23 ++++- misc/terminfo.src | 81 ++++++++++++---- ncurses/Makefile.in | 19 ++-- 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 +- package/ncursest.spec | 2 +- panel/Makefile.in | 20 +++- test/Makefile.in | 12 ++- 36 files changed, 424 insertions(+), 118 deletions(-) diff --git a/Ada95/gen/gen.c b/Ada95/gen/gen.c index b204236b..22efff8e 100644 --- a/Ada95/gen/gen.c +++ b/Ada95/gen/gen.c @@ -33,7 +33,7 @@ /* Version Control - $Id: gen.c,v 1.71 2020/02/02 23:34:34 tom Exp $ + $Id: gen.c,v 1.72 2020/02/22 21:01:00 tom Exp $ --------------------------------------------------------------------------*/ /* This program prints on its standard output the source for the @@ -180,8 +180,17 @@ main(int argc, const char *argv[]) if (argc != 2) my_error("Only one argument expected (DFT_ARG_SUFFIX)"); - printf("-- Generated by the C program %s (source " __FILE__ ").\n", - my_program_invocation_name); + if ((strlen(argv[0]) + strlen(__FILE__)) > 25) + { + printf("-- Generated by the C program %.40s.\n", + my_program_invocation_name); + } + else + { + printf("-- Generated by the C program %s (source %s).\n", + my_program_invocation_name, + __FILE__); + } printf("-- Do not edit this file directly.\n"); printf("-- The values provided here may vary on your system.\n"); printf("\n"); diff --git a/NEWS b/NEWS index c4f6fe36..e46fcb92 100644 --- a/NEWS +++ b/NEWS @@ -26,7 +26,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.3450 2020/02/15 18:56:00 tom Exp $ +-- $Id: NEWS,v 1.3453 2020/02/23 01:08:47 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -46,6 +46,16 @@ See the AUTHORS file for the corresponding full names. Changes through 1.9.9e did not credit all contributions; it is not possible to add this information. +20200222 + + expanded note in ncurses.3x regarding automatically-included headers + + improve vt50h and vt52 based on DECScope manual -TD + + add/use vt52+keypad and vt52-basic -TD + + check/workaround for line-too-long in Ada95 generate utility when + building out-of-tree. + + improve/update HEADER_DEPS in */Makefile.in + + add "check" rule to include/Makefile, to demonstrate that the headers + include all of the required headers for the types used. + 20200215 + improve manual page for panel library, extending the portability section as well as documenting error-returns. diff --git a/VERSION b/VERSION index 73ac659d..3e577882 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5:0:10 6.2 20200215 +5:0:10 6.2 20200222 diff --git a/c++/Makefile.in b/c++/Makefile.in index 9b22b6ac..4425f263 100644 --- a/c++/Makefile.in +++ b/c++/Makefile.in @@ -1,4 +1,4 @@ -# $Id: Makefile.in,v 1.119 2020/02/02 23:34:34 tom Exp $ +# $Id: Makefile.in,v 1.121 2020/02/22 17:29:13 tom Exp $ ############################################################################## # Copyright 2018,2020 Thomas E. Dickey # # Copyright 1998-2015,2016 Free Software Foundation, Inc. # @@ -186,29 +186,35 @@ realclean :: distclean ############################################################################### -internal_h = $(srcdir)/internal.h \ - $(INCDIR)/ncurses_cfg.h \ - $(INCDIR)/nc_mingw.h \ - $(INCDIR)/nc_string.h - -etip_h = etip.h \ - $(INCDIR)/ncurses_dll.h +HEADER_DEPS = \ + etip.h \ + ../include/curses.h \ + ../include/eti.h \ + ../include/form.h \ + ../include/menu.h \ + ../include/ncurses_cfg.h \ + ../include/ncurses_def.h \ + ../include/ncurses_dll.h \ + ../include/panel.h \ + ../include/unctrl.h \ + $(INCDIR)/nc_mingw.h \ + $(INCDIR)/nc_string.h \ + $(srcdir)/cursesp.h \ + $(srcdir)/cursesw.h \ + $(srcdir)/cursslk.h \ + $(srcdir)/internal.h cursesw_h = $(srcdir)/cursesw.h \ - $(etip_h) \ - $(INCDIR)/curses.h + $(HEADER_DEPS) cursesp_h = $(srcdir)/cursesp.h \ - $(cursesw_h) \ - $(INCDIR)/panel.h + $(cursesw_h) cursesf_h = $(srcdir)/cursesf.h \ - $(cursesp_h) \ - $(INCDIR)/form.h + $(cursesp_h) cursesm_h = $(srcdir)/cursesm.h \ - $(cursesp_h) \ - $(INCDIR)/menu.h + $(cursesp_h) cursslk_h = $(srcdir)/cursslk.h \ $(cursesw_h) @@ -230,7 +236,7 @@ $(INCDIR)/panel.h : OBJS_DEMO = $(MODEL)/demo$o $(MODEL)/demo$o : $(srcdir)/demo.cc \ - $(internal_h) \ + $(HEADER_DEPS) \ $(cursesf_h) \ $(cursesm_h) \ $(cursesapp_h) diff --git a/dist.mk b/dist.mk index 3d2d2f23..06e7d3b2 100644 --- a/dist.mk +++ b/dist.mk @@ -26,7 +26,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: dist.mk,v 1.1335 2020/02/15 09:30:48 tom Exp $ +# $Id: dist.mk,v 1.1336 2020/02/22 13:49:45 tom Exp $ # Makefile for creating ncurses distributions. # # This only needs to be used directly as a makefile by developers, but @@ -38,7 +38,7 @@ SHELL = /bin/sh # These define the major/minor/patch versions of ncurses. NCURSES_MAJOR = 6 NCURSES_MINOR = 2 -NCURSES_PATCH = 20200215 +NCURSES_PATCH = 20200222 # 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/adacurses6-config.1.html b/doc/html/man/adacurses6-config.1.html index bf325552..3a95cbd4 100644 --- a/doc/html/man/adacurses6-config.1.html +++ b/doc/html/man/adacurses6-config.1.html @@ -126,7 +126,7 @@

SEE ALSO

        curses(3x)
 
-       This describes ncurses version 6.2 (patch 20200215).
+       This describes ncurses version 6.2 (patch 20200222).
 
 
 
diff --git a/doc/html/man/captoinfo.1m.html b/doc/html/man/captoinfo.1m.html
index fbea4ddd..efbb6b27 100644
--- a/doc/html/man/captoinfo.1m.html
+++ b/doc/html/man/captoinfo.1m.html
@@ -199,7 +199,7 @@
 

SEE ALSO

        infocmp(1m), curses(3x), terminfo(5)
 
-       This describes ncurses version 6.2 (patch 20200215).
+       This describes ncurses version 6.2 (patch 20200222).
 
 
 

AUTHOR

diff --git a/doc/html/man/clear.1.html b/doc/html/man/clear.1.html
index 853f05c3..f4e23ae6 100644
--- a/doc/html/man/clear.1.html
+++ b/doc/html/man/clear.1.html
@@ -149,7 +149,7 @@
 

SEE ALSO

        tput(1), terminfo(5)
 
-       This describes ncurses version 6.2 (patch 20200215).
+       This describes ncurses version 6.2 (patch 20200222).
 
 
 
diff --git a/doc/html/man/form.3x.html b/doc/html/man/form.3x.html
index 2dbd8ba1..afb44f0b 100644
--- a/doc/html/man/form.3x.html
+++ b/doc/html/man/form.3x.html
@@ -247,7 +247,7 @@
        curses(3x)  and  related  pages  whose names begin "form_" for detailed
        descriptions of the entry points.
 
-       This describes ncurses version 6.2 (patch 20200215).
+       This describes ncurses version 6.2 (patch 20200222).
 
 
 
diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html
index ec07820b..efa54b8a 100644
--- a/doc/html/man/infocmp.1m.html
+++ b/doc/html/man/infocmp.1m.html
@@ -513,7 +513,7 @@
 
        https://invisible-island.net/ncurses/tctest.html
 
-       This describes ncurses version 6.2 (patch 20200215).
+       This describes ncurses version 6.2 (patch 20200222).
 
 
 

AUTHOR

diff --git a/doc/html/man/infotocap.1m.html b/doc/html/man/infotocap.1m.html
index 02a383c2..f5366dd7 100644
--- a/doc/html/man/infotocap.1m.html
+++ b/doc/html/man/infotocap.1m.html
@@ -91,7 +91,7 @@
 

SEE ALSO

        curses(3x), tic(1m), infocmp(1m), terminfo(5)
 
-       This describes ncurses version 6.2 (patch 20200215).
+       This describes ncurses version 6.2 (patch 20200222).
 
 
 

AUTHOR

diff --git a/doc/html/man/menu.3x.html b/doc/html/man/menu.3x.html
index 9f50200d..2bf45a21 100644
--- a/doc/html/man/menu.3x.html
+++ b/doc/html/man/menu.3x.html
@@ -222,7 +222,7 @@
        curses(3x)  and  related  pages  whose names begin "menu_" for detailed
        descriptions of the entry points.
 
-       This describes ncurses version 6.2 (patch 20200215).
+       This describes ncurses version 6.2 (patch 20200222).
 
 
 
diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html
index ddf5d2a0..ca468266 100644
--- a/doc/html/man/ncurses.3x.html
+++ b/doc/html/man/ncurses.3x.html
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: ncurses.3x,v 1.144 2020/02/02 23:34:34 tom Exp @
+  * @Id: ncurses.3x,v 1.145 2020/02/23 01:05:45 tom Exp @
 -->
 
 
@@ -60,7 +60,7 @@
        method of updating  character  screens  with  reasonable  optimization.
        This  implementation  is  "new  curses"  (ncurses)  and is the approved
        replacement for 4.4BSD classic curses,  which  has  been  discontinued.
-       This describes ncurses version 6.2 (patch 20200215).
+       This describes ncurses version 6.2 (patch 20200222).
 
        The  ncurses  library emulates the curses library of System V Release 4
        UNIX, and XPG4 (X/Open Portability Guide) curses  (also  known  as  XSI
@@ -1277,28 +1277,37 @@
        between  the XSI Curses and ncurses calls) are described in PORTABILITY
        sections of the library man pages.
 
+
+

Error checking

+       In many cases, X/Open Curses is vague about error conditions,  omitting
+       some of the SVr4 documentation.
+
        Unlike other implementations, this one checks parameters such as point-
-       ers  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
+       ers 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
        application 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:
+
+

Extensions versus portability

+       Most  of the extensions provided by ncurses have not been standardized.
+       Some  have  been  incorporated  into  other  implementations,  such  as
+       PDCurses or NetBSD curses.  Here are a few to consider:
 
        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 present in
+       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,  mouseinterval,  and
-           wenclose  relating  to  mouse interfacing are not part of XPG4, nor
-           are they present in SVr4.  See the curs_mouse(3x) manual  page  for
+       o   The  routines  getmouse,  mousemask, ungetmouse, mouseinterval, and
+           wenclose relating to mouse interfacing are 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 imple-
+       o   The routine mcprint was not present in any previous  curses  imple-
            mentation.  See the curs_print(3x) manual page for details.
 
        o   The routine wresize is not part of XPG4, nor is it present in SVr4.
@@ -1308,26 +1317,97 @@
            tion programs.  See curs_opaque(3x) for the discussion of is_scrol-
            lok, etc.
 
-       o   This  implementation  can be configured to provide rudimentary sup-
-           port for multi-threaded  applications.   See  curs_threads(3x)  for
+       o   This implementation can be configured to provide  rudimentary  sup-
+           port  for  multi-threaded  applications.   See curs_threads(3x) for
            details.
 
-       o   This  implementation  can  also  be  configured to provide a set of
-           functions which improve the ability  to  manage  multiple  screens.
+       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 capabilities cr,
-       ind, cub1, ff and tab activated corresponding delay bits  in  the  UNIX
+
+

Padding differences

+       In historic curses versions, delays embedded in  the  capabilities  cr,
+       ind,  cub1,  ff  and tab activated corresponding delay bits in the UNIX
        tty driver.  In this implementation, 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
+       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  header  files
+

Header files

+       The  header  file  <curses.h>  automatically  includes the header files
        <stdio.h> and <unctrl.h>.
 
+       X/Open Curses has more to say, but does not finish the story:
+
+           The inclusion of <curses.h> may make visible all symbols  from  the
+           headers <stdio.h>, <term.h>, <termios.h>, and <wchar.h>.
+
+       Here is a more complete story:
+
+       o   Starting   with  BSD  curses,  all  implementations  have  included
+           <stdio.h>.
+
+           BSD curses included <curses.h>  and  <unctrl.h>  from  an  internal
+           header "curses.ext" ("ext" was a short name for externs).
+
+           BSD  curses  used  <stdio.h> internally (for printw and scanw), but
+           nothing in <curses.h> itself relied upon <stdio.h>.
+
+       o   SVr2 curses added newterm(3x), which relies upon  <stdio.h>.   That
+           is, the function prototype uses FILE.
+
+           SVr4 curses added putwin and getwin, which also use <stdio.h>.
+
+           X/Open Curses documents all three of these functions.
+
+           SVr4  curses  and  X/Open  Curses  do  not require the developer to
+           include  <stdio.h>  before  including  <curses.h>.   Both  document
+           curses showing <curses.h> as the only required header.
+
+           As a result, standard <curses.h> will always include <stdio.h>.
+
+       o   X/Open  Curses is inconsistent with respect to SVr4 regarding <unc-
+           trl.h>.
+
+           As  noted  in  curs_util(3x),  ncurses  includes  <unctrl.h>   from
+           <curses.h> (like SVr4).
+
+       o   X/Open's comments about <term.h> and <termios.h> may refer to HP-UX
+           and AIX:
+
+           HP-UX curses includes <term.h> from <curses.h> to declare setupterm
+           in curses.h, but ncurses (and Solaris curses) do not.
+
+           AIX  curses includes <term.h> and <termios.h>.  Again, ncurses (and
+           Solaris curses) do not.
+
+       o   X/Open says that <curses.h> may include <term.h>, but there  is  no
+           requirement that it do that.
+
+           Some  programs  use  functions  declared  in  both  <curses.h>  and
+           <term.h>, and must include both headers in the same  module.   Very
+           old  versions  of  AIX  curses required including <curses.h> before
+           including <term.h>.
+
+           Because ncurses header files include the headers needed  to  define
+           datatypes used in the headers, ncurses header files can be included
+           in any order.  But for portability, you should  include  <curses.h>
+           before <term.h>.
+
+       o   X/Open  Curses  says  "may make visible" because including a header
+           file does not necessarily make all symbols in it visible (there are
+           ifdef's to consider).
+
+           For  instance,  in  ncurses <wchar.h> may be included if the proper
+           symbol is defined, and if ncurses is configured for  wide-character
+           support.   If the header is included, its symbols may be made visi-
+           ble.  That depends on the value used for _XOPEN_SOURCE feature test
+           macro.
+
+
+

NOTES

        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 feature of AT&T System V Release 3 curses.
@@ -1384,7 +1464,14 @@
 
  • FILES
  • SEE ALSO
  • EXTENSIONS
  • -
  • PORTABILITY
  • +
  • PORTABILITY + +
  • NOTES
  • AUTHORS
  • diff --git a/doc/html/man/ncurses6-config.1.html b/doc/html/man/ncurses6-config.1.html index 0f8c15e5..6af75618 100644 --- a/doc/html/man/ncurses6-config.1.html +++ b/doc/html/man/ncurses6-config.1.html @@ -113,7 +113,7 @@

    SEE ALSO

            curses(3x)
     
    -       This describes ncurses version 6.2 (patch 20200215).
    +       This describes ncurses version 6.2 (patch 20200222).
     
     
     
    diff --git a/doc/html/man/panel.3x.html b/doc/html/man/panel.3x.html
    index a9522c7d..d5aa1ad6 100644
    --- a/doc/html/man/panel.3x.html
    +++ b/doc/html/man/panel.3x.html
    @@ -281,7 +281,7 @@
     

    SEE ALSO

            curses(3x), curs_variables(3x),
     
    -       This describes ncurses version 6.2 (patch 20200215).
    +       This describes ncurses version 6.2 (patch 20200222).
     
     
     

    AUTHOR

    diff --git a/doc/html/man/tabs.1.html b/doc/html/man/tabs.1.html
    index df6290d3..4d0781c6 100644
    --- a/doc/html/man/tabs.1.html
    +++ b/doc/html/man/tabs.1.html
    @@ -206,7 +206,7 @@
     

    SEE ALSO

            tset(1), infocmp(1m), curses(3x), terminfo(5).
     
    -       This describes ncurses version 6.2 (patch 20200215).
    +       This describes ncurses version 6.2 (patch 20200222).
     
     
     
    diff --git a/doc/html/man/terminfo.5.html b/doc/html/man/terminfo.5.html
    index 0bfba033..4ec3ef3a 100644
    --- a/doc/html/man/terminfo.5.html
    +++ b/doc/html/man/terminfo.5.html
    @@ -105,7 +105,7 @@
            have, by specifying how to perform screen operations, and by specifying
            padding requirements and initialization sequences.
     
    -       This manual describes ncurses version 6.2 (patch 20200215).
    +       This manual describes ncurses version 6.2 (patch 20200222).
     
     
     

    Terminfo Entry Syntax

    diff --git a/doc/html/man/tic.1m.html b/doc/html/man/tic.1m.html
    index 184f4350..c10d02e5 100644
    --- a/doc/html/man/tic.1m.html
    +++ b/doc/html/man/tic.1m.html
    @@ -461,7 +461,7 @@
            infocmp(1m),   captoinfo(1m),   infotocap(1m),   toe(1m),   curses(3x),
            term(5).  terminfo(5).  user_caps(5).
     
    -       This describes ncurses version 6.2 (patch 20200215).
    +       This describes ncurses version 6.2 (patch 20200222).
     
     
     

    AUTHOR

    diff --git a/doc/html/man/toe.1m.html b/doc/html/man/toe.1m.html
    index c792d46e..bed037e8 100644
    --- a/doc/html/man/toe.1m.html
    +++ b/doc/html/man/toe.1m.html
    @@ -171,7 +171,7 @@
            tic(1m), infocmp(1m), captoinfo(1m),  infotocap(1m),  curses(3x),  ter-
            minfo(5).
     
    -       This describes ncurses version 6.2 (patch 20200215).
    +       This describes ncurses version 6.2 (patch 20200222).
     
     
     
    diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html
    index 5de32dea..ff331ea8 100644
    --- a/doc/html/man/tput.1.html
    +++ b/doc/html/man/tput.1.html
    @@ -523,7 +523,7 @@
     

    SEE ALSO

            clear(1), stty(1), tabs(1), tset(1), terminfo(5), curs_termcap(3x).
     
    -       This describes ncurses version 6.2 (patch 20200215).
    +       This describes ncurses version 6.2 (patch 20200222).
     
     
     
    diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html
    index 84876f19..72bf3694 100644
    --- a/doc/html/man/tset.1.html
    +++ b/doc/html/man/tset.1.html
    @@ -390,7 +390,7 @@
            csh(1),  sh(1),  stty(1),   curs_terminfo(3x),   tty(4),   terminfo(5),
            ttys(5), environ(7)
     
    -       This describes ncurses version 6.2 (patch 20200215).
    +       This describes ncurses version 6.2 (patch 20200222).
     
     
     
    diff --git a/form/Makefile.in b/form/Makefile.in
    index 3e5be8da..d6f83af8 100644
    --- a/form/Makefile.in
    +++ b/form/Makefile.in
    @@ -1,4 +1,4 @@
    -# $Id: Makefile.in,v 1.65 2020/02/02 23:34:34 tom Exp $
    +# $Id: Makefile.in,v 1.67 2020/02/22 16:32:11 tom Exp $
     ##############################################################################
     # Copyright 2020 Thomas E. Dickey                                            #
     # Copyright 1998-2015,2018 Free Software Foundation, Inc.                    #
    @@ -92,7 +92,9 @@ CC		= @CC@
     CPP		= @CPP@
     CFLAGS		= @CFLAGS@
     
    -CPPFLAGS	= -I${top_srcdir}/ncurses -DHAVE_CONFIG_H @CPPFLAGS@
    +INCDIR		= $(top_srcdir)/include
    +BASE_DIR 	= $(top_srcdir)/ncurses
    +CPPFLAGS	= -I$(BASE_DIR) -DHAVE_CONFIG_H @CPPFLAGS@
     
     CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
     
    @@ -149,11 +151,24 @@ $(DESTDIR)$(libdir) :
     	cp $(srcdir)/form.h $@
     
     HEADER_DEPS = \
    -	$(srcdir)/form.priv.h \
    -	$(srcdir)/form.h \
    -	../include/mf_common.h \
     	../include/curses.h \
    -	../include/eti.h
    +	../include/eti.h \
    +	../include/mf_common.h \
    +	../include/ncurses_cfg.h \
    +	../include/ncurses_def.h \
    +	../include/ncurses_dll.h \
    +	../include/term.h \
    +	../include/unctrl.h \
    +	$(BASE_DIR)/curses.priv.h \
    +	$(BASE_DIR)/new_pair.h \
    +	$(INCDIR)/nc_alloc.h \
    +	$(INCDIR)/nc_panel.h \
    +	$(INCDIR)/nc_string.h \
    +	$(INCDIR)/nc_termios.h \
    +	$(INCDIR)/nc_tparm.h \
    +	$(INCDIR)/term_entry.h \
    +	$(srcdir)/form.h \
    +	$(srcdir)/form.priv.h
     
     tags:
     	$(CTAGS) *.[ch]
    diff --git a/include/Makefile.in b/include/Makefile.in
    index d23c472b..d89dfa3d 100644
    --- a/include/Makefile.in
    +++ b/include/Makefile.in
    @@ -1,4 +1,4 @@
    -# $Id: Makefile.in,v 1.46 2020/02/02 23:34:34 tom Exp $
    +# $Id: Makefile.in,v 1.48 2020/02/19 23:54:22 tom Exp $
     ##############################################################################
     # Copyright 2019,2020 Thomas E. Dickey                                       #
     # Copyright 1998-2013,2015 Free Software Foundation, Inc.                    #
    @@ -28,7 +28,7 @@
     # authorization.                                                             #
     ##############################################################################
     #
    -# Author: Thomas E. Dickey 1996-2001
    +# Author: Thomas E. Dickey 1996-on
     #
     # Makefile for ncurses source code.
     #
    @@ -59,6 +59,10 @@ INSTALL_DATA	= @INSTALL_DATA@
     AWK		= @AWK@
     LN_S		= @LN_S@
     
    +CC		= @CC@
    +CFLAGS		= @CFLAGS@
    +CPPFLAGS	= -DHAVE_CONFIG_H -I. @CPPFLAGS@
    +
     CTAGS		= @CTAGS@
     ETAGS		= @ETAGS@
     
    @@ -141,6 +145,17 @@ distclean :: clean
     
     realclean :: distclean
     
    +# Verify that each header-file can be compiled without including another.
    +check:
    +	@$(SHELL) -c "for header in *.h;\
    +		do \
    +			echo \"** testing \$${header}\" ; \
    +			echo \"#include <\$${header}>\" >headers.c; \
    +			echo \"int main(void) { return 0; }\" >>headers.c; \
    +			$(CC) -c $(CFLAGS) $(CPPFLAGS) headers.c; \
    +		done"
    +	-@rm -f headers.*
    +
     ###############################################################################
     # The remainder of this file is automatically generated during configuration
     ###############################################################################
    diff --git a/man/ncurses.3x b/man/ncurses.3x
    index fdd2a717..74f390cb 100644
    --- a/man/ncurses.3x
    +++ b/man/ncurses.3x
    @@ -28,7 +28,7 @@
     .\" authorization.                                                           *
     .\"***************************************************************************
     .\"
    -.\" $Id: ncurses.3x,v 1.144 2020/02/02 23:34:34 tom Exp $
    +.\" $Id: ncurses.3x,v 1.145 2020/02/23 01:05:45 tom Exp $
     .hy 0
     .TH ncurses 3X ""
     .ie \n(.g .ds `` \(lq
    @@ -1354,6 +1354,10 @@ The EXTENDED XSI Curses functionality
     A small number of local differences (that is, individual differences between
     the XSI Curses and \fBncurses\fR calls) are described in \fBPORTABILITY\fR
     sections of the library man pages.
    +.SS Error checking
    +.PP
    +In many cases, X/Open Curses is vague about error conditions,
    +omitting some of the SVr4 documentation.
     .PP
     Unlike other implementations, this one checks parameters such as pointers
     to WINDOW structures to ensure they are not null.
    @@ -1363,8 +1367,12 @@ The standard interface does not provide a way for the library
     to tell an application which of several possible errors were detected.
     Relying on this (or some other) extension will adversely affect the
     portability of curses applications.
    +.SS Extensions versus portability
     .PP
    -This implementation also contains several extensions:
    +Most of the extensions provided by ncurses have not been standardized.
    +Some have been incorporated into other implementations, such as
    +PDCurses or NetBSD curses.
    +Here are a few to consider:
     .bP
     The routine \fBhas_key\fR is not part of XPG4, nor is it present in SVr4.
     See the \fBcurs_getch\fR(3X) manual page for details.
    @@ -1394,6 +1402,7 @@ See \fBcurs_threads\fR(3X) for details.
     This implementation can also be configured to provide a set of functions which
     improve the ability to manage multiple screens.
     See \fBcurs_sp_funcs\fR(3X) for details.
    +.SS Padding differences
     .PP
     In historic curses versions, delays embedded in the capabilities \fBcr\fR,
     \fBind\fR, \fBcub1\fR, \fBff\fR and \fBtab\fR activated corresponding delay
    @@ -1402,10 +1411,80 @@ In this implementation, all padding is done by sending NUL bytes.
     This method is slightly more expensive, but narrows the interface
     to the UNIX kernel significantly and increases the package's portability
     correspondingly.
    -.SH NOTES
    +.SS Header files
     The header file \fB\fR automatically includes the header files
     \fB\fR and \fB\fR.
     .PP
    +X/Open Curses has more to say,
    +but does not finish the story:
    +.RS 4
    +.PP
    +The inclusion of  may make visible all symbols
    +from the headers , , , and .
    +.RE
    +.PP
    +Here is a more complete story:
    +.bP
    +Starting with BSD curses, all implementations have included .
    +.IP
    +BSD curses included  and  from an internal header
    +"curses.ext" ("ext" was a short name for \fIexterns\fP).
    +.IP
    +BSD curses used  internally (for \fBprintw\fP and \fBscanw\fP),
    +but nothing in  itself relied upon .
    +.bP
    +SVr2 curses added \fBnewterm\fP(3X), which relies upon .
    +That is, the function prototype uses \fBFILE\fP.
    +.IP
    +SVr4 curses added \fBputwin\fP and \fBgetwin\fP, which also use .
    +.IP
    +X/Open Curses documents all three of these functions.
    +.IP
    +SVr4 curses and X/Open Curses do not require the developer to
    +include  before including .
    +Both document curses showing  as the only required header.
    +.IP
    +As a result, standard  will always include .
    +.bP
    +X/Open Curses is inconsistent with respect to SVr4 regarding .
    +.IP
    +As noted in \fBcurs_util\fP(3X), ncurses includes  from
    + (like SVr4).
    +.bP
    +X/Open's comments about  and  may refer to HP-UX and AIX:
    +.IP
    +HP-UX curses includes  from 
    +to declare \fBsetupterm\fP in curses.h,
    +but ncurses (and Solaris curses) do not.
    +.IP
    +AIX curses includes  and .
    +Again, ncurses (and Solaris curses) do not.
    +.bP
    +X/Open says that  \fImay\fP include ,
    +but there is no requirement that it do that.
    +.IP
    +Some programs use functions declared in both  and ,
    +and must include both headers in the same module.
    +Very old versions of AIX curses required including 
    +before including .
    +.IP
    +Because ncurses header files include the headers needed to
    +define datatypes used in the headers,
    +ncurses header files can be included in any order.
    +But for portability, you should include  before .
    +.bP
    +X/Open Curses says \fI"may make visible"\fP
    +because including a header file does not necessarily make all symbols
    +in it visible (there are ifdef's to consider).
    +.IP
    +For instance, in ncurses  \fImay\fP be included if
    +the proper symbol is defined, and if ncurses is configured for
    +wide-character support.
    +If the header is included, its symbols may be made visible.
    +That depends on the value used for \fB_XOPEN_SOURCE\fP
    +feature test macro.
    +.SH NOTES
    +.PP
     If standard output from a \fBncurses\fR program is re-directed to something
     which is not a tty, screen updates will be directed to standard error.
     This was an undocumented feature of AT&T System V Release 3 curses.
    diff --git a/menu/Makefile.in b/menu/Makefile.in
    index 495651c2..f9b4060d 100644
    --- a/menu/Makefile.in
    +++ b/menu/Makefile.in
    @@ -1,4 +1,4 @@
    -# $Id: Makefile.in,v 1.66 2020/02/02 23:34:34 tom Exp $
    +# $Id: Makefile.in,v 1.67 2020/02/22 16:35:47 tom Exp $
     ##############################################################################
     # Copyright 2020 Thomas E. Dickey                                            #
     # Copyright 1998-2015,2018 Free Software Foundation, Inc.                    #
    @@ -92,7 +92,9 @@ CC		= @CC@
     CPP		= @CPP@
     CFLAGS		= @CFLAGS@
     
    -CPPFLAGS	= -I${top_srcdir}/ncurses -DHAVE_CONFIG_H @CPPFLAGS@
    +INCDIR		= $(top_srcdir)/include
    +BASE_DIR 	= $(top_srcdir)/ncurses
    +CPPFLAGS	= -I$(BASE_DIR) -DHAVE_CONFIG_H @CPPFLAGS@
     
     CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
     
    @@ -157,9 +159,22 @@ $(DESTDIR)$(libdir) :
     	cp $(srcdir)/mf_common.h $@
     
     HEADER_DEPS = \
    +	../include/curses.h \
    +	../include/ncurses_cfg.h \
    +	../include/ncurses_def.h \
    +	../include/ncurses_dll.h \
    +	../include/term.h \
    +	../include/unctrl.h \
    +	$(BASE_DIR)/curses.priv.h \
    +	$(BASE_DIR)/new_pair.h \
    +	$(INCDIR)/nc_alloc.h \
    +	$(INCDIR)/nc_panel.h \
    +	$(INCDIR)/nc_string.h \
    +	$(INCDIR)/nc_termios.h \
    +	$(INCDIR)/nc_tparm.h \
    +	$(INCDIR)/term_entry.h \
     	$(srcdir)/menu.priv.h \
    -	$(AUTO_SRC) \
    -	../include/curses.h
    +	$(AUTO_SRC)
     
     tags:
     	$(CTAGS) *.[ch]
    diff --git a/misc/terminfo.src b/misc/terminfo.src
    index 70047be7..7b08ffb9 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.779 $
    -#	$Date: 2020/01/19 01:09:38 $
    +#	$Revision: 1.787 $
    +#	$Date: 2020/02/22 23:05:24 $
     #
     # 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
    @@ -2168,12 +2168,19 @@ bsdos-ppc|PowerPC BSD/OS Console,
     # to a crude plotting feature) -TD
     vt52|dec vt52,
     	OTbs,
    +	it#8, lines#24,
    +	acsc=+h.k0affggolpnqprrss, home=\EH, kbs=^H, nel=\r\n,
    +	ri=\EI, rmacs=\EG, rmkx=\E>, smacs=\EF, smkx=\E=, u8=\E/[KL],
    +	use=vt50h,
    +
    +# This is more likely the "vt52" that you would see in emulation, i.e., no
    +# keypad, no graphics.
    +vt52-basic|vt52 for emulators,
     	cols#80, it#8, lines#24,
    -	acsc=+h.k0affggolpnqprrss, bel=^G, clear=\EH\EJ, cr=\r,
    -	cub1=\ED, cud1=\EB, cuf1=\EC,
    -	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
    -	el=\EK, home=\EH, ht=^I, ind=\n, kbs=^H, kcub1=\ED, kcud1=\EB,
    -	kcuf1=\EC, kcuu1=\EA, nel=\r\n, ri=\EI, rmacs=\EG, smacs=\EF,
    +	bel=^G, clear=\EH\EJ, cr=\r, cub1=\ED, cud1=\EB, cuf1=\EC,
    +	cup=\EY%p1%' '%+%c%p2%' '%+%c, cuu1=\EA, ed=\EJ, el=\EK,
    +	home=\EH, ht=^I, ind=\n, kbs=^H, kcub1=\ED, kcud1=\EB,
    +	kcuf1=\EC, kcuu1=\EA, nel=\r\n, ri=\EI,
     
     #### DEC VT100 and compatibles
     #
    @@ -9451,7 +9458,7 @@ gator|HP 9000 model 237 emulating AAA,
     	rep=%p1%c\E[%p2%db$<1*/>, rev=\E[7m, rmso=\E[m,
     	rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m,
     gator-52|HP 9000 model 237 emulating VT52,
    -	cols#128, lines#47, use=vt52,
    +	cols#128, lines#47, use=vt52-basic,
     gator-52t|HP 9000 model 237 emulating extra-tall VT52,
     	lines#94, use=gator-52,
     
    @@ -16983,8 +16990,8 @@ hz1520-noesc|hazeltine 1520,
     # Be sure the auto lf/cr switch is set to cr.
     hz1552|hazeltine 1552,
     	OTbs,
    -	cud1=\n, dl1=\EO, il1=\EE, kf1=\EP, kf2=\EQ, kf3=\ER, lf1=blue,
    -	lf2=red, lf3=green, use=vt52,
    +	cud1=\n, dl1=\EO, il1=\EE, lf1=blue, lf2=red, lf3=green,
    +	use=vt52,
     hz1552-rv|hazeltine 1552 reverse video,
     	cud1=\n, rmso=\ET, smso=\ES, use=hz1552,
     # Note: h2000 won't work well because of a clash between upper case and ~'s.
    @@ -21693,11 +21700,41 @@ dp8242|datapoint 8242,
     
     #### DEC terminals (Obsolete types: DECwriter and vt40/42/50)
     #
    -# These entries are DEC's official terminfos for its older terminals.
    -# Contact Bill Hedberg  of Terminal Support
    -# Engineering for more information.  Updated terminfos and termcaps
    -# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
    +# These entries came from DEC's official terminfos for its older terminals
    +# (which happen to be identical to the AT&T/SCO terminal descriptions),
    +# Bill Hedberg  of Terminal Support Engineering
    +# may have had more information.  Updated terminfos and termcaps were available
    +# at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
    +
    +# DEC's terminfos did not describe the auxiliary keypad.
    +#
    +# DECScope of course had no "function keys", but this building block assigns
    +# the three blank keys at the top of the auxiliary (numeric) keypad, using
    +# the same analogy as vt100 (also lacking function-keys).
     #
    +# These assignments use the same layout for 0-9 as vt100+keypad; the vt52
    +# keypad had its cursor-keys on the right-column as shown -TD
    +#   _______________________________________
    +#  |   PF1   |   PF2   |   PF3   | c-up    |
    +#  |   \EP   |   \EQ   |   \ER   |   \EA   |
    +#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|kcuu1_k4_|
    +#  |    7         8         9      c-down  |
    +#  |   \E?w  |   \E?x  |   \E?y  |   \EB   |
    +#  |_kf9__k9_|_kf10_k;_|_kf0__k0_|kcud1____|
    +#  |    4    |    5    |    6    | c-right |
    +#  |   \E?t  |   \E?u  |   \E?v  |   \EC   |
    +#  |_kf5__k5_|_kf6__k6_|_kf7__k7_|kcuf1_k8_|
    +#  |    1    |    2    |    3    | c-left  |
    +#  |   \E?q  |   \E?r  |   \E?s  |   \ED   |
    +#  |_ka1__K1_|_kb2__K2_|_ka3__K3_|kcub1____|
    +#  |         0         |   .     |  enter  |
    +#  |        \E?p       |  \E?n   |  \E?M   |
    +#  |___kc1_______K4____|_kc3__K5_|_kent_@8_|
    +#
    +vt52+keypad|DECScope auxiliary keypad,
    +	ka1=\E?q, ka3=\E?s, kb2=\E?r, kc1=\E?p, kc3=\E?n, kf0=\E?y,
    +	kf1=\EP, kf2=\EQ, kf3=\ER, kf5=\E?t, kf6=\E?u, kf7=\E?v,
    +	kf8=\E?w, kf9=\E?x,
     
     gt40|dec gt40,
     	OTbs, os,
    @@ -21707,17 +21744,17 @@ gt42|dec gt42,
     	OTbs, os,
     	cols#72, lines#40,
     	bel=^G, cr=\r, cub1=^H, cud1=\n,
    +
     vt50|dec vt50,
     	OTbs,
     	cols#80, lines#12,
     	bel=^G, clear=\EH\EJ, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
    -	cuu1=\EA, ed=\EJ, el=\EK, ht=^I, ind=\n,
    +	cuu1=\EA, ed=\EJ, el=\EK, ht=^I, ind=\n, u8=\E/A, u9=\EZ,
     vt50h|dec vt50h,
    -	OTbs,
    -	cols#80, lines#12,
    -	bel=^G, clear=\EH\EJ, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
    -	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
    -	el=\EK, ht=^I, ind=\n, ri=\EI,
    +	cub1=\ED, cud1=\EB, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
    +	kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, u8=\E/[HJ],
    +	use=vt52+keypad, use=vt50,
    +
     # (vt61: there's a BSD termcap that claims ,  )
     vt61|vt-61|vt61.5|dec vt61,
     	cols#80, lines#24,
    @@ -26435,4 +26472,8 @@ v3220|LANPAR Vision II model 3220/3221/3222,
     #	+ spelling fixes per codespell -TD
     #	+ improve xm example for xterm+x11mouse, xterm+sm+1006 -TD
     #
    +# 2020-02-22
    +#	+ improve vt50h and vt52 based on DECScope manual -TD
    +#	+ add/use vt52+keypad and vt52-basic -TD
    +#
     ######## SHANTIH!  SHANTIH!  SHANTIH!
    diff --git a/ncurses/Makefile.in b/ncurses/Makefile.in
    index b2420788..3969b2c1 100644
    --- a/ncurses/Makefile.in
    +++ b/ncurses/Makefile.in
    @@ -1,4 +1,4 @@
    -# $Id: Makefile.in,v 1.168 2020/02/02 23:34:34 tom Exp $
    +# $Id: Makefile.in,v 1.169 2020/02/22 15:45:23 tom Exp $
     ##############################################################################
     # Copyright 2018-2019,2020 Thomas E. Dickey                                  #
     # Copyright 1998-2017,2018 Free Software Foundation, Inc.                    #
    @@ -178,16 +178,21 @@ AUTO_SRC = \
     	keys.list
     
     HEADER_DEPS	= \
    -	$(srcdir)/curses.priv.h \
    -	../include/ncurses_dll.h \
     	../include/ncurses_cfg.h \
    +	../include/ncurses_def.h \
    +	../include/ncurses_dll.h \
     	../include/curses.h \
    -	$(INCDIR)/nc_panel.h \
     	../include/term.h \
    -	$(INCDIR)/term_entry.h \
    -	$(INCDIR)/nc_tparm.h \
    +	../include/unctrl.h \
     	$(INCDIR)/nc_alloc.h \
    -	$(INCDIR)/nc_mingw.h
    +	$(INCDIR)/nc_mingw.h \
    +	$(INCDIR)/nc_panel.h \
    +	$(INCDIR)/nc_string.h \
    +	$(INCDIR)/nc_termios.h \
    +	$(INCDIR)/nc_tparm.h \
    +	$(INCDIR)/term_entry.h \
    +	$(srcdir)/curses.priv.h \
    +	$(srcdir)/new_pair.h
     
     TEST_DEPS	= ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@
     TEST_ARGS	= @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@ 
    diff --git a/package/debian-mingw/changelog b/package/debian-mingw/changelog
    index 151586b1..ab0dcb45 100644
    --- a/package/debian-mingw/changelog
    +++ b/package/debian-mingw/changelog
    @@ -1,8 +1,8 @@
    -ncurses6 (6.2+20200215) unstable; urgency=low
    +ncurses6 (6.2+20200222) unstable; urgency=low
     
       * latest weekly patch
     
    - -- Thomas E. Dickey   Sat, 15 Feb 2020 04:30:48 -0500
    + -- Thomas E. Dickey   Sat, 22 Feb 2020 08:49:45 -0500
     
     ncurses6 (5.9-20131005) unstable; urgency=low
     
    diff --git a/package/debian-mingw64/changelog b/package/debian-mingw64/changelog
    index 151586b1..ab0dcb45 100644
    --- a/package/debian-mingw64/changelog
    +++ b/package/debian-mingw64/changelog
    @@ -1,8 +1,8 @@
    -ncurses6 (6.2+20200215) unstable; urgency=low
    +ncurses6 (6.2+20200222) unstable; urgency=low
     
       * latest weekly patch
     
    - -- Thomas E. Dickey   Sat, 15 Feb 2020 04:30:48 -0500
    + -- Thomas E. Dickey   Sat, 22 Feb 2020 08:49:45 -0500
     
     ncurses6 (5.9-20131005) unstable; urgency=low
     
    diff --git a/package/debian/changelog b/package/debian/changelog
    index f1c9d372..7259024e 100644
    --- a/package/debian/changelog
    +++ b/package/debian/changelog
    @@ -1,8 +1,8 @@
    -ncurses6 (6.2+20200215) unstable; urgency=low
    +ncurses6 (6.2+20200222) unstable; urgency=low
     
       * latest weekly patch
     
    - -- Thomas E. Dickey   Sat, 15 Feb 2020 04:30:48 -0500
    + -- Thomas E. Dickey   Sat, 22 Feb 2020 08:49:45 -0500
     
     ncurses6 (5.9-20120608) unstable; urgency=low
     
    diff --git a/package/mingw-ncurses.nsi b/package/mingw-ncurses.nsi
    index 9f10f978..66dcc73d 100644
    --- a/package/mingw-ncurses.nsi
    +++ b/package/mingw-ncurses.nsi
    @@ -1,4 +1,4 @@
    -; $Id: mingw-ncurses.nsi,v 1.378 2020/02/15 09:30:48 tom Exp $
    +; $Id: mingw-ncurses.nsi,v 1.379 2020/02/22 13:49:45 tom Exp $
     
     ; TODO add examples
     ; TODO bump ABI to 6
    @@ -10,7 +10,7 @@
     !define VERSION_MAJOR "6"
     !define VERSION_MINOR "2"
     !define VERSION_YYYY  "2020"
    -!define VERSION_MMDD  "0215"
    +!define VERSION_MMDD  "0222"
     !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
     
     !define MY_ABI   "5"
    diff --git a/package/mingw-ncurses.spec b/package/mingw-ncurses.spec
    index 085790a1..9a32cb4e 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.2
    -Release: 20200215
    +Release: 20200222
     License: X11
     Group: Development/Libraries
     Source: ncurses-%{version}-%{release}.tgz
    diff --git a/package/ncurses.spec b/package/ncurses.spec
    index b50131de..e9b04492 100644
    --- a/package/ncurses.spec
    +++ b/package/ncurses.spec
    @@ -1,7 +1,7 @@
     Summary: shared libraries for terminal handling
     Name: ncurses6
     Version: 6.2
    -Release: 20200215
    +Release: 20200222
     License: X11
     Group: Development/Libraries
     Source: ncurses-%{version}-%{release}.tgz
    diff --git a/package/ncursest.spec b/package/ncursest.spec
    index c7332d94..1c975b1e 100644
    --- a/package/ncursest.spec
    +++ b/package/ncursest.spec
    @@ -1,7 +1,7 @@
     Summary: Curses library with POSIX thread support.
     Name: ncursest6
     Version: 6.2
    -Release: 20200215
    +Release: 20200222
     License: X11
     Group: Development/Libraries
     Source: ncurses-%{version}-%{release}.tgz
    diff --git a/panel/Makefile.in b/panel/Makefile.in
    index 5f7b5b92..f4717a31 100644
    --- a/panel/Makefile.in
    +++ b/panel/Makefile.in
    @@ -1,4 +1,4 @@
    -# $Id: Makefile.in,v 1.71 2020/02/02 23:34:34 tom Exp $
    +# $Id: Makefile.in,v 1.72 2020/02/22 16:40:36 tom Exp $
     ##############################################################################
     # Copyright 2020 Thomas E. Dickey                                            #
     # Copyright 1998-2015,2018 Free Software Foundation, Inc.                    #
    @@ -94,7 +94,9 @@ CC		= @CC@
     CPP		= @CPP@
     CFLAGS		= @CFLAGS@
     
    -CPPFLAGS	= -I${top_srcdir}/ncurses -DHAVE_CONFIG_H @CPPFLAGS@
    +INCDIR		= $(top_srcdir)/include
    +BASE_DIR 	= $(top_srcdir)/ncurses
    +CPPFLAGS	= -I$(BASE_DIR) -DHAVE_CONFIG_H @CPPFLAGS@
     
     CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
     
    @@ -151,6 +153,20 @@ $(DESTDIR)$(libdir) :
     	cp $(srcdir)/panel.h $@
     
     HEADER_DEPS = \
    +	../include/curses.h \
    +	../include/ncurses_cfg.h \
    +	../include/ncurses_def.h \
    +	../include/ncurses_dll.h \
    +	../include/term.h \
    +	../include/unctrl.h \
    +	$(BASE_DIR)/curses.priv.h \
    +	$(BASE_DIR)/new_pair.h \
    +	$(INCDIR)/nc_alloc.h \
    +	$(INCDIR)/nc_panel.h \
    +	$(INCDIR)/nc_string.h \
    +	$(INCDIR)/nc_termios.h \
    +	$(INCDIR)/nc_tparm.h \
    +	$(INCDIR)/term_entry.h \
     	$(srcdir)/panel.priv.h \
     	$(srcdir)/panel.h
     
    diff --git a/test/Makefile.in b/test/Makefile.in
    index 16bfc45b..5358fc21 100644
    --- a/test/Makefile.in
    +++ b/test/Makefile.in
    @@ -1,4 +1,4 @@
    -# $Id: Makefile.in,v 1.121 2020/02/02 23:34:34 tom Exp $
    +# $Id: Makefile.in,v 1.122 2020/02/22 16:51:31 tom Exp $
     ##############################################################################
     # Copyright 2020 Thomas E. Dickey                                            #
     # Copyright 1998-2017,2018 Free Software Foundation, Inc.                    #
    @@ -137,8 +137,16 @@ LINT		= @LINT@
     LINT_OPTS	= @LINT_OPTS@
     LINT_LIBS	= -lform -lmenu -lpanel -lncurses @LIBS@
     
    +INCDIR		= $(top_srcdir)/include
    +
     HEADER_DEPS	= \
     	../include/curses.h \
    -	../include/term.h
    +	../include/term.h \
    +	../include/ncurses_cfg.h \
    +	../include/ncurses_def.h \
    +	../include/ncurses_dll.h \
    +	../include/term.h \
    +	../include/unctrl.h \
    +	$(INCDIR)/nc_alloc.h
     
     # The rest is generated from the "programs" and "modules" files...
    -- 
    2.44.0