mirror of
https://github.com/Aigor44/ncursesw-morphos.git
synced 2024-11-21 03:12:03 +08:00
ncurses 6.3 - patch 20220101
+ add section on releasing memory to curs_termcap.3x and curs_terminfo.3x manpages.
This commit is contained in:
parent
74433bcf4f
commit
3b56f70388
@ -4,7 +4,7 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Files: *
|
||||
Copyright: 2017-2020,2021 by Thomas E. Dickey
|
||||
Copyright: 2017-2021,2022 by Thomas E. Dickey
|
||||
Copyright: 1998-2016,2017 Free Software Foundation, Inc.
|
||||
Licence: X11
|
||||
|
||||
|
4
COPYING
4
COPYING
@ -1,4 +1,4 @@
|
||||
Copyright 2018-2020,2021 Thomas E. Dickey
|
||||
Copyright 2018-2021,2022 Thomas E. Dickey
|
||||
Copyright 1998-2017,2018 Free Software Foundation, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
@ -26,4 +26,4 @@ sale, use or other dealings in this Software without prior written
|
||||
authorization.
|
||||
|
||||
-- vile:txtmode fc=72
|
||||
-- $Id: COPYING,v 1.10 2021/01/01 09:54:30 tom Exp $
|
||||
-- $Id: COPYING,v 1.11 2022/01/01 11:47:50 tom Exp $
|
||||
|
8
NEWS
8
NEWS
@ -1,5 +1,5 @@
|
||||
-------------------------------------------------------------------------------
|
||||
-- Copyright 2018-2020,2021 Thomas E. Dickey --
|
||||
-- Copyright 2018-2021,2022 Thomas E. Dickey --
|
||||
-- Copyright 1998-2017,2018 Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- Permission is hereby granted, free of charge, to any person obtaining a --
|
||||
@ -26,7 +26,7 @@
|
||||
-- sale, use or other dealings in this Software without prior written --
|
||||
-- authorization. --
|
||||
-------------------------------------------------------------------------------
|
||||
-- $Id: NEWS,v 1.3761 2021/12/26 00:29:27 tom Exp $
|
||||
-- $Id: NEWS,v 1.3764 2022/01/01 23:59:36 tom Exp $
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
This is a log of changes that ncurses has gone through since Zeyd started
|
||||
@ -46,6 +46,10 @@ 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.
|
||||
|
||||
20220101
|
||||
+ add section on releasing memory to curs_termcap.3x and
|
||||
curs_terminfo.3x manpages.
|
||||
|
||||
20211225
|
||||
+ improve markup, e.g., for external manpage links in the manpages
|
||||
(prompted by report by Helge Kreutzmann).
|
||||
|
6
dist.mk
6
dist.mk
@ -1,5 +1,5 @@
|
||||
##############################################################################
|
||||
# Copyright 2018-2020,2021 Thomas E. Dickey #
|
||||
# Copyright 2018-2021,2022 Thomas E. Dickey #
|
||||
# Copyright 1998-2017,2018 Free Software Foundation, Inc. #
|
||||
# #
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||
@ -26,7 +26,7 @@
|
||||
# use or other dealings in this Software without prior written #
|
||||
# authorization. #
|
||||
##############################################################################
|
||||
# $Id: dist.mk,v 1.1458 2021/12/25 22:11:07 tom Exp $
|
||||
# $Id: dist.mk,v 1.1460 2022/01/01 11:48:38 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 = 3
|
||||
NCURSES_PATCH = 20211225
|
||||
NCURSES_PATCH = 20220101
|
||||
|
||||
# We don't append the patch to the version, since this only applies to releases
|
||||
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
|
||||
|
@ -126,7 +126,7 @@
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
|
||||
|
||||
|
@ -199,7 +199,7 @@
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
|
||||
|
@ -150,7 +150,7 @@
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG>xterm(1)</STRONG>.
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<!--
|
||||
****************************************************************************
|
||||
* Copyright 2018-2020,2021 Thomas E. Dickey *
|
||||
* Copyright 2018-2021,2022 Thomas E. Dickey *
|
||||
* Copyright 1998-2017,2018 Free Software Foundation, Inc. *
|
||||
* *
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||
@ -27,7 +27,7 @@
|
||||
* sale, use or other dealings in this Software without prior written *
|
||||
* authorization. *
|
||||
****************************************************************************
|
||||
* @Id: curs_termcap.3x,v 1.52 2021/12/25 21:31:00 tom Exp @
|
||||
* @Id: curs_termcap.3x,v 1.55 2022/01/01 23:49:07 tom Exp @
|
||||
-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||
<HTML>
|
||||
@ -76,7 +76,7 @@
|
||||
been compiled.
|
||||
|
||||
|
||||
</PRE><H3><a name="h3-INITIALIZATION">INITIALIZATION</a></H3><PRE>
|
||||
</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
|
||||
The <STRONG>tgetent</STRONG> routine loads the entry for <EM>name</EM>. It returns:
|
||||
|
||||
1 on success,
|
||||
@ -100,7 +100,7 @@
|
||||
ing.
|
||||
|
||||
|
||||
</PRE><H3><a name="h3-CAPABILITY-VALUES">CAPABILITY VALUES</a></H3><PRE>
|
||||
</PRE><H3><a name="h3-Capability-Values">Capability Values</a></H3><PRE>
|
||||
The <STRONG>tgetflag</STRONG> routine gets the boolean entry for <EM>id</EM>, or zero if it is
|
||||
not available.
|
||||
|
||||
@ -129,7 +129,7 @@
|
||||
and <STRONG>tgetstr</STRONG> are compared in lookups.
|
||||
|
||||
|
||||
</PRE><H3><a name="h3-FORMATTING-CAPABILITIES">FORMATTING CAPABILITIES</a></H3><PRE>
|
||||
</PRE><H3><a name="h3-Formatting-Capabilities">Formatting Capabilities</a></H3><PRE>
|
||||
The <STRONG>tgoto</STRONG> routine expands the given capability using the parameters.
|
||||
|
||||
<STRONG>o</STRONG> Because the capability may have padding characters, the output of
|
||||
@ -157,7 +157,7 @@
|
||||
It can retrieve capabilities by either termcap or terminfo name.
|
||||
|
||||
|
||||
</PRE><H3><a name="h3-GLOBAL-VARIABLES">GLOBAL VARIABLES</a></H3><PRE>
|
||||
</PRE><H3><a name="h3-Global-Variables">Global Variables</a></H3><PRE>
|
||||
The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the terminfo entry's
|
||||
data for <STRONG>pad_char</STRONG>, <STRONG>cursor_up</STRONG> and <STRONG>backspace_if_not_bs</STRONG>, respectively. <STRONG>UP</STRONG>
|
||||
is not used by ncurses. <STRONG>PC</STRONG> is used in the <STRONG>tdelay_output</STRONG> function. <STRONG>BC</STRONG>
|
||||
@ -165,6 +165,29 @@
|
||||
in a system-specific coding to reflect the terminal speed.
|
||||
|
||||
|
||||
</PRE><H3><a name="h3-Releasing-Memory">Releasing Memory</a></H3><PRE>
|
||||
The termcap functions provide no means for freeing memory, because
|
||||
legacy termcap implementations used only the buffer areas provided by
|
||||
the caller via <STRONG>tgetent</STRONG> and <STRONG>tgetstr</STRONG>. Those buffers are unused in ter-
|
||||
minfo.
|
||||
|
||||
On the other hand, terminfo allocates memory. It uses <STRONG>setupterm</STRONG> to re-
|
||||
trieve the data used by <STRONG>tgetent</STRONG> and the functions which return capabil-
|
||||
ity values such as <STRONG>tgetstr</STRONG>. One could use
|
||||
|
||||
<STRONG>del_curterm(cur_term);</STRONG>
|
||||
|
||||
|
||||
to free this memory, but there is an additional complication with
|
||||
ncurses. It uses a fixed-size <EM>pool</EM> of storage locations, one per set-
|
||||
ting of the <STRONG>TERM</STRONG> variable when <STRONG>tgetent</STRONG> is called. The <STRONG>screen(1)</STRONG> pro-
|
||||
gram relies upon this arrangement, to improve its performance.
|
||||
|
||||
An application which uses only the low-level termcap functions could
|
||||
free the memory using <STRONG>del_curterm</STRONG>, because the pool is freed using oth-
|
||||
er functions (see <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>).
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
|
||||
Except where explicitly noted, routines that return an integer return
|
||||
<STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other
|
||||
@ -322,10 +345,11 @@
|
||||
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
|
||||
<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
|
||||
<ul>
|
||||
<li><a href="#h3-INITIALIZATION">INITIALIZATION</a></li>
|
||||
<li><a href="#h3-CAPABILITY-VALUES">CAPABILITY VALUES</a></li>
|
||||
<li><a href="#h3-FORMATTING-CAPABILITIES">FORMATTING CAPABILITIES</a></li>
|
||||
<li><a href="#h3-GLOBAL-VARIABLES">GLOBAL VARIABLES</a></li>
|
||||
<li><a href="#h3-Initialization">Initialization</a></li>
|
||||
<li><a href="#h3-Capability-Values">Capability Values</a></li>
|
||||
<li><a href="#h3-Formatting-Capabilities">Formatting Capabilities</a></li>
|
||||
<li><a href="#h3-Global-Variables">Global Variables</a></li>
|
||||
<li><a href="#h3-Releasing-Memory">Releasing Memory</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<!--
|
||||
****************************************************************************
|
||||
* Copyright 2018-2020,2021 Thomas E. Dickey *
|
||||
* Copyright 2018-2021,2022 Thomas E. Dickey *
|
||||
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
|
||||
* *
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||
@ -27,7 +27,9 @@
|
||||
* sale, use or other dealings in this Software without prior written *
|
||||
* authorization. *
|
||||
****************************************************************************
|
||||
* @Id: curs_terminfo.3x,v 1.79 2021/12/25 21:34:58 tom Exp @
|
||||
* @Id: curs_terminfo.3x,v 1.80 2022/01/01 21:50:06 tom Exp @
|
||||
* ***************************************************************************
|
||||
* ***************************************************************************
|
||||
* ***************************************************************************
|
||||
* ***************************************************************************
|
||||
* ***************************************************************************
|
||||
@ -348,9 +350,34 @@
|
||||
<STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*strnames[]</STRONG>, <STRONG>*strcodes[]</STRONG>, <STRONG>*strfnames[]</STRONG>
|
||||
|
||||
|
||||
</PRE><H3><a name="h3-Releasing-Memory">Releasing Memory</a></H3><PRE>
|
||||
Each successful call to <STRONG>setupterm</STRONG> allocates memory to hold the terminal
|
||||
description. As a side-effect, it sets <STRONG>cur_term</STRONG> to point to this memo-
|
||||
ry. If an application calls
|
||||
|
||||
<STRONG>del_curterm(cur_term);</STRONG>
|
||||
|
||||
the memory will be freed.
|
||||
|
||||
The formatting functions <STRONG>tparm</STRONG> and <STRONG>tiparm</STRONG> extend the storage allocated
|
||||
by <STRONG>setupterm</STRONG>:
|
||||
|
||||
<STRONG>o</STRONG> the "static" terminfo variables [a-z]. Before ncurses 6.3, those
|
||||
were shared by all screens. With ncurses 6.3, those are allocated
|
||||
per screen. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
|
||||
|
||||
<STRONG>o</STRONG> to improve performance, ncurses 6.3 caches the result of analyzing
|
||||
terminfo strings for their parameter types. That is stored as a
|
||||
binary tree referenced from the <STRONG>TERMINAL</STRONG> structure.
|
||||
|
||||
The higher-level <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> functions use <STRONG>setupterm</STRONG>. Normally
|
||||
they do not free this memory, but it is possible to do that using the
|
||||
<STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG> function.
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
|
||||
Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
|
||||
only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
|
||||
Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
|
||||
only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
|
||||
pletion, unless otherwise noted in the preceding routine descriptions.
|
||||
|
||||
Routines that return pointers always return <STRONG>NULL</STRONG> on error.
|
||||
@ -372,25 +399,25 @@
|
||||
ditions are documented above.
|
||||
|
||||
<STRONG>tputs</STRONG>
|
||||
returns an error if the string parameter is null. It does not
|
||||
detect I/O errors: X/Open states that <STRONG>tputs</STRONG> ignores the return
|
||||
returns an error if the string parameter is null. It does not
|
||||
detect I/O errors: X/Open states that <STRONG>tputs</STRONG> ignores the return
|
||||
value of the output function <EM>putc</EM>.
|
||||
|
||||
|
||||
</PRE><H3><a name="h3-Compatibility-macros">Compatibility macros</a></H3><PRE>
|
||||
This implementation provides a few macros for compatibility with sys-
|
||||
This implementation provides a few macros for compatibility with sys-
|
||||
tems before SVr4 (see <EM>HISTORY</EM>). Those include <STRONG>crmode</STRONG>, <STRONG>fixterm</STRONG>,
|
||||
<STRONG>gettmode</STRONG>, <STRONG>nocrmode</STRONG>, <STRONG>resetterm</STRONG>, <STRONG>saveterm</STRONG>, and <STRONG>setterm</STRONG>.
|
||||
|
||||
In SVr4, those are found in <STRONG><curses.h></STRONG>, but except for <STRONG>setterm</STRONG>, are
|
||||
In SVr4, those are found in <STRONG><curses.h></STRONG>, but except for <STRONG>setterm</STRONG>, are
|
||||
likewise macros. The one function, <STRONG>setterm</STRONG>, is mentioned in the manual
|
||||
page. The manual page notes that the <STRONG>setterm</STRONG> routine was replaced by
|
||||
page. The manual page notes that the <STRONG>setterm</STRONG> routine was replaced by
|
||||
<STRONG>setupterm</STRONG>, stating that the call:
|
||||
|
||||
<STRONG>setupterm(</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0)</STRONG>
|
||||
|
||||
provides the same functionality as <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>, and is not recommend-
|
||||
ed for new programs. This implementation provides each of those sym-
|
||||
ed for new programs. This implementation provides each of those sym-
|
||||
bols as macros for BSD compatibility,
|
||||
|
||||
|
||||
@ -403,7 +430,7 @@
|
||||
fixterm restore tty to "in curses" state
|
||||
gettmode establish current tty modes
|
||||
mvcur low level cursor motion
|
||||
putp utility function that uses <STRONG>tputs</STRONG> to send char-
|
||||
putp utility function that uses <STRONG>tputs</STRONG> to send char-
|
||||
acters via <STRONG>putchar</STRONG>.
|
||||
resetterm set tty modes to "out of curses" state
|
||||
resetty reset tty flags to stored value
|
||||
@ -414,10 +441,10 @@
|
||||
tparm instantiate a string expression with parameters
|
||||
tputs apply padding information to a string
|
||||
vidattr like <STRONG>vidputs</STRONG>, but outputs through <STRONG>putchar</STRONG>
|
||||
vidputs output a string to put terminal in a specified
|
||||
vidputs output a string to put terminal in a specified
|
||||
video attribute mode
|
||||
|
||||
The programming manual also mentioned functions provided for termcap
|
||||
The programming manual also mentioned functions provided for termcap
|
||||
compatibility (commenting that they "may go away at a later date"):
|
||||
|
||||
<STRONG>Function</STRONG> <STRONG>Description</STRONG>
|
||||
@ -430,19 +457,20 @@
|
||||
tputs apply padding to capability, calling
|
||||
a function to put characters
|
||||
|
||||
Early terminfo programs obtained capability values from the <STRONG>TERMINAL</STRONG>
|
||||
Early terminfo programs obtained capability values from the <STRONG>TERMINAL</STRONG>
|
||||
structure initialized by <STRONG>setupterm</STRONG>.
|
||||
|
||||
SVr3 extended terminfo by adding functions to retrieve capability val-
|
||||
SVr3 extended terminfo by adding functions to retrieve capability val-
|
||||
ues (like the termcap interface), and reusing tgoto and tputs:
|
||||
|
||||
<STRONG>Function</STRONG> <STRONG>Description</STRONG>
|
||||
-------------------------------------------
|
||||
tigetflag get boolean entry for given <EM>id</EM>
|
||||
|
||||
tigetnum get numeric entry for given <EM>id</EM>
|
||||
tigetstr get string entry for given <EM>id</EM>
|
||||
|
||||
SVr3 also replaced several of the SVr2 terminfo functions which had no
|
||||
SVr3 also replaced several of the SVr2 terminfo functions which had no
|
||||
counterpart in the termcap interface, documenting them as obsolete:
|
||||
|
||||
<STRONG>Function</STRONG> <STRONG>Replaced</STRONG> <STRONG>by</STRONG>
|
||||
@ -455,20 +483,20 @@
|
||||
saveterm def_prog_mode
|
||||
setterm setupterm
|
||||
|
||||
SVr3 kept the <STRONG>mvcur</STRONG>, <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> functions, along with <STRONG>putp</STRONG>,
|
||||
<STRONG>tparm</STRONG> and <STRONG>tputs</STRONG>. The latter were needed to support padding, and han-
|
||||
dling functions such as <STRONG>vidattr</STRONG> (which used more than the two parame-
|
||||
SVr3 kept the <STRONG>mvcur</STRONG>, <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> functions, along with <STRONG>putp</STRONG>,
|
||||
<STRONG>tparm</STRONG> and <STRONG>tputs</STRONG>. The latter were needed to support padding, and han-
|
||||
dling functions such as <STRONG>vidattr</STRONG> (which used more than the two parame-
|
||||
ters supported by <STRONG>tgoto</STRONG>).
|
||||
|
||||
SVr3 introduced the functions for switching between terminal descrip-
|
||||
SVr3 introduced the functions for switching between terminal descrip-
|
||||
tions, e.g., <STRONG>set_curterm</STRONG>. Some of that was incremental improvements to
|
||||
the SVr2 library:
|
||||
|
||||
<STRONG>o</STRONG> The <STRONG>TERMINAL</STRONG> type definition was introduced in SVr3.01, for the
|
||||
<STRONG>o</STRONG> The <STRONG>TERMINAL</STRONG> type definition was introduced in SVr3.01, for the
|
||||
<STRONG>term</STRONG> structure provided in SVr2.
|
||||
|
||||
<STRONG>o</STRONG> The various global variables such as <STRONG>boolnames</STRONG> were mentioned in
|
||||
the programming manual at this point, though the variables were
|
||||
<STRONG>o</STRONG> The various global variables such as <STRONG>boolnames</STRONG> were mentioned in
|
||||
the programming manual at this point, though the variables were
|
||||
provided in SVr2.
|
||||
|
||||
SVr4 added the <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> functions.
|
||||
@ -483,15 +511,15 @@
|
||||
</PRE><H3><a name="h3-Legacy-functions">Legacy functions</a></H3><PRE>
|
||||
X/Open notes that <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> may be macros.
|
||||
|
||||
The function <STRONG>setterm</STRONG> is not described by X/Open and must be considered
|
||||
The function <STRONG>setterm</STRONG> is not described by X/Open and must be considered
|
||||
non-portable. All other functions are as described by X/Open.
|
||||
|
||||
|
||||
</PRE><H3><a name="h3-Legacy-data">Legacy data</a></H3><PRE>
|
||||
<STRONG>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>. This is not
|
||||
<STRONG>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>. This is not
|
||||
part of X/Open Curses, but is assumed by some applications.
|
||||
|
||||
Other implementions may not declare the capability name arrays. Some
|
||||
Other implementions may not declare the capability name arrays. Some
|
||||
provide them without declaring them. X/Open does not specify them.
|
||||
|
||||
Extended terminal capability names, e.g., as defined by <STRONG>tic</STRONG> <STRONG>-x</STRONG>, are not
|
||||
@ -499,14 +527,14 @@
|
||||
|
||||
|
||||
</PRE><H3><a name="h3-Output-buffering">Output buffering</a></H3><PRE>
|
||||
Older versions of <STRONG>ncurses</STRONG> assumed that the file descriptor passed to
|
||||
Older versions of <STRONG>ncurses</STRONG> assumed that the file descriptor passed to
|
||||
<STRONG>setupterm</STRONG> from <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> uses buffered I/O, and would write to
|
||||
the corresponding stream. In addition to the limitation that the ter-
|
||||
minal was left in block-buffered mode on exit (like System V curses),
|
||||
it was problematic because <STRONG>ncurses</STRONG> did not allow a reliable way to
|
||||
the corresponding stream. In addition to the limitation that the ter-
|
||||
minal was left in block-buffered mode on exit (like System V curses),
|
||||
it was problematic because <STRONG>ncurses</STRONG> did not allow a reliable way to
|
||||
cleanup on receiving SIGTSTP.
|
||||
|
||||
The current version (ncurses6) uses output buffers managed directly by
|
||||
The current version (ncurses6) uses output buffers managed directly by
|
||||
<STRONG>ncurses</STRONG>. Some of the low-level functions described in this manual page
|
||||
write to the standard output. They are not signal-safe. The high-lev-
|
||||
el functions in <STRONG>ncurses</STRONG> use alternate versions of these functions using
|
||||
@ -515,70 +543,71 @@
|
||||
|
||||
</PRE><H3><a name="h3-Function-prototypes">Function prototypes</a></H3><PRE>
|
||||
The X/Open Curses prototypes are based on the SVr4 curses header decla-
|
||||
rations, which were defined at the same time the C language was first
|
||||
rations, which were defined at the same time the C language was first
|
||||
standardized in the late 1980s.
|
||||
|
||||
<STRONG>o</STRONG> X/Open Curses uses <STRONG>const</STRONG> less effectively than a later design
|
||||
might, in some cases applying it needlessly to values are already
|
||||
constant, and in most cases overlooking parameters which normally
|
||||
would use <STRONG>const</STRONG>. Using constant parameters for functions which do
|
||||
<STRONG>o</STRONG> X/Open Curses uses <STRONG>const</STRONG> less effectively than a later design
|
||||
might, in some cases applying it needlessly to values are already
|
||||
constant, and in most cases overlooking parameters which normally
|
||||
would use <STRONG>const</STRONG>. Using constant parameters for functions which do
|
||||
not use <STRONG>const</STRONG> may prevent the program from compiling. On the other
|
||||
hand, <EM>writable</EM> <EM>strings</EM> are an obsolescent feature.
|
||||
|
||||
As an extension, this implementation can be configured to change
|
||||
the function prototypes to use the <STRONG>const</STRONG> keyword. The ncurses ABI
|
||||
As an extension, this implementation can be configured to change
|
||||
the function prototypes to use the <STRONG>const</STRONG> keyword. The ncurses ABI
|
||||
6 enables this feature by default.
|
||||
|
||||
<STRONG>o</STRONG> X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of parameters,
|
||||
<STRONG>o</STRONG> X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of parameters,
|
||||
rather than a variable argument list.
|
||||
|
||||
This implementation uses a variable argument list, but can be con-
|
||||
figured to use the fixed-parameter list. Portable applications
|
||||
should provide 9 parameters after the format; zeroes are fine for
|
||||
This implementation uses a variable argument list, but can be con-
|
||||
figured to use the fixed-parameter list. Portable applications
|
||||
should provide 9 parameters after the format; zeroes are fine for
|
||||
this purpose.
|
||||
|
||||
In response to review comments by Thomas E. Dickey, X/Open Curses
|
||||
In response to review comments by Thomas E. Dickey, X/Open Curses
|
||||
Issue 7 proposed the <STRONG>tiparm</STRONG> function in mid-2009.
|
||||
|
||||
|
||||
</PRE><H3><a name="h3-Special-TERM-treatment">Special TERM treatment</a></H3><PRE>
|
||||
If configured to use the terminal-driver, e.g., for the MinGW port,
|
||||
|
||||
<STRONG>o</STRONG> <STRONG>setupterm</STRONG> interprets a missing/empty TERM variable as the special
|
||||
<STRONG>o</STRONG> <STRONG>setupterm</STRONG> interprets a missing/empty TERM variable as the special
|
||||
value "unknown".
|
||||
|
||||
<STRONG>o</STRONG> <STRONG>setupterm</STRONG> allows explicit use of the the windows console driver by
|
||||
checking if $TERM is set to "#win32con" or an abbreviation of that
|
||||
<STRONG>o</STRONG> <STRONG>setupterm</STRONG> allows explicit use of the the windows console driver by
|
||||
checking if $TERM is set to "#win32con" or an abbreviation of that
|
||||
string.
|
||||
|
||||
|
||||
</PRE><H3><a name="h3-Other-portability-issues">Other portability issues</a></H3><PRE>
|
||||
In System V Release 4, <STRONG>set_curterm</STRONG> has an <STRONG>int</STRONG> return type and returns
|
||||
In System V Release 4, <STRONG>set_curterm</STRONG> has an <STRONG>int</STRONG> return type and returns
|
||||
<STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. We have chosen to implement the X/Open Curses semantics.
|
||||
|
||||
In System V Release 4, the third argument of <STRONG>tputs</STRONG> has the type <STRONG>int</STRONG>
|
||||
In System V Release 4, the third argument of <STRONG>tputs</STRONG> has the type <STRONG>int</STRONG>
|
||||
<STRONG>(*putc)(char)</STRONG>.
|
||||
|
||||
At least one implementation of X/Open Curses (Solaris) returns a value
|
||||
other than <STRONG>OK</STRONG>/<STRONG>ERR</STRONG> from <STRONG>tputs</STRONG>. That returns the length of the string,
|
||||
At least one implementation of X/Open Curses (Solaris) returns a value
|
||||
other than <STRONG>OK</STRONG>/<STRONG>ERR</STRONG> from <STRONG>tputs</STRONG>. That returns the length of the string,
|
||||
and does no error-checking.
|
||||
|
||||
X/Open notes that after calling <STRONG>mvcur</STRONG>, the curses state may not match
|
||||
X/Open notes that after calling <STRONG>mvcur</STRONG>, the curses state may not match
|
||||
the actual terminal state, and that an application should touch and re-
|
||||
fresh the window before resuming normal curses calls. Both <STRONG>ncurses</STRONG> and
|
||||
System V Release 4 curses implement <STRONG>mvcur</STRONG> using the SCREEN data allo-
|
||||
cated in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. So though it is documented as a
|
||||
terminfo function, <STRONG>mvcur</STRONG> is really a curses function which is not well
|
||||
System V Release 4 curses implement <STRONG>mvcur</STRONG> using the SCREEN data allo-
|
||||
cated in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. So though it is documented as a
|
||||
terminfo function, <STRONG>mvcur</STRONG> is really a curses function which is not well
|
||||
specified.
|
||||
|
||||
X/Open states that the old location must be given for <STRONG>mvcur</STRONG>. This im-
|
||||
plementation allows the caller to use -1's for the old ordinates. In
|
||||
X/Open states that the old location must be given for <STRONG>mvcur</STRONG>. This im-
|
||||
plementation allows the caller to use -1's for the old ordinates. In
|
||||
that case, the old location is unknown.
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,
|
||||
<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
|
||||
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>,
|
||||
<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG>ter-</STRONG>
|
||||
<STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>
|
||||
|
||||
|
||||
|
||||
@ -596,6 +625,7 @@
|
||||
<li><a href="#h3-Output-Functions">Output Functions</a></li>
|
||||
<li><a href="#h3-Terminal-Capability-Functions">Terminal Capability Functions</a></li>
|
||||
<li><a href="#h3-Terminal-Capability-Names">Terminal Capability Names</a></li>
|
||||
<li><a href="#h3-Releasing-Memory">Releasing Memory</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a>
|
||||
|
@ -248,7 +248,7 @@
|
||||
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
|
||||
descriptions of the entry points.
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
|
||||
|
||||
|
@ -514,7 +514,7 @@
|
||||
|
||||
https://invisible-island.net/ncurses/tctest.html
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
|
||||
|
@ -91,7 +91,7 @@
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
|
||||
|
@ -223,7 +223,7 @@
|
||||
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed
|
||||
descriptions of the entry points.
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
|
||||
|
||||
|
@ -60,7 +60,7 @@
|
||||
method of updating character screens with reasonable optimization.
|
||||
This implementation is "new curses" (ncurses) and is the approved
|
||||
replacement for 4.4BSD classic curses, which has been discontinued.
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
The <STRONG>ncurses</STRONG> library emulates the curses library of System V Release 4
|
||||
UNIX, and XPG4 (X/Open Portability Guide) curses (also known as XSI
|
||||
|
@ -113,7 +113,7 @@
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
|
||||
|
||||
|
@ -281,7 +281,7 @@
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
|
||||
|
@ -252,7 +252,7 @@
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
|
||||
|
||||
|
@ -106,7 +106,7 @@
|
||||
have, by specifying how to perform screen operations, and by specifying
|
||||
padding requirements and initialization sequences.
|
||||
|
||||
This manual describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This manual describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
|
||||
</PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
|
||||
|
@ -461,7 +461,7 @@
|
||||
<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
|
||||
<STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
|
||||
|
@ -171,7 +171,7 @@
|
||||
<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
|
||||
<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
|
||||
|
||||
|
@ -545,7 +545,7 @@
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
|
||||
|
||||
|
@ -391,7 +391,7 @@
|
||||
<STRONG>csh(1)</STRONG>, <STRONG>sh(1)</STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>tty(4)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
|
||||
<STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20211225).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.3 (patch 20220101).
|
||||
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright 2018-2020,2021 Thomas E. Dickey *
|
||||
.\" Copyright 2018-2021,2022 Thomas E. Dickey *
|
||||
.\" Copyright 1998-2017,2018 Free Software Foundation, Inc. *
|
||||
.\" *
|
||||
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
||||
@ -27,7 +27,7 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: curs_termcap.3x,v 1.52 2021/12/25 21:31:00 tom Exp $
|
||||
.\" $Id: curs_termcap.3x,v 1.55 2022/01/01 23:49:07 tom Exp $
|
||||
.TH curs_termcap 3X ""
|
||||
.ie \n(.g .ds `` \(lq
|
||||
.el .ds `` ``
|
||||
@ -86,7 +86,7 @@ routines are emulated using the \fIterminfo\fP database.
|
||||
Thus, they
|
||||
can only be used to query the capabilities of entries for which a
|
||||
terminfo entry has been compiled.
|
||||
.SS INITIALIZATION
|
||||
.SS Initialization
|
||||
.PP
|
||||
The \fBtgetent\fP routine loads the entry for \fIname\fP.
|
||||
It returns:
|
||||
@ -118,7 +118,7 @@ The \fItermcap\fP library does not check if the terminal
|
||||
description is marked with the \fIgeneric\fP capability,
|
||||
or if the terminal description has cursor-addressing.
|
||||
.RE
|
||||
.SS CAPABILITY VALUES
|
||||
.SS Capability Values
|
||||
.PP
|
||||
The \fBtgetflag\fP routine gets the boolean entry for \fIid\fP,
|
||||
or zero if it is not available.
|
||||
@ -152,7 +152,7 @@ Only the first two characters of the \fBid\fP parameter of
|
||||
\fBtgetflag\fP,
|
||||
\fBtgetnum\fP and
|
||||
\fBtgetstr\fP are compared in lookups.
|
||||
.SS FORMATTING CAPABILITIES
|
||||
.SS Formatting Capabilities
|
||||
.PP
|
||||
The \fBtgoto\fP routine expands the given capability using the parameters.
|
||||
.bP
|
||||
@ -181,7 +181,7 @@ and portable \fItermcap\fP applications should not rely upon its availability.
|
||||
The \fBtputs\fP routine is described on the \fBcurs_terminfo\fP(3X) manual
|
||||
page.
|
||||
It can retrieve capabilities by either termcap or terminfo name.
|
||||
.SS GLOBAL VARIABLES
|
||||
.SS Global Variables
|
||||
.PP
|
||||
The variables
|
||||
\fBPC\fP,
|
||||
@ -197,6 +197,30 @@ respectively.
|
||||
\fBBC\fP is used in the \fBtgoto\fP emulation.
|
||||
The variable \fBospeed\fP is set by ncurses in a system-specific coding
|
||||
to reflect the terminal speed.
|
||||
.SS Releasing Memory
|
||||
The termcap functions provide no means for freeing memory,
|
||||
because legacy termcap implementations used only the buffer
|
||||
areas provided by the caller via \fBtgetent\fP and \fBtgetstr\fP.
|
||||
Those buffers are unused in terminfo.
|
||||
.PP
|
||||
On the other hand, terminfo allocates memory.
|
||||
It uses \fBsetupterm\fP to retrieve the data used by \fBtgetent\fP
|
||||
and the functions which return capability values such as \fBtgetstr\fP.
|
||||
One could use
|
||||
.sp
|
||||
\fBdel_curterm(cur_term);\fP
|
||||
.sp
|
||||
.PP
|
||||
to free this memory, but there is an additional complication with ncurses.
|
||||
It uses a fixed-size \fIpool\fP of storage locations,
|
||||
one per setting of the \fBTERM\fP variable when \fBtgetent\fP is called.
|
||||
The \fBscreen\fP(1) program relies upon this arrangement,
|
||||
to improve its performance.
|
||||
.PP
|
||||
An application which uses only the low-level termcap functions could
|
||||
free the memory using \fBdel_curterm\fP,
|
||||
because the pool is freed using other functions
|
||||
(see \fBcurs_memleaks\fP(3X)).
|
||||
.
|
||||
.SH RETURN VALUE
|
||||
Except where explicitly noted,
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright 2018-2020,2021 Thomas E. Dickey *
|
||||
.\" Copyright 2018-2021,2022 Thomas E. Dickey *
|
||||
.\" Copyright 1998-2016,2017 Free Software Foundation, Inc. *
|
||||
.\" *
|
||||
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
||||
@ -27,7 +27,7 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: curs_terminfo.3x,v 1.79 2021/12/25 21:34:58 tom Exp $
|
||||
.\" $Id: curs_terminfo.3x,v 1.80 2022/01/01 21:50:06 tom Exp $
|
||||
.TH curs_terminfo 3X ""
|
||||
.ie \n(.g .ds `` \(lq
|
||||
.el .ds `` ``
|
||||
@ -407,6 +407,32 @@ for each of the predefined \fBterminfo\fP variables:
|
||||
.br
|
||||
\fBconst char *strnames[]\fP, \fB*strcodes[]\fP, \fB*strfnames[]\fP
|
||||
.RE
|
||||
.\" ***************************************************************************
|
||||
.SS Releasing Memory
|
||||
Each successful call to \fBsetupterm\fP allocates memory to hold the terminal
|
||||
description. As a side-effect, it sets \fBcur_term\fP to point to this memory.
|
||||
If an application calls
|
||||
.sp
|
||||
\fBdel_curterm(cur_term);\fP
|
||||
.sp
|
||||
the memory will be freed.
|
||||
.PP
|
||||
The formatting functions \fBtparm\fP and \fBtiparm\fP extend the storage
|
||||
allocated by \fBsetupterm\fP:
|
||||
.bP
|
||||
the \*(``static\*('' terminfo variables [a-z].
|
||||
Before ncurses 6.3, those were shared by all screens.
|
||||
With ncurses 6.3, those are allocated per screen.
|
||||
See \fBterminfo\fP(\*n) for details.
|
||||
.bP
|
||||
to improve performance, ncurses 6.3 caches the result of analyzing terminfo
|
||||
strings for their parameter types.
|
||||
That is stored as a binary tree referenced from the \fBTERMINAL\fP structure.
|
||||
.PP
|
||||
The higher-level \fBinitscr\fP and \fBnewterm\fP functions use \fBsetupterm\fP.
|
||||
Normally they do not free this memory, but it is possible to do that using
|
||||
the \fBdelscreen\fP(3X) function.
|
||||
.\" ***************************************************************************
|
||||
.SH RETURN VALUE
|
||||
Routines that return an integer return \fBERR\fP upon failure and \fBOK\fP
|
||||
(SVr4 only specifies \*(``an integer value other than \fBERR\fP\*('')
|
||||
@ -675,6 +701,7 @@ In that case, the old location is unknown.
|
||||
\fBcurses\fP(3X),
|
||||
\fBcurs_initscr\fP(3X),
|
||||
\fBcurs_kernel\fP(3X),
|
||||
\fBcurs_memleaks\fP(3X),
|
||||
\fBcurs_termcap\fP(3X),
|
||||
\fBcurs_variables\fP(3X),
|
||||
\fBterm_variables\fP(3X),
|
||||
|
@ -1,8 +1,8 @@
|
||||
ncurses6 (6.3+20211225) unstable; urgency=low
|
||||
ncurses6 (6.3+20220101) unstable; urgency=low
|
||||
|
||||
* latest weekly patch
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Fri, 24 Dec 2021 15:26:19 -0500
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 01 Jan 2022 06:46:49 -0500
|
||||
|
||||
ncurses6 (5.9-20131005) unstable; urgency=low
|
||||
|
||||
|
@ -5,7 +5,7 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Files: *
|
||||
Copyright: 2017-2020,2021 by Thomas E. Dickey
|
||||
Copyright: 2017-2021,2022 by Thomas E. Dickey
|
||||
Copyright: 1998-2016,2017 Free Software Foundation, Inc.
|
||||
Licence: X11
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
ncurses6 (6.3+20211225) unstable; urgency=low
|
||||
ncurses6 (6.3+20220101) unstable; urgency=low
|
||||
|
||||
* latest weekly patch
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Fri, 24 Dec 2021 15:26:19 -0500
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 01 Jan 2022 06:46:49 -0500
|
||||
|
||||
ncurses6 (5.9-20131005) unstable; urgency=low
|
||||
|
||||
|
@ -5,7 +5,7 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Files: *
|
||||
Copyright: 2017-2020,2021 by Thomas E. Dickey
|
||||
Copyright: 2017-2021,2022 by Thomas E. Dickey
|
||||
Copyright: 1998-2016,2017 Free Software Foundation, Inc.
|
||||
Licence: X11
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
ncurses6 (6.3+20211225) unstable; urgency=low
|
||||
ncurses6 (6.3+20220101) unstable; urgency=low
|
||||
|
||||
* latest weekly patch
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Fri, 24 Dec 2021 15:26:19 -0500
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 01 Jan 2022 06:46:49 -0500
|
||||
|
||||
ncurses6 (5.9-20120608) unstable; urgency=low
|
||||
|
||||
|
@ -5,7 +5,7 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Files: *
|
||||
Copyright: 2017-2020,2021 by Thomas E. Dickey
|
||||
Copyright: 2017-2021,2022 by Thomas E. Dickey
|
||||
Copyright: 1998-2016,2017 Free Software Foundation, Inc.
|
||||
Licence: X11
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; $Id: mingw-ncurses.nsi,v 1.499 2021/12/24 20:26:19 tom Exp $
|
||||
; $Id: mingw-ncurses.nsi,v 1.500 2022/01/01 11:46:49 tom Exp $
|
||||
|
||||
; TODO add examples
|
||||
; TODO bump ABI to 6
|
||||
@ -9,8 +9,8 @@
|
||||
|
||||
!define VERSION_MAJOR "6"
|
||||
!define VERSION_MINOR "3"
|
||||
!define VERSION_YYYY "2021"
|
||||
!define VERSION_MMDD "1225"
|
||||
!define VERSION_YYYY "2022"
|
||||
!define VERSION_MMDD "0101"
|
||||
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
|
||||
|
||||
!define MY_ABI "5"
|
||||
|
@ -3,7 +3,7 @@
|
||||
Summary: shared libraries for terminal handling
|
||||
Name: mingw32-ncurses6
|
||||
Version: 6.3
|
||||
Release: 20211225
|
||||
Release: 20220101
|
||||
License: X11
|
||||
Group: Development/Libraries
|
||||
Source: ncurses-%{version}-%{release}.tgz
|
||||
|
@ -1,7 +1,7 @@
|
||||
Summary: shared libraries for terminal handling
|
||||
Name: ncurses6
|
||||
Version: 6.3
|
||||
Release: 20211225
|
||||
Release: 20220101
|
||||
License: X11
|
||||
Group: Development/Libraries
|
||||
Source: ncurses-%{version}-%{release}.tgz
|
||||
|
@ -1,7 +1,7 @@
|
||||
Summary: Curses library with POSIX thread support.
|
||||
Name: ncursest6
|
||||
Version: 6.3
|
||||
Release: 20211225
|
||||
Release: 20220101
|
||||
License: X11
|
||||
Group: Development/Libraries
|
||||
Source: ncurses-%{version}-%{release}.tgz
|
||||
|
@ -4,7 +4,7 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Files: *
|
||||
Copyright: 2017-2020,2021 Thomas E. Dickey
|
||||
Copyright: 2017-2021,2022 Thomas E. Dickey
|
||||
Copyright: 1998-2016,2017 Free Software Foundation, Inc.
|
||||
Licence: X11
|
||||
|
||||
|
@ -4,7 +4,7 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Files: *
|
||||
Copyright: 2017-2020,2021 Thomas E. Dickey
|
||||
Copyright: 2017-2021,2022 Thomas E. Dickey
|
||||
Copyright: 1998-2016,2017 Free Software Foundation, Inc.
|
||||
Licence: X11
|
||||
|
||||
|
@ -4,7 +4,7 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Files: *
|
||||
Copyright: 2017-2020,2021 Thomas E. Dickey
|
||||
Copyright: 2017-2021,2022 Thomas E. Dickey
|
||||
Copyright: 1998-2016,2017 Free Software Foundation, Inc.
|
||||
Licence: X11
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user