-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3871 2022/10/23 11:32:30 tom Exp $
+-- $Id: NEWS,v 1.3873 2022/10/29 23:13:05 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20221029
+ + improve curs_slk.3x discussion of extensions and portability (report
+ by Bill Gray).
+
20221023
+ change man_db.renames to template, to handle ncurses*-config script
with the extra-suffix configure option.
-5:0:10 6.3 20221023
+5:0:10 6.3 20221029
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1509 2022/10/23 11:32:30 tom Exp $
+# $Id: dist.mk,v 1.1510 2022/10/29 09:25:33 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 3
-NCURSES_PATCH = 20221023
+NCURSES_PATCH = 20221029
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
</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.3 (patch 20220917).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
</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.3 (patch 20220917).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</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>, <STRONG>xterm(1)</STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220917).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_slk.3x,v 1.40 2022/02/12 20:05:11 tom Exp @
+ * @Id: curs_slk.3x,v 1.44 2022/10/29 22:44:14 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<STRONG>int</STRONG> <STRONG>slk_init(int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_set(int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
- /* extension */
<STRONG>int</STRONG> <STRONG>slk_wset(int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*slk_label(int</STRONG> <EM>labnum</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_attr_off(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_attr_set(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
-
+ /* extension */
<STRONG>attr_t</STRONG> <STRONG>slk_attr(void);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_color(short</STRONG> <EM>pair</EM><STRONG>);</STRONG>
library) has three parameters:
<EM>labnum</EM>
- is the label number, from <STRONG>1</STRONG> to <STRONG>8</STRONG> (12 for <EM>fmt</EM> in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG>
- or <STRONG>3</STRONG>);
+ is the label number, from <STRONG>1</STRONG> to <STRONG>8</STRONG> (12 if <EM>fmt</EM> in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or
+ <STRONG>3</STRONG>);
<EM>label</EM>
- is be the string to put on the label, up to eight (five for <EM>fmt</EM>
+ is be the string to put on the label, up to eight (five if <EM>fmt</EM>
in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>) characters in length. A null string or
a null pointer sets up a blank label.
<STRONG>o</STRONG> It added <STRONG>slk_color</STRONG>.
- The format codes <STRONG>2</STRONG> and <STRONG>3</STRONG> for <STRONG>slk_init</STRONG> and the function <STRONG>slk_attr</STRONG> are
- specific to ncurses.
+ Although <STRONG>slk_start</STRONG> is declared in the curses header file, it was not
+ documented by SVr4 other than its presence in a list of libtermlib.so.1
+ symbols. Reading the source code (i.e., Illumos):
+
+ <STRONG>o</STRONG> <STRONG>slk_start</STRONG> has two parameters:
+
+ <STRONG>o</STRONG> <EM>ng</EM> (number of groups) and
+
+ <STRONG>o</STRONG> <EM>gp</EM> (group pointer).
+
+ <STRONG>o</STRONG> Soft-key groups are an array of <EM>ng</EM> integers.
+
+ <STRONG>o</STRONG> In SVr4, <STRONG>slk_init</STRONG> calls <STRONG>slk_start</STRONG> passing a null for <EM>gp</EM>. For this
+ case, <STRONG>slk_start</STRONG> uses the number of groups <EM>ng</EM> (3 for the 3-2-3 lay-
+ out, 2 for the 4-4 layout) which <STRONG>slk_init</STRONG> provided.
+
+ If <EM>ng</EM> is neither 2 or 3, <STRONG>slk_start</STRONG> checks the terminfo <EM>fln</EM> (la-
+ bel_format) capability, interpreting that as a comma-separated list
+ of numbers, e.g., "3,2,3" for the 3-2-3 layout.
+
+ Finally, if there is no <EM>fln</EM> capability, <STRONG>slk_start</STRONG> returns ERR.
+
+ <STRONG>o</STRONG> If <STRONG>slk_start</STRONG> is given a non-null <EM>gp</EM>, it copies the <EM>ng</EM> elements of
+ the group of soft-keys, up to 16.
+
+ If there are more than 16 elements, <STRONG>slk_start</STRONG> returns an error.
+
+ <STRONG>o</STRONG> The format codes <STRONG>2</STRONG> and <STRONG>3</STRONG> for <STRONG>slk_init</STRONG> were added by ncurses in
+ 1996. PDCurses 2.4 added this feature in 2001.
+
+ The function <STRONG>slk_attr</STRONG> was added by ncurses in 1996.
- X/Open Curses does not specify a limit for the number of colors and
+ X/Open Curses does not specify a limit for the number of colors and
color pairs which a terminal can support. However, in its use of <STRONG>short</STRONG>
- for the parameters, it carries over SVr4's implementation detail for
+ for the parameters, it carries over SVr4's implementation detail for
the compiled terminfo database, which uses signed 16-bit numbers. This
- implementation provides extended versions of those functions which use
- <STRONG>short</STRONG> parameters, allowing applications to use larger color- and pair-
+ implementation provides extended versions of those functions which use
+ <STRONG>int</STRONG> parameters, allowing applications to use larger color- and pair-
numbers.
<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.3 (patch 20220917).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
https://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220917).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</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.3 (patch 20220917).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
<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.3 (patch 20220917).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
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.3 (patch 20220917).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
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
</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.3 (patch 20220917).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
</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.3 (patch 20220917).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</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.3 (patch 20220917).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
have, by specifying how to perform screen operations, and by specifying
padding requirements and initialization sequences.
- This manual describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220917).
+ This manual describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
</PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
<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.3 (patch 20220917).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
<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.3 (patch 20220917).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
</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.3 (patch 20220917).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
<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.3 (patch 20220917).
+ This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20221029).
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_slk.3x,v 1.40 2022/02/12 20:05:11 tom Exp $
+.\" $Id: curs_slk.3x,v 1.44 2022/10/29 22:44:14 tom Exp $
.TH curs_slk 3X ""
+.ie \n(.g .ds `` \(lq
+.el .ds `` ``
+.ie \n(.g .ds '' \(rq
+.el .ds '' ''
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
.sp
\fBint slk_set(int \fIlabnum\fB, const char *\fIlabel\fB, int \fIfmt\fB);\fR
.br
-/* extension */
-.br
\fBint slk_wset(int \fIlabnum\fB, const wchar_t *\fIlabel\fB, int \fIfmt\fB);\fR
.sp
\fBchar *slk_label(int \fIlabnum\fB);\fR
\fBint slk_attr_off(const attr_t \fIattrs\fB, void * \fIopts\fB);\fR
.br
\fBint slk_attr_set(const attr_t \fIattrs\fB, short \fIpair\fB, void* \fIopts\fB);\fR
-.sp
+.br
+/* extension */
+.br
\fBattr_t slk_attr(void);\fP
.sp
\fBint slk_color(short \fIpair\fB);\fR
.TP 5
.I labnum
is the label number, from \fB1\fP to \fB8\fP
-(12 for \fIfmt\fP in \fBslk_init\fP is \fB2\fP or \fB3\fP);
+(12 if \fIfmt\fP in \fBslk_init\fP is \fB2\fP or \fB3\fP);
.TP
.I label
is be the string to put on the label,
up to eight
-(five for \fIfmt\fP in \fBslk_init\fP is \fB2\fP or \fB3\fP)
+(five if \fIfmt\fP in \fBslk_init\fP is \fB2\fP or \fB3\fP)
characters in length.
A null string or a null pointer sets up a blank label.
.TP
.bP
It added \fBslk_color\fP.
.PP
-The format codes \fB2\fP and \fB3\fP for \fBslk_init\fP and the
-function \fBslk_attr\fP are specific to ncurses.
+Although \fBslk_start\fP is declared in the curses header file,
+it was not documented by SVr4 other than its presence in a list
+of libtermlib.so.1 symbols.
+Reading the source code (i.e., Illumos):
+.bP
+\fBslk_start\fP has two parameters:
+.RS
+.bP
+\fIng\fP (number of groups) and
+.bP
+\fIgp\fP (group pointer).
+.RE
+.bP
+Soft-key groups are an array of \fIng\fP integers.
+.bP
+In SVr4, \fBslk_init\fP calls \fBslk_start\fP passing a null for \fIgp\fP.
+For this case, \fBslk_start\fP uses the number of groups \fIng\fP
+(3 for the 3-2-3 layout, 2 for the 4-4 layout) which \fBslk_init\fP provided.
+.IP
+If \fIng\fP is neither 2 or 3,
+\fBslk_start\fP checks the terminfo \fIfln\fP (label_format) capability,
+interpreting that as a comma-separated list of numbers,
+e.g., \*(``3,2,3\*('' for the 3-2-3 layout.
+.IP
+Finally, if there is no \fIfln\fP capability, \fBslk_start\fP returns ERR.
+.bP
+If \fBslk_start\fP is given a non-null \fIgp\fP,
+it copies the \fIng\fP elements of the group of soft-keys, up to 16.
+.IP
+If there are more than 16 elements, \fBslk_start\fP returns an error.
+.bP
+The format codes \fB2\fP and \fB3\fP for \fBslk_init\fP
+were added by ncurses in 1996.
+PDCurses 2.4 added this feature in 2001.
+.PP
+The function \fBslk_attr\fP was added by ncurses in 1996.
.PP
X/Open Curses does not specify a limit for the number of colors and
color pairs which a terminal can support.
it carries over SVr4's implementation detail for the compiled
terminfo database, which uses signed 16-bit numbers.
This implementation provides extended versions of those functions
-which use \fBshort\fP parameters,
+which use \fBint\fP parameters,
allowing applications to use larger color- and pair-numbers.
.SH SEE ALSO
\fBcurses\fP(3X),
-ncurses6 (6.3+20221023) unstable; urgency=low
+ncurses6 (6.3+20221029) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 23 Oct 2022 07:32:30 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 29 Oct 2022 05:25:33 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.3+20221023) unstable; urgency=low
+ncurses6 (6.3+20221029) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 23 Oct 2022 07:32:30 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 29 Oct 2022 05:25:33 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.3+20221023) unstable; urgency=low
+ncurses6 (6.3+20221029) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 23 Oct 2022 07:32:30 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 29 Oct 2022 05:25:33 -0400
ncurses6 (5.9-20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.548 2022/10/23 11:32:30 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.549 2022/10/29 09:25:33 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "3"\r
!define VERSION_YYYY "2022"\r
-!define VERSION_MMDD "1023"\r
+!define VERSION_MMDD "1029"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\r
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.3
-Release: 20221023
+Release: 20221029
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.3
-Release: 20221023
+Release: 20221029
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.3
-Release: 20221023
+Release: 20221029
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz