ncurses/ncurses-6.2-20200222.patch
2024-01-06 07:33:58 +01:00

1203 lines
51 KiB
Diff

# ncurses 6.2 - patch 20200222 - Thomas E. Dickey
#
# ------------------------------------------------------------------------------
#
# Ncurses 6.2 is at
# ftp.gnu.org:/pub/gnu
#
# Patches for ncurses 6.2 can be found at
# ftp://ftp.invisible-island.net/ncurses/6.2
# http://invisible-mirror.net/archives/ncurses/6.2
#
# ------------------------------------------------------------------------------
# ftp://ftp.invisible-island.net/ncurses/6.2/ncurses-6.2-20200222.patch.gz
# patch by Thomas E. Dickey <dickey@invisible-island.net>
# created Sun Feb 23 02:26:40 UTC 2020
# ------------------------------------------------------------------------------
# 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(-)
# ------------------------------------------------------------------------------
Index: Ada95/gen/gen.c
Prereq: 1.71
--- ncurses-6.2-20200215+/Ada95/gen/gen.c 2020-02-02 23:34:34.000000000 +0000
+++ ncurses-6.2-20200222/Ada95/gen/gen.c 2020-02-22 21:01:00.000000000 +0000
@@ -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 @@
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");
Index: NEWS
Prereq: 1.3450
--- ncurses-6.2-20200215+/NEWS 2020-02-15 18:56:00.000000000 +0000
+++ ncurses-6.2-20200222/NEWS 2020-02-23 01:08:47.000000000 +0000
@@ -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 @@
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.
Index: VERSION
--- ncurses-6.2-20200215+/VERSION 2020-02-15 09:30:48.000000000 +0000
+++ ncurses-6.2-20200222/VERSION 2020-02-22 13:49:45.000000000 +0000
@@ -1 +1 @@
-5:0:10 6.2 20200215
+5:0:10 6.2 20200222
Index: c++/Makefile.in
Prereq: 1.119
--- ncurses-6.2-20200215+/c++/Makefile.in 2020-02-02 23:34:34.000000000 +0000
+++ ncurses-6.2-20200222/c++/Makefile.in 2020-02-22 17:29:13.000000000 +0000
@@ -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 @@
###############################################################################
-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 @@
OBJS_DEMO = $(MODEL)/demo$o
$(MODEL)/demo$o : $(srcdir)/demo.cc \
- $(internal_h) \
+ $(HEADER_DEPS) \
$(cursesf_h) \
$(cursesm_h) \
$(cursesapp_h)
Index: dist.mk
Prereq: 1.1335
--- ncurses-6.2-20200215+/dist.mk 2020-02-15 09:30:48.000000000 +0000
+++ ncurses-6.2-20200222/dist.mk 2020-02-22 13:49:45.000000000 +0000
@@ -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 @@
# 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: doc/html/man/adacurses6-config.1.html
--- ncurses-6.2-20200215+/doc/html/man/adacurses6-config.1.html 2020-02-15 21:04:10.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/adacurses6-config.1.html 2020-02-23 01:14:14.000000000 +0000
@@ -126,7 +126,7 @@
</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: doc/html/man/captoinfo.1m.html
--- ncurses-6.2-20200215+/doc/html/man/captoinfo.1m.html 2020-02-15 21:04:10.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/captoinfo.1m.html 2020-02-23 01:14:14.000000000 +0000
@@ -199,7 +199,7 @@
</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: doc/html/man/clear.1.html
--- ncurses-6.2-20200215+/doc/html/man/clear.1.html 2020-02-15 21:04:10.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/clear.1.html 2020-02-23 01:14:14.000000000 +0000
@@ -149,7 +149,7 @@
</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: doc/html/man/form.3x.html
--- ncurses-6.2-20200215+/doc/html/man/form.3x.html 2020-02-15 21:04:13.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/form.3x.html 2020-02-23 01:14:18.000000000 +0000
@@ -247,7 +247,7 @@
<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: doc/html/man/infocmp.1m.html
--- ncurses-6.2-20200215+/doc/html/man/infocmp.1m.html 2020-02-15 21:04:14.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/infocmp.1m.html 2020-02-23 01:14:19.000000000 +0000
@@ -513,7 +513,7 @@
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: doc/html/man/infotocap.1m.html
--- ncurses-6.2-20200215+/doc/html/man/infotocap.1m.html 2020-02-15 21:04:14.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/infotocap.1m.html 2020-02-23 01:14:19.000000000 +0000
@@ -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: doc/html/man/menu.3x.html
--- ncurses-6.2-20200215+/doc/html/man/menu.3x.html 2020-02-15 21:04:14.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/menu.3x.html 2020-02-23 01:14:19.000000000 +0000
@@ -222,7 +222,7 @@
<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: doc/html/man/ncurses.3x.html
--- ncurses-6.2-20200215+/doc/html/man/ncurses.3x.html 2020-02-15 21:04:15.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/ncurses.3x.html 2020-02-23 01:14:21.000000000 +0000
@@ -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
@@ -1277,28 +1277,37 @@
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.
@@ -1308,26 +1317,97 @@
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.
@@ -1384,7 +1464,14 @@
<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: doc/html/man/ncurses6-config.1.html
--- ncurses-6.2-20200215+/doc/html/man/ncurses6-config.1.html 2020-02-15 21:04:15.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/ncurses6-config.1.html 2020-02-23 01:14:21.000000000 +0000
@@ -113,7 +113,7 @@
</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: doc/html/man/panel.3x.html
--- ncurses-6.2-20200215+/doc/html/man/panel.3x.html 2020-02-15 21:18:25.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/panel.3x.html 2020-02-23 01:14:21.000000000 +0000
@@ -281,7 +281,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="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: doc/html/man/tabs.1.html
--- ncurses-6.2-20200215+/doc/html/man/tabs.1.html 2020-02-15 21:04:15.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/tabs.1.html 2020-02-23 01:14:21.000000000 +0000
@@ -206,7 +206,7 @@
</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: doc/html/man/terminfo.5.html
--- ncurses-6.2-20200215+/doc/html/man/terminfo.5.html 2020-02-15 21:04:16.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/terminfo.5.html 2020-02-23 01:14:21.000000000 +0000
@@ -105,7 +105,7 @@
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: doc/html/man/tic.1m.html
--- ncurses-6.2-20200215+/doc/html/man/tic.1m.html 2020-02-15 21:04:16.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/tic.1m.html 2020-02-23 01:14:21.000000000 +0000
@@ -461,7 +461,7 @@
<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: doc/html/man/toe.1m.html
--- ncurses-6.2-20200215+/doc/html/man/toe.1m.html 2020-02-15 21:04:16.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/toe.1m.html 2020-02-23 01:14:21.000000000 +0000
@@ -171,7 +171,7 @@
<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: doc/html/man/tput.1.html
--- ncurses-6.2-20200215+/doc/html/man/tput.1.html 2020-02-15 21:04:16.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/tput.1.html 2020-02-23 01:14:21.000000000 +0000
@@ -523,7 +523,7 @@
</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: doc/html/man/tset.1.html
--- ncurses-6.2-20200215+/doc/html/man/tset.1.html 2020-02-15 21:04:16.000000000 +0000
+++ ncurses-6.2-20200222/doc/html/man/tset.1.html 2020-02-23 01:14:22.000000000 +0000
@@ -390,7 +390,7 @@
<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: form/Makefile.in
Prereq: 1.65
--- ncurses-6.2-20200215+/form/Makefile.in 2020-02-02 23:34:34.000000000 +0000
+++ ncurses-6.2-20200222/form/Makefile.in 2020-02-22 16:32:11.000000000 +0000
@@ -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 @@
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 @@
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: include/Makefile.in
Prereq: 1.46
--- ncurses-6.2-20200215+/include/Makefile.in 2020-02-02 23:34:34.000000000 +0000
+++ ncurses-6.2-20200222/include/Makefile.in 2020-02-19 23:54:22.000000000 +0000
@@ -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 @@
AWK = @AWK@
LN_S = @LN_S@
+CC = @CC@
+CFLAGS = @CFLAGS@
+CPPFLAGS = -DHAVE_CONFIG_H -I. @CPPFLAGS@
+
CTAGS = @CTAGS@
ETAGS = @ETAGS@
@@ -141,6 +145,17 @@
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: man/ncurses.3x
Prereq: 1.144
--- ncurses-6.2-20200215+/man/ncurses.3x 2020-02-02 23:34:34.000000000 +0000
+++ ncurses-6.2-20200222/man/ncurses.3x 2020-02-23 01:05:45.000000000 +0000
@@ -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 @@
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 @@
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 @@
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 @@
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: menu/Makefile.in
Prereq: 1.66
--- ncurses-6.2-20200215+/menu/Makefile.in 2020-02-02 23:34:34.000000000 +0000
+++ ncurses-6.2-20200222/menu/Makefile.in 2020-02-22 16:35:47.000000000 +0000
@@ -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 @@
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 @@
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: misc/terminfo.src
--- ncurses-6.2-20200215+/misc/terminfo.src 2020-01-19 01:09:38.000000000 +0000
+++ ncurses-6.2-20200222/misc/terminfo.src 2020-02-22 23:05:24.000000000 +0000
@@ -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 @@
# 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 @@
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 @@
# 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 @@
#### 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 @@
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 @@
# + 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: ncurses/Makefile.in
Prereq: 1.168
--- ncurses-6.2-20200215+/ncurses/Makefile.in 2020-02-02 23:34:34.000000000 +0000
+++ ncurses-6.2-20200222/ncurses/Makefile.in 2020-02-22 15:45:23.000000000 +0000
@@ -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 @@
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: package/debian-mingw/changelog
--- ncurses-6.2-20200215+/package/debian-mingw/changelog 2020-02-15 09:30:48.000000000 +0000
+++ ncurses-6.2-20200222/package/debian-mingw/changelog 2020-02-22 13:49:45.000000000 +0000
@@ -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: package/debian-mingw64/changelog
--- ncurses-6.2-20200215+/package/debian-mingw64/changelog 2020-02-15 09:30:48.000000000 +0000
+++ ncurses-6.2-20200222/package/debian-mingw64/changelog 2020-02-22 13:49:45.000000000 +0000
@@ -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: package/debian/changelog
--- ncurses-6.2-20200215+/package/debian/changelog 2020-02-15 09:30:48.000000000 +0000
+++ ncurses-6.2-20200222/package/debian/changelog 2020-02-22 13:49:45.000000000 +0000
@@ -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: package/mingw-ncurses.nsi
Prereq: 1.378
--- ncurses-6.2-20200215+/package/mingw-ncurses.nsi 2020-02-15 09:30:48.000000000 +0000
+++ ncurses-6.2-20200222/package/mingw-ncurses.nsi 2020-02-22 13:49:45.000000000 +0000
@@ -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"
Index: package/mingw-ncurses.spec
--- ncurses-6.2-20200215+/package/mingw-ncurses.spec 2020-02-15 09:30:48.000000000 +0000
+++ ncurses-6.2-20200222/package/mingw-ncurses.spec 2020-02-22 13:49:45.000000000 +0000
@@ -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: package/ncurses.spec
--- ncurses-6.2-20200215+/package/ncurses.spec 2020-02-15 09:30:48.000000000 +0000
+++ ncurses-6.2-20200222/package/ncurses.spec 2020-02-22 13:49:45.000000000 +0000
@@ -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: package/ncursest.spec
--- ncurses-6.2-20200215+/package/ncursest.spec 2020-02-15 09:30:48.000000000 +0000
+++ ncurses-6.2-20200222/package/ncursest.spec 2020-02-22 13:49:45.000000000 +0000
@@ -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: panel/Makefile.in
Prereq: 1.71
--- ncurses-6.2-20200215+/panel/Makefile.in 2020-02-02 23:34:34.000000000 +0000
+++ ncurses-6.2-20200222/panel/Makefile.in 2020-02-22 16:40:36.000000000 +0000
@@ -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 @@
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 @@
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: test/Makefile.in
Prereq: 1.121
--- ncurses-6.2-20200215+/test/Makefile.in 2020-02-02 23:34:34.000000000 +0000
+++ ncurses-6.2-20200222/test/Makefile.in 2020-02-22 16:51:31.000000000 +0000
@@ -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_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...