+ improve formatting of manpages (patches by Branden Robinson).
> patches by Nicholas Marriott:
+ use string-hacks in alloc_entry.c, alloc_type.c and hardscroll.c,
overlooked due to compiler changes in recent OpenBSD releases.
+ add "-6" option to ncu2openbsd script.
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3992 2023/09/02 22:31:36 tom Exp $
+-- $Id: NEWS,v 1.3995 2023/09/09 16:45:37 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20230909
+ + improve formatting of manpages (patches by Branden Robinson).
+ > patches by Nicholas Marriott:
+ + use string-hacks in alloc_entry.c, alloc_type.c and hardscroll.c,
+ overlooked due to compiler changes in recent OpenBSD releases.
+ + add "-6" option to ncu2openbsd script.
+
20230902
+ improve description of search rules for terminal descriptions in
terminfo manpage (report by Sven Joachim).
-5:0:10 6.4 20230902
+5:0:10 6.4 20230909
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1562 2023/09/02 09:30:01 tom Exp $
+# $Id: dist.mk,v 1.1563 2023/09/09 12:21:39 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 4
-NCURSES_PATCH = 20230902
+NCURSES_PATCH = 20230909
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: MKada_config.in,v 1.16 2023/08/19 19:12:34 tom Exp @
+ * @Id: MKada_config.in,v 1.17 2023/09/09 17:06:25 Branden.Robinson Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
</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.4 (patch 20230902).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: captoinfo.1m,v 1.37 2023/08/19 20:36:21 tom Exp @
+ * @Id: captoinfo.1m,v 1.39 2023/09/09 16:40:25 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>captoinfo 1m 2023-08-19 ncurses 6.4 User commands</TITLE>
+<TITLE>captoinfo 1m 2023-09-09 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">captoinfo 1m 2023-08-19 ncurses 6.4 User commands</H1>
+<H1 class="no-header">captoinfo 1m 2023-09-09 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG> User commands <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
not mistakenly translated a completely unknown and random capability
and/or syntax error.
- Nonstd Std From Terminfo
- name name capability
+ <STRONG>Nonstd</STRONG> <STRONG>Std</STRONG> <STRONG>Terminfo</STRONG>
+ <STRONG>name</STRONG> <STRONG>name</STRONG> <STRONG>From</STRONG> <STRONG>capability</STRONG>
-----------------------------------------------
BO mr AT&T enter_reverse_mode
CI vi AT&T cursor_invisible
forms drawing, designed to take advantage of the IBM PC high-half
graphics. They were as follows:
- Cap Graphic
+ <STRONG>Cap</STRONG> <STRONG>Graphic</STRONG>
-----------------------------
G2 upper left
G3 lower left
incompatible with the SVr4 format. The following AIX extensions are
automatically translated:
- IBM XSI
+ <STRONG>IBM</STRONG> <STRONG>XSI</STRONG>
-------------
ksel kslt
kbtab kcbt
</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.4 (patch 20230902).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-ncurses 6.4 2023-08-19 <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
+ncurses 6.4 2023-09-09 <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: clear.1,v 1.33 2023/07/01 14:23:04 tom Exp @
+ * @Id: clear.1,v 1.35 2023/09/09 21:12:26 tom Exp @
* these would be fallbacks for DS/DE,
* but groff changed the meaning of the macros.
-->
<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>clear 1 2023-07-01 ncurses 6.4 User commands</TITLE>
+<TITLE>clear 1 2023-09-09 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">clear 1 2023-07-01 ncurses 6.4 User commands</H1>
+<H1 class="no-header">clear 1 2023-09-09 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> User commands <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG>xterm(1)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230902).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
-ncurses 6.4 2023-07-01 <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
+ncurses 6.4 2023-09-09 <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_attr.3x,v 1.78 2023/08/19 20:37:30 tom Exp @
+ * @Id: curs_attr.3x,v 1.80 2023/09/09 21:13:26 tom Exp @
* ---------------------------------------------------------------------------
* attr_get
* .br
<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>curs_attr 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_attr 3x 2023-09-09 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_attr 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_attr 3x 2023-09-09 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-ncurses 6.4 2023-08-19 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ncurses 6.4 2023-09-09 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_mouse.3x,v 1.64 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_mouse.3x,v 1.66 2023/09/09 21:13:51 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>curs_mouse 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_mouse 3x 2023-09-09 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_mouse 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_mouse 3x 2023-09-09 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+ncurses 6.4 2023-09-09 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 2000-2011,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997,1999,2000,2005
- * @Id: default_colors.3x,v 1.37 2023/08/19 19:48:15 tom Exp @
+ * @Id: default_colors.3x,v 1.38 2023/08/19 19:48:15 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<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.4 (patch 20230902).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: infocmp.1m,v 1.88 2023/09/02 22:29:02 tom Exp @
+ * @Id: infocmp.1m,v 1.90 2023/09/09 21:14:05 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>infocmp 1m 2023-09-02 ncurses 6.4 User commands</TITLE>
+<TITLE>infocmp 1m 2023-09-09 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">infocmp 1m 2023-09-02 ncurses 6.4 User commands</H1>
+<H1 class="no-header">infocmp 1m 2023-09-09 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> User commands <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
https://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230902).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-ncurses 6.4 2023-09-02 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+ncurses 6.4 2023-09-09 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
</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.4 (patch 20230902).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed
descriptions of the entry points.
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230902).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: ncurses.3x,v 1.164 2023/08/19 19:23:43 tom Exp @
+ * @Id: ncurses.3x,v 1.167 2023/09/09 21:11:08 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>ncurses 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>ncurses 3x 2023-09-09 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">ncurses 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">ncurses 3x 2023-09-09 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> Library calls <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
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.4 (patch 20230902).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
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
-ncurses 6.4 2023-08-19 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ncurses 6.4 2023-09-09 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
</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.4 (patch 20230902).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey
- * @Id: new_pair.3x,v 1.24 2023/07/01 15:46:10 tom Exp @
+ * @Id: new_pair.3x,v 1.26 2023/09/09 21:20:16 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>new_pair 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>new_pair 3x 2023-09-09 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">new_pair 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">new_pair 3x 2023-09-09 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG> Library calls <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
+ncurses 6.4 2023-09-09 <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
</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.4 (patch 20230902).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: scr_dump.5,v 1.25 2023/07/01 15:46:10 tom Exp @
+ * @Id: scr_dump.5,v 1.27 2023/09/09 21:20:16 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>scr_dump 5 2023-07-01 ncurses 6.4 File formats</TITLE>
+<TITLE>scr_dump 5 2023-09-09 ncurses 6.4 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">scr_dump 5 2023-07-01 ncurses 6.4 File formats</H1>
+<H1 class="no-header">scr_dump 5 2023-09-09 ncurses 6.4 File formats</H1>
<PRE>
<STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG> File formats <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
+ncurses 6.4 2023-09-09 <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tabs.1,v 1.39 2023/07/01 15:46:10 tom Exp @
+ * @Id: tabs.1,v 1.41 2023/09/09 21:19:07 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-07-01 ncurses 6.4 User commands</TITLE>
+<TITLE>tabs 1 2023-09-09 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tabs 1 2023-07-01 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tabs 1 2023-09-09 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>
</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.4 (patch 20230902).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
-ncurses 6.4 2023-07-01 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+ncurses 6.4 2023-09-09 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term.5,v 1.48 2023/07/01 15:46:10 tom Exp @
+ * @Id: term.5,v 1.52 2023/09/09 17:14:44 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>term 5 2023-07-01 ncurses 6.4 File formats</TITLE>
+<TITLE>term 5 2023-09-09 ncurses 6.4 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">term 5 2023-07-01 ncurses 6.4 File formats</H1>
+<H1 class="no-header">term 5 2023-09-09 ncurses 6.4 File formats</H1>
<PRE>
<STRONG><A HREF="term.5.html">term(5)</A></STRONG> File formats <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
and a hexadecimal dump of the compiled terminal description:
- 0000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3
- 0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P.
- 0020 ff ff 18 00 ff ff 00 00 02 00 ff ff ff ff 04 00 ........ ........
- 0030 ff ff ff ff ff ff ff ff 0a 00 25 00 27 00 ff ff ........ ..%.'...
- 0040 29 00 ff ff ff ff 2b 00 ff ff 2d 00 ff ff ff ff ).....+. ..-.....
- 0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0120 ff ff ff ff ff ff 2f 00 07 00 0d 00 1a 24 3c 31 ....../. .....$<1
- 0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 >..=%p1% {32}%+%c
- 0140 25 70 32 25 7b 33 32 7d 25 2b 25 63 00 0a 00 1e %p2%{32} %+%c....
- 0150 00 08 00 0c 00 0b 00 0a 00 ........ .
-
+ 0000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3
+ 0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P.
+ 0020 ff ff 18 00 ff ff 00 00 02 00 ff ff ff ff 04 00 ........ ........
+ 0030 ff ff ff ff ff ff ff ff 0a 00 25 00 27 00 ff ff ........ ..%.'...
+ 0040 29 00 ff ff ff ff 2b 00 ff ff 2d 00 ff ff ff ff ).....+. ..-.....
+ 0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0120 ff ff ff ff ff ff 2f 00 07 00 0d 00 1a 24 3c 31 ....../. .....$<1
+ 0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 >..=%p1% {32}%+%c
+ 0140 25 70 32 25 7b 33 32 7d 25 2b 25 63 00 0a 00 1e %p2%{32} %+%c....
+ 0150 00 08 00 0c 00 0b 00 0a 00 ........ .
</PRE><H2><a name="h2-LIMITS">LIMITS</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+ncurses 6.4 2023-09-09 <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term_variables.3x,v 1.21 2023/07/01 15:21:06 tom Exp @
+ * @Id: term_variables.3x,v 1.23 2023/09/09 17:06:25 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>term_variables 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>term_variables 3x 2023-09-09 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">term_variables 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">term_variables 3x 2023-09-09 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> Library calls <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
+ncurses 6.4 2023-09-09 <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: terminfo.head,v 1.45 2023/09/02 22:30:22 tom Exp @
+ * @Id: terminfo.head,v 1.48 2023/09/09 21:34:18 tom Exp @
* Head of terminfo man page ends here
****************************************************************************
* Copyright 2018-2022,2023 Thomas E. Dickey *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: terminfo.tail,v 1.125 2023/09/02 22:39:26 tom Exp @
+ * @Id: terminfo.tail,v 1.130 2023/09/09 17:08:08 tom Exp @
*.in -2
*.in +2
*.in -2
*.in +2
- *.TH
-->
<!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>terminfo 5 2023-09-02 ncurses 6.4 File formats</TITLE>
+<TITLE>terminfo 5 2023-09-09 ncurses 6.4 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">terminfo 5 2023-09-02 ncurses 6.4 File formats</H1>
+<H1 class="no-header">terminfo 5 2023-09-09 ncurses 6.4 File formats</H1>
<PRE>
<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> File formats <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
have, by specifying how to perform screen operations, and by specifying
padding requirements and initialization sequences.
- This manual describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230902).
+ This manual describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
</PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
following suffixes should be used where possible:
<STRONG>Suffix</STRONG> <STRONG>Meaning</STRONG> <STRONG>Example</STRONG>
+ -------------------------------------------------------------
-<EM>nn</EM> Number of lines on the screen aaa-60
-<EM>n</EM>p Number of pages of memory c100-4p
-am With automargins (usually the default) vt100-am
<STRONG>Booleans</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
-
auto_left_margin bw bw cub1 wraps from
column 0 to last
column
These are the margin-related capabilities:
- <STRONG>Name</STRONG> <STRONG>Description</STRONG>
- ------------------------------------------------------
- smgl Set left margin at current column
- smgr Set right margin at current column
- smgb Set bottom margin at current line
- smgt Set top margin at current line
- smgbp Set bottom margin at line <EM>N</EM>
- smglp Set left margin at column <EM>N</EM>
- smgrp Set right margin at column <EM>N</EM>
- smgtp Set top margin at line <EM>N</EM>
- smglr Set both left and right margins to <EM>L</EM> and <EM>R</EM>
- smgtb Set both top and bottom margins to <EM>T</EM> and <EM>B</EM>
+ <STRONG>Name</STRONG> <STRONG>Description</STRONG>
+ ---------------------------------------------------
+ <STRONG>smgl</STRONG> Set left margin at current column
+ <STRONG>smgr</STRONG> Set right margin at current column
+ <STRONG>smgb</STRONG> Set bottom margin at current line
+ <STRONG>smgt</STRONG> Set top margin at current line
+ <STRONG>smgbp</STRONG> Set bottom margin at line <EM>N</EM>
+ <STRONG>smglp</STRONG> Set left margin at column <EM>N</EM>
+ <STRONG>smgrp</STRONG> Set right margin at column <EM>N</EM>
+ <STRONG>smgtp</STRONG> Set top margin at line <EM>N</EM>
+ <STRONG>smglr</STRONG> Set both left and right margins to <EM>L</EM> and <EM>R</EM>
+ <STRONG>smgtb</STRONG> Set both top and bottom margins to <EM>T</EM> and <EM>B</EM>
When writing an application that uses these string capabilities, the
pairs should be first checked to see if each capability in the pair is
For example, the DEC vt220 supports most of the modes:
- <STRONG>tparm</STRONG> <STRONG>parameter</STRONG> <STRONG>attribute</STRONG> <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
-
- none none \E[0m
- p1 standout \E[0;1;7m
- p2 underline \E[0;4m
- p3 reverse \E[0;7m
- p4 blink \E[0;5m
- p5 dim not available
- p6 bold \E[0;1m
- p7 invis \E[0;8m
- p8 protect not used
- p9 altcharset ^O (off) ^N (on)
+ <STRONG>tparm</STRONG> <STRONG>Parameter</STRONG> <STRONG>Attribute</STRONG> <STRONG>Escape</STRONG> <STRONG>Sequence</STRONG>
+ ------------------------------------------------
+ none none \E[0m
+ p1 standout \E[0;1;7m
+ p2 underline \E[0;4m
+ p3 reverse \E[0;7m
+ p4 blink \E[0;5m
+ p5 dim not available
+ p6 bold \E[0;1m
+ p7 invis \E[0;8m
+ p8 protect not used
+ p9 altcharset ^O (off) ^N (on)
We begin each escape sequence by turning off any existing modes, since
there is no quick way to determine whether they are active. Standout
Writing out the above sequences, along with their dependencies yields
- <STRONG>sequence</STRONG> <STRONG>when</STRONG> <STRONG>to</STRONG> <STRONG>output</STRONG> <STRONG>terminfo</STRONG> <STRONG>translation</STRONG>
-
- \E[0 always \E[0
- ;1 if p1 or p6 %?%p1%p6%|%t;1%;
- ;4 if p2 %?%p2%|%t;4%;
- ;5 if p4 %?%p4%|%t;5%;
- ;7 if p1 or p3 %?%p1%p3%|%t;7%;
- ;8 if p7 %?%p7%|%t;8%;
- m always m
- ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%;
+ <STRONG>Sequence</STRONG> <STRONG>When</STRONG> <STRONG>to</STRONG> <STRONG>Output</STRONG> <STRONG>terminfo</STRONG> <STRONG>Translation</STRONG>
+ ----------------------------------------------------
+ \E[0 always \E[0
+ ;1 if p1 or p6 %?%p1%p6%|%t;1%;
+ ;4 if p2 %?%p2%|%t;4%;
+ ;5 if p4 %?%p4%|%t;5%;
+ ;7 if p1 or p3 %?%p1%p3%|%t;7%;
+ ;8 if p7 %?%p7%|%t;8%;
+ m always m
+ ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%;
Putting this all together into the sgr sequence gives:
4410v1 added. This alternate character set may be specified by the
<STRONG>acsc</STRONG> capability.
- <STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>acsc</STRONG> <STRONG>acsc</STRONG>
- <STRONG>Name</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Value</STRONG>
+ <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> <STRONG>acsc</STRONG>
+ <STRONG>Glyph</STRONG> <STRONG>Name</STRONG> <STRONG>ACS</STRONG> <STRONG>Name</STRONG> <STRONG>Fallback</STRONG> <STRONG>Symbol</STRONG> <STRONG>Value</STRONG>
--------------------------------------------------------------------
- arrow pointing right ACS_RARROW > + 0x2b
- arrow pointing left ACS_LARROW < , 0x2c
- arrow pointing up ACS_UARROW ^ - 0x2d
- arrow pointing down ACS_DARROW v . 0x2e
- solid square block ACS_BLOCK # 0 0x30
- diamond ACS_DIAMOND + ` 0x60
- checker board (stipple) ACS_CKBOARD : a 0x61
- degree symbol ACS_DEGREE \ f 0x66
- plus/minus ACS_PLMINUS # g 0x67
- board of squares ACS_BOARD # h 0x68
- lantern symbol ACS_LANTERN # i 0x69
- lower right corner ACS_LRCORNER + j 0x6a
- upper right corner ACS_URCORNER + k 0x6b
- upper left corner ACS_ULCORNER + l 0x6c
- lower left corner ACS_LLCORNER + m 0x6d
- large plus or crossover ACS_PLUS + n 0x6e
- scan line 1 ACS_S1 ~ o 0x6f
- scan line 3 ACS_S3 - p 0x70
- horizontal line ACS_HLINE - q 0x71
- scan line 7 ACS_S7 - r 0x72
- scan line 9 ACS_S9 _ s 0x73
- tee pointing right ACS_LTEE + t 0x74
- tee pointing left ACS_RTEE + u 0x75
- tee pointing up ACS_BTEE + v 0x76
- tee pointing down ACS_TTEE + w 0x77
- vertical line ACS_VLINE | x 0x78
- less-than-or-equal-to ACS_LEQUAL < y 0x79
- greater-than-or-equal-to ACS_GEQUAL > z 0x7a
- greek pi ACS_PI * { 0x7b
- not-equal ACS_NEQUAL ! | 0x7c
- UK pound sign ACS_STERLING f } 0x7d
- bullet ACS_BULLET o ~ 0x7e
+ arrow pointing right <STRONG>ACS_RARROW</STRONG> > + 0x2b
+ arrow pointing left <STRONG>ACS_LARROW</STRONG> < , 0x2c
+ arrow pointing up <STRONG>ACS_UARROW</STRONG> ^ - 0x2d
+ arrow pointing down <STRONG>ACS_DARROW</STRONG> v . 0x2e
+ solid square block <STRONG>ACS_BLOCK</STRONG> # 0 0x30
+ diamond <STRONG>ACS_DIAMOND</STRONG> + ` 0x60
+ checker board (stipple) <STRONG>ACS_CKBOARD</STRONG> : a 0x61
+ degree symbol <STRONG>ACS_DEGREE</STRONG> \ f 0x66
+ plus/minus <STRONG>ACS_PLMINUS</STRONG> # g 0x67
+ board of squares <STRONG>ACS_BOARD</STRONG> # h 0x68
+ lantern symbol <STRONG>ACS_LANTERN</STRONG> # i 0x69
+ lower right corner <STRONG>ACS_LRCORNER</STRONG> + j 0x6a
+ upper right corner <STRONG>ACS_URCORNER</STRONG> + k 0x6b
+ upper left corner <STRONG>ACS_ULCORNER</STRONG> + l 0x6c
+ lower left corner <STRONG>ACS_LLCORNER</STRONG> + m 0x6d
+ large plus or crossover <STRONG>ACS_PLUS</STRONG> + n 0x6e
+ scan line 1 <STRONG>ACS_S1</STRONG> ~ o 0x6f
+ scan line 3 <STRONG>ACS_S3</STRONG> - p 0x70
+ horizontal line <STRONG>ACS_HLINE</STRONG> - q 0x71
+ scan line 7 <STRONG>ACS_S7</STRONG> - r 0x72
+ scan line 9 <STRONG>ACS_S9</STRONG> _ s 0x73
+ tee pointing right <STRONG>ACS_LTEE</STRONG> + t 0x74
+ tee pointing left <STRONG>ACS_RTEE</STRONG> + u 0x75
+ tee pointing up <STRONG>ACS_BTEE</STRONG> + v 0x76
+ tee pointing down <STRONG>ACS_TTEE</STRONG> + w 0x77
+ vertical line <STRONG>ACS_VLINE</STRONG> | x 0x78
+ less-than-or-equal-to <STRONG>ACS_LEQUAL</STRONG> < y 0x79
+ greater-than-or-equal-to <STRONG>ACS_GEQUAL</STRONG> > z 0x7a
+ greek pi <STRONG>ACS_PI</STRONG> * { 0x7b
+ not-equal <STRONG>ACS_NEQUAL</STRONG> ! | 0x7c
+ UK pound sign <STRONG>ACS_STERLING</STRONG> f } 0x7d
+ bullet <STRONG>ACS_BULLET</STRONG> o ~ 0x7e
A few notes apply to the table itself:
free to map these as it likes, but the RGB values indicate normal
locations in color space.
- <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
- black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
- red <STRONG>COLOR_RED</STRONG> 1 max,0,0
- green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0
- yellow <STRONG>COLOR_YELLOW</STRONG> 3 max,max,0
- blue <STRONG>COLOR_BLUE</STRONG> 4 0,0,max
- magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
- cyan <STRONG>COLOR_CYAN</STRONG> 6 0,max,max
- white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
+ <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
+ ------------------------------------------------
+ black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
+ red <STRONG>COLOR_RED</STRONG> 1 max, 0, 0
+ green <STRONG>COLOR_GREEN</STRONG> 2 0, max, 0
+ yellow <STRONG>COLOR_YELLOW</STRONG> 3 max, max, 0
+ blue <STRONG>COLOR_BLUE</STRONG> 4 0, 0, max
+ magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max, 0, max
+ cyan <STRONG>COLOR_CYAN</STRONG> 6 0, max, max
+ white <STRONG>COLOR_WHITE</STRONG> 7 max, max, max
The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG> historically correspond to a different
mapping, i.e.,
- <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
- black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
- blue <STRONG>COLOR_BLUE</STRONG> 1 0,0,max
- green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0
- cyan <STRONG>COLOR_CYAN</STRONG> 3 0,max,max
- red <STRONG>COLOR_RED</STRONG> 4 max,0,0
- magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
- yellow <STRONG>COLOR_YELLOW</STRONG> 6 max,max,0
- white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
+ <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
+ ------------------------------------------------
+ black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
+ blue <STRONG>COLOR_BLUE</STRONG> 1 0, 0, max
+ green <STRONG>COLOR_GREEN</STRONG> 2 0, max, 0
+ cyan <STRONG>COLOR_CYAN</STRONG> 3 0, max, max
+ red <STRONG>COLOR_RED</STRONG> 4 max, 0, 0
+ magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max, 0, max
+ yellow <STRONG>COLOR_YELLOW</STRONG> 6 max, max, 0
+ white <STRONG>COLOR_WHITE</STRONG> 7 max, max, max
It is important to not confuse the two sets of color capabilities;
otherwise red/blue will be interchanged on the display.
of attributes not to be used when colors are enabled. The
correspondence with the attributes understood by <STRONG>curses</STRONG> is as follows:
- <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG> <STRONG>Set</STRONG> <STRONG>by</STRONG>
- A_STANDOUT 0 1 sgr
- A_UNDERLINE 1 2 sgr
- A_REVERSE 2 4 sgr
- A_BLINK 3 8 sgr
- A_DIM 4 16 sgr
- A_BOLD 5 32 sgr
- A_INVIS 6 64 sgr
- A_PROTECT 7 128 sgr
- A_ALTCHARSET 8 256 sgr
- A_HORIZONTAL 9 512 sgr1
- A_LEFT 10 1024 sgr1
- A_LOW 11 2048 sgr1
- A_RIGHT 12 4096 sgr1
- A_TOP 13 8192 sgr1
- A_VERTICAL 14 16384 sgr1
- A_ITALIC 15 32768 sitm
+ <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG> <STRONG>Set</STRONG> <STRONG>by</STRONG>
+ --------------------------------------
+ <STRONG>A_STANDOUT</STRONG> 0 1 <STRONG>sgr</STRONG>
+ <STRONG>A_UNDERLINE</STRONG> 1 2 <STRONG>sgr</STRONG>
+ <STRONG>A_REVERSE</STRONG> 2 4 <STRONG>sgr</STRONG>
+ <STRONG>A_BLINK</STRONG> 3 8 <STRONG>sgr</STRONG>
+ <STRONG>A_DIM</STRONG> 4 16 <STRONG>sgr</STRONG>
+ <STRONG>A_BOLD</STRONG> 5 32 <STRONG>sgr</STRONG>
+ <STRONG>A_INVIS</STRONG> 6 64 <STRONG>sgr</STRONG>
+ <STRONG>A_PROTECT</STRONG> 7 128 <STRONG>sgr</STRONG>
+ <STRONG>A_ALTCHARSET</STRONG> 8 256 <STRONG>sgr</STRONG>
+ <STRONG>A_HORIZONTAL</STRONG> 9 512 <STRONG>sgr1</STRONG>
+ <STRONG>A_LEFT</STRONG> 10 1024 <STRONG>sgr1</STRONG>
+ <STRONG>A_LOW</STRONG> 11 2048 <STRONG>sgr1</STRONG>
+ <STRONG>A_RIGHT</STRONG> 12 4096 <STRONG>sgr1</STRONG>
+ <STRONG>A_TOP</STRONG> 13 8192 <STRONG>sgr1</STRONG>
+
+ <STRONG>A_VERTICAL</STRONG> 14 16384 <STRONG>sgr1</STRONG>
+ <STRONG>A_ITALIC</STRONG> 15 32768 <STRONG>sitm</STRONG>
For example, on many IBM PC consoles, the underline attribute collides
with the foreground color blue and is not available in color mode.
-ncurses 6.4 2023-09-02 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ncurses 6.4 2023-09-09 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<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.4 (patch 20230902).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: toe.1m,v 1.40 2023/07/01 15:46:10 tom Exp @
+ * @Id: toe.1m,v 1.42 2023/09/09 21:15:25 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 2023-07-01 ncurses 6.4 User commands</TITLE>
+<TITLE>toe 1m 2023-09-09 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">toe 1m 2023-07-01 ncurses 6.4 User commands</H1>
+<H1 class="no-header">toe 1m 2023-09-09 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>
<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.4 (patch 20230902).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
-ncurses 6.4 2023-07-01 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+ncurses 6.4 2023-09-09 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
</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.4 (patch 20230902).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
<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.4 (patch 20230902).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: user_caps.5,v 1.30 2023/08/19 20:39:40 tom Exp @
+ * @Id: user_caps.5,v 1.32 2023/09/09 21:25:30 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>user_caps 5 2023-08-19 ncurses 6.4 File formats</TITLE>
+<TITLE>user_caps 5 2023-09-09 ncurses 6.4 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">user_caps 5 2023-08-19 ncurses 6.4 File formats</H1>
+<H1 class="no-header">user_caps 5 2023-09-09 ncurses 6.4 File formats</H1>
<PRE>
<STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> File formats <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
-ncurses 6.4 2023-08-19 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+ncurses 6.4 2023-09-09 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: MKada_config.in,v 1.16 2023/08/19 19:12:34 tom Exp $
+.\" $Id: MKada_config.in,v 1.18 2023/09/09 23:32:29 tom Exp $
.ds C adacurses@USE_CFG_SUFFIX@\-config
-.TH ADACURSES 1 2023-08-19 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.TH ADACURSES 1 2023-09-09 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.ie n .ds CW R
+.el \{
+.ie \n(.g .ds CW CR
+.el .ds CW CW
+.\}
.SH NAME
adacurses@USE_CFG_SUFFIX@\-config \- helper script for @ADA_LIBNAME@ libraries
.SH SYNOPSIS
Make a file named "hello.adb":
.RS
.nf
-.ft CW
+.ft \*(CW
with Terminal_Interface.Curses; use Terminal_Interface.Curses;
procedure Hello is
.PP
Then, using
.RS
-.ft CW
+.ft \*(CW
gnatmake `adacurses-config --cflags` hello -largs `adacurses-config --libs`
.ft
.RE
.PP
or (simpler):
.RS
-.ft CW
+.ft \*(CW
gnatmake hello `adacurses-config`
.ft
.RE
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: captoinfo.1m,v 1.37 2023/08/19 20:36:21 tom Exp $
-.TH @CAPTOINFO@ 1M 2023-08-19 "ncurses 6.4" "User commands"
+.\" $Id: captoinfo.1m,v 1.39 2023/09/09 16:40:25 tom Exp $
+.TH @CAPTOINFO@ 1M 2023-09-09 "ncurses 6.4" "User commands"
.ds n 5
.ds d @TERMINFO@
.SH NAME
it has not mistakenly translated a completely unknown and random
capability and/or syntax error.
.PP
-.TS H
-c c c c
-c c c c
-l l l l.
-Nonstd Std From Terminfo
-name name capability
+.TS
+cb cb cb cb
+cb cb cb cb
+l l l l .
+Nonstd Std \& Terminfo
+name name From capability
_
BO mr AT&T enter_reverse_mode
CI vi AT&T cursor_invisible
high-half graphics.
They were as follows:
.PP
-.TS H
-c c
+.TS
+cb cb
l l.
Cap Graphic
_
translated:
.PP
.TS
-c c
-l l.
+cb cb
+l l .
IBM XSI
_
ksel kslt
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: clear.1,v 1.33 2023/07/01 14:23:04 tom Exp $
-.TH @CLEAR@ 1 2023-07-01 "ncurses 6.4" "User commands"
+.\" $Id: clear.1,v 1.35 2023/09/09 21:12:26 tom Exp $
+.TH @CLEAR@ 1 2023-09-09 "ncurses 6.4" "User commands"
+.ie n .ds CW R
+.el \{
+.ie \n(.g .ds CW CR
+.el .ds CW CW
+.\}
.\" these would be fallbacks for DS/DE,
.\" but groff changed the meaning of the macros.
.de NS
.ie n .in +4
.el .in +2
.nf
-.ft CR \" Courier
+.ft \*(CW
..
.de NE
.fi
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_attr.3x,v 1.78 2023/08/19 20:37:30 tom Exp $
-.TH curs_attr 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: curs_attr.3x,v 1.80 2023/09/09 21:13:26 tom Exp $
+.TH curs_attr 3X 2023-09-09 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
+.ie n .ds CW R
+.el \{
+.ie \n(.g .ds CW CR
+.el .ds CW CW
+.\}
.de NS
.ie n .sp
.el .sp .5
.ie n .in +4
.el .in +2
.nf
-.ft CR \" Courier
+.ft \*(CW
..
.de NE
.fi
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_mouse.3x,v 1.64 2023/07/01 15:43:20 tom Exp $
+.\" $Id: curs_mouse.3x,v 1.66 2023/09/09 21:13:51 tom Exp $
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
+.ie n .ds CW R
+.el \{
+.ie \n(.g .ds CW CR
+.el .ds CW CW
+.\}
.de NS
.ie n .sp
.el .sp .5
.ie n .in +4
.el .in +2
.nf
-.ft CR \" Courier
+.ft \*(CW
..
.de NE
.fi
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.TH curs_mouse 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.TH curs_mouse 3X 2023-09-09 "ncurses 6.4" "Library calls"
.na
.hy 0
.SH NAME
.\"***************************************************************************
-.\" Copyright 2018-2021,2022 Thomas E. Dickey *
+.\" Copyright 2018-2022,2023 Thomas E. Dickey *
.\" Copyright 2000-2011,2016 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey 1997,1999,2000,2005
.\"
-.\" $Id: default_colors.3x,v 1.37 2023/08/19 19:48:15 tom Exp $
+.\" $Id: default_colors.3x,v 1.38 2023/08/19 19:48:15 tom Exp $
.TH default_colors 3X 2023-08-19 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: infocmp.1m,v 1.88 2023/09/02 22:29:02 tom Exp $
-.TH @INFOCMP@ 1M 2023-09-02 "ncurses 6.4" "User commands"
+.\" $Id: infocmp.1m,v 1.90 2023/09/09 21:14:05 tom Exp $
+.TH @INFOCMP@ 1M 2023-09-09 "ncurses 6.4" "User commands"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
+.ie n .ds CW R
+.el \{
+.ie \n(.g .ds CW CR
+.el .ds CW CW
+.\}
.de NS
.ie n .sp
.el .sp .5
.ie n .in +4
.el .in +2
.nf
-.ft CR \" Courier
+.ft \*(CW
..
.de NE
.fi
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: ncurses.3x,v 1.164 2023/08/19 19:23:43 tom Exp $
+.\" $Id: ncurses.3x,v 1.167 2023/09/09 21:11:08 tom Exp $
.hy 0
-.TH ncurses 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.TH ncurses 3X 2023-09-09 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
+.ie n .ds CW R
+.el \{
+.ie \n(.g .ds CW CR
+.el .ds CW CW
+.\}
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
.ie n .in +4
.el .in +2
.nf
-.ft CR \" Courier
+.ft \*(CW
..
.de NE
.fi
This is a numeric capability which can be compiled using \fB@TIC@\ \-x\fP.
For example
.RS 3
-.ft CW
+.ft \*(CW
.sp
.nf
# linux console, if patched to provide working
xterm-utf8|xterm relying on UTF-8 line-graphics,
U8#1, use=xterm,
.fi
-.ft
+.ft R
.RE
.PP
The name \*(``U8\*('' is chosen to be two characters,
.\"
.\" Author: Thomas E. Dickey
.\"
-.\" $Id: new_pair.3x,v 1.24 2023/07/01 15:46:10 tom Exp $
-.TH new_pair 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: new_pair.3x,v 1.26 2023/09/09 21:20:16 tom Exp $
+.TH new_pair 3X 2023-09-09 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
+.ie n .ds CW R
+.el \{
+.ie \n(.g .ds CW CR
+.el .ds CW CW
+.\}
.de NS
.ie n .sp
.el .sp .5
.ie n .in +4
.el .in +2
.nf
-.ft CR \" Courier
+.ft \*(CW
..
.de NE
.fi
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: scr_dump.5,v 1.25 2023/07/01 15:46:10 tom Exp $
-.TH scr_dump 5 2023-07-01 "ncurses 6.4" "File formats"
+.\" $Id: scr_dump.5,v 1.27 2023/09/09 21:20:16 tom Exp $
+.TH scr_dump 5 2023-09-09 "ncurses 6.4" "File formats"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
+.ie n .ds CW R
+.el \{
+.ie \n(.g .ds CW CR
+.el .ds CW CW
+.\}
.de NS
.ie n .sp
.el .sp .5
.ie n .in +4
.el .in +2
.nf
-.ft CR \" Courier
+.ft \*(CW
..
.de NE
.fi
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tabs.1,v 1.39 2023/07/01 15:46:10 tom Exp $
-.TH @TABS@ 1 2023-07-01 "ncurses 6.4" "User commands"
+.\" $Id: tabs.1,v 1.41 2023/09/09 21:19:07 tom Exp $
+.TH @TABS@ 1 2023-09-09 "ncurses 6.4" "User commands"
.ds n 5
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie n .IP \(bu 4
.el .IP \(bu 2
..
+.ie n .ds CW R
+.el \{
+.ie \n(.g .ds CW CR
+.el .ds CW CW
+.\}
.de NS
.ie n .sp
.el .sp .5
.ie n .in +4
.el .in +2
.nf
-.ft CR \" Courier
+.ft \*(CW
..
.de NE
.fi
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: term.5,v 1.48 2023/07/01 15:46:10 tom Exp $
-.TH term 5 2023-07-01 "ncurses 6.4" "File formats"
+.\" $Id: term.5,v 1.52 2023/09/09 17:14:44 tom Exp $
+.TH term 5 2023-09-09 "ncurses 6.4" "File formats"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
+.ie n .ds CW R
+.el \{
+.ie \n(.g .ds CW CR
+.el .ds CW CW
+.\}
.de NS
.ie n .sp
.el .sp .5
.ie n .in +4
.el .in +2
.nf
-.ft CR \" Courier
+.ft \*(CW
..
.de NE
.fi
.NE
.PP
and a hexadecimal dump of the compiled terminal description:
-.NS
-.ft CW
-\s-20000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3
+.PP
+.ie n .in -2n
+.el .in +4n
+.TS
+lp-1f(\*(CW).
+0000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3
0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P.
0020 ff ff 18 00 ff ff 00 00 02 00 ff ff ff ff 04 00 ........ ........
0030 ff ff ff ff ff ff ff ff 0a 00 25 00 27 00 ff ff ........ ..%.'...
0120 ff ff ff ff ff ff 2f 00 07 00 0d 00 1a 24 3c 31 ....../. .....$<1
0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 >..=%p1% {32}%+%c
0140 25 70 32 25 7b 33 32 7d 25 2b 25 63 00 0a 00 1e %p2%{32} %+%c....
-0150 00 08 00 0c 00 0b 00 0a 00 ........ .\s+2
-.ft R
-.NE
-.sp
+0150 00 08 00 0c 00 0b 00 0a 00 ........ .
+.TE
+.in
.SH LIMITS
Some limitations:
.bP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: term_variables.3x,v 1.21 2023/07/01 15:21:06 tom Exp $
-.TH term_variables 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: term_variables.3x,v 1.23 2023/09/09 17:06:25 tom Exp $
+.TH term_variables 3X 2023-09-09 "ncurses 6.4" "Library calls"
.ds n 5
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
+.ie n .ds CW R
+.el \{
+.ie \n(.g .ds CW CR
+.el .ds CW CW
+.\}
.na
.hy 0
.SH NAME
which is defined
.PP
.nf
-.ft CW
+.ft \*(CW
#define CUR ((TERMTYPE *)(cur_term))->
.fi
.ft R
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: terminfo.head,v 1.45 2023/09/02 22:30:22 tom Exp $
-.TH terminfo 5 2023-09-02 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
+.\" $Id: terminfo.head,v 1.48 2023/09/09 21:34:18 tom Exp $
+.TH terminfo 5 2023-09-09 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
.ds n 5
.ds d @TERMINFO@
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
+.ie \n(.g .ds ^ \(ha
+.el .ds ^ ^
+.ie \n(.g .ds ~ \(ti
+.el .ds ~ ~
+.ie n .ds CW R
+.el \{
+.ie \n(.g .ds CW CR
+.el .ds CW CW
+.\}
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
.ie n .in +4
.el .in +2
.nf
-.ft C \" Courier
+.ft \*(CW
..
.de NE
.fi
The following suffixes should be used where possible:
.PP
.TS
-center ;
-l c l
-l l l.
-\fBSuffix Meaning Example\fP
+center;
+lb cb lb
+l l l .
+Suffix Meaning Example
+_
\-\fInn\fP Number of lines on the screen aaa\-60
\-\fIn\fPp Number of pages of memory c100\-4p
\-am With automargins (usually the default) vt100\-am
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: terminfo.tail,v 1.125 2023/09/02 22:39:26 tom Exp $
+.\" $Id: terminfo.tail,v 1.130 2023/09/09 17:08:08 tom Exp $
.ps +1
.SS User-Defined Capabilities
.
of what a \fBterminfo\fP entry for a modern terminal typically looks like.
.PP
.nf
-.ft CW
+.ft \*(CW
\s-2ansi|ansi/pc-term compatible with color,
am, mc5i, mir, msgr,
colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,
The \fBTERMINFO\fP variable can contain a terminal description instead
of the pathname of a terminal database.
If this variable begins with \*(``hex:\*('' or \*(``b64:\*(''
-then \fBncurses\fP reads a terminal description from
+then \fBncurses\fP reads a terminal description from
hexadecimal- or base64-encoded data,
and if that description matches the name sought, will use that.
This encoded data can be set using the \*(``\-Q\*('' option of
.PP
.DT
.nf
-.ft CW
+.ft \*(CW
.\".in -2
\s-133\||\|tty33\||\|tty\||\|model 33 teletype,
bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,\s+1
.PP
.DT
.nf
-.ft CW
+.ft \*(CW
.\".in -2
\s-1adm3\||\|3\||\|lsi adm3,
am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J,
Use a \*(``:\*('' to allow the next character to be a \*(``\-\*('' flag,
avoiding interpreting \*(``%\-\*('' as an operator.
.TP
-\f(CW%c\fP
+\f\*(CW%c\fP
print \fIpop()\fP like %c in \fBprintf\fP
.TP
\fB%s\fP
right edge of the display (rather than leaving the margin unmodified).
.PP
These are the margin-related capabilities:
+.PP
.TS
center;
-l l
-_ _
-lw8 lw18.
-\fBName Description\fP
+lb lb
+lb l .
+Name Description
+_
smgl Set left margin at current column
smgr Set right margin at current column
smgb Set bottom margin at current line
.PP
.TS
center;
-l l l
-l l l
-lw18 lw14 lw18.
-\fBtparm parameter attribute escape sequence\fP
-
-none none \\E[0m
-p1 standout \\E[0;1;7m
-p2 underline \\E[0;4m
-p3 reverse \\E[0;7m
-p4 blink \\E[0;5m
+lb lb lb
+l l l .
+tparm Parameter Attribute Escape Sequence
+_
+none none \eE[0m
+p1 standout \eE[0;1;7m
+p2 underline \eE[0;4m
+p3 reverse \eE[0;7m
+p4 blink \eE[0;5m
p5 dim not available
-p6 bold \\E[0;1m
-p7 invis \\E[0;8m
+p6 bold \eE[0;1m
+p7 invis \eE[0;8m
p8 protect not used
p9 altcharset ^O (off) ^N (on)
.TE
.ne 11
.TS
center;
-l l l
-l l l
-lw18 lw14 lw18.
-\fBsequence when to output terminfo translation\fP
-
-.ft CW
+lb lb lb
+l l l .
+Sequence When to Output terminfo Translation
+_
\\E[0 always \\E[0
;1 if p1 or p6 %?%p1%p6%|%t;1%;
;4 if p2 %?%p2%|%t;4%;
;7 if p1 or p3 %?%p1%p3%|%t;7%;
;8 if p7 %?%p7%|%t;8%;
m always m
-^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%;
-.ft R
+\*^N or \*^O if p9 \*^N, else \*^O %?%p9%t\*^N%e\*^O%;
.TE
.PP
Putting this all together into the sgr sequence gives:
.PP
-.ft CW
+.ft \*(CW
.nf
sgr=\\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p4%t;5%;
%?%p1%p3%|%t;7%;%?%p7%t;8%;m%?%p9%t\\016%e\\017%;,
supported by the VT100, with some characters from the AT&T 4410v1 added.
This alternate character set may be specified by the \fBacsc\fP capability.
.PP
-.TS H
-center expand;
-l l l l l
-l l l l l
-_ _ _ _ _
-lw25 lw10 lw6 lw6 lw6.
-.\".TH
-\fBGlyph ACS Ascii acsc acsc\fP
-\fBName Name Default Char Value\fP
+.TS
+center;
+lb lb lb lb lb.
+\& \& ASCII acsc acsc
+Glyph Name ACS Name Fallback Symbol Value
+_
+.T&
+l lb l l l .
arrow pointing right ACS_RARROW > + 0x2b
arrow pointing left ACS_LARROW < , 0x2c
-arrow pointing up ACS_UARROW ^ \- 0x2d
+arrow pointing up ACS_UARROW \*^ \- 0x2d
arrow pointing down ACS_DARROW v . 0x2e
solid square block ACS_BLOCK # 0 0x30
diamond ACS_DIAMOND + ` 0x60
upper left corner ACS_ULCORNER + l 0x6c
lower left corner ACS_LLCORNER + m 0x6d
large plus or crossover ACS_PLUS + n 0x6e
-scan line 1 ACS_S1 ~ o 0x6f
+scan line 1 ACS_S1 \*~ o 0x6f
scan line 3 ACS_S3 \- p 0x70
horizontal line ACS_HLINE \- q 0x71
scan line 7 ACS_S7 \- r 0x72
greek pi ACS_PI * { 0x7b
not-equal ACS_NEQUAL ! | 0x7c
UK pound sign ACS_STERLING f } 0x7d
-bullet ACS_BULLET o ~ 0x7e
+bullet ACS_BULLET o \*~ 0x7e
.TE
.PP
A few notes apply to the table itself:
map these as it likes, but the RGB values indicate normal locations in color
space.
.PP
-.TS H
+.TS
center;
-l c c c
-l l n l.
-\fBColor #define Value RGB\fP
-black \fBCOLOR_BLACK\fP 0 0, 0, 0
-red \fBCOLOR_RED\ \fP 1 max,0,0
-green \fBCOLOR_GREEN\fP 2 0,max,0
-yellow \fBCOLOR_YELLOW\fP 3 max,max,0
-blue \fBCOLOR_BLUE\fP 4 0,0,max
-magenta \fBCOLOR_MAGENTA\fP 5 max,0,max
-cyan \fBCOLOR_CYAN\fP 6 0,max,max
-white \fBCOLOR_WHITE\fP 7 max,max,max
+cb cb cb cb s s
+l lb c l1 l1 l .
+Color #define Value RGB
+_
+black COLOR_BLACK 0 0, 0, 0
+red COLOR_RED 1 max, 0, 0
+green COLOR_GREEN 2 0, max, 0
+yellow COLOR_YELLOW 3 max, max, 0
+blue COLOR_BLUE 4 0, 0, max
+magenta COLOR_MAGENTA 5 max, 0, max
+cyan COLOR_CYAN 6 0, max, max
+white COLOR_WHITE 7 max, max, max
.TE
.PP
The argument values of \fBsetf\fP/\fBsetb\fP historically correspond to
a different mapping, i.e.,
-.TS H
+.PP
+.TS
center;
-l c c c
-l l n l.
-\fBColor #define Value RGB\fP
-black \fBCOLOR_BLACK\fP 0 0, 0, 0
-blue \fBCOLOR_BLUE\fP 1 0,0,max
-green \fBCOLOR_GREEN\fP 2 0,max,0
-cyan \fBCOLOR_CYAN\fP 3 0,max,max
-red \fBCOLOR_RED\ \fP 4 max,0,0
-magenta \fBCOLOR_MAGENTA\fP 5 max,0,max
-yellow \fBCOLOR_YELLOW\fP 6 max,max,0
-white \fBCOLOR_WHITE\fP 7 max,max,max
+cb cb cb cb s s
+l lb c l1 l1 l .
+Color #define Value RGB
+_
+black COLOR_BLACK 0 0, 0, 0
+blue COLOR_BLUE 1 0, 0, max
+green COLOR_GREEN 2 0, max, 0
+cyan COLOR_CYAN 3 0, max, max
+red COLOR_RED 4 max, 0, 0
+magenta COLOR_MAGENTA 5 max, 0, max
+yellow COLOR_YELLOW 6 max, max, 0
+white COLOR_WHITE 7 max, max, max
.TE
.PP
It is important to not confuse the two sets of color capabilities;
.PP
.TS
center;
-l l l l
-lw20 lw2 lw10 lw10.
-\fBAttribute Bit Decimal Set by\fP
+cb cb cb cb
+lb n n lb.
+Attribute Bit Decimal Set by
+_
A_STANDOUT 0 1 sgr
A_UNDERLINE 1 2 sgr
A_REVERSE 2 4 sgr
-A_BLINK 3 8 sgr
-A_DIM 4 16 sgr
-A_BOLD 5 32 sgr
-A_INVIS 6 64 sgr
+A_BLINK 3 8 sgr
+A_DIM 4 16 sgr
+A_BOLD 5 32 sgr
+A_INVIS 6 64 sgr
A_PROTECT 7 128 sgr
A_ALTCHARSET 8 256 sgr
A_HORIZONTAL 9 512 sgr1
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: toe.1m,v 1.40 2023/07/01 15:46:10 tom Exp $
-.TH @TOE@ 1M 2023-07-01 "ncurses 6.4" "User commands"
+.\" $Id: toe.1m,v 1.42 2023/09/09 21:15:25 tom Exp $
+.TH @TOE@ 1M 2023-09-09 "ncurses 6.4" "User commands"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
+.ie n .ds CW R
+.el \{
+.ie \n(.g .ds CW CR
+.el .ds CW CW
+.\}
.de NS
.ie n .sp
.el .sp .5
.ie n .in +4
.el .in +2
.nf
-.ft CR \" Courier
+.ft \*(CW
..
.de NE
.fi
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: user_caps.5,v 1.30 2023/08/19 20:39:40 tom Exp $
-.TH user_caps 5 2023-08-19 "ncurses 6.4" "File formats"
+.\" $Id: user_caps.5,v 1.32 2023/09/09 21:25:30 tom Exp $
+.TH user_caps 5 2023-09-09 "ncurses 6.4" "File formats"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
-.de NS
-.ie n .sp
-.el .sp .5
-.ie n .in +4
-.el .in +2
-.nf
-.ft CR \" Courier
-..
-.de NE
-.fi
-.ft R
-.ie n .in -4
-.el .in -2
-..
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
#!/usr/bin/env perl
-# $Id: ncu2openbsd,v 1.65 2021/10/03 18:52:22 tom Exp $
+# $Id: ncu2openbsd,v 1.67 2023/09/09 15:59:17 tom Exp $
# -----------------------------------------------------------------------------
-# Copyright 2021 by Thomas E. Dickey
+# Copyright 2021,2023 by Thomas E. Dickey
#
# All Rights Reserved
#
$| = 1;
-our ( $opt_d, $opt_n, $opt_r, $opt_t, $opt_v, $opt_x );
+our ( $opt_d, $opt_n, $opt_r, $opt_t, $opt_v, $opt_x, $opt_6 );
our $source_dir;
our $target_dir;
our $update_dir;
my @search = ( "/usr/share/terminfo", "/usr/local/share/terminfo" );
my @prefix = ("./configure");
$prefix[ ++$#prefix ] = "--with-abi-version=5"
- if ( &patchdate >= 20150502 );
+ if ( &patchdate >= 20150502 && !$opt_6 );
my @options = (
- "--with-ospeed=int", #
- "--with-shared", #
- "--without-normal", #
- "--without-debug", #
+ "--with-ospeed=int", #
+ "--with-shared", #
+ "--without-normal", #
+ "--without-debug", #
"--with-terminfo-dirs=" . join( ':', @search ), #
"--without-ada", #
"--disable-hard-tabs", #
"--enable-bsdpad", #
"--enable-signed-char", #
"--enable-termcap", #
- "--enable-widec"
+ "--enable-widec", #
+ "--disable-setuid-environ"
);
$options[ ++$#options ] = "--with-trace" if ($opt_t);
$options[ ++$#options ] = "--enable-string-hacks"
Usage: ncu2openbsd [options] [sourcetree]
Options:
+ -6 use ABI 6 rather than 5 if available
-d DST specify destination (default: /usr/src)
-n no-op, do not update destination
-r remove update, restore sources from ".orig"
}
$Getopt::Std::STANDARD_HELP_VERSION = 1;
-&getopts('d:nrtvx') || &usage();
+&getopts('6d:nrtvx') || &usage();
$opt_d = "/usr/src" unless ($opt_d);
&usage() unless ( $#ARGV <= 0 );
****************************************************************************/
/*
- * $Id: curses.priv.h,v 1.671 2023/08/26 19:01:27 tom Exp $
+ * $Id: curses.priv.h,v 1.672 2023/09/09 23:13:32 tom Exp $
*
* curses.priv.h
*
# define PRIxPTR "lX"
# define CASTxPTR(n) (unsigned long)(intptr_t)(void*)(n)
#else
-# define CASTxPTR(n) (intptr_t)(void*)(n)
+# define CASTxPTR(n) (intptr_t)(n)
#endif
#ifndef PRIxPTR
/****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 1998-2013,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include <tic.h>
-MODULE_ID("$Id: alloc_entry.c,v 1.77 2022/10/15 19:37:33 tom Exp $")
+MODULE_ID("$Id: alloc_entry.c,v 1.78 2023/09/09 16:06:00 Nicholas.Marriott Exp $")
#define ABSENT_OFFSET -1
#define CANCELLED_OFFSET -2
TERMTYPE2 *from = &(source->tterm);
#if NCURSES_XNAMES
TERMTYPE2 copy;
- size_t str_size;
+ size_t str_size, copy_size;
char *str_table;
#endif
unsigned i;
if ((str_table = malloc(str_size)) == NULL)
_nc_err_abort(MSG_NO_MEMORY);
str_copied = str_table;
- strcpy(str_copied, to->term_names);
+ _nc_STRCPY(str_copied, to->term_names, str_size);
to->term_names = str_copied;
- str_copied += strlen(str_copied) + 1;
+ copy_size = strlen(str_copied) + 1;
+ str_copied += copy_size;
+ str_size -= copy_size;
for_each_string(i, from) {
if (VALID_STRING(from->Strings[i])) {
- strcpy(str_copied, from->Strings[i]);
+ _nc_STRCPY(str_copied, from->Strings[i], str_size);
from->Strings[i] = str_copied;
- str_copied += strlen(str_copied) + 1;
+ copy_size = strlen(str_copied) + 1;
+ str_copied += copy_size;
+ str_size -= copy_size;
}
}
for_each_string(i, to) {
if (VALID_STRING(to->Strings[i])) {
- strcpy(str_copied, to->Strings[i]);
+ _nc_STRCPY(str_copied, to->Strings[i], str_size);
to->Strings[i] = str_copied;
- str_copied += strlen(str_copied) + 1;
+ copy_size = strlen(str_copied) + 1;
+ str_copied += copy_size;
+ str_size -= copy_size;
}
}
free(to->str_table);
str_copied = str_table;
for (i = 0; i < NUM_EXT_NAMES(from); ++i) {
if (VALID_STRING(from->ext_Names[i])) {
- strcpy(str_copied, from->ext_Names[i]);
+ _nc_STRCPY(str_copied, from->ext_Names[i], str_size);
from->ext_Names[i] = str_copied;
- str_copied += strlen(str_copied) + 1;
+ copy_size = strlen(str_copied) + 1;
+ str_copied += copy_size;
+ str_size -= copy_size;
}
}
for (i = 0; i < NUM_EXT_NAMES(to); ++i) {
if (VALID_STRING(to->ext_Names[i])) {
- strcpy(str_copied, to->ext_Names[i]);
+ _nc_STRCPY(str_copied, to->ext_Names[i], str_size);
to->ext_Names[i] = str_copied;
- str_copied += strlen(str_copied) + 1;
+ copy_size = strlen(str_copied) + 1;
+ str_copied += copy_size;
+ str_size -= copy_size;
}
}
free(to->ext_str_table);
#include <tic.h>
-MODULE_ID("$Id: alloc_ttype.c,v 1.49 2023/05/27 20:13:10 tom Exp $")
+MODULE_ID("$Id: alloc_ttype.c,v 1.51 2023/09/09 23:15:53 tom Exp $")
#if NCURSES_XNAMES
/*
unsigned i;
int pass;
char *new_table;
+ size_t new_table_size;
#if NCURSES_EXT_NUMBERS
short *oldptr = 0;
int *newptr = 0;
NUM_STRINGS(dst) * sizeof(dst->Strings[0]));
new_table = NULL;
+ new_table_size = 0;
for (pass = 0; pass < 2; ++pass) {
size_t str_size = 0;
if (src->term_names != NULL) {
if (pass) {
dst->term_names = new_table + str_size;
- strcpy(dst->term_names + str_size, src->term_names);
+ _nc_STRCPY(dst->term_names + str_size,
+ src->term_names,
+ new_table_size - str_size);
}
str_size += strlen(src->term_names) + 1;
}
for_each_string(i, src) {
if (VALID_STRING(src->Strings[i])) {
if (pass) {
- strcpy(new_table + str_size, src->Strings[i]);
+ _nc_STRCPY(new_table + str_size,
+ src->Strings[i],
+ new_table_size - str_size);
dst->Strings[i] = new_table + str_size;
}
str_size += strlen(src->Strings[i]) + 1;
++str_size;
if ((new_table = malloc(str_size)) == NULL)
_nc_err_abort(MSG_NO_MEMORY);
+ new_table_size = str_size;
}
}
memcpy(dst->ext_Names, src->ext_Names, i * sizeof(char *));
new_table = NULL;
+ new_table_size = 0;
for (pass = 0; pass < 2; ++pass) {
size_t str_size = 0;
char *raw_data = src->ext_str_table;
size_t skip = strlen(raw_data) + 1;
if (skip != 1) {
if (pass) {
- strcpy(new_table + str_size, raw_data);
+ _nc_STRCPY(new_table + str_size,
+ raw_data,
+ new_table_size - str_size);
}
str_size += skip;
raw_data += skip;
for (i = 0; i < NUM_EXT_NAMES(dst); ++i) {
if (VALID_STRING(src->ext_Names[i])) {
if (pass) {
- strcpy(new_table + str_size, src->ext_Names[i]);
+ _nc_STRCPY(new_table + str_size,
+ src->ext_Names[i],
+ new_table_size - str_size);
dst->ext_Names[i] = new_table + str_size;
}
str_size += strlen(src->ext_Names[i]) + 1;
++str_size;
if ((new_table = calloc(str_size, 1)) == NULL)
_nc_err_abort(MSG_NO_MEMORY);
+ new_table_size = str_size;
}
}
} else {
dst->ext_Names = 0;
}
#endif
+ (void) new_table_size;
DEBUG(2, (T_RETURN("")));
}
#include <curses.priv.h>
-MODULE_ID("$Id: lib_raw.c,v 1.28 2023/08/12 15:45:07 tom Exp $")
+MODULE_ID("$Id: lib_raw.c,v 1.29 2023/09/09 23:14:48 tom Exp $")
#if HAVE_SYS_TERMIO_H
#include <sys/termio.h> /* needed for ISC */
#endif
#if NCURSES_EXT_FUNCS
+/* *INDENT-OFF* */
/*
* SCREEN is always opaque, but nl/raw/cbreak/echo set properties in it.
return ((SP_PARM != NULL) ? (what(SP_PARM) ? 1 : 0) : -1); \
}
-is_TEST(is_nl, IsNl);
-is_TEST(is_raw, IsRaw);
-is_TEST(is_cbreak, IsCbreak);
-is_TEST(is_echo, IsEcho);
+is_TEST(is_nl, IsNl)
+is_TEST(is_raw, IsRaw)
+is_TEST(is_cbreak, IsCbreak)
+is_TEST(is_echo, IsEcho)
#if NCURSES_SP_FUNCS
#undef is_TEST
{ \
return NCURSES_SP_NAME(show) (CURRENT_SCREEN); \
}
-is_TEST(is_nl);
-is_TEST(is_raw);
-is_TEST(is_cbreak);
-is_TEST(is_echo);
+is_TEST(is_nl)
+is_TEST(is_raw)
+is_TEST(is_cbreak)
+is_TEST(is_echo)
#endif
+/* *INDENT-ON* */
#endif /* extensions */
#include <curses.priv.h>
-MODULE_ID("$Id: hardscroll.c,v 1.57 2023/06/25 15:39:32 tom Exp $")
+MODULE_ID("$Id: hardscroll.c,v 1.58 2023/09/09 16:04:08 Nicholas.Marriott Exp $")
#if defined(SCROLLDEBUG) || defined(HASHDEBUG)
_nc_SLIMIT(want - strlen(buf))
" %02d", number);
} else {
- strcat(buf, " ??");
+ _nc_STRCAT(buf, " ??", want - strlen(buf));
}
}
free(buf);
-ncurses6 (6.4+20230902) unstable; urgency=low
+ncurses6 (6.4+20230909) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 02 Sep 2023 05:30:01 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Sep 2023 08:21:39 -0400
ncurses6 (5.9+20131005) unstable; urgency=low
-ncurses6 (6.4+20230902) unstable; urgency=low
+ncurses6 (6.4+20230909) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 02 Sep 2023 05:30:01 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Sep 2023 08:21:39 -0400
ncurses6 (5.9+20131005) unstable; urgency=low
-ncurses6 (6.4+20230902) unstable; urgency=low
+ncurses6 (6.4+20230909) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 02 Sep 2023 05:30:01 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Sep 2023 08:21:39 -0400
ncurses6 (5.9+20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.602 2023/09/02 09:30:01 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.603 2023/09/09 12:21:39 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "4"\r
!define VERSION_YYYY "2023"\r
-!define VERSION_MMDD "0902"\r
+!define VERSION_MMDD "0909"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\r
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.4
-Release: 20230902
+Release: 20230909
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.4
-Release: 20230902
+Release: 20230909
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.4
-Release: 20230902
+Release: 20230909
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz