snapshot of project "ncurses", label v6_4_20240120

This commit is contained in:
Thomas E. Dickey 2024-01-20 20:46:12 +00:00
parent f94b0bf6e0
commit 9af384f243
No known key found for this signature in database
GPG Key ID: CC2AF4472167BE03
43 changed files with 4210 additions and 4104 deletions

8
Ada95/aclocal.m4 vendored
View File

@ -1,5 +1,5 @@
dnl***************************************************************************
dnl Copyright 2018-2022,2023 Thomas E. Dickey *
dnl Copyright 2018-2023,2024 Thomas E. Dickey *
dnl Copyright 2010-2017,2018 Free Software Foundation, Inc. *
dnl *
dnl Permission is hereby granted, free of charge, to any person obtaining a *
@ -29,7 +29,7 @@ dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey
dnl
dnl $Id: aclocal.m4,v 1.207 2023/12/04 00:09:59 tom Exp $
dnl $Id: aclocal.m4,v 1.209 2024/01/19 18:06:12 tom Exp $
dnl Macros used in NCURSES Ada95 auto-configuration script.
dnl
dnl These macros are maintained separately from NCURSES. The copyright on
@ -3359,7 +3359,7 @@ CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root)
AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_NCURSES_VERSION version: 17 updated: 2023/01/05 18:54:02
dnl CF_NCURSES_VERSION version: 18 updated: 2024/01/07 06:34:16
dnl ------------------
dnl Check for the version of ncurses, to aid in reporting bugs, etc.
dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use
@ -3389,7 +3389,7 @@ int main(void)
# ifdef __NCURSES_H
fprintf(fp, "old\\n");
# else
make an error
#error expected ncurses header to define __NCURSES_H
# endif
#endif
${cf_cv_main_return:-return}(0);

716
Ada95/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
##############################################################################
# Copyright 2019-2021,2022 Thomas E. Dickey #
# Copyright 2019-2022,2024 Thomas E. Dickey #
# Copyright 1998-2015,2018 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
@ -30,7 +30,7 @@
# Author: Juergen Pfeifer, 1996
# and: Thomas E. Dickey, 1997
#
# $Id: Makefile.in,v 1.101 2022/12/03 19:45:12 Nicolas.Boulenguez Exp $
# $Id: Makefile.in,v 1.103 2024/01/19 16:51:56 tom Exp $
#
.SUFFIXES:
@ -183,7 +183,8 @@ $(ADA_SRCDIR)/$(ABASE)_constants.ads: $(PROG_GENERATE)
$(WRAPPER) "$(GENERATE) $@"
################################################################################
$(ADA_SRCDIR)/$(ABASE).ads: $(srcdir)/$(ABASE).ads.m4 \
$(srcdir)/normal.m4
$(srcdir)/normal.m4 \
options.m4
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
$(srcdir)/$(ABASE).ads.m4 |\
$(DEL_ADAMODE) >$@
@ -284,6 +285,7 @@ mostlyclean ::
-rm -f a.out core $(PROG_GENERATE) *.o
clean :: mostlyclean
-rm -f options.m4
-rm -f $(GEN_TARGETS) instab.tmp *.ad[bs] *.html *.ali *.tmp
distclean :: clean
@ -294,6 +296,15 @@ realclean :: distclean
HTML_DIR = @ADAHTML_DIR@
options.m4 :
$(SHELL) -c "if [ @cf_cv_enable_sigwinch@ = 0 ]; \
then \
dashes=' --'; \
else \
dashes='';\
fi; \
echo \"define(OPT_KEY_RESIZE,\\\`\$$dashes')dnl\" > $@"
instab.tmp : table.m4 $(GEN_SRC)
@rm -f $@
@for f in $(GEN_SRC) ; do \

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2020-2021,2024 Thomas E. Dickey *
* Copyright 1998-2014,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -35,7 +35,7 @@
/*
Version Control
$Id: gen.c,v 1.78 2021/12/11 21:03:21 tom Exp $
$Id: gen.c,v 1.79 2024/01/19 13:41:45 tom Exp $
--------------------------------------------------------------------------*/
/*
This program prints on its standard output the source for the
@ -424,7 +424,9 @@ main(int argc, const char *argv[])
PRINT_NAMED_CONSTANT(KEY_SUSPEND);
PRINT_NAMED_CONSTANT(KEY_UNDO);
PRINT_NAMED_CONSTANT(KEY_MOUSE);
#ifdef KEY_RESIZE
PRINT_NAMED_CONSTANT(KEY_RESIZE);
#endif
print_comment(fp, "alternate character codes (ACS) from addch(3NCURSES)");
#define PRINT_ACS(name) print_size_of (fp, #name, (size_t)(&name - &acs_map[0]))

View File

@ -1,6 +1,6 @@
-- -*- ada -*-
define(`HTMLNAME',`terminal_interface-curses__ads.htm')dnl
include(M4MACRO)------------------------------------------------------------------------------
include(M4MACRO)include(options.m4)------------------------------------------------------------------------------
-- --
-- GNAT ncurses Binding --
-- --
@ -9,7 +9,7 @@ include(M4MACRO)----------------------------------------------------------------
-- S P E C --
-- --
------------------------------------------------------------------------------
-- Copyright 2020 Thomas E. Dickey --
-- Copyright 2020,2024 Thomas E. Dickey --
-- Copyright 1998-2011,2014 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
@ -38,8 +38,8 @@ include(M4MACRO)----------------------------------------------------------------
------------------------------------------------------------------------------
-- Author: Juergen Pfeifer, 1996
-- Version Control:
-- $Revision: 1.48 $
-- $Date: 2020/02/02 23:34:34 $
-- $Revision: 1.49 $
-- $Date: 2024/01/19 16:51:30 $
-- Binding Version 01.00
------------------------------------------------------------------------------
with System.Storage_Elements;
@ -377,8 +377,8 @@ package Terminal_Interface.Curses is
:= Curses_Constants.KEY_UNDO;
Key_Mouse : constant Special_Key_Code
:= Curses_Constants.KEY_MOUSE;
Key_Resize : constant Special_Key_Code
:= Curses_Constants.KEY_RESIZE;
OPT_KEY_RESIZE Key_Resize : constant Special_Key_Code
OPT_KEY_RESIZE := Curses_Constants.KEY_RESIZE;
Key_Max : constant Special_Key_Code
:= Special_Key_Code'Last;

11
NEWS
View File

@ -26,7 +26,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
-- $Id: NEWS,v 1.4064 2024/01/13 22:02:10 tom Exp $
-- $Id: NEWS,v 1.4069 2024/01/20 19:46:10 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
@ -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.
20240120
+ improve formatting/style of manpages (patches by Branden Robinson).
+ amend discussion of aliases in tput.1
+ use ansi+sgrbold, ansi+sgrdim, ansi+sgrso, ansi+sgrul, ansi+tabs
ecma+color, ecma+sgr, vt100+4bsd, vt100+pfkeys, vt220+pcedit
xterm+256color, xterm+acs, xterm+nopcfkeys, xterm+pcf2 to trim -TD
+ modify configure scripts/makefiles to omit KEY_RESIZE if the
corresponding SIGWINCH feature is disabled.
20240113
+ improve formatting/style of manpages (patches by Branden Robinson).
+ modify dist.mk to avoid passing developer's comments in manpages into

View File

@ -1 +1 @@
5:0:10 6.4 20240113
5:0:10 6.4 20240120

2758
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
dnl***************************************************************************
dnl Copyright 2018-2022,2023 Thomas E. Dickey *
dnl Copyright 2018-2023,2024 Thomas E. Dickey *
dnl Copyright 1998-2017,2018 Free Software Foundation, Inc. *
dnl *
dnl Permission is hereby granted, free of charge, to any person obtaining a *
@ -29,7 +29,7 @@ dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
dnl $Id: configure.in,v 1.773 2023/12/03 11:07:25 tom Exp $
dnl $Id: configure.in,v 1.774 2024/01/19 11:22:46 tom Exp $
dnl Process this file with autoconf to produce a configure script.
dnl
dnl For additional information, see
@ -38,7 +38,7 @@ dnl https://invisible-island.net/autoconf/my-autoconf.html
dnl
dnl ---------------------------------------------------------------------------
AC_PREREQ(2.52.20210101)
AC_REVISION($Revision: 1.773 $)
AC_REVISION($Revision: 1.774 $)
AC_INIT(ncurses/base/lib_initscr.c)
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
@ -1288,7 +1288,14 @@ AC_ARG_ENABLE(sigwinch,
[with_sigwinch=$enableval],
[with_sigwinch=$with_ext_funcs])
AC_MSG_RESULT($with_sigwinch)
test "x$with_sigwinch" = xyes && AC_DEFINE(USE_SIGWINCH,1,[Define to 1 to compile with SIGWINCH handler])
if test "x$with_sigwinch" = xyes
then
AC_DEFINE(USE_SIGWINCH,1,[Define to 1 to compile with SIGWINCH handler])
cf_cv_enable_sigwinch=1
else
cf_cv_enable_sigwinch=0
fi
AC_SUBST(cf_cv_enable_sigwinch)
### use option --enable-tcap-names to allow user to define new capabilities
AC_MSG_CHECKING(if you want user-definable terminal capabilities like termcap)

View File

@ -26,7 +26,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# $Id: dist.mk,v 1.1593 2024/01/13 21:07:51 tom Exp $
# $Id: dist.mk,v 1.1594 2024/01/20 11:52:33 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
@ -38,7 +38,7 @@ SHELL = /bin/sh
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 4
NCURSES_PATCH = 20240113
NCURSES_PATCH = 20240120
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)

View File

@ -24,7 +24,7 @@
<span class="comment"><em>-- S P E C --</em></span>
<span class="comment"><em>-- --</em></span>
<span class="comment"><em>------------------------------------------------------------------------------</em></span>
<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span>
<span class="comment"><em>-- Copyright 2020,2024 Thomas E. Dickey --</em></span>
<span class="comment"><em>-- Copyright 1998-2011,2014 Free Software Foundation, Inc. --</em></span>
<span class="comment"><em>-- --</em></span>
<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span>
@ -53,8 +53,8 @@
<span class="comment"><em>------------------------------------------------------------------------------</em></span>
<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span>
<span class="comment"><em>-- Version Control:</em></span>
<span class="comment"><em>-- @Revision: 1.48 @</em></span>
<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span>
<span class="comment"><em>-- @Revision: 1.49 @</em></span>
<span class="comment"><em>-- @Date: 2024/01/19 16:51:30 @</em></span>
<span class="comment"><em>-- Binding Version 01.00</em></span>
<span class="comment"><em>------------------------------------------------------------------------------</em></span>
<b>with</b> System.Storage_Elements;

View File

@ -27,19 +27,19 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: form_hook.3x,v 1.34 2024/01/05 21:46:58 tom Exp @
* @Id: form_hook.3x,v 1.35 2024/01/20 18:12:04 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_hook 3x 2024-01-05 ncurses 6.4 Library calls</TITLE>
<TITLE>form_hook 3x 2024-01-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">form_hook 3x 2024-01-05 ncurses 6.4 Library calls</H1>
<H1 class="no-header">form_hook 3x 2024-01-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG> Library calls <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
@ -107,7 +107,7 @@
change once it is posted.
</PRE><H3><a name="h3-form_init">form_init</a></H3><PRE>
</PRE><H3><a name="h3-form_term">form_term</a></H3><PRE>
returns the current form term hook, if any (<STRONG>NULL</STRONG> if there is no such
hook).
@ -137,7 +137,7 @@
ncurses 6.4 2024-01-05 <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
ncurses 6.4 2024-01-20 <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
@ -152,7 +152,7 @@ ncurses 6.4 2024-01-05 <STRONG><A HREF
<li><a href="#h3-set_form_init">set_form_init</a></li>
<li><a href="#h3-form_init">form_init</a></li>
<li><a href="#h3-set_form_term">set_form_term</a></li>
<li><a href="#h3-form_init">form_init</a></li>
<li><a href="#h3-form_term">form_term</a></li>
</ul>
</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>

View File

@ -60,7 +60,7 @@
method of updating character screens with reasonable optimization.
This implementation is "new curses" (<EM>ncurses</EM>) and is the approved
replacement for 4.4BSD classic curses, which has been discontinued.
This describes <EM>ncurses</EM> version 6.4 (patch 20240113).
This describes <EM>ncurses</EM> version 6.4 (patch 20240120).
The <EM>ncurses</EM> library emulates the curses library of System V Release 4
Unix ("SVr4"), and XPG4 (X/Open Portability Guide) curses (also known

View File

@ -27,19 +27,19 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: tabs.1,v 1.52 2023/12/23 16:08:25 tom Exp @
* @Id: tabs.1,v 1.54 2024/01/20 16:54:03 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>tabs 1 2023-12-23 ncurses 6.4 User commands</TITLE>
<TITLE>tabs 1 2024-01-20 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">tabs 1 2023-12-23 ncurses 6.4 User commands</H1>
<H1 class="no-header">tabs 1 2024-01-20 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> User commands <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
@ -164,30 +164,29 @@
</PRE><H3><a name="h3-Margins">Margins</a></H3><PRE>
A few terminals provide the capability for changing their left/right
margins. The tabs program has an option to use this feature:
A few terminals expose a means of changing their left and right
margins. <STRONG>tabs</STRONG> supports this feature with an option.
<STRONG>+m</STRONG> <EM>margin</EM>
The effect depends on whether the terminal has the margin
capabilities:
<STRONG>o</STRONG> If the terminal provides the capability for setting the left
margin, tabs uses this, and adjusts the available width for
tab-stops.
margin, <STRONG>tabs</STRONG> uses this, and adjusts the available tab stop
widths.
<STRONG>o</STRONG> If the terminal does not provide the margin capabilities, tabs
imitates the effect, putting the tab stops at the appropriate
place on each line. The terminal's left-margin is not
modified.
<STRONG>o</STRONG> If the terminal does not provide the margin capabilities, <STRONG>tabs</STRONG>
imitates their effect, putting tab stops at appropriate places
on each line. The terminal's left margin is not modified.
If the <EM>margin</EM> parameter is omitted, the default is 10. Use <STRONG>+m0</STRONG> to
reset the left margin, i.e., to the left edge of the terminal's
display. Before setting a left-margin, tabs resets the margin to
reduce problems which might arise on moving the cursor before the
current left-margin.
reset the left margin, that is, to make it the left edge of the
terminal's display. Before setting a left margin, <STRONG>tabs</STRONG> resets the
margin to reduce problems that might arise from moving the cursor
to the left of the current left margin.
When setting or resetting the left-margin, tabs may reset the right-
margin.
When setting or resetting the left margin, <STRONG>tabs</STRONG> may also reset the
right margin.
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
@ -196,63 +195,63 @@
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
<EM>IEEE</EM> <EM>Std</EM> <EM>1003.1/The</EM> <EM>Open</EM> <EM>Group</EM> <EM>Base</EM> <EM>Specifications</EM> <EM>Issue</EM> <EM>7</EM>
(POSIX.1-2008) describes a <STRONG>tabs</STRONG> utility. However
IEEE Std 1003.1/The Open Group Base Specifications Issue 7
(POSIX.1-2008) describes a <STRONG>tabs</STRONG> utility. However,
<STRONG>o</STRONG> This standard describes a <STRONG>+m</STRONG> option, to set a terminal's left-
margin. Very few of the entries in the terminal database provide
the <STRONG>smgl</STRONG> (<STRONG>set_left_margin</STRONG>) or <STRONG>smglp</STRONG> (<STRONG>set_left_margin_parm</STRONG>)
capability needed to support the feature.
<STRONG>o</STRONG> this standard describes a <STRONG>+m</STRONG> option to set a terminal's left
margin. Very few of the entries in the terminal database provide
the <STRONG>set_left_margin</STRONG> (<STRONG>smgl</STRONG>) or <STRONG>set_left_margin_parm</STRONG> (<STRONG>smglp</STRONG>)
capabilities needed to support the feature.
<STRONG>o</STRONG> There is no counterpart in X/Open Curses Issue 7 for this utility,
<STRONG>o</STRONG> There is no counterpart in X/Open Curses Issue 7 for this utility,
unlike <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>.
The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are extensions not provided by
other implementations.
The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are <EM>ncurses</EM> extensions not
provided by other implementations.
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
A <STRONG>tabs</STRONG> utility appeared in PWB/Unix 1.0 (1977). A reduced version
shipped in Seventh Edition Unix (early 1979) and in 3BSD (later the
A <STRONG>tabs</STRONG> utility appeared in PWB/Unix 1.0 (1977). A reduced version
shipped in Seventh Edition Unix (early 1979) and in 3BSD (later the
same year); it supported a "-n" option to set the first tab stop at the
left margin. That option is not documented by POSIX.
The PWB/Unix <STRONG>tabs</STRONG> utility returned in System III (1980), and used
built-in tables rather than the terminal database, to support a half-
The PWB/Unix <STRONG>tabs</STRONG> utility returned in System III (1980), and used
built-in tables, rather than the terminal database, to support a half-
dozen hardcopy terminal (printer) types. It also had built-in logic to
support setting the left margin, as well as a feature for copying the
support setting the left margin, as well as a feature for copying the
tab settings from a file.
Versions of the program in later releases of AT&amp;T Unix, such as SVr4,
added support for the terminal database, but retained the tables to
support the printers. In an earlier development effort, the tab stop
initialization provided by <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> (1982), and incorporated into
<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> uses the terminal database,
Versions of the program in later releases of AT&amp;T Unix, such as SVr4,
added support for the terminal database, but retained the tables to
support the printers. By this time, System V <STRONG>tput</STRONG> had incorporated the
tab stop initialization feature of BSD's <STRONG>tset</STRONG> from 1982, but employed
the <EM>terminfo</EM> database to do so.
The <STRONG>+m</STRONG> option was documented in the POSIX Base Specifications Issue 5
(Unix98, 1997), then omitted in Issue 6 (Unix03, 2004) without express
motivation, though an introductory comment <EM>"and</EM> <EM>optionally</EM> <EM>adjusts</EM> <EM>the</EM>
<EM>margin"</EM> remains, overlooked in the removal. The <STRONG>tabs</STRONG> utility
documented in Issues 6 and later has no mechanism for setting margins.
The <STRONG>+m</STRONG> option in <EM>ncurses</EM> <STRONG>tabs</STRONG> differs from the SVr4 feature by using
The <STRONG>+m</STRONG> option was documented in the POSIX Base Specifications Issue 5
(Unix98, 1997), then omitted in Issue 6 (Unix03, 2004) without express
motivation, though an introductory comment "and optionally adjusts the
margin" remains, overlooked in the removal. The <STRONG>tabs</STRONG> utility
documented in Issues 6 and later has no mechanism for setting margins.
The <STRONG>+m</STRONG> option in <EM>ncurses</EM> <STRONG>tabs</STRONG> differs from the SVr4 feature by using
terminal capabilities rather than built-in tables.
POSIX documents no limit on the number of tab stops. Other
POSIX documents no limit on the number of tab stops. Other
implementations impose one; the limit is 20 in PWB/Unix's <STRONG>tabs</STRONG> utility.
While some terminals may not accept an arbitrary number of tab stops,
<EM>ncurses</EM> <STRONG>tabs</STRONG> attempts to set tab stops up to the right margin if the
While some terminals may not accept an arbitrary number of tab stops,
<EM>ncurses</EM> <STRONG>tabs</STRONG> attempts to set tab stops up to the right margin if the
list thereof is sufficiently long.
The "Rationale" section of the Issue 6 <STRONG>tabs</STRONG> reference page details how
the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG> utilities,
The "Rationale" section of the Issue 6 <STRONG>tabs</STRONG> reference page details how
the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG> utilities,
without settling on an improved solution. It claims that
no known historical version of tabs supports the capability of
setting arbitrary tab stops.
"no known historical version of <EM>tabs</EM> supports the capability of
setting arbitrary tab stops."
Nevertheless, the feature described in subsection "Explicit Lists"
above was implemented in PWB/Unix, and permits the setting of abitrary
tab stops.
The feature described in subsection "Explicit Lists" above was
implemented in PWB/Unix, and permitted the setting of abitrary tab
stops nevertheless.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
@ -260,7 +259,7 @@
ncurses 6.4 2023-12-23 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
ncurses 6.4 2024-01-20 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>

File diff suppressed because it is too large Load Diff

View File

@ -28,19 +28,19 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: toe.1m,v 1.62 2024/01/13 22:05:39 tom Exp @
* @Id: toe.1m,v 1.64 2024/01/20 16:51:21 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>toe 1m 2024-01-13 ncurses 6.4 User commands</TITLE>
<TITLE>toe 1m 2024-01-20 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">toe 1m 2024-01-13 ncurses 6.4 User commands</H1>
<H1 class="no-header">toe 1m 2024-01-20 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> User commands <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
@ -150,15 +150,14 @@
xterm-r6 xterm X11R6 version
xterm-r5 xterm R5 version
xterm-mono monochrome xterm
xterm xterm terminal emulator (X Window
System)
xterm xterm terminal emulator (X Window System)
vt220 dec vt220
vt102 dec vt102
vt100 dec vt100 (w/advanced video)
vt52 dec vt52
...
Use the <STRONG>-a</STRONG> and <STRONG>-s</STRONG> options together to show where each terminal
Use the <STRONG>-a</STRONG> and <STRONG>-s</STRONG> options together to show where each terminal
description was found.
--&gt; /etc/terminfo
@ -169,16 +168,14 @@
--*---: vt102 dec vt102
--*---: vt220 dec vt220
--*---: vt52 dec vt52
--*---: xterm xterm terminal emulator (X
Window System)
--*---: xterm xterm terminal emulator (X Window System)
--*---: xterm-256color xterm with 256 colors
--*---: xterm-color generic color xterm
--*---: xterm-mono monochrome xterm
--*---: xterm-r5 xterm R5 version
--*---: xterm-r6 xterm X11R6 version
--*---: xterm-vt220 xterm emulating vt220
--*---: xterm-xfree86 xterm terminal emulator
(XFree86)
--*---: xterm-xfree86 xterm terminal emulator (XFree86)
...
@ -188,7 +185,7 @@
ncurses 6.4 2024-01-13 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
ncurses 6.4 2024-01-20 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>

View File

@ -28,19 +28,19 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: tput.1,v 1.102 2024/01/13 22:47:16 tom Exp @
* @Id: tput.1,v 1.105 2024/01/20 19:41:02 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>tput 1 2024-01-13 ncurses 6.4 User commands</TITLE>
<TITLE>tput 1 2024-01-20 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">tput 1 2024-01-13 ncurses 6.4 User commands</H1>
<H1 class="no-header">tput 1 2024-01-20 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> User commands <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
@ -48,8 +48,8 @@
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>tput</STRONG>, <STRONG>init</STRONG>, <STRONG>reset</STRONG> - initialize a terminal, exercise its capabilities,
or query <EM>terminfo</EM> database
<STRONG>tput</STRONG> - initialize a terminal, exercise its capabilities, or query <EM>term-</EM>
<EM>info</EM> database
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
@ -207,57 +207,62 @@
If <STRONG>tput</STRONG> is invoked via link with any of the names <STRONG>clear</STRONG>, <STRONG>init</STRONG>, or
<STRONG>reset</STRONG>, it operates as if run with the corresponding (pseudo-)capability
operand. For example, executing a link named <STRONG>reset</STRONG> that points to <STRONG>tput</STRONG>
has the same effect as "<STRONG>tput</STRONG> <STRONG>reset</STRONG>". (The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility also treats
a link named <STRONG>reset</STRONG> specially.)
has the same effect as "<STRONG>tput</STRONG> <STRONG>reset</STRONG>".
If <STRONG>tput</STRONG> is invoked by a link named <STRONG>init</STRONG>, this has the same effect as
"<STRONG>tput</STRONG> <STRONG>init</STRONG>". Such a link is seldom employed because another program of
that name is in widespread use.
This feature was introduced by <EM>ncurses</EM> 5.2 in 2000. It is rarely used:
<STRONG>clear</STRONG> is a separate program, which is both smaller and more frequently
executed.
<STRONG>init</STRONG> has the same name as another program in widespread use.
<STRONG>reset</STRONG> is provided by the <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility (also via a link named
<STRONG>reset</STRONG>).
</PRE><H3><a name="h3-Terminal-Size">Terminal Size</a></H3><PRE>
Besides the pseudo-capabilities (such as <STRONG>init</STRONG>), <STRONG>tput</STRONG> treats the <STRONG>lines</STRONG>
and <STRONG>cols</STRONG> <EM>cap-codes</EM> specially: it may call <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to obtain the
Besides the pseudo-capabilities (such as <STRONG>init</STRONG>), <STRONG>tput</STRONG> treats the <STRONG>lines</STRONG>
and <STRONG>cols</STRONG> <EM>cap-codes</EM> specially: it may call <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to obtain the
terminal size.
<STRONG>o</STRONG> First, <STRONG>tput</STRONG> attempts to obtain these capabilities from the terminal
database. This generally fails for terminal emulators, which lack
database. This generally fails for terminal emulators, which lack
a fixed window size and thus omit the capabilities.
<STRONG>o</STRONG> It then asks the operating system for the terminal's size, which
generally works, unless the connection is via a serial line that
<STRONG>o</STRONG> It then asks the operating system for the terminal's size, which
generally works, unless the connection is via a serial line that
does not support "NAWS": negotiations about window size.
<STRONG>o</STRONG> Finally, it inspects the environment variables <EM>LINES</EM> and <EM>COLUMNS,</EM>
<STRONG>o</STRONG> Finally, it inspects the environment variables <EM>LINES</EM> and <EM>COLUMNS,</EM>
which may override the terminal size.
If the <STRONG>-T</STRONG> option is given, <STRONG>tput</STRONG> ignores the environment variables by
If the <STRONG>-T</STRONG> option is given, <STRONG>tput</STRONG> ignores the environment variables by
calling <STRONG>use_tioctl(TRUE)</STRONG>, relying upon the operating system (or,
ultimately, the terminal database).
</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
<STRONG>-S</STRONG> retrieves more than one capability per invocation of <STRONG>tput</STRONG>.
The capabilities must be passed to <STRONG>tput</STRONG> from the standard
input stream instead of from the command line (see section
"EXAMPLES" below). Only one <EM>cap-code</EM> is allowed per line.
The <STRONG>-S</STRONG> option changes the meanings of the <STRONG>0</STRONG> and <STRONG>1</STRONG> exit
<STRONG>-S</STRONG> retrieves more than one capability per invocation of <STRONG>tput</STRONG>.
The capabilities must be passed to <STRONG>tput</STRONG> from the standard
input stream instead of from the command line (see section
"EXAMPLES" below). Only one <EM>cap-code</EM> is allowed per line.
The <STRONG>-S</STRONG> option changes the meanings of the <STRONG>0</STRONG> and <STRONG>1</STRONG> exit
statuses (see section "EXIT STATUS" below).
Some capabilities use string parameters rather than numeric
ones. <STRONG>tput</STRONG> employs a built-in table and the presence of
parameters in its input to decide how to interpret them, and
Some capabilities use string parameters rather than numeric
ones. <STRONG>tput</STRONG> employs a built-in table and the presence of
parameters in its input to decide how to interpret them, and
whether to use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>.
<STRONG>-T</STRONG> <EM>type</EM> indicates the terminal's <EM>type.</EM> Normally this option is
unnecessary, because a default is taken from the <EM>TERM</EM>
unnecessary, because a default is taken from the <EM>TERM</EM>
environment variable. If specified, the environment variables
<EM>LINES</EM> and <EM>COLUMNS</EM> are also ignored.
<STRONG>-V</STRONG> reports the version of <EM>ncurses</EM> associated with <STRONG>tput</STRONG>, and exits
with a successful status.
<STRONG>-x</STRONG> prevents "<STRONG>tput</STRONG> <STRONG>clear</STRONG>" from attempting to clear the scrollback
<STRONG>-x</STRONG> prevents "<STRONG>tput</STRONG> <STRONG>clear</STRONG>" from attempting to clear the scrollback
buffer.
@ -283,9 +288,9 @@
</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
<STRONG>tput</STRONG> command reads one environment variable.
<STRONG>tput</STRONG> reads one environment variable.
<EM>TERM</EM> denotes the terminal type. Each terminal type is distinct,
<EM>TERM</EM> denotes the terminal type. Each terminal type is distinct,
though many are similar. The <STRONG>-T</STRONG> option overrides its value.
@ -298,190 +303,190 @@
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
Over time <EM>ncurses</EM> <STRONG>tput</STRONG> has differed from that of System V in two
Over time <EM>ncurses</EM> <STRONG>tput</STRONG> has differed from that of System V in two
important respects, one now mostly historical.
<STRONG>o</STRONG> "<STRONG>tput</STRONG> <EM>cap-code</EM>" writes to the standard output, which need not be a
terminal device. However, the operands that manipulate terminal
<STRONG>o</STRONG> "<STRONG>tput</STRONG> <EM>cap-code</EM>" writes to the standard output, which need not be a
terminal device. However, the operands that manipulate terminal
modes might not use the standard output.
System V <STRONG>tput</STRONG>'s <STRONG>init</STRONG> and <STRONG>reset</STRONG> operands use logic from 4.1cBSD
System V <STRONG>tput</STRONG>'s <STRONG>init</STRONG> and <STRONG>reset</STRONG> operands use logic from 4.1cBSD
<STRONG>tset</STRONG>, manipulating terminal modes. It checks the same file
descriptors (and <EM>/dev/tty</EM>) for association with a terminal device
as <EM>ncurses</EM> now does, and if none are, finally assumes a 1200 baud
descriptors (and <EM>/dev/tty</EM>) for association with a terminal device
as <EM>ncurses</EM> now does, and if none are, finally assumes a 1200 baud
terminal. When updating terminal modes, it ignores errors.
Until <EM>ncurses</EM> 6.1 (see section "HISTORY" below), <STRONG>tput</STRONG> did not
Until <EM>ncurses</EM> 6.1 (see section "HISTORY" below), <STRONG>tput</STRONG> did not
modify terminal modes. It now employs a scheme similar to
System V, using functions shared with <STRONG>tset</STRONG> (and ultimately based on
4.4BSD <STRONG>tset</STRONG>). If it is not able to open a terminal (for instance,
4.4BSD <STRONG>tset</STRONG>). If it is not able to open a terminal (for instance,
when run by <STRONG>cron(1)</STRONG>), <STRONG>tput</STRONG> exits with an error status.
<STRONG>o</STRONG> System V <STRONG>tput</STRONG> assumes that the type of a <EM>cap-code</EM> operand is
numeric if all the characters of its value are decimal numbers; if
<STRONG>o</STRONG> System V <STRONG>tput</STRONG> assumes that the type of a <EM>cap-code</EM> operand is
numeric if all the characters of its value are decimal numbers; if
they are not, it treats <EM>cap-code</EM> as a string capability.
Most implementations that provide support for <EM>cap-code</EM> operands use
the <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> function to expand its parameters. That function
expects a mixture of numeric and string parameters, requiring <STRONG>tput</STRONG>
the <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> function to expand its parameters. That function
expects a mixture of numeric and string parameters, requiring <STRONG>tput</STRONG>
to know which type to use.
<EM>ncurses</EM> <STRONG>tput</STRONG> uses a table to determine the parameter types for the
standard <EM>cap-code</EM> operands, and an internal function to analyze
<EM>ncurses</EM> <STRONG>tput</STRONG> uses a table to determine the parameter types for the
standard <EM>cap-code</EM> operands, and an internal function to analyze
nonstandard <EM>cap-code</EM> operands.
While more reliable than System V's utility, a portability problem
is introduced by this analysis. An OpenBSD developer adapted the
internal library function from <EM>ncurses</EM> to port NetBSD's <EM>termcap</EM>-
based <STRONG>tput</STRONG> to <EM>terminfo,</EM> and modified it to interpret multiple <EM>cap-</EM>
<EM>codes</EM> (and parameters) on the command line. Portable applications
should not rely upon this feature; <EM>ncurses</EM> offers it to support
While more reliable than System V's utility, a portability problem
is introduced by this analysis. An OpenBSD developer adapted the
internal library function from <EM>ncurses</EM> to port NetBSD's <EM>termcap</EM>-
based <STRONG>tput</STRONG> to <EM>terminfo,</EM> and modified it to interpret multiple <EM>cap-</EM>
<EM>codes</EM> (and parameters) on the command line. Portable applications
should not rely upon this feature; <EM>ncurses</EM> offers it to support
applications written specifically for OpenBSD.
This implementation, unlike others, accepts both <EM>termcap</EM> and <EM>terminfo</EM>
<EM>cap-codes</EM> if <EM>termcap</EM> support is compiled in. In that case, however,
This implementation, unlike others, accepts both <EM>termcap</EM> and <EM>terminfo</EM>
<EM>cap-codes</EM> if <EM>termcap</EM> support is compiled in. In that case, however,
the predefined <EM>termcap</EM> and <EM>terminfo</EM> codes have two ambiguities; <EM>ncurses</EM>
assumes the <EM>terminfo</EM> code.
<STRONG>o</STRONG> The <EM>cap-code</EM> <STRONG>dl</STRONG> means <STRONG>delete_line</STRONG> to <EM>termcap</EM> but <STRONG>parm_delete_line</STRONG>
<STRONG>o</STRONG> The <EM>cap-code</EM> <STRONG>dl</STRONG> means <STRONG>delete_line</STRONG> to <EM>termcap</EM> but <STRONG>parm_delete_line</STRONG>
to <EM>terminfo.</EM> <EM>termcap</EM> uses the code <STRONG>DL</STRONG> for <STRONG>parm_delete_line</STRONG>. <EM>term-</EM>
<EM>info</EM> uses the code <STRONG>dch1</STRONG> for <STRONG>delete_line</STRONG>.
<STRONG>o</STRONG> The <EM>cap-code</EM> <STRONG>ed</STRONG> means <STRONG>exit_delete_mode</STRONG> to <EM>termcap</EM> but <STRONG>clr_eos</STRONG> to
<STRONG>o</STRONG> The <EM>cap-code</EM> <STRONG>ed</STRONG> means <STRONG>exit_delete_mode</STRONG> to <EM>termcap</EM> but <STRONG>clr_eos</STRONG> to
<EM>terminfo.</EM> <EM>termcap</EM> uses the code <STRONG>cd</STRONG> for <STRONG>clr_eos</STRONG>. <EM>terminfo</EM> uses the
code <STRONG>rmdc</STRONG> for <STRONG>exit_delete_mode</STRONG>.
The <STRONG>longname</STRONG> operand, <STRONG>-S</STRONG> option, and the parameter-substitution
features used in the <STRONG>cup</STRONG> example below, were not supported in AT&amp;T/USL
The <STRONG>longname</STRONG> operand, <STRONG>-S</STRONG> option, and the parameter-substitution
features used in the <STRONG>cup</STRONG> example below, were not supported in AT&amp;T/USL
<EM>curses</EM> before SVr4 (1989). Later, 4.3BSD-Reno (1990) added support for
<STRONG>longname</STRONG>, and in 1994, NetBSD added support for the parameter-
substitution features.
IEEE Std 1003.1/The Open Group Base Specifications Issue 7
(POSIX.1-2008) documents only the <STRONG>clear</STRONG>, <STRONG>init</STRONG>, and <STRONG>reset</STRONG> operands. A
IEEE Std 1003.1/The Open Group Base Specifications Issue 7
(POSIX.1-2008) documents only the <STRONG>clear</STRONG>, <STRONG>init</STRONG>, and <STRONG>reset</STRONG> operands. A
few observations of interest arise from that selection.
<STRONG>o</STRONG> <EM>ncurses</EM> supports <STRONG>clear</STRONG> as it does any other standard <EM>cap-code.</EM> The
others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not correspond to terminal
others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not correspond to terminal
capabilities.
<STRONG>o</STRONG> The <STRONG>tput</STRONG> on SVr4-based systems such as Solaris, IRIX64, and HP-UX,
<STRONG>o</STRONG> The <STRONG>tput</STRONG> on SVr4-based systems such as Solaris, IRIX64, and HP-UX,
as well as others such as AIX and Tru64, also support standard <EM>cap-</EM>
<EM>code</EM> operands.
<STRONG>o</STRONG> A few platforms such as FreeBSD recognize <EM>termcap</EM> names rather than
<EM>terminfo</EM> capability names in their respective <STRONG>tput</STRONG> commands. Since
2010, NetBSD's <STRONG>tput</STRONG> uses <EM>terminfo</EM> names. Before that, it (like
FreeBSD) recognized <EM>termcap</EM> names.
<STRONG>o</STRONG> A few platforms such as FreeBSD recognize <EM>termcap</EM> codes rather than
<EM>terminfo</EM> capability codes in their respective <STRONG>tput</STRONG> commands. Since
2010, NetBSD's <STRONG>tput</STRONG> uses <EM>terminfo</EM> codes. Before that, it (like
FreeBSD) recognized <EM>termcap</EM> codes.
Beginning in 2021, FreeBSD uses <EM>ncurses</EM> <STRONG>tput</STRONG>, configured for both
Beginning in 2021, FreeBSD uses <EM>ncurses</EM> <STRONG>tput</STRONG>, configured for both
<EM>terminfo</EM> (tested first) and <EM>termcap</EM> (as a fallback).
Because (apparently) all <EM>certified</EM> Unix systems support the full set of
capability codes, the reason for documenting only a few may not be
capability codes, the reason for documenting only a few may not be
apparent.
<STRONG>o</STRONG> X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with <EM>cap-code</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 capability database.
<STRONG>o</STRONG> While it is certainly possible to write a <STRONG>tput</STRONG> program without
using <EM>curses,</EM> no system with a <EM>curses</EM> implementation provides a
<STRONG>o</STRONG> While it is certainly possible to write a <STRONG>tput</STRONG> program without
using <EM>curses,</EM> no system with a <EM>curses</EM> implementation provides a
<STRONG>tput</STRONG> utility that does not also support standard <EM>cap-codes.</EM>
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 (that is, System V <EM>curses</EM> behavior).
<STRONG>o</STRONG> It assigns exit status 4 to "invalid operand", which may have the
same meaning as "unknown capability". For instance, the source
<STRONG>o</STRONG> It assigns exit status 4 to "invalid operand", which may have the
same meaning as "unknown capability". For instance, the source
code for Solaris <EM>xcurses</EM> uses the term "invalid" in this case.
<STRONG>o</STRONG> It assigns exit status 255 to a numeric variable that is not
<STRONG>o</STRONG> It assigns exit status 255 to a numeric variable that is not
specified in the <EM>terminfo</EM> database. That likely is a documentation
error, mistaking the "-1" written to the standard output to
indicate an absent or cancelled numeric capability for an
error, mistaking the "-1" written to the standard output to
indicate an absent or cancelled numeric capability for an
(unsigned) exit status.
The various System V implementations (AIX, HP-UX, Solaris) use the same
exit statuses as <EM>ncurses.</EM>
NetBSD <EM>curses</EM> documents exit statuses that correspond to neither
NetBSD <EM>curses</EM> documents exit statuses that correspond to neither
<EM>ncurses</EM> nor X/Open Curses.
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
Bill Joy wrote a <STRONG>tput</STRONG> command during development of 4BSD in October
1980. This initial version only cleared the screen, and did not ship
Bill Joy wrote a <STRONG>tput</STRONG> command during development of 4BSD in October
1980. This initial version only cleared the screen, and did not ship
with official distributions.
System V developed a different <STRONG>tput</STRONG> command.
<STRONG>o</STRONG> SVr2 (1984) provided a rudimentary <STRONG>tput</STRONG> that checked the parameter
against each predefined capability and returned the corresponding
value. This version of <STRONG>tput</STRONG> did not use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> for
<STRONG>o</STRONG> SVr2 (1984) provided a rudimentary <STRONG>tput</STRONG> that checked the parameter
against each predefined capability and returned the corresponding
value. This version of <STRONG>tput</STRONG> did not use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> for
parameterized capabilities.
<STRONG>o</STRONG> SVr3 (1987) replaced that with a more extensive program whose
support for <STRONG>init</STRONG> and <STRONG>reset</STRONG> operands (more than half the program)
<STRONG>o</STRONG> SVr3 (1987) replaced that with a more extensive program whose
support for <STRONG>init</STRONG> and <STRONG>reset</STRONG> operands (more than half the program)
incorporated the <STRONG>reset</STRONG> feature of BSD <STRONG>tset</STRONG> written by Eric Allman.
<STRONG>o</STRONG> SVr4 (1989) added color initialization by using the <STRONG>orig_colors</STRONG>
<STRONG>o</STRONG> SVr4 (1989) added color initialization by using the <STRONG>orig_colors</STRONG>
(<STRONG>oc</STRONG>) and <STRONG>orig_pair</STRONG> (<STRONG>op</STRONG>) capabilities in its <STRONG>init</STRONG> logic.
Keith Bostic refactored BSD <STRONG>tput</STRONG> for shipment in 4.3BSD-Tahoe (1988),
then replaced it the next year with a new implementation based on
System V <STRONG>tput</STRONG>. Bostic's version similarly accepted some parameters
named for <EM>terminfo</EM> (pseudo-)capabilities: <STRONG>clear</STRONG>, <STRONG>init</STRONG>, <STRONG>longname</STRONG>, and
<STRONG>reset</STRONG>. However, because he had only <EM>termcap</EM> available, it accepted
<EM>termcap</EM> names for other capabilities. Also, Bostic's BSD <STRONG>tput</STRONG> did not
Keith Bostic refactored BSD <STRONG>tput</STRONG> for shipment in 4.3BSD-Tahoe (1988),
then replaced it the next year with a new implementation based on
System V <STRONG>tput</STRONG>. Bostic's version similarly accepted some parameters
named for <EM>terminfo</EM> (pseudo-)capabilities: <STRONG>clear</STRONG>, <STRONG>init</STRONG>, <STRONG>longname</STRONG>, and
<STRONG>reset</STRONG>. However, because he had only <EM>termcap</EM> available, it accepted
<EM>termcap</EM> codes for other capabilities. Also, Bostic's BSD <STRONG>tput</STRONG> did not
modify the terminal modes as the earlier BSD <STRONG>tset</STRONG> had done.
At the same time, Bostic added a shell script named "clear" that used
<STRONG>tput</STRONG> to clear the screen. Both of these appeared in 4.4BSD, becoming
At the same time, Bostic added a shell script named "clear" that used
<STRONG>tput</STRONG> to clear the screen. Both of these appeared in 4.4BSD, becoming
the "modern" BSD implementation of <STRONG>tput</STRONG>.
The origin of <EM>ncurses</EM> <STRONG>tput</STRONG> lies outside both System V and BSD, in Ross
Ridge's <EM>mytinfo</EM> package, published on <EM>comp.sources.unix</EM> in December
1992. Ridge's program made more sophisticated use of the terminal
The origin of <EM>ncurses</EM> <STRONG>tput</STRONG> lies outside both System V and BSD, in Ross
Ridge's <EM>mytinfo</EM> package, published on <EM>comp.sources.unix</EM> in December
1992. Ridge's program made more sophisticated use of the terminal
capabilities than the BSD program. Eric Raymond used that <STRONG>tput</STRONG> program
(and other parts of <EM>mytinfo</EM>) in <EM>ncurses</EM> in June 1995. Incorporating
the portions dealing with terminal capabilities almost without change,
Raymond made improvements to the way command-line parameters were
(and other parts of <EM>mytinfo</EM>) in <EM>ncurses</EM> in June 1995. Incorporating
the portions dealing with terminal capabilities almost without change,
Raymond made improvements to the way command-line parameters were
handled.
Before <EM>ncurses</EM> 6.1 (2018), its <STRONG>tset</STRONG> and <STRONG>tput</STRONG> utilities differed.
<STRONG>o</STRONG> <STRONG>tset</STRONG> was more effective, resetting the terminal modes and special
<STRONG>o</STRONG> <STRONG>tset</STRONG> was more effective, resetting the terminal modes and special
characters.
<STRONG>o</STRONG> On the other hand, <STRONG>tset</STRONG>'s repertoire of terminal capabilities for
<STRONG>o</STRONG> On the other hand, <STRONG>tset</STRONG>'s repertoire of terminal capabilities for
resetting the terminal was more limited; it had only equivalents of
<STRONG>reset_1string</STRONG> (<STRONG>rs1</STRONG>), <STRONG>reset_2string</STRONG> (<STRONG>rs2</STRONG>), and <STRONG>reset_file</STRONG> (<STRONG>rf</STRONG>), and
<STRONG>reset_1string</STRONG> (<STRONG>rs1</STRONG>), <STRONG>reset_2string</STRONG> (<STRONG>rs2</STRONG>), and <STRONG>reset_file</STRONG> (<STRONG>rf</STRONG>), and
not the tab stop and margin update features of <STRONG>tput</STRONG>.
The <STRONG>reset</STRONG> program is traditionally an alias for <STRONG>tset</STRONG> due to its ability
to reset terminal modes and special characters.
As of <EM>ncurses</EM> 6.1, the "reset" features of the two programs are
As of <EM>ncurses</EM> 6.1, the "reset" features of the two programs are
(mostly) the same. Two minor differences remain.
<STRONG>o</STRONG> The <STRONG>tset</STRONG> program waits one second when resetting, in case the
<STRONG>o</STRONG> The <STRONG>tset</STRONG> program waits one second when resetting, in case the
terminal happens to be a hardware device.
<STRONG>o</STRONG> The two programs write the terminal initialization strings to
different streams; that is, standard error for <STRONG>tset</STRONG> and standard
<STRONG>o</STRONG> The two programs write the terminal initialization strings to
different streams; that is, standard error for <STRONG>tset</STRONG> and standard
output for <STRONG>tput</STRONG>.
</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
<STRONG>tput</STRONG> <STRONG>init</STRONG>
Initialize the terminal according to the type of terminal in the
<EM>TERM</EM> environment variable. If the system does not reliably
<EM>TERM</EM> environment variable. If the system does not reliably
initialize the terminal upon login, this command can be included
in <EM>$HOME/.profile</EM> after exporting the <EM>TERM</EM> environment variable.
@ -497,7 +502,7 @@
screen, usually known as the "home" cursor position.
<STRONG>tput</STRONG> <STRONG>clear</STRONG>
Clear the screen: write the <STRONG>clear_screen</STRONG> capability's value to
Clear the screen: write the <STRONG>clear_screen</STRONG> capability's value to
the standard output stream.
<STRONG>tput</STRONG> <STRONG>cols</STRONG>
@ -507,29 +512,29 @@
Report the number of columns used by an ADM-3A terminal.
<STRONG>strong=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>normal=`tput</STRONG> <STRONG>rmso`</STRONG>
Set shell variables to capability values: <STRONG>strong</STRONG> and <STRONG>normal</STRONG>, to
begin and end, respectively, stand-out mode for the terminal.
Set shell variables to capability values: <STRONG>strong</STRONG> and <STRONG>normal</STRONG>, to
begin and end, respectively, stand-out mode for the terminal.
One might use these to present a prompt.
printf "${strong}Username:${normal} "
<STRONG>tput</STRONG> <STRONG>hc</STRONG>
Indicate via exit status whether the terminal is a hard copy
Indicate via exit status whether the terminal is a hard copy
device.
<STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG>
Move the cursor to row 23, column 4.
<STRONG>tput</STRONG> <STRONG>cup</STRONG>
Report the value of the <STRONG>cursor_address</STRONG> (<STRONG>cup</STRONG>) capability (used
Report the value of the <STRONG>cursor_address</STRONG> (<STRONG>cup</STRONG>) capability (used
for cursor movement), with no parameters substituted.
<STRONG>tput</STRONG> <STRONG>longname</STRONG>
Report the <EM>terminfo</EM> database's description of the terminal type
Report the <EM>terminfo</EM> database's description of the terminal type
specified in the <EM>TERM</EM> environment variable.
<STRONG>tput</STRONG> <STRONG>-S</STRONG>
Process multiple capabilities. The <STRONG>-S</STRONG> option can be profitably
Process multiple capabilities. The <STRONG>-S</STRONG> option can be profitably
used with a shell "here document".
$ <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
@ -538,7 +543,7 @@
&gt; <STRONG>bold</STRONG>
&gt; <STRONG>!</STRONG>
The foregoing clears the screen, moves the cursor to position
The foregoing clears the screen, moves the cursor to position
(10, 10) and turns on bold (extra bright) mode.
<STRONG>tput</STRONG> <STRONG>clear</STRONG> <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG> <STRONG>bold</STRONG>
@ -550,7 +555,7 @@
ncurses 6.4 2024-01-13 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
ncurses 6.4 2024-01-20 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>

View File

@ -30,7 +30,7 @@
# Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
# and: Eric S. Raymond <esr@snark.thyrsus.com>
#
# $Id: Caps,v 1.52 2024/01/13 22:05:39 tom Exp $
# $Id: Caps,v 1.53 2024/01/20 16:51:41 Branden.Robinson Exp $
#
# This is the master termcap/terminfo capability table.
#
@ -153,6 +153,23 @@
# to buy space for non-essentials Emacs is still using. Capabilities high
# on that hit list: rc, sc, uc.
#
# FORMATTING THE TABLES
#
# We manually specify a (minimum) column width for the capability name
# and terminfo code columns in the tables to achieve a consistent
# arrangement; as used here, tbl(1) cannot know the width required by
# one table's data while formatting another's.
#
# The longest capability names (C variables) are
# "enter_near_letter_quality" and "bit_image_carriage_return" (tied at
# 25n), and the longest terminfo code is "setcolor" (8n).
#
# The tables are a tight fit on traditional man(7) implementations that
# use a line length of 65n, and the "Description" column has little room
# within which the formatter can make breaking or adjustment decisions.
# Words like "micro_..._address" and "parm_..._micro" don't break.
# Reducing the inter-column gaps to 2 ens gives them enough room. --GBR
#
#############################################################################
#
# STANDARD CAPABILITIES
@ -208,9 +225,9 @@
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%Boolean Capability Name TI TC Description
#%_
@ -256,9 +273,9 @@ lpi_changes_res lpix bool YG - - ----- changing line pitch changes resolution
#%.
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%Numeric Capability Name TI TC Description
#%_
@ -289,9 +306,9 @@ no_color_video ncv num NC - - ----- video attributes that cannot be used with
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%Numeric Capability Name TI TC Description
#%_
@ -317,9 +334,9 @@ bit_image_type bitype num Yp - - ----- type of bit-image device
#%.
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%String Capability Name TI TC Description
#%_
@ -696,9 +713,9 @@ zero_motion zerom str Zx - - ----- No motion for subsequent character
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%String Capability Name TI TC Description
#%_
@ -752,9 +769,9 @@ alt_scancode_esc scesa str S8 - - ----- Alternate escape for scancode emulatio
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%String Capability Name TI TC Description
#%_

View File

@ -29,7 +29,7 @@
#
# Author: Thomas Dickey
#
# $Id: Caps.aix4,v 1.24 2024/01/13 22:05:39 tom Exp $
# $Id: Caps.aix4,v 1.25 2024/01/20 16:51:41 Branden.Robinson Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with AIX 4.x's terminfo.
@ -153,6 +153,23 @@
# to buy space for non-essentials Emacs is still using. Capabilities high
# on that hit list: rc, sc, uc.
#
# FORMATTING THE TABLES
#
# We manually specify a (minimum) column width for the capability name
# and terminfo code columns in the tables to achieve a consistent
# arrangement; as used here, tbl(1) cannot know the width required by
# one table's data while formatting another's.
#
# The longest capability names (C variables) are
# "enter_near_letter_quality" and "bit_image_carriage_return" (tied at
# 25n), and the longest terminfo code is "setcolor" (8n).
#
# The tables are a tight fit on traditional man(7) implementations that
# use a line length of 65n, and the "Description" column has little room
# within which the formatter can make breaking or adjustment decisions.
# Words like "micro_..._address" and "parm_..._micro" don't break.
# Reducing the inter-column gaps to 2 ens gives them enough room. --GBR
#
#############################################################################
#
# STANDARD CAPABILITIES
@ -208,9 +225,9 @@
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%Boolean Capability Name TI TC Description
#%_
@ -256,9 +273,9 @@ lpi_changes_res lpix bool YG - - ----- changing line pitch changes resolution
#%.
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%Numeric Capability Name TI TC Description
#%_
@ -289,9 +306,9 @@ no_color_video ncv num NC - - ----- video attributes that cannot be used with
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%Numeric Capability Name TI TC Description
#%_
@ -317,9 +334,9 @@ bit_image_type bitype num Yp - - ----- type of bit-image device
#%.
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%String Capability Name TI TC Description
#%_
@ -798,9 +815,9 @@ zero_motion zerom str Zx - - ----- No motion for subsequent character
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%String Capability Name TI TC Description
#%_
@ -854,9 +871,9 @@ alt_scancode_esc scesa str S8 - - ----- Alternate escape for scancode emulatio
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%String Capability Name TI TC Description
#%_

View File

@ -29,7 +29,7 @@
#
# Author: Thomas Dickey
#
# $Id: Caps.hpux11,v 1.22 2024/01/13 22:05:39 tom Exp $
# $Id: Caps.hpux11,v 1.23 2024/01/20 16:51:41 Branden.Robinson Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with HPUX 11.x's terminfo.
@ -153,6 +153,23 @@
# to buy space for non-essentials Emacs is still using. Capabilities high
# on that hit list: rc, sc, uc.
#
# FORMATTING THE TABLES
#
# We manually specify a (minimum) column width for the capability name
# and terminfo code columns in the tables to achieve a consistent
# arrangement; as used here, tbl(1) cannot know the width required by
# one table's data while formatting another's.
#
# The longest capability names (C variables) are
# "enter_near_letter_quality" and "bit_image_carriage_return" (tied at
# 25n), and the longest terminfo code is "setcolor" (8n).
#
# The tables are a tight fit on traditional man(7) implementations that
# use a line length of 65n, and the "Description" column has little room
# within which the formatter can make breaking or adjustment decisions.
# Words like "micro_..._address" and "parm_..._micro" don't break.
# Reducing the inter-column gaps to 2 ens gives them enough room. --GBR
#
#############################################################################
#
# STANDARD CAPABILITIES
@ -208,9 +225,9 @@
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%Boolean Capability Name TI TC Description
#%_
@ -257,9 +274,9 @@ lpi_changes_res lpix bool YG - - ----- changing line pitch changes resolution
#%.
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%Numeric Capability Name TI TC Description
#%_
@ -291,9 +308,9 @@ no_color_video ncv num NC - - ----- video attributes that cannot be used with
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%Numeric Capability Name TI TC Description
#%_
@ -319,9 +336,9 @@ bit_image_type bitype num Yp - - ----- type of bit-image device
#%.
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%String Capability Name TI TC Description
#%_
@ -704,9 +721,9 @@ zero_motion zerom str Zx - - ----- No motion for subsequent character
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%String Capability Name TI TC Description
#%_
@ -762,9 +779,9 @@ alt_scancode_esc scesa str S8 - - ----- Alternate escape for scancode emulatio
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%String Capability Name TI TC Description
#%_

View File

@ -30,7 +30,7 @@
# Author: Thomas Dickey
# and: Ilya Zakharevich
#
# $Id: Caps.keys,v 1.21 2024/01/13 22:05:39 tom Exp $
# $Id: Caps.keys,v 1.22 2024/01/20 16:51:41 Branden.Robinson Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is illustrates an experimental extension to describe alt-, shift- and
@ -155,6 +155,24 @@
# to buy space for non-essentials Emacs is still using. Capabilities high
# on that hit list: rc, sc, uc.
#
# FORMATTING THE TABLES
#
# We manually specify a (minimum) column width for the capability name
# and terminfo code columns in the tables to achieve a consistent
# arrangement; as used here, tbl(1) cannot know the width required by
# one table's data while formatting another's.
#
# The longest capability names (C variables) are
# "enter_near_letter_quality" and "bit_image_carriage_return" (tied at
# 25n), and the longest terminfo codes are "setcolor", "kcdelete",
# "kcinsert", "kadelete", and "kcinsert" (8n).
#
# The tables are a tight fit on traditional man(7) implementations that
# use a line length of 65n, and the "Description" column has little room
# within which the formatter can make breaking or adjustment decisions.
# Words like "micro_..._address" and "parm_..._micro" don't break.
# Reducing the inter-column gaps to 2 ens gives them enough room. --GBR
#
#############################################################################
#
# STANDARD CAPABILITIES
@ -210,9 +228,9 @@
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%Boolean Capability Name TI TC Description
#%_
@ -258,9 +276,9 @@ lpi_changes_res lpix bool YG - - ----- changing line pitch changes resolution
#%.
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%Numeric Capability Name TI TC Description
#%_
@ -291,9 +309,9 @@ no_color_video ncv num NC - - ----- video attributes that cannot be used with
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%Numeric Capability Name TI TC Description
#%_
@ -319,9 +337,9 @@ bit_image_type bitype num Yp - - ----- type of bit-image device
#%.
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%String Capability Name TI TC Description
#%_
@ -786,9 +804,9 @@ zero_motion zerom str Zx - - ----- No motion for subsequent character
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%String Capability Name TI TC Description
#%_
@ -842,9 +860,9 @@ alt_scancode_esc scesa str S8 - - ----- Alternate escape for scancode emulatio
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%String Capability Name TI TC Description
#%_

View File

@ -29,7 +29,7 @@
#
# Author: Thomas Dickey
#
# $Id: Caps.osf1r5,v 1.20 2024/01/13 22:05:39 tom Exp $
# $Id: Caps.osf1r5,v 1.21 2024/01/20 16:51:41 Branden.Robinson Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with OSF/1 version 5 (Tru64) terminfo.
@ -153,6 +153,23 @@
# to buy space for non-essentials Emacs is still using. Capabilities high
# on that hit list: rc, sc, uc.
#
# FORMATTING THE TABLES
#
# We manually specify a (minimum) column width for the capability name
# and terminfo code columns in the tables to achieve a consistent
# arrangement; as used here, tbl(1) cannot know the width required by
# one table's data while formatting another's.
#
# The longest capability names (C variables) are
# "enter_near_letter_quality" and "bit_image_carriage_return" (tied at
# 25n), and the longest terminfo code is "setcolor" (8n).
#
# The tables are a tight fit on traditional man(7) implementations that
# use a line length of 65n, and the "Description" column has little room
# within which the formatter can make breaking or adjustment decisions.
# Words like "micro_..._address" and "parm_..._micro" don't break.
# Reducing the inter-column gaps to 2 ens gives them enough room. --GBR
#
#############################################################################
#
# STANDARD CAPABILITIES
@ -208,9 +225,9 @@
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%Boolean Capability Name TI TC Description
#%_
@ -256,9 +273,9 @@ semi_auto_right_margin sam bool YE - - ----- printing in last column causes cr
#%.
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%Numeric Capability Name TI TC Description
#%_
@ -300,9 +317,9 @@ wide_char_size widcs num Yn - - ----- character step size when in double wide
#%.
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
#%\& Code \&
#%String Capability Name TI TC Description
#%_

View File

@ -29,7 +29,7 @@
#
# Author: Thomas Dickey
#
# $Id: Caps.uwin,v 1.19 2024/01/13 22:05:39 tom Exp $
# $Id: Caps.uwin,v 1.20 2024/01/20 16:51:41 Branden.Robinson Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with U/Win's terminfo.
@ -153,6 +153,23 @@
# to buy space for non-essentials Emacs is still using. Capabilities high
# on that hit list: rc, sc, uc.
#
# FORMATTING THE TABLES
#
# We manually specify a (minimum) column width for the capability name
# and terminfo code columns in the tables to achieve a consistent
# arrangement; as used here, tbl(1) cannot know the width required by
# one table's data while formatting another's.
#
# The longest capability names (C variable) is
# "hue_lightness_saturation" (24n), and the longest terminfo code is
# "colornm" (7n).
#
# The tables are a tight fit on traditional man(7) implementations that
# use a line length of 65n, and the "Description" column has little room
# within which the formatter can make breaking or adjustment decisions.
# Words like "micro_..._address" and "parm_..._micro" don't break.
# Reducing the inter-column gaps to 2 ens gives them enough room. --GBR
#
#############################################################################
#
# STANDARD CAPABILITIES
@ -208,9 +225,9 @@
#%.PP
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
#%\& Code \&
#%Boolean Capability Name TI TC Description
#%_
@ -249,9 +266,9 @@ hue_lightness_saturation hls bool hl - - ----- terminal uses only HLS color nota
#%.
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
#%\& Code \&
#%Numeric Capability Name TI TC Description
#%_
@ -278,9 +295,9 @@ no_color_video ncv num NC - - ----- video attributes that cannot be used with
#%.
#%.TS
#%center;
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lb Lb Lb Lx.
#%Lb Cb S Lb
#%Lb Lb Lb Lb
#%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
#%\& Code \&
#%String Capability Name TI TC Description
#%_

View File

@ -1,7 +1,7 @@
#! /bin/sh
# $Id: MKkey_defs.sh,v 1.23 2022/07/16 16:54:02 tom Exp $
# $Id: MKkey_defs.sh,v 1.24 2024/01/19 12:26:17 tom Exp $
##############################################################################
# Copyright 2019-2020,2022 Thomas E. Dickey #
# Copyright 2019-2022,2024 Thomas E. Dickey #
# Copyright 2001-2013,2017 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
@ -64,7 +64,7 @@ fi
# add keys that we generate automatically:
cat >>$data <<EOF
key_resize kr1 str R1 KEY_RESIZE + NCURSES_EXT_FUNCS Terminal resize event
key_resize kr1 str R1 KEY_RESIZE + NCURSES_SIGWINCH Terminal resize event
EOF
THIS=./`basename "$0"`
@ -146,7 +146,7 @@ $5 != "-" && $6 != "-" {
if (index($7,"NCURSES_") == 1) {
ifdef = 1;
printf "\n";
printf "#ifdef %s\n", $7;
printf "#if %s\n", $7;
}
if ($5 == "KEY_F(0)" ) {
printf "#define "

View File

@ -1,4 +1,4 @@
/* $Id*/
/* $Id: curses.events,v 1.4 2024/01/19 09:24:17 tom Exp $ */
/*
* vile:cmode:
* This file is part of ncurses, designed to be appended after curses.h.in

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2018-2021,2023 Thomas E. Dickey *
* Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -33,7 +33,7 @@
* and: Thomas E. Dickey 1996-on *
****************************************************************************/
/* $Id: curses.h.in,v 1.281 2023/08/12 14:20:15 tom Exp $ */
/* $Id: curses.h.in,v 1.282 2024/01/19 11:50:07 tom Exp $ */
#ifndef __NCURSES_H
#define __NCURSES_H
@ -64,6 +64,7 @@
NCURSES_OSPEED_COMPAT
NCURSES_PATHSEP
NCURSES_REENTRANT
NCURSES_SIGWINCH
*/
#define CURSES 1
@ -170,6 +171,19 @@
#define NCURSES_REENTRANT @cf_cv_enable_reentrant@
#endif
/*
* KEY_RESIZE is an extended feature that relies upon the SIGWINCH handler
* in ncurses.
*/
#if @NCURSES_EXT_FUNCS@
#ifndef NCURSES_SIGWINCH
#define NCURSES_SIGWINCH @cf_cv_enable_sigwinch@
#endif
#else
#undef NCURSES_SIGWINCH
#define NCURSES_SIGWINCH 0
#endif
/*
* In certain environments, we must work around linker problems for data
*/

View File

@ -27,8 +27,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: form_hook.3x,v 1.34 2024/01/05 21:46:58 tom Exp $
.TH form_hook 3X 2024-01-05 "ncurses 6.4" "Library calls"
.\" $Id: form_hook.3x,v 1.35 2024/01/20 18:12:04 tom Exp $
.TH form_hook 3X 2024-01-20 "ncurses 6.4" "Library calls"
.SH NAME
\fBform_hook\fP \-
set hooks for automatic invocation by applications
@ -72,7 +72,7 @@ if any (\fBNULL\fP if there is no such hook).
.SS set_form_term
sets a hook to be called at form-unpost time
and just before a page change once it is posted.
.SS form_init
.SS form_term
returns the current form term hook, if any (\fBNULL\fP if there is no such
hook).
.SH RETURN VALUE

View File

@ -27,8 +27,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: tabs.1,v 1.52 2023/12/23 16:08:25 tom Exp $
.TH @TABS@ 1 2023-12-23 "ncurses 6.4" "User commands"
.\" $Id: tabs.1,v 1.54 2024/01/20 16:54:03 tom Exp $
.TH @TABS@ 1 2024-01-20 "ncurses 6.4" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
@ -192,53 +192,75 @@ UNIVAC 1100 Assembler
.br
1,12,20,44
.SS Margins
A few terminals provide the capability for changing their left/right margins.
The @TABS@ program has an option to use this feature:
A few terminals expose a means of changing their left and right margins.
\fB@TABS@\fP supports this feature with an option.
.TP 5
.BI +m \ margin
The effect depends on whether the terminal has the margin capabilities:
.RS
.bP
If the terminal provides the capability for setting the left margin,
@TABS@ uses this, and adjusts the available width for tab-stops.
\fB@TABS@\fP uses this,
and adjusts the available tab stop widths.
.bP
If the terminal does not provide the margin capabilities,
@TABS@ imitates the effect, putting the tab stops at the appropriate
place on each line.
The terminal's left-margin is not modified.
\fB@TABS@\fP imitates their effect,
putting tab stops at appropriate places on each line.
The terminal's left margin is not modified.
.RE
.IP
If the \fImargin\fP parameter is omitted, the default is 10.
Use \fB+m0\fP to reset the left margin,
i.e., to the left edge of the terminal's display.
Before setting a left-margin,
@TABS@ resets the margin to reduce problems which might arise
on moving the cursor before the current left-margin.
If the
.I margin
parameter is omitted,
the default is 10.
Use
.B +m0
to reset the left margin,
that is,
to make it the left edge of the terminal's display.
Before setting a left margin,
\fB@TABS@\fP resets the margin to reduce problems that might arise
from moving the cursor to the left of the current left margin.
.PP
When setting or resetting the left-margin,
@TABS@ may reset the right-margin.
When setting or resetting the left margin,
\fB@TABS@\fP may also reset the right margin.
.SH FILES
.TP
.I @DATADIR@/tabset
tab stop initialization database
.SH PORTABILITY
\fIIEEE Std 1003.1/The Open Group Base Specifications Issue 7\fP (POSIX.1-2008)
describes a \fBtabs\fP utility.
However
IEEE Std 1003.1/The Open Group Base Specifications Issue 7
(POSIX.1-2008)
describes a
.B tabs
utility.
However,
.bP
This standard describes a \fB+m\fP option, to set a terminal's left-margin.
this standard describes a
.B +m
option to set a terminal's left margin.
Very few of the entries in the terminal database provide the
\fBsmgl\fP (\fBset_left_margin\fP) or
\fBsmglp\fP (\fBset_left_margin_parm\fP)
capability needed to support the feature.
.B \%set_left_margin
.RB ( smgl )
or
.B \%set_left_margin_parm
.RB \%( smglp )
capabilities needed to support the feature.
.bP
There is no counterpart in X/Open Curses Issue 7 for this utility,
unlike \fB@TPUT@\fP(1).
.PP
The \fB\-d\fP (debug) and \fB\-n\fP (no-op) options are extensions not provided
by other implementations.
The
.B \-d
(debug) and
.B \-n
(no-op) options are
.I \%ncurses
extensions not provided by other implementations.
.SH HISTORY
A \fBtabs\fP utility appeared in PWB/Unix 1.0 (1977).
A
.B tabs
utility appeared in PWB/Unix 1.0 (1977).
.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=PWB1/sys/source/s2/\
.\" tabs.c
A reduced version shipped in Seventh Edition Unix
@ -252,8 +274,11 @@ it supported a \*(``\-n\*('' option to set the first tab stop at the
left margin.
That option is not documented by POSIX.
.PP
The PWB/Unix \fBtabs\fP utility returned in System III (1980),
and used built-in tables rather than the terminal database,
The PWB/Unix
.B tabs
utility returned in System III (1980),
and used built-in tables,
rather than the terminal database,
to support a half-dozen hardcopy terminal (printer) types.
It also had built-in logic to support setting the left margin,
as well as a feature for copying the tab settings from a file.
@ -263,50 +288,69 @@ such as SVr4,
.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=SysVR4/cmd/tabs/tabs.c
added support for the terminal database,
but retained the tables to support the printers.
In an earlier development effort,
the tab stop initialization provided by \fBtset\fP(1) (1982),
and incorporated into \fBtput\fP(1) uses the terminal database,
By this time,
System\ V
.B tput
had incorporated the tab stop initialization feature of BSD's
.B tset
from 1982,
but employed the
.I \%term\%info
database to do so.
.PP
The \fB+m\fP option was documented in the POSIX
Base Specifications Issue 5
The
.B +m
option was documented in the POSIX Base Specifications Issue 5
(Unix98, 1997),
then omitted in Issue 6
(Unix03, 2004)
without express motivation,
though an introductory comment
\fI\*(``and optionally adjusts the margin\*(''\fP remains,
\*(``and optionally adjusts the margin\*('' remains,
overlooked in the removal.
The \fBtabs\fP utility documented in Issues 6 and later has no mechanism
for setting margins.
The \fB+m\fP option in
The
.B tabs
utility documented in Issues 6 and later has no mechanism for setting
margins.
The
.B +m
option in
.I \%ncurses
\fBtabs\fP differs from the SVr4 feature by using terminal capabilities
rather than built-in tables.
\fB\%@TABS@\fP differs from the SVr4 feature by using terminal
capabilities rather than built-in tables.
.PP
POSIX documents no limit on the number of tab stops.
Other implementations impose one;
the limit is 20 in PWB/Unix's \fBtabs\fP utility.
the limit is 20 in PWB/Unix's
.B tabs
utility.
While some terminals may not accept an arbitrary number of tab stops,
.I \%ncurses
\fBtabs\fP attempts to set tab stops up to the right margin if the list
thereof is sufficiently long.
\fB\%@TABS@\fP attempts to set tab stops up to the right margin if the
list thereof is sufficiently long.
.PP
The \*(``Rationale\*('' section of the Issue 6 \fBtabs\fP reference page
The \*(``Rationale\*('' section of the Issue 6
.B tabs
reference page
.\" https://pubs.opengroup.org/onlinepubs/009604499/utilities/tabs.html
details how the committee considered redesigning the \fBtabs\fP and
\fBtput\fP utilities,
details how the committee considered redesigning the
.B tabs
and
.B tput
utilities,
without settling on an improved solution.
It claims that
.RS 5
.PP
no known historical version of tabs supports the capability of setting
arbitrary tab stops.
.RS 4
\*(``no known historical version of
.I tabs
supports the capability of setting arbitrary tab stops.\*(''
.RE
.PP
Nevertheless,
the feature described in subsection \*(``Explicit Lists\*('' above was
The feature described in subsection \*(``Explicit Lists\*('' above was
implemented in PWB/Unix,
and permits the setting of abitrary tab stops.
.\" see URL above
and permitted the setting of abitrary tab stops nevertheless.
.SH SEE ALSO
\fB\%@INFOCMP@\fP(1M),
\fB\%@TSET@\fP(1),

View File

@ -28,8 +28,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: toe.1m,v 1.62 2024/01/13 22:05:39 tom Exp $
.TH @TOE@ 1M 2024-01-13 "ncurses 6.4" "User commands"
.\" $Id: toe.1m,v 1.64 2024/01/20 16:51:21 tom Exp $
.TH @TOE@ 1M 2024-01-20 "ncurses 6.4" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
@ -167,8 +167,9 @@ terminal database directories named in the \fI\%TERMINFO\fP and
.RS 4
.PP
.\" toe -a | grep -E '^(xterm|vt)'
.ft \*(CW
.TS
Lf(\*(CW)2 Lf(\*(CW).
L2 Lx.
xterm\-color generic color xterm
xterm\-xfree86 xterm terminal emulator (XFree86)
xterm\-vt220 xterm emulating vt220
@ -188,6 +189,7 @@ vt52 dec vt52
L.
\&.\|.\|.
.TE
.ft
.RE
.PP
Use the \fB\-a\fP and \fB\-s\fP options together to show where each
@ -195,14 +197,15 @@ terminal description was found.
.RS 4
.PP
.\" toe -as | grep -E '(^-+>|:.(xterm|vt))'
.ft \*(CW
.TS
lf(\*(CW).
Lx.
\-\-> /etc/terminfo
\-\-\-\-> /lib/terminfo
\-\-\-\-\-\-> /usr/share/terminfo
.TE
.TS
lf(\*(CW)1 lf(\*(CW)2 lf(\*(CW).
L1 L2 Lx.
\-\-*\-\-\-: vt100 dec vt100 (w/advanced video)
\-\-*\-\-\-: vt102 dec vt102
\-\-*\-\-\-: vt220 dec vt220
@ -222,9 +225,10 @@ T}
xterm terminal emulator (XFree86)
T}
.T&
l.
L.
\&.\|.\|.
.TE
.ft
.RE
.SH SEE ALSO
\fB\%@CAPTOINFO@\fP(1M),

View File

@ -28,8 +28,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: tput.1,v 1.102 2024/01/13 22:47:16 tom Exp $
.TH @TPUT@ 1 2024-01-13 "ncurses 6.4" "User commands"
.\" $Id: tput.1,v 1.105 2024/01/20 19:41:02 tom Exp $
.TH @TPUT@ 1 2024-01-20 "ncurses 6.4" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
@ -47,9 +47,7 @@
..
.ds d @TERMINFO@
.SH NAME
\fB\%@TPUT@\fP,
\fB\%init\fP,
\fB\%reset\fP \-
\fB\%@TPUT@\fP \-
initialize a terminal, exercise its capabilities, or query \fI\%term\%info\fP database
.SH SYNOPSIS
\fB@TPUT@\fP [\fB\-T\fP \fIterminal-type\fP]
@ -277,16 +275,23 @@ executing a link named
.B \%reset
that points to \fB\%@TPUT@\fP has the same effect as
.RB \%\*(`` "@TPUT@ \%reset" \*(''.
(The \fB\%@TSET@\fP(1) utility also treats a link named
.B \%reset
specially.)
.PP
If \fB\%@TPUT@\fP is invoked by a link named
.BR \%init ,
this has the same effect as
.RB \%\*(`` "@TPUT@ init" \*(''.
Such a link is seldom employed because another program of that name
is in widespread use.
This feature was introduced by
.I \%ncurses
5.2 in 2000.
It is rarely used:
.TP
.B \%clear
is a separate program,
which is both smaller and more frequently executed.
.TP
.B init
has the same name as another program in widespread use.
.TP
.B \%reset
is provided
by the \fB\%@TSET@\fP(1) utility (also via a link named
.BR \%reset ")."
.SS "Terminal Size"
Besides the pseudo-capabilities
(such as
@ -410,7 +415,7 @@ _
4 some operands not interpreted
.TE
.SH ENVIRONMENT
\fB@TPUT@\fP command reads one environment variable.
\fB@TPUT@\fP reads one environment variable.
.TP 8n \" "TERM" + 2n + adjustment for PDF
.I TERM
denotes the terminal type.
@ -637,9 +642,9 @@ operands.
.bP
A few platforms such as FreeBSD recognize
.I termcap
names rather than
codes rather than
.I \%term\%info
capability names in their respective
capability codes in their respective
.B tput
commands.
Since 2010,
@ -647,13 +652,13 @@ NetBSD's
.B tput
uses
.I \%term\%info
names.
codes.
Before that,
it
(like FreeBSD)
recognized
.I termcap
names.
codes.
.IP
Beginning in 2021,
FreeBSD uses
@ -800,7 +805,7 @@ because he had only
available,
it accepted
.I termcap
names for other capabilities.
codes for other capabilities.
Also,
Bostic's BSD
.B tput

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
# $Id: Makefile.in,v 1.183 2022/10/01 12:47:39 tom Exp $
# $Id: Makefile.in,v 1.184 2024/01/19 12:00:00 tom Exp $
##############################################################################
# Copyright 2018-2021,2022 Thomas E. Dickey #
# Copyright 2018-2022,2024 Thomas E. Dickey #
# Copyright 1998-2017,2018 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
@ -251,7 +251,7 @@ init_keytry.h : make_keys$(BUILD_EXEEXT) keys.list
./make_keys$(BUILD_EXEEXT) keys.list > $@
keys.list : $(tinfo)/MKkeys_list.sh
AWK=$(AWK) $(SHELL) $(tinfo)/MKkeys_list.sh $(CAPLIST) | LC_ALL=C sort >$@
AWK=$(AWK) USE_SIGWINCH=@cf_cv_enable_sigwinch@ $(SHELL) $(tinfo)/MKkeys_list.sh $(CAPLIST) | LC_ALL=C sort >$@
make_keys$(BUILD_EXEEXT) : \
build.priv.h \
@ -288,7 +288,7 @@ report_offsets$(BUILD_EXEEXT) : \
$(SHELL) -e $(tinfo)/MKuserdefs.sh $(AWK) $(USE_BIG_STRINGS) $(CAPLIST) > $@
./lib_keyname.c: keys.list $(base)/MKkeyname.awk
$(AWK) -f $(base)/MKkeyname.awk bigstrings=$(USE_BIG_STRINGS) keys.list > $@
$(AWK) -f $(base)/MKkeyname.awk use_sigwinch=@cf_cv_enable_sigwinch@ bigstrings=$(USE_BIG_STRINGS) keys.list > $@
./codes.c: $(tinfo)/MKcodes.awk
$(AWK) -f $(tinfo)/MKcodes.awk bigstrings=$(USE_BIG_STRINGS) $(CAPLIST) >$@

View File

@ -1,7 +1,7 @@
#! /bin/sh
# $Id: MKkeys_list.sh,v 1.8 2022/02/05 20:40:20 tom Exp $
# $Id: MKkeys_list.sh,v 1.9 2024/01/19 12:26:30 tom Exp $
##############################################################################
# Copyright 2019-2020,2022 Thomas E. Dickey #
# Copyright 2019-2022,2024 Thomas E. Dickey #
# Copyright 2001-2003,2017 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
@ -36,6 +36,7 @@
# Extract function-key names from the Caps file
#
: ${AWK-awk}
: ${USE_SIGWINCH-0}
if test $# != 0
then
DATA="$*"
@ -53,8 +54,8 @@ cat <<EOF
KEY_BREAK
KEY_SRESET
KEY_RESET
KEY_RESIZE
EOF
test "$USE_SIGWINCH" = 1 && echo KEY_RESIZE
${AWK-awk} <$data '
/^#/ {next;}

View File

@ -1,8 +1,8 @@
ncurses6 (6.4+20240113) unstable; urgency=low
ncurses6 (6.4+20240120) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 13 Jan 2024 05:52:13 -0500
-- Thomas E. Dickey <dickey@invisible-island.net> Fri, 19 Jan 2024 06:23:02 -0500
ncurses6 (5.9+20131005) unstable; urgency=low

View File

@ -1,8 +1,8 @@
ncurses6 (6.4+20240113) unstable; urgency=low
ncurses6 (6.4+20240120) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 13 Jan 2024 05:52:13 -0500
-- Thomas E. Dickey <dickey@invisible-island.net> Fri, 19 Jan 2024 06:23:02 -0500
ncurses6 (5.9+20131005) unstable; urgency=low

View File

@ -1,8 +1,8 @@
ncurses6 (6.4+20240113) unstable; urgency=low
ncurses6 (6.4+20240120) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 13 Jan 2024 05:52:13 -0500
-- Thomas E. Dickey <dickey@invisible-island.net> Fri, 19 Jan 2024 06:23:02 -0500
ncurses6 (5.9+20120608) unstable; urgency=low

View File

@ -1,4 +1,4 @@
; $Id: mingw-ncurses.nsi,v 1.628 2024/01/13 10:52:13 tom Exp $
; $Id: mingw-ncurses.nsi,v 1.629 2024/01/19 11:23:02 tom Exp $
; TODO add examples
; TODO bump ABI to 6
@ -10,7 +10,7 @@
!define VERSION_MAJOR "6"
!define VERSION_MINOR "4"
!define VERSION_YYYY "2024"
!define VERSION_MMDD "0113"
!define VERSION_MMDD "0120"
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
!define MY_ABI "5"

View File

@ -3,7 +3,7 @@
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.4
Release: 20240113
Release: 20240120
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/

View File

@ -1,7 +1,7 @@
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.4
Release: 20240113
Release: 20240120
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/

View File

@ -1,7 +1,7 @@
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.4
Release: 20240113
Release: 20240120
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz

24
test/aclocal.m4 vendored
View File

@ -1,5 +1,5 @@
dnl***************************************************************************
dnl Copyright 2018-2022,2023 Thomas E. Dickey *
dnl Copyright 2018-2023,2024 Thomas E. Dickey *
dnl Copyright 2003-2017,2018 Free Software Foundation, Inc. *
dnl *
dnl Permission is hereby granted, free of charge, to any person obtaining a *
@ -27,7 +27,7 @@ dnl sale, use or other dealings in this Software without prior written *
dnl authorization. *
dnl***************************************************************************
dnl
dnl $Id: aclocal.m4,v 1.220 2023/12/03 14:21:34 tom Exp $
dnl $Id: aclocal.m4,v 1.221 2024/01/19 18:27:20 tom Exp $
dnl
dnl Author: Thomas E. Dickey
dnl
@ -1098,7 +1098,7 @@ fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_CURSES_TERM_H version: 15 updated: 2021/01/02 09:31:20
dnl CF_CURSES_TERM_H version: 16 updated: 2024/01/07 06:34:16
dnl ----------------
dnl SVr4 curses should have term.h as well (where it puts the definitions of
dnl the low-level interface). This may not be true in old/broken implementations,
@ -1144,7 +1144,7 @@ case "$cf_cv_term_header" in
#ifdef NCURSES_VERSION
#include <${cf_header}>
#else
make an error
#error expected NCURSES_VERSION to be defined
#endif],
[WINDOW *x; (void)x],
[cf_cv_term_header=$cf_header
@ -3074,7 +3074,7 @@ then
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_NCURSES_VERSION version: 17 updated: 2023/01/05 18:54:02
dnl CF_NCURSES_VERSION version: 18 updated: 2024/01/07 06:34:16
dnl ------------------
dnl Check for the version of ncurses, to aid in reporting bugs, etc.
dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use
@ -3104,7 +3104,7 @@ int main(void)
# ifdef __NCURSES_H
fprintf(fp, "old\\n");
# else
make an error
#error expected ncurses header to define __NCURSES_H
# endif
#endif
${cf_cv_main_return:-return}(0);
@ -4386,7 +4386,7 @@ fi
AC_SUBST(no_x11_rgb)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_XOPEN_CURSES version: 18 updated: 2023/01/11 04:05:23
dnl CF_XOPEN_CURSES version: 20 updated: 2024/01/07 06:54:12
dnl ---------------
dnl Test if we should define X/Open source for curses, needed on Digital Unix
dnl 4.x, to see the extended functions, but breaks on IRIX 6.x.
@ -4403,15 +4403,16 @@ $ac_includes_default
#include <${cf_cv_ncurses_header:-curses.h}>],[
#if defined(NCURSES_VERSION_PATCH)
#if (NCURSES_VERSION_PATCH < 20100501) && (NCURSES_VERSION_PATCH >= 20100403)
make an error
#error disallow ncurses versions between 2020/04/03 and 2010/05/01
#endif
#endif
#ifdef NCURSES_WIDECHAR
make an error /* prefer to fall-through on the second checks */
#error prefer to fall-through on the second checks
#endif
static char dummy[10];
cchar_t check;
int check2 = curs_set((int)sizeof(check));
long x = winnstr(stdscr, "", 0);
long x = winnstr(stdscr, dummy, 5);
int x1, y1;
(void)check2;
getbegyx(stdscr, y1, x1);
@ -4427,9 +4428,10 @@ make an error /* prefer to fall-through on the second checks */
#define $cf_try_xopen_extension 1
$ac_includes_default
#include <${cf_cv_ncurses_header:-curses.h}>],[
static char dummy[10];
cchar_t check;
int check2 = curs_set((int)sizeof(check));
long x = winnstr(stdscr, "", 0);
long x = winnstr(stdscr, dummy, 5);
int x1, y1;
getbegyx(stdscr, y1, x1);
(void)check2;

1034
test/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2002-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -27,7 +27,7 @@
* authorization. *
****************************************************************************/
/*
* $Id: demo_defkey.c,v 1.34 2023/06/24 15:37:17 tom Exp $
* $Id: demo_defkey.c,v 1.35 2024/01/20 20:46:12 tom Exp $
*
* Demonstrate the define_key() function.
* Thomas Dickey - 2002/11/23
@ -148,11 +148,7 @@ really_define_key(WINDOW *win, const char *new_string, int code)
}
log_last_line(win);
if (vis_string != 0) {
free(vis_string);
vis_string = 0;
}
free(vis_string);
vis_string = visible(new_string);
if ((rc = key_defined(new_string)) > 0) {
wprintw(win, "%s was bound to %s\n", vis_string, keyname(rc));