-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3322 2019/05/25 19:18:23 tom Exp $
+-- $Id: NEWS,v 1.3324 2019/06/02 00:08:44 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.
+20190601
+ + modify an internal call to vid_puts to pass extended color pairs
+ e.g., from tty_update.c and lib_mvcur.c (report by Niegodziwy Beru).
+ + improve manual page description of init_tabs capability and TABSIZE
+ variable.
+
20190525
+ modify reset_cmd.c to allow for tabstops at intervals other than 8
(report by Vincent Huisman).
-5:0:10 6.1 20190525
+5:0:10 6.1 20190601
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1284 2019/05/25 15:39:25 tom Exp $
+# $Id: dist.mk,v 1.1285 2019/06/01 13:32:39 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 = 1
-NCURSES_PATCH = 20190525
+NCURSES_PATCH = 20190601
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_variables.3x,v 1.12 2019/02/16 23:43:23 tom Exp $
+.\" $Id: curs_variables.3x,v 1.13 2019/06/01 22:51:21 tom Exp $
.TH curs_variables 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.bP
This implementation uses the current value of \fBTABSIZE\fP only for
updating the virtual screen.
-It uses the terminal description's \fBinit_tabs\fP capability for
-computing tab stops on the physical screen.
+It uses the terminal description's \fBit\fP (\fBinit_tabs\fP) capability for
+computing hardware tabs (i.e., tab stops on the physical screen).
.bP
Other implementations differ.
For instance, NetBSD curses allows \fBTABSIZE\fP to be set through
an environment variable.
This implementation does not.
+.IP
+NetBSD curses does not support hardware tabs;
+it uses the \fBinit_tabs\fP capability and the \fBTABSIZE\fP variable
+only for updating the virtual screen.
.PP
\fBESCDELAY\fP is an extension in AIX curses:
.bP
'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_spacing.3x,v 1.14 2018/07/28 22:20:54 tom Exp $
+.\" $Id: menu_spacing.3x,v 1.15 2019/06/01 22:33:45 tom Exp $
.TH menu_spacing 3X ""
.SH NAME
\fBset_menu_spacing\fP,
will contain the pad character in the appropriate positions.
The \fBspc_columns\fR parameter controls
the number of blanks between columns of items.
-It must not be larger than TABSIZE.
+It must not be larger than \fBTABSIZE\fP.
A value of 0 for all the spacing values resets them to the default,
which is 1 for all of them.
.br
-.\" $Id: terminfo.tail,v 1.90 2019/01/20 20:21:46 tom Exp $
+.\" $Id: terminfo.tail,v 1.93 2019/06/01 22:32:15 tom Exp $
.\" Beginning of terminfo.tail file
.\" This file is part of ncurses.
.\" See "terminfo.head" for copyright.
If there is a code to move the cursor to the left edge of the current
row, give this as
.BR cr .
-(Normally this will be carriage return, control M.)
+(Normally this will be carriage return, control/M.)
If there is a code to produce an audible signal (bell, beep, etc)
give this as
.BR bel .
.PP
.SS Tabs and Initialization
.PP
+A few capabilities are used only for tabs:
+.bP
If the terminal has hardware tabs, the command to advance to the next
tab stop can be given as
.B ht
-(usually control I).
+(usually control/I).
+.bP
A \*(``back-tab\*('' command which moves leftward to the preceding tab stop can
be given as
.BR cbt .
+.IP
By convention, if the teletype modes indicate that tabs are being
expanded by the computer rather than being sent to the terminal,
programs should not use
.B cbt
even if they are present, since the user may not have the tab stops
properly set.
+.bP
If the terminal has hardware tabs which are initially set every
.I n
spaces when the terminal is powered up,
the numeric parameter
.B it
is given, showing the number of spaces the tabs are set to.
-This is normally used by the \fB@TSET@\fP
+.IP
+The \fBit\fP capability is normally used by the \fB@TSET@\fP
command to determine whether to set the mode for hardware tab expansion,
and whether to set the tab stops.
If the terminal has tab stops that can be saved in non-volatile memory,
.PP
Other capabilities
include
+.bP
.BR is1 ,
.BR is2 ,
and
.BR is3 ,
initialization strings for the terminal,
+.bP
.BR iprog ,
the path name of a program to be run to initialize the terminal,
+.bP
and \fBif\fR, the name of a file containing long initialization strings.
+.PP
These strings are expected to set the terminal into modes consistent
with the rest of the terminfo description.
They are normally sent to the terminal, by the
and
.B is3
respectively.
-These strings are output by the \fB@RESET@\fP program,
+These strings are output by the \fB@RESET@\fP program
+(an alias of \fB@TSET@\fP),
which is used when the terminal gets into a wedged state.
Commands are normally placed in
.BR rs1 ,
.BR rs3 ,
or
.B rf
-reset capability strings are missing, the \fB@RESET@\fP
-program falls back upon the corresponding initialization capability string.
+reset capability strings are missing,
+the \fB@RESET@\fP program
+falls back upon the corresponding initialization capability string.
.PP
If there are commands to set and clear tab stops, they can be given as
.B tbc
.B is2
or
.BR if .
+.PP
+The \fB@TPUT@ reset\fP command uses the same capability strings
+as the \fB@RESET@\fP command,
+although the two programs (\fB@TPUT@\fP and \fB@RESET@\fP)
+provide different command-line options.
+.PP
+In practice, these terminfo capabilities are not often used in
+initialization of tabs
+(though they are required for the \fB@TABS@\fP program):
+.bP
+Almost all hardware terminals (at least those which supported tabs)
+initialized those to every \fIeight\fP columns:
+.IP
+The only exception was the AT&T 2300 series,
+which set tabs to every \fIfive\fP columns.
+.bP
+In particular, developers of the hardware terminals which are commonly used
+as models for modern terminal emulators provided documentation demonstrating
+that \fIeight\fP columns were the standard.
+.bP
+Because of this, the terminal initialization programs
+\fB@TPUT@\fP and \fB@TSET@\fP
+use the
+\fBtbc\fP (\fBclear_all_tabs\fP) and
+\fBhts\fP (\fBset_tab\fP) capabilities directly
+only when the \fBit\fP (\fBinit_tabs\fP) capability
+is set to a value other than \fIeight\fP.
.SS Delays and Padding
.PP
Many older and slower terminals do not support either XON/XOFF or DTR
This is primarily useful for superscripts and subscripts on hard-copy terminals.
If a hard-copy terminal can eject to the next page (form feed), give this as
.B ff
-(usually control L).
+(usually control/L).
.PP
If there is a command to repeat a given character a given number of
times (to save time transmitting a large number of identical characters)
The ncurses implementation ignores this glitch.
.PP
The Beehive Superbee, which is unable to correctly transmit the escape
-or control C characters, has
+or control/C characters, has
.BR xsb ,
-indicating that the f1 key is used for escape and f2 for control C.
+indicating that the f1 key is used for escape and f2 for control/C.
(Only certain Superbees have this problem, depending on the ROM.)
Note that in older terminfo versions, this capability was called
\*(``beehive_glitch\*(''; it is now \*(``no_esc_ctl_c\*(''.
\*d/?/*
files containing terminal descriptions
.SH SEE ALSO
+\fB@TABS@\fR(1M),
\fB@TIC@\fR(1M),
\fB@INFOCMP@\fR(1M),
\fBcurses\fR(3X),
\fBcurs_color\fR(3X),
+\fBcurs_variables\fR(3X),
\fBprintf\fR(3),
\fBterm\fR(\*n).
\fBterm_variables\fR(3X).
****************************************************************************/
/*
- * $Id: curses.priv.h,v 1.621 2019/05/04 20:29:09 tom Exp $
+ * $Id: curses.priv.h,v 1.623 2019/06/01 23:41:36 tom Exp $
*
* curses.priv.h
*
#define SET_WINDOW_PAIR(w,p) (w)->_color = (p)
#define SameAttrOf(a,b) (AttrOf(a) == AttrOf(b) && GetPair(a) == GetPair(b))
-#define VIDATTR(sp,attr,pair) NCURSES_SP_NAME(vid_puts)(NCURSES_SP_ARGx attr, (NCURSES_PAIRS_T) pair, 0, NCURSES_OUTC_FUNC)
+#define VIDPUTS(sp,attr,pair) do { \
+ int vid_pair = pair; \
+ NCURSES_SP_NAME(vid_puts)( \
+ NCURSES_SP_ARGx attr, \
+ (NCURSES_PAIRS_T) pair, \
+ &vid_pair, \
+ NCURSES_OUTC_FUNC); \
+ } while (0)
#else /* !NCURSES_EXT_COLORS */
WINDOW_ATTRS(w) |= ColorPair(p)
#define SameAttrOf(a,b) (AttrOf(a) == AttrOf(b))
-#define VIDATTR(sp,attr,pair) NCURSES_SP_NAME(vidputs)(NCURSES_SP_ARGx attr, NCURSES_OUTC_FUNC)
+#define VIDPUTS(sp,attr,pair) NCURSES_SP_NAME(vidputs)(NCURSES_SP_ARGx attr, NCURSES_OUTC_FUNC)
#endif /* NCURSES_EXT_COLORS */
#if USE_XMC_SUPPORT
#define UpdateAttrs(sp,c) if (!SameAttrOf(SCREEN_ATTRS(sp), c)) { \
attr_t chg = AttrOf(SCREEN_ATTRS(sp)); \
- VIDATTR(sp, AttrOf(c), GetPair(c)); \
+ VIDPUTS(sp, AttrOf(c), GetPair(c)); \
if (magic_cookie_glitch > 0 \
&& XMC_CHANGES((chg ^ AttrOf(SCREEN_ATTRS(sp))))) { \
T(("%s @%d before glitch %d,%d", \
}
#else
#define UpdateAttrs(sp,c) if (!SameAttrOf(SCREEN_ATTRS(sp), c)) { \
- VIDATTR(sp, AttrOf(c), GetPair(c)); \
+ VIDPUTS(sp, AttrOf(c), GetPair(c)); \
}
#endif
#define CUR SP_TERMTYPE
#endif
-MODULE_ID("$Id: lib_mvcur.c,v 1.148 2019/02/24 00:31:57 tom Exp $")
+MODULE_ID("$Id: lib_mvcur.c,v 1.150 2019/06/01 23:42:09 tom Exp $")
#define WANT_CHAR(sp, y, x) NewScreen(sp)->_line[y].text[x] /* desired state */
TR(TRACE_CHARPUT, ("turning off (%#lx) %s before move",
(unsigned long) AttrOf(oldattr),
_traceattr(AttrOf(oldattr))));
- (void) VIDATTR(SP_PARM, A_NORMAL, 0);
+ VIDPUTS(SP_PARM, A_NORMAL, 0);
}
if (xold >= screen_columns(SP_PARM)) {
TR(TRACE_CHARPUT, ("turning on (%#lx) %s after move",
(unsigned long) AttrOf(oldattr),
_traceattr(AttrOf(oldattr))));
- (void) VIDATTR(SP_PARM, AttrOf(oldattr), GetPair(oldattr));
+ VIDPUTS(SP_PARM, AttrOf(oldattr), GetPair(oldattr));
}
}
returnCode(code);
#include <ctype.h>
-MODULE_ID("$Id: tty_update.c,v 1.302 2019/05/04 22:43:40 tom Exp $")
+MODULE_ID("$Id: tty_update.c,v 1.303 2019/06/01 23:42:36 tom Exp $")
/*
* This define controls the line-breakout optimization. Every once in a
TR(TRACE_CHARPUT, ("turning off (%#lx) %s before wrapping",
(unsigned long) AttrOf(SCREEN_ATTRS(SP_PARM)),
_traceattr(AttrOf(SCREEN_ATTRS(SP_PARM)))));
- (void) VIDATTR(SP_PARM, A_NORMAL, 0);
+ VIDPUTS(SP_PARM, A_NORMAL, 0);
}
} else {
SP_PARM->_curscol--;
-ncurses6 (6.1+20190525) unstable; urgency=low
+ncurses6 (6.1+20190601) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 25 May 2019 11:39:25 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 01 Jun 2019 09:32:39 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.1+20190525) unstable; urgency=low
+ncurses6 (6.1+20190601) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 25 May 2019 11:39:25 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 01 Jun 2019 09:32:39 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.1+20190525) unstable; urgency=low
+ncurses6 (6.1+20190601) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 25 May 2019 11:39:25 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 01 Jun 2019 09:32:39 -0400
ncurses6 (5.9-20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.330 2019/05/25 15:39:25 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.331 2019/06/01 13:32:39 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "1"\r
!define VERSION_YYYY "2019"\r
-!define VERSION_MMDD "0525"\r
+!define VERSION_MMDD "0601"\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.1
-Release: 20190525
+Release: 20190601
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.1
-Release: 20190525
+Release: 20190601
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.1
-Release: 20190525
+Release: 20190601
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz