ncurses 6.2 - patch 20200222
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 23 Feb 2020 02:26:40 +0000 (02:26 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 23 Feb 2020 02:26:40 +0000 (02:26 +0000)
+ 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.

36 files changed:
Ada95/gen/gen.c
NEWS
VERSION
c++/Makefile.in
dist.mk
doc/html/man/adacurses6-config.1.html
doc/html/man/captoinfo.1m.html
doc/html/man/clear.1.html
doc/html/man/form.3x.html
doc/html/man/infocmp.1m.html
doc/html/man/infotocap.1m.html
doc/html/man/menu.3x.html
doc/html/man/ncurses.3x.html
doc/html/man/ncurses6-config.1.html
doc/html/man/panel.3x.html
doc/html/man/tabs.1.html
doc/html/man/terminfo.5.html
doc/html/man/tic.1m.html
doc/html/man/toe.1m.html
doc/html/man/tput.1.html
doc/html/man/tset.1.html
form/Makefile.in
include/Makefile.in
man/ncurses.3x
menu/Makefile.in
misc/terminfo.src
ncurses/Makefile.in
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
package/ncursest.spec
panel/Makefile.in
test/Makefile.in

index b204236b34c1d95cb8b694338900c064717a7541..22efff8e51ea2ca84af8be5ff79116079cbfc83b 100644 (file)
@@ -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 c4f6fe360bb94ff1d79588bbeccc55ce58651c2e..e46fcb924d69fcd5f41a310dee1e48fa75b8607a 100644 (file)
--- 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 73ac659d490e17255a3020adfa1298338d2c4e7c..3e577882dcf51458f410699cb50b1776e030cb51 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:10 6.2     20200215
+5:0:10 6.2     20200222
index 9b22b6ac16ae321af6518ba6a54e51d2087aa4b1..4425f263d808f5bfaa16c92139b6f8ed60be24e3 100644 (file)
@@ -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 3d2d2f23edecc1f69fd2218065aae8521be9c7e4..06e7d3b25ab3ee3b5f90f3ae39c721c020e4cb36 100644 (file)
--- 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)
index bf325552763f79f39e56b2868106bf4ccc8dec51..3a95cbd4541ddf5656fafa868e9517198654f4b2 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
 
 
index fbea4ddde266ae63d9b6cc872aa5dfe243e15ad2..efbb6b2798db5000388225f5e730e0f036ca0251 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 853f05c3205035d40f347f24a6bc3c7b0ea4a0a6..f4e23ae60452f0582766856f289129a34e1600be 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
 
 
index 2dbd8ba1576805b563c171ab03515d2ed4cbf54d..afb44f0b8b9dbf9aec9e35cb0ca490d7a9a2ede9 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
        descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
 
 
index ec07820b2116f577c27ab5950493882c112cdc76..efa54b8a8a2b55aef0f5e24024faae4b56b4f059 100644 (file)
 
        https://invisible-island.net/ncurses/tctest.html
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 02a383c29497761cac5a90052036e080fbca0350..f5366dd79a05f049d031c790bb856b4f9e18212f 100644 (file)
@@ -91,7 +91,7 @@
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 9f50200de7ade1f33a639fcf3c7ae69a56f02491..2bf45a21737c07c6b24696d46e1fcdf0b6dcdf32 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "menu_" for detailed
        descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
 
 
index ddf5d2a05e5f2864829726d6771e60aad28027ad..ca468266e20d989df407cdc4b33d96b5448c9a36 100644 (file)
@@ -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 @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
@@ -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 <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
        The  <STRONG>ncurses</STRONG>  library emulates the curses library of System V Release 4
        UNIX, and XPG4 (X/Open Portability Guide) curses  (also  known  as  XSI
        between  the XSI Curses and <STRONG>ncurses</STRONG> calls) are described in <STRONG>PORTABILITY</STRONG>
        sections of the library man pages.
 
+
+</PRE><H3><a name="h3-Error-checking">Error checking</a></H3><PRE>
+       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:
+
+</PRE><H3><a name="h3-Extensions-versus-portability">Extensions versus portability</a></H3><PRE>
+       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:
 
        <STRONG>o</STRONG>   The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it present in SVr4.
            See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page for details.
 
-       <STRONG>o</STRONG>   The  routine  <STRONG>slk_attr</STRONG>  is  not  part of XPG4, nor is it present in
+       <STRONG>o</STRONG>   The routine <STRONG>slk_attr</STRONG> is not part of XPG4,  nor  is  it  present  in
            SVr4.  See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for details.
 
-       <STRONG>o</STRONG>   The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>,  <STRONG>ungetmouse</STRONG>,  <STRONG>mouseinterval</STRONG>,  and
-           <STRONG>wenclose</STRONG>  relating  to  mouse interfacing are not part of XPG4, nor
-           are they present in SVr4.  See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual  page  for
+       <STRONG>o</STRONG>   The  routines  <STRONG>getmouse</STRONG>,  <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mouseinterval</STRONG>, and
+           <STRONG>wenclose</STRONG> relating to mouse interfacing are not part  of  XPG4,  nor
+           are  they  present in SVr4.  See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for
            details.
 
-       <STRONG>o</STRONG>   The  routine  <STRONG>mcprint</STRONG> was not present in any previous curses imple-
+       <STRONG>o</STRONG>   The routine <STRONG>mcprint</STRONG> was not present in any previous  curses  imple-
            mentation.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
 
        <STRONG>o</STRONG>   The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it present in SVr4.
            tion programs.  See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for the discussion of <STRONG>is_scrol-</STRONG>
            <STRONG>lok</STRONG>, etc.
 
-       <STRONG>o</STRONG>   This  implementation  can be configured to provide rudimentary sup-
-           port for multi-threaded  applications.   See  <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>  for
+       <STRONG>o</STRONG>   This implementation can be configured to provide  rudimentary  sup-
+           port  for  multi-threaded  applications.   See <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for
            details.
 
-       <STRONG>o</STRONG>   This  implementation  can  also  be  configured to provide a set of
-           functions which improve the ability  to  manage  multiple  screens.
+       <STRONG>o</STRONG>   This implementation can also be configured  to  provide  a  set  of
+           functions  which  improve  the  ability to manage multiple screens.
            See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
 
-       In  historic  curses  versions, delays embedded in the capabilities <STRONG>cr</STRONG>,
-       <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding delay bits  in  the  UNIX
+
+</PRE><H3><a name="h3-Padding-differences">Padding differences</a></H3><PRE>
+       In historic curses versions, delays embedded in  the  capabilities  <STRONG>cr</STRONG>,
+       <STRONG>ind</STRONG>,  <STRONG>cub1</STRONG>,  <STRONG>ff</STRONG>  and <STRONG>tab</STRONG> 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.
 
 
-</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;curses.h&gt;</STRONG>  automatically  includes  the  header  files
+</PRE><H3><a name="h3-Header-files">Header files</a></H3><PRE>
+       The  header  file  <STRONG>&lt;curses.h&gt;</STRONG>  automatically  includes the header files
        <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
 
+       X/Open Curses has more to say, but does not finish the story:
+
+           The inclusion of &lt;curses.h&gt; may make visible all symbols  from  the
+           headers &lt;stdio.h&gt;, &lt;term.h&gt;, &lt;termios.h&gt;, and &lt;wchar.h&gt;.
+
+       Here is a more complete story:
+
+       <STRONG>o</STRONG>   Starting   with  BSD  curses,  all  implementations  have  included
+           &lt;stdio.h&gt;.
+
+           BSD curses included &lt;curses.h&gt;  and  &lt;unctrl.h&gt;  from  an  internal
+           header "curses.ext" ("ext" was a short name for <EM>externs</EM>).
+
+           BSD  curses  used  &lt;stdio.h&gt; internally (for <STRONG>printw</STRONG> and <STRONG>scanw</STRONG>), but
+           nothing in &lt;curses.h&gt; itself relied upon &lt;stdio.h&gt;.
+
+       <STRONG>o</STRONG>   SVr2 curses added <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>, which relies upon  &lt;stdio.h&gt;.   That
+           is, the function prototype uses <STRONG>FILE</STRONG>.
+
+           SVr4 curses added <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>, which also use &lt;stdio.h&gt;.
+
+           X/Open Curses documents all three of these functions.
+
+           SVr4  curses  and  X/Open  Curses  do  not require the developer to
+           include  &lt;stdio.h&gt;  before  including  &lt;curses.h&gt;.   Both  document
+           curses showing &lt;curses.h&gt; as the only required header.
+
+           As a result, standard &lt;curses.h&gt; will always include &lt;stdio.h&gt;.
+
+       <STRONG>o</STRONG>   X/Open  Curses is inconsistent with respect to SVr4 regarding &lt;unc-
+           trl.h&gt;.
+
+           As  noted  in  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,  ncurses  includes  &lt;unctrl.h&gt;   from
+           &lt;curses.h&gt; (like SVr4).
+
+       <STRONG>o</STRONG>   X/Open's comments about &lt;term.h&gt; and &lt;termios.h&gt; may refer to HP-UX
+           and AIX:
+
+           HP-UX curses includes &lt;term.h&gt; from &lt;curses.h&gt; to declare <STRONG>setupterm</STRONG>
+           in curses.h, but ncurses (and Solaris curses) do not.
+
+           AIX  curses includes &lt;term.h&gt; and &lt;termios.h&gt;.  Again, ncurses (and
+           Solaris curses) do not.
+
+       <STRONG>o</STRONG>   X/Open says that &lt;curses.h&gt; <EM>may</EM> include &lt;term.h&gt;, but there  is  no
+           requirement that it do that.
+
+           Some  programs  use  functions  declared  in  both  &lt;curses.h&gt;  and
+           &lt;term.h&gt;, and must include both headers in the same  module.   Very
+           old  versions  of  AIX  curses required including &lt;curses.h&gt; before
+           including &lt;term.h&gt;.
+
+           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  &lt;curses.h&gt;
+           before &lt;term.h&gt;.
+
+       <STRONG>o</STRONG>   X/Open  Curses  says  <EM>"may</EM> <EM>make</EM> <EM>visible"</EM> because including a header
+           file does not necessarily make all symbols in it visible (there are
+           ifdef's to consider).
+
+           For  instance,  in  ncurses &lt;wchar.h&gt; <EM>may</EM> 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 <STRONG>_XOPEN_SOURCE</STRONG> feature test
+           macro.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        If  standard  output from a <STRONG>ncurses</STRONG> 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&amp;T System V Release 3 curses.
 <li><a href="#h2-FILES">FILES</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
-<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-Error-checking">Error checking</a></li>
+<li><a href="#h3-Extensions-versus-portability">Extensions versus portability</a></li>
+<li><a href="#h3-Padding-differences">Padding differences</a></li>
+<li><a href="#h3-Header-files">Header files</a></li>
+</ul>
+</li>
 <li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
 </ul>
index 0f8c15e564a3e66bd5ff15a3eb0e758ba7d5d4d2..6af756184431635768964dbc3c73bf329bcf9712 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
 
 
index a9522c7d94a91bb01a4988233d7918ac101af7db..d5aa1ad6d21a958a61197d05790c8e6eab391212 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index df6290d38ffe5e6d56782f20ddadd87b71b6178c..4d0781c6e02ccb351a939b02d18572af95fb0c7f 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
 
 
index 0bfba033e7e74fa9296505eca1880c0d106bcf7d..4ec3ef3ad24cbf5208064abb9a021a828cea429c 100644 (file)
        have, by specifying how to perform screen operations, and by specifying
        padding requirements and initialization sequences.
 
-       This manual describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This manual describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
 
 </PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
index 184f4350b4bf3800bf200c2230512de3151c7911..c10d02e59ea0b38baacb69a452906ac7a46527d6 100644 (file)
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,   <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,   <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
        <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index c792d46e8f969826fb66c1fd3bbc40af63d94b99..bed037e83f26e565822dde5dd20a7079183262d5 100644 (file)
        <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,  <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG>ter-</STRONG>
        <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
 
 
index 5de32deab29151c3803cf9c7943ac97b1808e0b6..ff331ea845fa2798533d55bc1cb9c8d47184cd72 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
 
 
index 84876f19fec49cb3218ba2f9a2be395ee0f6a1fb..72bf369401e778eb9874f3bb6e5fd935395d557b 100644 (file)
        <STRONG>csh(1)</STRONG>,  <STRONG>sh(1)</STRONG>,  <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,   <STRONG>tty(4)</STRONG>,   <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
        <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200222).
 
 
 
index 3e5be8daadfe87f94ad63d3baee098b67a08b61b..d6f83af88e13cf323853db06020bec63f5452abc 100644 (file)
@@ -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]
index d23c472b1c183d1790080d9b19caa5bf6082b99d..d89dfa3d0d12dc1514081fa283214f5c67ef8d96 100644 (file)
@@ -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
 ###############################################################################
index fdd2a717cef4c7ebc8a91f1f30151255e22f56ef..74f390cbc5b63e873c6f8a53b78f74c2578914a8 100644 (file)
@@ -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<curses.h>\fR automatically includes the header files
 \fB<stdio.h>\fR and \fB<unctrl.h>\fR.
 .PP
+X/Open Curses has more to say,
+but does not finish the story:
+.RS 4
+.PP
+The inclusion of <curses.h> may make visible all symbols
+from the headers <stdio.h>, <term.h>, <termios.h>, and <wchar.h>.
+.RE
+.PP
+Here is a more complete story:
+.bP
+Starting with BSD curses, all implementations have included <stdio.h>.
+.IP
+BSD curses included <curses.h> and <unctrl.h> from an internal header
+"curses.ext" ("ext" was a short name for \fIexterns\fP).
+.IP
+BSD curses used <stdio.h> internally (for \fBprintw\fP and \fBscanw\fP),
+but nothing in <curses.h> itself relied upon <stdio.h>.
+.bP
+SVr2 curses added \fBnewterm\fP(3X), which relies upon <stdio.h>.
+That is, the function prototype uses \fBFILE\fP.
+.IP
+SVr4 curses added \fBputwin\fP and \fBgetwin\fP, which also use <stdio.h>.
+.IP
+X/Open Curses documents all three of these functions.
+.IP
+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.
+.IP
+As a result, standard <curses.h> will always include <stdio.h>.
+.bP
+X/Open Curses is inconsistent with respect to SVr4 regarding <unctrl.h>.
+.IP
+As noted in \fBcurs_util\fP(3X), ncurses includes <unctrl.h> from
+<curses.h> (like SVr4).
+.bP
+X/Open's comments about <term.h> and <termios.h> may refer to HP-UX and AIX:
+.IP
+HP-UX curses includes <term.h> from <curses.h>
+to declare \fBsetupterm\fP in curses.h,
+but ncurses (and Solaris curses) do not.
+.IP
+AIX curses includes <term.h> and <termios.h>.
+Again, ncurses (and Solaris curses) do not.
+.bP
+X/Open says that <curses.h> \fImay\fP include <term.h>,
+but there is no requirement that it do that.
+.IP
+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>.
+.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 <curses.h> before <term.h>.
+.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 <wchar.h> \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.
index 495651c2084db0d62b115ec72c1033b19bc44313..f9b4060d5b0c16ab5a8736752b78ee43fb1e9672 100644 (file)
@@ -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]
index 70047be7f615793b87123e1c7c19b343a54936b8..7b08ffb9c6cbbeaa1a728ece1a6c6d0f8b6653fe 100644 (file)
@@ -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 <hedberg@hannah.enet.dec.com> 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 <hedberg@hannah.enet.dec.com> 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 <dl1=\EPd>, <il1=\EPf.> <kbs=^H>)
 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!
index b242078804c473ce6bfcee8ea69fa1c451329e54..3969b2c1985101c69ef28c20753d6b2baeeae49b 100644 (file)
@@ -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@ 
index 151586b192c0835d1b86f00ab39323d281e6bbf0..ab0dcb45970db7cc3ba13c1fff5644f2b1017c21 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.2+20200215) unstable; urgency=low
+ncurses6 (6.2+20200222) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 15 Feb 2020 04:30:48 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 22 Feb 2020 08:49:45 -0500
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 151586b192c0835d1b86f00ab39323d281e6bbf0..ab0dcb45970db7cc3ba13c1fff5644f2b1017c21 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.2+20200215) unstable; urgency=low
+ncurses6 (6.2+20200222) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 15 Feb 2020 04:30:48 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 22 Feb 2020 08:49:45 -0500
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index f1c9d372e9f45edf7f4b7d7071077a8e6695770c..7259024eab1b32ee140701ad00d13a26f156ea02 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.2+20200215) unstable; urgency=low
+ncurses6 (6.2+20200222) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 15 Feb 2020 04:30:48 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 22 Feb 2020 08:49:45 -0500
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index 9f10f978ee61d2804f97b9fa4134186e39aef149..66dcc73d9d70b82d0d893a7559c157dad609f912 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.378 2020/02/15 09:30:48 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.379 2020/02/22 13:49:45 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "2"\r
 !define VERSION_YYYY  "2020"\r
-!define VERSION_MMDD  "0215"\r
+!define VERSION_MMDD  "0222"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index 085790a184d2e7cd6e87b25eac87a73012e02ecc..9a32cb4e81aedf2222cb236ab3330c38354cd8cd 100644 (file)
@@ -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
index b50131def28234650dacdaadb714694a0b631f09..e9b04492d1884bd606419424cb93f012e070ac69 100644 (file)
@@ -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
index c7332d94899a49e0591c14aba78ac0d41d2f55ea..1c975b1e0449cf7f2792cbdfe6e54ec75c973542 100644 (file)
@@ -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
index 5f7b5b9290e6b7ac459e302fcb708b559ea4a9d5..f4717a31c415a4946590862b462d3b2e299291a2 100644 (file)
@@ -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
 
index 16bfc45b13e6c7125aa40749daa1c88f41470692..5358fc21d0cda982667b1ad624c00123ce936b1a 100644 (file)
@@ -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...