Skip to content

Commit

Permalink
ncurses 6.2 - patch 20210925
Browse files Browse the repository at this point in the history
+ add kbeg to xterm+keypad to accommodate termcap applications -TD
+ add smglp and smgrp to vt420+lrmm, to provide useful data for the
  "tabs" +m option -TD
+ build-fix for gcc 3.4.3 with Solaris10, which does not allow forward
  reference of anonymous struct typedef.
+ modify tput to allow multiple commands per line.
+ minor fixes for tset manpage.
  • Loading branch information
ThomasDickey committed Sep 25, 2021
1 parent c0e5fbf commit f6b436c
Show file tree
Hide file tree
Showing 37 changed files with 213 additions and 124 deletions.
11 changes: 10 additions & 1 deletion NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
-- $Id: NEWS,v 1.3708 2021/09/11 23:45:11 tom Exp $
-- $Id: NEWS,v 1.3712 2021/09/24 19:45:04 tom Exp $
-------------------------------------------------------------------------------

This is a log of changes that ncurses has gone through since Zeyd started
Expand All @@ -46,6 +46,15 @@ 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.

20210925
+ add kbeg to xterm+keypad to accommodate termcap applications -TD
+ add smglp and smgrp to vt420+lrmm, to provide useful data for the
"tabs" +m option -TD
+ build-fix for gcc 3.4.3 with Solaris10, which does not allow forward
reference of anonymous struct typedef.
+ modify tput to allow multiple commands per line.
+ minor fixes for tset manpage.

20210911
+ adjust ifdef in test_opaque.c to fix build with ncurses 5.7
+ add testing note for xterm-{hp|sco|sun} -TD
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5:0:10 6.2 20210911
5:0:10 6.2 20210925
4 changes: 2 additions & 2 deletions dist.mk
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# $Id: dist.mk,v 1.1435 2021/09/11 10:58:38 tom Exp $
# $Id: dist.mk,v 1.1437 2021/09/25 10:32:30 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
Expand All @@ -38,7 +38,7 @@ SHELL = /bin/sh
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 2
NCURSES_PATCH = 20210911
NCURSES_PATCH = 20210925

# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
Expand Down
2 changes: 1 addition & 1 deletion doc/html/man/adacurses6-config.1.html
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ <H1 class="no-header">ADACURSES 1 User Commands</H1>
</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 20210904).
This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210925).



Expand Down
2 changes: 1 addition & 1 deletion doc/html/man/captoinfo.1m.html
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ <H1 class="no-header">captoinfo 1m</H1>
</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 20210904).
This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210925).


</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Expand Down
2 changes: 1 addition & 1 deletion doc/html/man/clear.1.html
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ <H1 class="no-header">clear 1</H1>
</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 20210904).
This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210925).



Expand Down
2 changes: 1 addition & 1 deletion doc/html/man/form.3x.html
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ <H1 class="no-header">form 3x</H1>
<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 20210904).
This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210925).



Expand Down
2 changes: 1 addition & 1 deletion doc/html/man/infocmp.1m.html
Original file line number Diff line number Diff line change
Expand Up @@ -514,7 +514,7 @@ <H1 class="no-header">infocmp 1m</H1>

https://invisible-island.net/ncurses/tctest.html

This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210904).
This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210925).


</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Expand Down
2 changes: 1 addition & 1 deletion doc/html/man/infotocap.1m.html
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ <H1 class="no-header">infotocap 1m</H1>
</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="tic.1m.html">tic(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 20210904).
This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210925).


</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Expand Down
2 changes: 1 addition & 1 deletion doc/html/man/menu.3x.html
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ <H1 class="no-header">menu 3x</H1>
<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 20210904).
This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210925).



Expand Down
2 changes: 1 addition & 1 deletion doc/html/man/ncurses.3x.html
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ <H1 class="no-header">ncurses 3x</H1>
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 20210904).
This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210925).

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
Expand Down
2 changes: 1 addition & 1 deletion doc/html/man/ncurses6-config.1.html
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ <H1 class="no-header">ncurses6-config 1</H1>
</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 20210904).
This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210925).



Expand Down
2 changes: 1 addition & 1 deletion doc/html/man/panel.3x.html
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ <H1 class="no-header">panel 3x</H1>
</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 20210904).
This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210925).


</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Expand Down
2 changes: 1 addition & 1 deletion doc/html/man/tabs.1.html
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ <H1 class="no-header">tabs 1</H1>
</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="tset.1.html">tset(1)</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 20210904).
This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210925).



Expand Down
2 changes: 1 addition & 1 deletion doc/html/man/terminfo.5.html
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ <H1 class="no-header">terminfo 5 File Formats</H1>
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 20210904).
This manual describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210925).


</PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
Expand Down
2 changes: 1 addition & 1 deletion doc/html/man/tic.1m.html
Original file line number Diff line number Diff line change
Expand Up @@ -461,7 +461,7 @@ <H1 class="no-header">tic 1m</H1>
<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(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 20210904).
This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210925).


</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Expand Down
2 changes: 1 addition & 1 deletion doc/html/man/toe.1m.html
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ <H1 class="no-header">toe 1m</H1>
<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(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 20210904).
This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210925).



Expand Down
69 changes: 38 additions & 31 deletions doc/html/man/tput.1.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: tput.1,v 1.70 2021/09/04 19:02:50 tom Exp @
* @Id: tput.1,v 1.71 2021/09/19 00:34:23 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
Expand Down Expand Up @@ -374,7 +374,7 @@ <H1 class="no-header">tput 1</H1>
---------------------------------------------------------------------
<STRONG>0</STRONG> (<EM>capname</EM> is a numeric variable that is not specified in
the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> database for this terminal type, e.g.
<STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-T2621</STRONG> <STRONG>xmc</STRONG>)
<STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-Thp2621</STRONG> <STRONG>xmc</STRONG>)
<STRONG>1</STRONG> no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> section.
<STRONG>2</STRONG> usage error
<STRONG>3</STRONG> unknown terminal <EM>type</EM> or no <STRONG>terminfo</STRONG> database
Expand Down Expand Up @@ -458,76 +458,83 @@ <H1 class="no-header">tput 1</H1>
for the standard <EM>capname</EM> operands, and an internal library function
to analyze nonstandard <EM>capname</EM> operands.

Besides providing more reliable operation than AT&amp;T's utility, a
portability problem is introduced by this analysis. An OpenBSD
developer adapted the internal library function from ncurses to
allow <STRONG>tput</STRONG> to interpret multiple commands on a line. Portable
applications should not rely upon this feature; ncurses provides it
to support applications written specifically for OpenBSD.

This implementation (unlike others) can accept both <EM>termcap</EM> and
<EM>terminfo</EM> names for the <EM>capname</EM> feature, if <EM>termcap</EM> support is compiled
in. However, the predefined <EM>termcap</EM> and <EM>terminfo</EM> names have two
<EM>terminfo</EM> names for the <EM>capname</EM> feature, if <EM>termcap</EM> support is compiled
in. However, the predefined <EM>termcap</EM> and <EM>terminfo</EM> names have two
ambiguities in this case (and the <EM>terminfo</EM> name is assumed):

<STRONG>o</STRONG> The <EM>termcap</EM> name <STRONG>dl</STRONG> corresponds to the <EM>terminfo</EM> name <STRONG>dl1</STRONG> (delete
<STRONG>o</STRONG> The <EM>termcap</EM> name <STRONG>dl</STRONG> corresponds to the <EM>terminfo</EM> name <STRONG>dl1</STRONG> (delete
one line).
The <EM>terminfo</EM> name <STRONG>dl</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>DL</STRONG> (delete a
The <EM>terminfo</EM> name <STRONG>dl</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>DL</STRONG> (delete a
given number of lines).

<STRONG>o</STRONG> The <EM>termcap</EM> name <STRONG>ed</STRONG> corresponds to the <EM>terminfo</EM> name <STRONG>rmdc</STRONG> (end
<STRONG>o</STRONG> The <EM>termcap</EM> name <STRONG>ed</STRONG> corresponds to the <EM>terminfo</EM> name <STRONG>rmdc</STRONG> (end
delete mode).
The <EM>terminfo</EM> name <STRONG>ed</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>cd</STRONG> (clear to
The <EM>terminfo</EM> name <STRONG>ed</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>cd</STRONG> (clear to
end of screen).

The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and the parameter-substitution features
used in the <STRONG>cup</STRONG> example, were not supported in BSD curses before
The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and the parameter-substitution features
used in the <STRONG>cup</STRONG> example, were not supported in BSD curses before
4.3reno (1989) or in AT&amp;T/USL curses before SVr4 (1988).

IEEE Std 1003.1/The Open Group Base Specifications Issue 7
(POSIX.1-2008) documents only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG>.
IEEE Std 1003.1/The Open Group Base Specifications Issue 7
(POSIX.1-2008) documents only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG>.
There are a few interesting observations to make regarding that:

<STRONG>o</STRONG> In this implementation, <STRONG>clear</STRONG> is part of the <EM>capname</EM> support. The
others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not correspond to terminal
<STRONG>o</STRONG> In this implementation, <STRONG>clear</STRONG> is part of the <EM>capname</EM> support. The
others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not correspond to terminal
capabilities.

<STRONG>o</STRONG> Other implementations of <STRONG>tput</STRONG> on SVr4-based systems such as
Solaris, IRIX64 and HPUX as well as others such as AIX and Tru64
Solaris, IRIX64 and HPUX as well as others such as AIX and Tru64
provide support for <EM>capname</EM> operands.

<STRONG>o</STRONG> A few platforms such as FreeBSD recognize termcap names rather than
terminfo capability names in their respective <STRONG>tput</STRONG> commands. Since
2010, NetBSD's <STRONG>tput</STRONG> uses terminfo names. Before that, it (like
2010, NetBSD's <STRONG>tput</STRONG> uses terminfo names. Before that, it (like
FreeBSD) recognized termcap names.

Beginning in 2021, FreeBSD uses the ncurses <STRONG>tput</STRONG>, configured for
Beginning in 2021, FreeBSD uses the ncurses <STRONG>tput</STRONG>, configured for
both terminfo (tested first) and termcap (as a fallback).

Because (apparently) <EM>all</EM> of the certified Unix systems support the full
set of capability names, the reasoning for documenting only a few may
set of capability names, the reasoning for documenting only a few may
not be apparent.

<STRONG>o</STRONG> X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with <EM>capname</EM> and
<STRONG>o</STRONG> X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with <EM>capname</EM> and
the other features used in this implementation.

<STRONG>o</STRONG> That is, there are two standards for <STRONG>tput</STRONG>: POSIX (a subset) and
X/Open Curses (the full implementation). POSIX documents a subset
to avoid the complication of including X/Open Curses and the
<STRONG>o</STRONG> That is, there are two standards for <STRONG>tput</STRONG>: POSIX (a subset) and
X/Open Curses (the full implementation). POSIX documents a subset
to avoid the complication of including X/Open Curses and the
terminal capabilities database.

<STRONG>o</STRONG> While it is certainly possible to write a <STRONG>tput</STRONG> program without
using curses, none of the systems which have a curses
implementation provide a <STRONG>tput</STRONG> utility which does not provide the
<STRONG>o</STRONG> While it is certainly possible to write a <STRONG>tput</STRONG> program without
using curses, none of the systems which have a curses
implementation provide a <STRONG>tput</STRONG> utility which does not provide the
<EM>capname</EM> feature.

X/Open Curses Issue 7 (2009) is the first version to document
utilities. However that part of X/Open Curses does not follow existing
practice (i.e., Unix features documented in SVID 3):

<STRONG>o</STRONG> It assigns exit code 4 to "invalid operand", which may be the same
as <EM>unknown</EM> <EM>capability</EM>. For instance, the source code for Solaris'
<STRONG>o</STRONG> It assigns exit code 4 to "invalid operand", which may be the same
as <EM>unknown</EM> <EM>capability</EM>. For instance, the source code for Solaris'
xcurses uses the term "invalid" in this case.

<STRONG>o</STRONG> It assigns exit code 255 to a numeric variable that is not
<STRONG>o</STRONG> It assigns exit code 255 to a numeric variable that is not
specified in the terminfo database. That likely is a documentation
error, confusing the <STRONG>-1</STRONG> written to the standard output for an
error, confusing the <STRONG>-1</STRONG> written to the standard output for an
absent or cancelled numeric value versus an (unsigned) exit code.

The various Unix systems (AIX, HPUX, Solaris) use the same exit-codes
The various Unix systems (AIX, HPUX, Solaris) use the same exit-codes
as ncurses.

NetBSD curses documents different exit codes which do not correspond to
Expand All @@ -537,7 +544,7 @@ <H1 class="no-header">tput 1</H1>
</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="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.

This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210904).
This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210925).



Expand Down
Loading

0 comments on commit f6b436c

Please sign in to comment.