1# ncurses 6.1 - patch 20190615 - Thomas E. Dickey 2# 3# ------------------------------------------------------------------------------ 4# 5# Ncurses 6.1 is at 6# ftp.gnu.org:/pub/gnu 7# 8# Patches for ncurses 6.1 can be found at 9# ftp://ftp.invisible-island.net/ncurses/6.1 10# http://invisible-mirror.net/archives/ncurses/6.1 11# 12# ------------------------------------------------------------------------------ 13# ftp://ftp.invisible-island.net/ncurses/6.1/ncurses-6.1-20190615.patch.gz 14# patch by Thomas E. Dickey <dickey@invisible-island.net> 15# created Sun Jun 16 00:13:35 UTC 2019 16# ------------------------------------------------------------------------------ 17# NEWS | 6 18# VERSION | 2 19# dist.mk | 4 20# doc/html/ada/funcs/T.htm | 2 21# doc/html/man/adacurses6-config.1.html | 2 22# doc/html/man/captoinfo.1m.html | 2 23# doc/html/man/clear.1.html | 2 24# doc/html/man/curs_variables.3x.html | 12 25# doc/html/man/form.3x.html | 2 26# doc/html/man/infocmp.1m.html | 2 27# doc/html/man/infotocap.1m.html | 2 28# doc/html/man/menu.3x.html | 2 29# doc/html/man/menu_spacing.3x.html | 6 30# doc/html/man/ncurses.3x.html | 2 31# doc/html/man/ncurses6-config.1.html | 2 32# doc/html/man/panel.3x.html | 2 33# doc/html/man/tabs.1.html | 55 ++- 34# doc/html/man/terminfo.5.html | 503 +++++++++++++++++--------------- 35# doc/html/man/tic.1m.html | 4 36# doc/html/man/toe.1m.html | 2 37# doc/html/man/tput.1.html | 2 38# doc/html/man/tset.1.html | 2 39# doc/html/man/user_caps.5.html | 4 40# man/tabs.1 | 49 ++- 41# package/debian-mingw/changelog | 4 42# package/debian-mingw64/changelog | 4 43# package/debian/changelog | 4 44# package/mingw-ncurses.nsi | 4 45# package/mingw-ncurses.spec | 2 46# package/ncurses.spec | 2 47# package/ncursest.spec | 2 48# 31 files changed, 407 insertions(+), 288 deletions(-) 49# ------------------------------------------------------------------------------ 50Index: NEWS 51Prereq: 1.3329 52--- ncurses-6.1-20190609+/NEWS 2019-06-09 20:07:36.000000000 +0000 53+++ ncurses-6.1-20190615/NEWS 2019-06-15 23:39:53.000000000 +0000 54@@ -25,7 +25,7 @@ 55 -- sale, use or other dealings in this Software without prior written -- 56 -- authorization. -- 57 ------------------------------------------------------------------------------- 58--- $Id: NEWS,v 1.3329 2019/06/09 20:07:36 tom Exp $ 59+-- $Id: NEWS,v 1.3332 2019/06/15 23:39:53 tom Exp $ 60 ------------------------------------------------------------------------------- 61 62 This is a log of changes that ncurses has gone through since Zeyd started 63@@ -45,6 +45,10 @@ 64 Changes through 1.9.9e did not credit all contributions; 65 it is not possible to add this information. 66 67+20190615 68+ + expand the portability section of the man/tabs.1 manual page. 69+ + regenerate HTML manpages. 70+ 71 20190609 72 + add mintty, mintty-direct (adapted from patch by Thomas Wolff). 73 Some of the suggested user-defined capabilities are commented-out, 74Index: VERSION 75--- ncurses-6.1-20190609+/VERSION 2019-06-09 20:06:01.000000000 +0000 76+++ ncurses-6.1-20190615/VERSION 2019-06-15 12:46:35.000000000 +0000 77@@ -1 +1 @@ 78-5:0:10 6.1 20190609 79+5:0:10 6.1 20190615 80Index: dist.mk 81Prereq: 1.1287 82--- ncurses-6.1-20190609+/dist.mk 2019-06-09 20:06:01.000000000 +0000 83+++ ncurses-6.1-20190615/dist.mk 2019-06-15 12:46:35.000000000 +0000 84@@ -25,7 +25,7 @@ 85 # use or other dealings in this Software without prior written # 86 # authorization. # 87 ############################################################################## 88-# $Id: dist.mk,v 1.1287 2019/06/09 20:06:01 tom Exp $ 89+# $Id: dist.mk,v 1.1288 2019/06/15 12:46:35 tom Exp $ 90 # Makefile for creating ncurses distributions. 91 # 92 # This only needs to be used directly as a makefile by developers, but 93@@ -37,7 +37,7 @@ 94 # These define the major/minor/patch versions of ncurses. 95 NCURSES_MAJOR = 6 96 NCURSES_MINOR = 1 97-NCURSES_PATCH = 20190609 98+NCURSES_PATCH = 20190615 99 100 # We don't append the patch to the version, since this only applies to releases 101 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) 102Index: doc/html/ada/funcs/T.htm 103--- ncurses-6.1-20190609+/doc/html/ada/funcs/T.htm 2019-03-23 23:10:16.000000000 +0000 104+++ ncurses-6.1-20190615/doc/html/ada/funcs/T.htm 2019-06-15 23:31:13.000000000 +0000 105@@ -20,8 +20,8 @@ 106 <LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_89_16" TARGET="main">tgetnum</A> 107 <LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_108_16" TARGET="main">tgetstr - terminal_interface-curses-termcap.adb:108</A> 108 <LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_129_16" TARGET="main">tgetstr - terminal_interface-curses-termcap.adb:129</A> 109-<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_151_16" TARGET="main">tgoto</A> 110 <LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_53_13" TARGET="main">TGoto</A> 111+<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_151_16" TARGET="main">tgoto</A> 112 <LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_69_16" TARGET="main">tigetflag</A> 113 <LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_87_16" TARGET="main">tigetstr - terminal_interface-curses-terminfo.adb:87</A> 114 <LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_108_16" TARGET="main">tigetstr - terminal_interface-curses-terminfo.adb:108</A> 115Index: doc/html/man/adacurses6-config.1.html 116--- ncurses-6.1-20190609+/doc/html/man/adacurses6-config.1.html 2019-05-18 23:58:24.000000000 +0000 117+++ ncurses-6.1-20190615/doc/html/man/adacurses6-config.1.html 2019-06-15 23:31:08.000000000 +0000 118@@ -125,7 +125,7 @@ 119 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> 120 <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> 121 122- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 123+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 124 125 126 127Index: doc/html/man/captoinfo.1m.html 128--- ncurses-6.1-20190609+/doc/html/man/captoinfo.1m.html 2019-05-18 23:58:24.000000000 +0000 129+++ ncurses-6.1-20190615/doc/html/man/captoinfo.1m.html 2019-06-15 23:31:08.000000000 +0000 130@@ -190,7 +190,7 @@ 131 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> 132 <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> 133 134- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 135+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 136 137 138 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> 139Index: doc/html/man/clear.1.html 140--- ncurses-6.1-20190609+/doc/html/man/clear.1.html 2019-05-18 23:58:24.000000000 +0000 141+++ ncurses-6.1-20190615/doc/html/man/clear.1.html 2019-06-15 23:31:08.000000000 +0000 142@@ -148,7 +148,7 @@ 143 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> 144 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> 145 146- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 147+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 148 149 150 151Index: doc/html/man/curs_variables.3x.html 152--- ncurses-6.1-20190609+/doc/html/man/curs_variables.3x.html 2019-03-16 19:34:45.000000000 +0000 153+++ ncurses-6.1-20190615/doc/html/man/curs_variables.3x.html 2019-06-15 23:31:10.000000000 +0000 154@@ -26,7 +26,7 @@ 155 * sale, use or other dealings in this Software without prior written * 156 * authorization. * 157 **************************************************************************** 158- * @Id: curs_variables.3x,v 1.12 2019/02/16 23:43:23 tom Exp @ 159+ * @Id: curs_variables.3x,v 1.13 2019/06/01 22:51:21 tom Exp @ 160 --> 161 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 162 <HTML> 163@@ -158,14 +158,18 @@ 164 <STRONG><A HREF="addch.3x.html">ch(3x)</A></STRONG> as well as the physical screen with <STRONG><A HREF="curs_terminfo.3x.html">mvcur(3x)</A></STRONG>. 165 166 <STRONG>o</STRONG> This implementation uses the current value of <STRONG>TABSIZE</STRONG> only for up- 167- dating the virtual screen. It uses the terminal description's 168- <STRONG>init_tabs</STRONG> capability for computing tab stops on the physical 169- screen. 170+ dating the virtual screen. It uses the terminal description's <STRONG>it</STRONG> 171+ (<STRONG>init_tabs</STRONG>) capability for computing hardware tabs (i.e., tab stops 172+ on the physical screen). 173 174 <STRONG>o</STRONG> Other implementations differ. For instance, NetBSD curses allows 175 <STRONG>TABSIZE</STRONG> to be set through an environment variable. This implemen- 176 tation does not. 177 178+ NetBSD curses does not support hardware tabs; it uses the <STRONG>init_tabs</STRONG> 179+ capability and the <STRONG>TABSIZE</STRONG> variable only for updating the virtual 180+ screen. 181+ 182 <STRONG>ESCDELAY</STRONG> is an extension in AIX curses: 183 184 <STRONG>o</STRONG> In AIX, the units for <STRONG>ESCDELAY</STRONG> are <EM>fifths</EM> of a millisecond. 185Index: doc/html/man/form.3x.html 186--- ncurses-6.1-20190609+/doc/html/man/form.3x.html 2019-05-18 23:58:26.000000000 +0000 187+++ ncurses-6.1-20190615/doc/html/man/form.3x.html 2019-06-15 23:31:10.000000000 +0000 188@@ -246,7 +246,7 @@ 189 <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed 190 descriptions of the entry points. 191 192- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 193+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 194 195 196 197Index: doc/html/man/infocmp.1m.html 198--- ncurses-6.1-20190609+/doc/html/man/infocmp.1m.html 2019-05-18 23:58:26.000000000 +0000 199+++ ncurses-6.1-20190615/doc/html/man/infocmp.1m.html 2019-06-15 23:31:11.000000000 +0000 200@@ -481,7 +481,7 @@ 201 202 https://invisible-island.net/ncurses/tctest.html 203 204- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 205+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 206 207 208 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> 209Index: doc/html/man/infotocap.1m.html 210--- ncurses-6.1-20190609+/doc/html/man/infotocap.1m.html 2019-05-18 23:58:26.000000000 +0000 211+++ ncurses-6.1-20190615/doc/html/man/infotocap.1m.html 2019-06-15 23:31:11.000000000 +0000 212@@ -85,7 +85,7 @@ 213 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> 214 <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> 215 216- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 217+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 218 219 220 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> 221Index: doc/html/man/menu.3x.html 222--- ncurses-6.1-20190609+/doc/html/man/menu.3x.html 2019-05-18 23:58:26.000000000 +0000 223+++ ncurses-6.1-20190615/doc/html/man/menu.3x.html 2019-06-15 23:31:11.000000000 +0000 224@@ -221,7 +221,7 @@ 225 <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed 226 descriptions of the entry points. 227 228- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 229+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 230 231 232 233Index: doc/html/man/menu_spacing.3x.html 234--- ncurses-6.1-20190609+/doc/html/man/menu_spacing.3x.html 2019-03-16 19:34:46.000000000 +0000 235+++ ncurses-6.1-20190615/doc/html/man/menu_spacing.3x.html 2019-06-15 23:31:11.000000000 +0000 236@@ -1,7 +1,7 @@ 237 <!-- 238 * t 239 **************************************************************************** 240- * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. * 241+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. * 242 * * 243 * Permission is hereby granted, free of charge, to any person obtaining a * 244 * copy of this software and associated documentation files (the * 245@@ -27,7 +27,7 @@ 246 * sale, use or other dealings in this Software without prior written * 247 * authorization. * 248 **************************************************************************** 249- * @Id: menu_spacing.3x,v 1.14 2018/07/28 22:20:54 tom Exp @ 250+ * @Id: menu_spacing.3x,v 1.15 2019/06/01 22:33:45 tom Exp @ 251 --> 252 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 253 <HTML> 254@@ -74,7 +74,7 @@ 255 lines between item rows, these lines will contain the pad character in 256 the appropriate positions. The <STRONG>spc_columns</STRONG> parameter controls the num- 257 ber of blanks between columns of items. It must not be larger than 258- TABSIZE. A value of 0 for all the spacing values resets them to the 259+ <STRONG>TABSIZE</STRONG>. A value of 0 for all the spacing values resets them to the 260 default, which is 1 for all of them. 261 The function <STRONG>menu_spacing</STRONG> passes back the spacing info for the menu. 262 If a pointer is NULL, this specific info is simply not returned. 263Index: doc/html/man/ncurses.3x.html 264--- ncurses-6.1-20190609+/doc/html/man/ncurses.3x.html 2019-05-18 23:58:27.000000000 +0000 265+++ ncurses-6.1-20190615/doc/html/man/ncurses.3x.html 2019-06-15 23:31:12.000000000 +0000 266@@ -59,7 +59,7 @@ 267 method of updating character screens with reasonable optimization. 268 This implementation is "new curses" (ncurses) and is the approved 269 replacement for 4.4BSD classic curses, which has been discontinued. 270- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 271+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 272 273 The <STRONG>ncurses</STRONG> library emulates the curses library of System V Release 4 274 UNIX, and XPG4 (X/Open Portability Guide) curses (also known as XSI 275Index: doc/html/man/ncurses6-config.1.html 276--- ncurses-6.1-20190609+/doc/html/man/ncurses6-config.1.html 2019-05-18 23:58:27.000000000 +0000 277+++ ncurses-6.1-20190615/doc/html/man/ncurses6-config.1.html 2019-06-15 23:31:12.000000000 +0000 278@@ -112,7 +112,7 @@ 279 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> 280 <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> 281 282- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 283+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 284 285 286 287Index: doc/html/man/panel.3x.html 288--- ncurses-6.1-20190609+/doc/html/man/panel.3x.html 2019-05-18 23:58:27.000000000 +0000 289+++ ncurses-6.1-20190615/doc/html/man/panel.3x.html 2019-06-15 23:31:12.000000000 +0000 290@@ -204,7 +204,7 @@ 291 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> 292 <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, 293 294- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 295+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 296 297 298 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> 299Index: doc/html/man/tabs.1.html 300--- ncurses-6.1-20190609+/doc/html/man/tabs.1.html 2019-05-18 23:58:27.000000000 +0000 301+++ ncurses-6.1-20190615/doc/html/man/tabs.1.html 2019-06-15 23:31:12.000000000 +0000 302@@ -26,7 +26,7 @@ 303 * sale, use or other dealings in this Software without prior written * 304 * authorization. * 305 **************************************************************************** 306- * @Id: tabs.1,v 1.20 2019/02/16 23:56:38 tom Exp @ 307+ * @Id: tabs.1,v 1.25 2019/06/15 23:08:12 tom Exp @ 308 --> 309 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 310 <HTML> 311@@ -70,7 +70,13 @@ 312 tions running in the terminal, if at all. Curses and other full-screen 313 applications may use hardware tabs in optimizing their output to the 314 terminal. If the hardware tabstops differ from the information in the 315- terminal database, the result is unpredictable. 316+ terminal database, the result is unpredictable. Before running curses 317+ programs, you should either reset tab-stops to the standard interval 318+ 319+ tabs -8 320+ 321+ or use the <STRONG>reset</STRONG> program, since the normal initialization sequences do 322+ not ensure that tab-stops are reset. 323 324 325 </PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE> 326@@ -151,26 +157,51 @@ 327 (POSIX.1-2008) describes a <STRONG>tabs</STRONG> utility. However 328 329 <STRONG>o</STRONG> This standard describes a <STRONG>+m</STRONG> option, to set a terminal's left-mar- 330- gin. Very few of the entries in the terminal database provide this 331- capability. 332+ gin. Very few of the entries in the terminal database provide the 333+ <STRONG>smgl</STRONG> (<STRONG>set_left_margin</STRONG>) or <STRONG>smglp</STRONG> (<STRONG>set_left_margin_parm</STRONG>) capability 334+ needed to support the feature. 335 336- <STRONG>o</STRONG> There is no counterpart in X/Open Curses Issue 7 for this utility, 337+ <STRONG>o</STRONG> There is no counterpart in X/Open Curses Issue 7 for this utility, 338 unlike <STRONG>tput(1)</STRONG>. 339 340- The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are extensions not provided by 341+ The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are extensions not provided by 342 other implementations. 343 344- Documentation for other implementations states that there is a limit on 345- the number of tab stops. While some terminals may not accept an arbi- 346- trary number of tab stops, this implementation will attempt to set tab 347- stops up to the right margin of the screen, if the given list happens 348- to be that long. 349+ A <STRONG>tabs</STRONG> utility appeared in PWB/Unix 1.0 (1977), and thereafter in 3BSD 350+ (1979). It supported a single "-n" option (to cause the first tab stop 351+ to be set on the left margin). That option is not documented by POSIX. 352+ Initially, <STRONG>tabs</STRONG> used built-in tables rather than the terminal database, 353+ to support a half-dozen terminal types. It also had built-in logic to 354+ support the left-margin, as well as a feature for copying the tab set- 355+ tings from a file. 356+ 357+ Later versions of Unix, e.g., SVr4, added support for the terminal 358+ database, but kept the tables, as a fallback. In an earlier develop- 359+ ment effort, the tab-stop initialization provided by <STRONG>tset</STRONG> (1982) and 360+ incorporated into <STRONG>tput</STRONG> uses the terminal database, 361+ 362+ POSIX documents no limits on the number of tab stops. Documentation 363+ for other implementations states that there is a limit on the number of 364+ tab stops. While some terminals may not accept an arbitrary number of 365+ tab stops, this implementation will attempt to set tab stops up to the 366+ right margin of the screen, if the given list happens to be that long. 367+ 368+ The <EM>Rationale</EM> section of the POSIX documentation goes into some detail 369+ about the ways the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG> 370+ utilities, without proposing an improved solution. It comments that 371+ 372+ no known historical version of tabs supports the capability of 373+ setting arbitrary tab stops. 374+ 375+ However, the <EM>Explicit</EM> <EM>Lists</EM> described in this manual page were imple- 376+ mented in PWB/Unix. Those provide the capability of setting abitrary 377+ tab stops. 378 379 380 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> 381 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <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>. 382 383- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 384+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 385 386 387 388Index: doc/html/man/terminfo.5.html 389--- ncurses-6.1-20190609+/doc/html/man/terminfo.5.html 2019-05-18 23:58:27.000000000 +0000 390+++ ncurses-6.1-20190615/doc/html/man/terminfo.5.html 2019-06-15 23:31:12.000000000 +0000 391@@ -33,7 +33,7 @@ 392 **************************************************************************** 393 * @Id: terminfo.head,v 1.35 2018/07/28 22:29:09 tom Exp @ 394 * Head of terminfo man page ends here 395- * @Id: terminfo.tail,v 1.90 2019/01/20 20:21:46 tom Exp @ 396+ * @Id: terminfo.tail,v 1.93 2019/06/01 22:32:15 tom Exp @ 397 * Beginning of terminfo.tail file 398 * This file is part of ncurses. 399 * See "terminfo.head" for copyright. 400@@ -74,7 +74,7 @@ 401 <EM>Terminfo</EM> describes terminals by giving a set of capabilities which they 402 have, by specifying how to perform screen operations, and by specifying 403 padding requirements and initialization sequences. This describes 404- <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 405+ <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 406 407 408 </PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE> 409@@ -1326,7 +1326,7 @@ 410 applies to storage scope terminals, such as TEKTRONIX 4010 series, as 411 well as hard copy and APL terminals.) If there is a code to move the 412 cursor to the left edge of the current row, give this as <STRONG>cr</STRONG>. (Normally 413- this will be carriage return, control M.) If there is a code to pro- 414+ this will be carriage return, control/M.) If there is a code to pro- 415 duce an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>. 416 417 If there is a code to move the cursor one position to the left (such as 418@@ -1862,29 +1862,42 @@ 419 420 421 </PRE><H3><a name="h3-Tabs-and-Initialization">Tabs and Initialization</a></H3><PRE> 422- If the terminal has hardware tabs, the command to advance to the next 423- tab stop can be given as <STRONG>ht</STRONG> (usually control I). A "back-tab" command 424- which moves leftward to the preceding tab stop can be given as <STRONG>cbt</STRONG>. By 425- convention, if the teletype modes indicate that tabs are being expanded 426- by the computer rather than being sent to the terminal, programs should 427- not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are present, since the user may not have 428- the tab stops properly set. If the terminal has hardware tabs which 429- are initially set every <EM>n</EM> spaces when the terminal is powered up, the 430- numeric parameter <STRONG>it</STRONG> is given, showing the number of spaces the tabs 431- are set to. This is normally used by the <STRONG>tset</STRONG> command to determine 432- whether to set the mode for hardware tab expansion, and whether to set 433- the tab stops. If the terminal has tab stops that can be saved in non- 434- volatile memory, the terminfo description can assume that they are 435- properly set. 436- 437- Other capabilities include <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initialization strings 438- for the terminal, <STRONG>iprog</STRONG>, the path name of a program to be run to ini- 439- tialize the terminal, and <STRONG>if</STRONG>, the name of a file containing long ini- 440- tialization strings. These strings are expected to set the terminal 441- into modes consistent with the rest of the terminfo description. They 442- are normally sent to the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG> pro- 443- gram, each time the user logs in. They will be printed in the follow- 444- ing order: 445+ A few capabilities are used only for tabs: 446+ 447+ <STRONG>o</STRONG> If the terminal has hardware tabs, the command to advance to the 448+ next tab stop can be given as <STRONG>ht</STRONG> (usually control/I). 449+ 450+ <STRONG>o</STRONG> A "back-tab" command which moves leftward to the preceding tab stop 451+ can be given as <STRONG>cbt</STRONG>. 452+ 453+ By convention, if the teletype modes indicate that tabs are being 454+ expanded by the computer rather than being sent to the terminal, 455+ programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are present, since 456+ the user may not have the tab stops properly set. 457+ 458+ <STRONG>o</STRONG> If the terminal has hardware tabs which are initially set every <EM>n</EM> 459+ spaces when the terminal is powered up, the numeric parameter <STRONG>it</STRONG> is 460+ given, showing the number of spaces the tabs are set to. 461+ 462+ The <STRONG>it</STRONG> capability is normally used by the <STRONG>tset</STRONG> command to determine 463+ whether to set the mode for hardware tab expansion, and whether to 464+ set the tab stops. If the terminal has tab stops that can be saved 465+ in non-volatile memory, the terminfo description can assume that 466+ they are properly set. 467+ 468+ Other capabilities include 469+ 470+ <STRONG>o</STRONG> <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initialization strings for the terminal, 471+ 472+ <STRONG>o</STRONG> <STRONG>iprog</STRONG>, the path name of a program to be run to initialize the ter- 473+ minal, 474+ 475+ <STRONG>o</STRONG> and <STRONG>if</STRONG>, the name of a file containing long initialization strings. 476+ 477+ These strings are expected to set the terminal into modes consistent 478+ with the rest of the terminfo description. They are normally sent to 479+ the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG> program, each time the 480+ user logs in. They will be printed in the following order: 481 482 run the program 483 <STRONG>iprog</STRONG> 484@@ -1903,92 +1916,114 @@ 485 and finally 486 output <STRONG>is3</STRONG>. 487 488- Most initialization is done with <STRONG>is2</STRONG>. Special terminal modes can be 489- set up without duplicating strings by putting the common sequences in 490+ Most initialization is done with <STRONG>is2</STRONG>. Special terminal modes can be 491+ set up without duplicating strings by putting the common sequences in 492 <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and <STRONG>is3</STRONG>. 493 494- A set of sequences that does a harder reset from a totally unknown 495+ A set of sequences that does a harder reset from a totally unknown 496 state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analogous to <STRONG>is1</STRONG> <STRONG>,</STRONG> <STRONG>is2</STRONG> <STRONG>,</STRONG> <STRONG>if</STRONG> 497- and <STRONG>is3</STRONG> respectively. These strings are output by the <STRONG>reset</STRONG> program, 498- which is used when the terminal gets into a wedged state. Commands are 499- normally placed in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce annoying 500- effects on the screen and are not necessary when logging in. For exam- 501- ple, the command to set the vt100 into 80-column mode would normally be 502- part of <STRONG>is2</STRONG>, but it causes an annoying glitch of the screen and is not 503- normally needed since the terminal is usually already in 80 column 504- mode. 505- 506- The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>, etc., in the same 507- order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc. If 508- any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are missing, the 509+ and <STRONG>is3</STRONG> respectively. These strings are output by the <STRONG>reset</STRONG> program 510+ (an alias of <STRONG>tset</STRONG>), which is used when the terminal gets into a wedged 511+ state. Commands are normally placed in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if 512+ they produce annoying effects on the screen and are not necessary when 513+ logging in. For example, the command to set the vt100 into 80-column 514+ mode would normally be part of <STRONG>is2</STRONG>, but it causes an annoying glitch of 515+ the screen and is not normally needed since the terminal is usually 516+ already in 80 column mode. 517+ 518+ The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>, etc., in the same 519+ order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc. If 520+ any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are missing, the 521 <STRONG>reset</STRONG> program falls back upon the corresponding initialization capabil- 522 ity string. 523 524- If there are commands to set and clear tab stops, they can be given as 525+ If there are commands to set and clear tab stops, they can be given as 526 <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab stop in the current column 527- of every row). If a more complex sequence is needed to set the tabs 528+ of every row). If a more complex sequence is needed to set the tabs 529 than can be described by this, the sequence can be placed in <STRONG>is2</STRONG> or <STRONG>if</STRONG>. 530 531+ The <STRONG>tput</STRONG> <STRONG>reset</STRONG> command uses the same capability strings as the <STRONG>reset</STRONG> 532+ command, although the two programs (<STRONG>tput</STRONG> and <STRONG>reset</STRONG>) provide different 533+ command-line options. 534+ 535+ In practice, these terminfo capabilities are not often used in initial- 536+ ization of tabs (though they are required for the <STRONG>tabs</STRONG> program): 537+ 538+ <STRONG>o</STRONG> Almost all hardware terminals (at least those which supported tabs) 539+ initialized those to every <EM>eight</EM> columns: 540+ 541+ The only exception was the AT&T 2300 series, which set tabs to 542+ every <EM>five</EM> columns. 543+ 544+ <STRONG>o</STRONG> In particular, developers of the hardware terminals which are com- 545+ monly used as models for modern terminal emulators provided docu- 546+ mentation demonstrating that <EM>eight</EM> columns were the standard. 547+ 548+ <STRONG>o</STRONG> Because of this, the terminal initialization programs <STRONG>tput</STRONG> and <STRONG>tset</STRONG> 549+ use the <STRONG>tbc</STRONG> (<STRONG>clear_all_tabs</STRONG>) and <STRONG>hts</STRONG> (<STRONG>set_tab</STRONG>) capabilities 550+ directly only when the <STRONG>it</STRONG> (<STRONG>init_tabs</STRONG>) capability is set to a value 551+ other than <EM>eight</EM>. 552+ 553 554 </PRE><H3><a name="h3-Delays-and-Padding">Delays and Padding</a></H3><PRE> 555- Many older and slower terminals do not support either XON/XOFF or DTR 556- handshaking, including hard copy terminals and some very archaic CRTs 557- (including, for example, DEC VT100s). These may require padding char- 558+ Many older and slower terminals do not support either XON/XOFF or DTR 559+ handshaking, including hard copy terminals and some very archaic CRTs 560+ (including, for example, DEC VT100s). These may require padding char- 561 acters after certain cursor motions and screen changes. 562 563 If the terminal uses xon/xoff handshaking for flow control (that is, it 564- automatically emits ^S back to the host when its input buffers are 565- close to full), set <STRONG>xon</STRONG>. This capability suppresses the emission of 566- padding. You can also set it for memory-mapped console devices effec- 567- tively that do not have a speed limit. Padding information should 568+ automatically emits ^S back to the host when its input buffers are 569+ close to full), set <STRONG>xon</STRONG>. This capability suppresses the emission of 570+ padding. You can also set it for memory-mapped console devices effec- 571+ tively that do not have a speed limit. Padding information should 572 still be included so that routines can make better decisions about rel- 573 ative costs, but actual pad characters will not be transmitted. 574 575 If <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed at baud rates 576- below the value of <STRONG>pb</STRONG>. If the entry has no padding baud rate, then 577+ below the value of <STRONG>pb</STRONG>. If the entry has no padding baud rate, then 578 whether padding is emitted or not is completely controlled by <STRONG>xon</STRONG>. 579 580- If the terminal requires other than a null (zero) character as a pad, 581- then this can be given as <STRONG>pad</STRONG>. Only the first character of the <STRONG>pad</STRONG> 582+ If the terminal requires other than a null (zero) character as a pad, 583+ then this can be given as <STRONG>pad</STRONG>. Only the first character of the <STRONG>pad</STRONG> 584 string is used. 585 586 587 </PRE><H3><a name="h3-Status-Lines">Status Lines</a></H3><PRE> 588- Some terminals have an extra "status line" which is not normally used 589+ Some terminals have an extra "status line" which is not normally used 590 by software (and thus not counted in the terminal's <STRONG>lines</STRONG> capability). 591 592- The simplest case is a status line which is cursor-addressable but not 593+ The simplest case is a status line which is cursor-addressable but not 594 part of the main scrolling region on the screen; the Heathkit H19 has a 595- status line of this kind, as would a 24-line VT100 with a 23-line 596+ status line of this kind, as would a 24-line VT100 with a 23-line 597 scrolling region set up on initialization. This situation is indicated 598 by the <STRONG>hs</STRONG> capability. 599 600- Some terminals with status lines need special sequences to access the 601- status line. These may be expressed as a string with single parameter 602- <STRONG>tsl</STRONG> which takes the cursor to a given zero-origin column on the status 603- line. The capability <STRONG>fsl</STRONG> must return to the main-screen cursor posi- 604- tions before the last <STRONG>tsl</STRONG>. You may need to embed the string values of 605- <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG> and <STRONG>fsl</STRONG> to accomplish 606+ Some terminals with status lines need special sequences to access the 607+ status line. These may be expressed as a string with single parameter 608+ <STRONG>tsl</STRONG> which takes the cursor to a given zero-origin column on the status 609+ line. The capability <STRONG>fsl</STRONG> must return to the main-screen cursor posi- 610+ tions before the last <STRONG>tsl</STRONG>. You may need to embed the string values of 611+ <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG> and <STRONG>fsl</STRONG> to accomplish 612 this. 613 614- The status line is normally assumed to be the same width as the width 615- of the terminal. If this is untrue, you can specify it with the 616+ The status line is normally assumed to be the same width as the width 617+ of the terminal. If this is untrue, you can specify it with the 618 numeric capability <STRONG>wsl</STRONG>. 619 620 A command to erase or blank the status line may be specified as <STRONG>dsl</STRONG>. 621 622- The boolean capability <STRONG>eslok</STRONG> specifies that escape sequences, tabs, 623+ The boolean capability <STRONG>eslok</STRONG> specifies that escape sequences, tabs, 624 etc., work ordinarily in the status line. 625 626- The <STRONG>ncurses</STRONG> implementation does not yet use any of these capabilities. 627+ The <STRONG>ncurses</STRONG> implementation does not yet use any of these capabilities. 628 They are documented here in case they ever become important. 629 630 631 </PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE> 632- Many terminals have alternate character sets useful for forms-drawing. 633+ Many terminals have alternate character sets useful for forms-drawing. 634 Terminfo and <STRONG>curses</STRONG> have built-in support for most of the drawing char- 635- acters supported by the VT100, with some characters from the AT&T 636- 4410v1 added. This alternate character set may be specified by the 637+ acters supported by the VT100, with some characters from the AT&T 638+ 4410v1 added. This alternate character set may be specified by the 639 <STRONG>acsc</STRONG> capability. 640 641 <STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>acsc</STRONG> <STRONG>acsc</STRONG> 642@@ -2004,7 +2039,6 @@ 643 degree symbol ACS_DEGREE \ f 0x66 644 plus/minus ACS_PLMINUS # g 0x67 645 board of squares ACS_BOARD # h 0x68 646- 647 lantern symbol ACS_LANTERN # i 0x69 648 lower right corner ACS_LRCORNER + j 0x6a 649 upper right corner ACS_URCORNER + k 0x6b 650@@ -2030,34 +2064,34 @@ 651 652 A few notes apply to the table itself: 653 654- <STRONG>o</STRONG> X/Open Curses incorrectly states that the mapping for <EM>lantern</EM> is 655- uppercase "I" although Unix implementations use the lowercase "i" 656+ <STRONG>o</STRONG> X/Open Curses incorrectly states that the mapping for <EM>lantern</EM> is 657+ uppercase "I" although Unix implementations use the lowercase "i" 658 mapping. 659 660- <STRONG>o</STRONG> The DEC VT100 implemented graphics using the alternate character 661- set feature, temporarily switching <EM>modes</EM> and sending characters in 662+ <STRONG>o</STRONG> The DEC VT100 implemented graphics using the alternate character 663+ set feature, temporarily switching <EM>modes</EM> and sending characters in 664 the range 0x60 (96) to 0x7e (126) (the <STRONG>acsc</STRONG> <STRONG>Value</STRONG> column in the ta- 665 ble). 666 667 <STRONG>o</STRONG> The AT&T terminal added graphics characters outside that range. 668 669- Some of the characters within the range do not match the VT100; 670- presumably they were used in the AT&T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM> 671- replaces the VT100 <EM>newline</EM> symbol, while <EM>lantern</EM> <EM>symbol</EM> replaces 672+ Some of the characters within the range do not match the VT100; 673+ presumably they were used in the AT&T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM> 674+ replaces the VT100 <EM>newline</EM> symbol, while <EM>lantern</EM> <EM>symbol</EM> replaces 675 the VT100 <EM>vertical</EM> <EM>tab</EM> symbol. The other VT100 symbols for control 676- characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are not 677+ characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are not 678 (re)used in curses. 679 680- The best way to define a new device's graphics set is to add a column 681- to a copy of this table for your terminal, giving the character which 682- (when emitted between <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the 683+ The best way to define a new device's graphics set is to add a column 684+ to a copy of this table for your terminal, giving the character which 685+ (when emitted between <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the 686 corresponding graphic. Then read off the VT100/your terminal character 687 pairs right to left in sequence; these become the ACSC string. 688 689 690 </PRE><H3><a name="h3-Color-Handling">Color Handling</a></H3><PRE> 691- The curses library functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the 692- <EM>color</EM> <EM>pairs</EM> and <EM>color</EM> <EM>values</EM> discussed in this section (see 693+ The curses library functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the 694+ <EM>color</EM> <EM>pairs</EM> and <EM>color</EM> <EM>values</EM> discussed in this section (see 695 <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> for details on these and related functions). 696 697 Most color terminals are either "Tektronix-like" or "HP-like": 698@@ -2066,43 +2100,43 @@ 699 is usually 8), and can set character-cell foreground and background 700 characters independently, mixing them into <EM>N</EM> * <EM>N</EM> color-pairs. 701 702- <STRONG>o</STRONG> On HP-like terminals, the user must set each color pair up sepa- 703- rately (foreground and background are not independently settable). 704+ <STRONG>o</STRONG> On HP-like terminals, the user must set each color pair up sepa- 705+ rately (foreground and background are not independently settable). 706 Up to <EM>M</EM> color-pairs may be set up from 2*<EM>M</EM> different colors. ANSI- 707 compatible terminals are Tektronix-like. 708 709 Some basic color capabilities are independent of the color method. The 710- numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify the maximum numbers of 711- colors and color-pairs that can be displayed simultaneously. The <STRONG>op</STRONG> 712+ numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify the maximum numbers of 713+ colors and color-pairs that can be displayed simultaneously. The <STRONG>op</STRONG> 714 (original pair) string resets foreground and background colors to their 715- default values for the terminal. The <STRONG>oc</STRONG> string resets all colors or 716- color-pairs to their default values for the terminal. Some terminals 717+ default values for the terminal. The <STRONG>oc</STRONG> string resets all colors or 718+ color-pairs to their default values for the terminal. Some terminals 719 (including many PC terminal emulators) erase screen areas with the cur- 720- rent background color rather than the power-up default background; 721+ rent background color rather than the power-up default background; 722 these should have the boolean capability <STRONG>bce</STRONG>. 723 724 While the curses library works with <EM>color</EM> <EM>pairs</EM> (reflecting the inabil- 725- ity of some devices to set foreground and background colors indepen- 726+ ity of some devices to set foreground and background colors indepen- 727 dently), there are separate capabilities for setting these features: 728 729- <STRONG>o</STRONG> To change the current foreground or background color on a Tek- 730- tronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground) and <STRONG>setab</STRONG> 731- (set ANSI background) or <STRONG>setf</STRONG> (set foreground) and <STRONG>setb</STRONG> (set back- 732- ground). These take one parameter, the color number. The SVr4 733- documentation describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that 734- "If the terminal supports ANSI escape sequences to set background 735- and foreground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec- 736+ <STRONG>o</STRONG> To change the current foreground or background color on a Tek- 737+ tronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground) and <STRONG>setab</STRONG> 738+ (set ANSI background) or <STRONG>setf</STRONG> (set foreground) and <STRONG>setb</STRONG> (set back- 739+ ground). These take one parameter, the color number. The SVr4 740+ documentation describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that 741+ "If the terminal supports ANSI escape sequences to set background 742+ and foreground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec- 743 tively. 744 745- <STRONG>o</STRONG> If the terminal supports other escape sequences to set background 746- and foreground, they should be coded as <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respec- 747- tively. The <STRONG>vidputs</STRONG> and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> functions use the <STRONG>setaf</STRONG> 748+ <STRONG>o</STRONG> If the terminal supports other escape sequences to set background 749+ and foreground, they should be coded as <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respec- 750+ tively. The <STRONG>vidputs</STRONG> and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> functions use the <STRONG>setaf</STRONG> 751 and <STRONG>setab</STRONG> capabilities if they are defined. 752 753- The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single numeric argu- 754- ment each. Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> are portably defined as 755- follows (the middle column is the symbolic #define available in the 756- header for the <STRONG>curses</STRONG> or <STRONG>ncurses</STRONG> libraries). The terminal hardware is 757+ The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single numeric argu- 758+ ment each. Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> are portably defined as 759+ follows (the middle column is the symbolic #define available in the 760+ header for the <STRONG>curses</STRONG> or <STRONG>ncurses</STRONG> libraries). The terminal hardware is 761 free to map these as it likes, but the RGB values indicate normal loca- 762 tions in color space. 763 764@@ -2112,6 +2146,7 @@ 765 green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0 766 yellow <STRONG>COLOR_YELLOW</STRONG> 3 max,max,0 767 blue <STRONG>COLOR_BLUE</STRONG> 4 0,0,max 768+ 769 magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max 770 cyan <STRONG>COLOR_CYAN</STRONG> 6 0,max,max 771 white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max 772@@ -2132,28 +2167,28 @@ 773 It is important to not confuse the two sets of color capabilities; oth- 774 erwise red/blue will be interchanged on the display. 775 776- On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number parameter to 777+ On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number parameter to 778 set which color pair is current. 779 780 Some terminals allow the <EM>color</EM> <EM>values</EM> to be modified: 781 782- <STRONG>o</STRONG> On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be present to 783- indicate that colors can be modified. If so, the <STRONG>initc</STRONG> capability 784+ <STRONG>o</STRONG> On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be present to 785+ indicate that colors can be modified. If so, the <STRONG>initc</STRONG> capability 786 will take a color number (0 to <STRONG>colors</STRONG> - 1)and three more parameters 787- which describe the color. These three parameters default to being 788+ which describe the color. These three parameters default to being 789 interpreted as RGB (Red, Green, Blue) values. If the boolean capa- 790- bility <STRONG>hls</STRONG> is present, they are instead as HLS (Hue, Lightness, 791+ bility <STRONG>hls</STRONG> is present, they are instead as HLS (Hue, Lightness, 792 Saturation) indices. The ranges are terminal-dependent. 793 794- <STRONG>o</STRONG> On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing a 795+ <STRONG>o</STRONG> On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing a 796 color-pair value. It will take seven parameters; a color-pair num- 797- ber (0 to <STRONG>max_pairs</STRONG> - 1), and two triples describing first back- 798- ground and then foreground colors. These parameters must be (Red, 799+ ber (0 to <STRONG>max_pairs</STRONG> - 1), and two triples describing first back- 800+ ground and then foreground colors. These parameters must be (Red, 801 Green, Blue) or (Hue, Lightness, Saturation) depending on <STRONG>hls</STRONG>. 802 803- On some color terminals, colors collide with highlights. You can reg- 804- ister these collisions with the <STRONG>ncv</STRONG> capability. This is a bit-mask of 805- attributes not to be used when colors are enabled. The correspondence 806+ On some color terminals, colors collide with highlights. You can reg- 807+ ister these collisions with the <STRONG>ncv</STRONG> capability. This is a bit-mask of 808+ attributes not to be used when colors are enabled. The correspondence 809 with the attributes understood by <STRONG>curses</STRONG> is as follows: 810 811 <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG> <STRONG>Set</STRONG> <STRONG>by</STRONG> 812@@ -2174,134 +2209,134 @@ 813 A_VERTICAL 14 16384 sgr1 814 A_ITALIC 15 32768 sitm 815 816- For example, on many IBM PC consoles, the underline attribute collides 817- with the foreground color blue and is not available in color mode. 818+ For example, on many IBM PC consoles, the underline attribute collides 819+ with the foreground color blue and is not available in color mode. 820 These should have an <STRONG>ncv</STRONG> capability of 2. 821 822- SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it and optimizes 823+ SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it and optimizes 824 the output in favor of colors. 825 826 827 </PRE><H3><a name="h3-Miscellaneous">Miscellaneous</a></H3><PRE> 828- If the terminal requires other than a null (zero) character as a pad, 829- then this can be given as pad. Only the first character of the pad 830+ If the terminal requires other than a null (zero) character as a pad, 831+ then this can be given as pad. Only the first character of the pad 832 string is used. If the terminal does not have a pad character, specify 833- npc. Note that ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable; 834- though the application may set this value to something other than a 835- null, ncurses will test <STRONG>npc</STRONG> first and use napms if the terminal has no 836+ npc. Note that ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable; 837+ though the application may set this value to something other than a 838+ null, ncurses will test <STRONG>npc</STRONG> first and use napms if the terminal has no 839 pad character. 840 841- If the terminal can move up or down half a line, this can be indicated 842+ If the terminal can move up or down half a line, this can be indicated 843 with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line down). This is primarily use- 844 ful for superscripts and subscripts on hard-copy terminals. If a hard- 845- copy terminal can eject to the next page (form feed), give this as <STRONG>ff</STRONG> 846- (usually control L). 847+ copy terminal can eject to the next page (form feed), give this as <STRONG>ff</STRONG> 848+ (usually control/L). 849 850- If there is a command to repeat a given character a given number of 851- times (to save time transmitting a large number of identical charac- 852- ters) this can be indicated with the parameterized string <STRONG>rep</STRONG>. The 853- first parameter is the character to be repeated and the second is the 854+ If there is a command to repeat a given character a given number of 855+ times (to save time transmitting a large number of identical charac- 856+ ters) this can be indicated with the parameterized string <STRONG>rep</STRONG>. The 857+ first parameter is the character to be repeated and the second is the 858 number of times to repeat it. Thus, tparm(repeat_char, 'x', 10) is the 859 same as "xxxxxxxxxx". 860 861 If the terminal has a settable command character, such as the TEKTRONIX 862- 4025, this can be indicated with <STRONG>cmdch</STRONG>. A prototype command character 863- is chosen which is used in all capabilities. This character is given 864- in the <STRONG>cmdch</STRONG> capability to identify it. The following convention is 865+ 4025, this can be indicated with <STRONG>cmdch</STRONG>. A prototype command character 866+ is chosen which is used in all capabilities. This character is given 867+ in the <STRONG>cmdch</STRONG> capability to identify it. The following convention is 868 supported on some UNIX systems: The environment is to be searched for a 869- <STRONG>CC</STRONG> variable, and if found, all occurrences of the prototype character 870+ <STRONG>CC</STRONG> variable, and if found, all occurrences of the prototype character 871 are replaced with the character in the environment variable. 872 873- Terminal descriptions that do not represent a specific kind of known 874- terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and <EM>network</EM>, should include 875- the <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do 876- not know how to talk to the terminal. (This capability does not apply 877- to <EM>virtual</EM> terminal descriptions for which the escape sequences are 878+ Terminal descriptions that do not represent a specific kind of known 879+ terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and <EM>network</EM>, should include 880+ the <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do 881+ not know how to talk to the terminal. (This capability does not apply 882+ to <EM>virtual</EM> terminal descriptions for which the escape sequences are 883 known.) 884 885 If the terminal has a "meta key" which acts as a shift key, setting the 886- 8th bit of any character transmitted, this fact can be indicated with 887- <STRONG>km</STRONG>. Otherwise, software will assume that the 8th bit is parity and it 888- will usually be cleared. If strings exist to turn this "meta mode" on 889+ 8th bit of any character transmitted, this fact can be indicated with 890+ <STRONG>km</STRONG>. Otherwise, software will assume that the 8th bit is parity and it 891+ will usually be cleared. If strings exist to turn this "meta mode" on 892 and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>. 893 894 If the terminal has more lines of memory than will fit on the screen at 895- once, the number of lines of memory can be indicated with <STRONG>lm</STRONG>. A value 896+ once, the number of lines of memory can be indicated with <STRONG>lm</STRONG>. A value 897 of <STRONG>lm</STRONG>#0 indicates that the number of lines is not fixed, but that there 898 is still more memory than fits on the screen. 899 900- If the terminal is one of those supported by the UNIX virtual terminal 901+ If the terminal is one of those supported by the UNIX virtual terminal 902 protocol, the terminal number can be given as <STRONG>vt</STRONG>. 903 904- Media copy strings which control an auxiliary printer connected to the 905- terminal can be given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>: 906- turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer. When the printer 907- is on, all text sent to the terminal will be sent to the printer. It 908- is undefined whether the text is also displayed on the terminal screen 909- when the printer is on. A variation <STRONG>mc5p</STRONG> takes one parameter, and 910+ Media copy strings which control an auxiliary printer connected to the 911+ terminal can be given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>: 912+ turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer. When the printer 913+ is on, all text sent to the terminal will be sent to the printer. It 914+ is undefined whether the text is also displayed on the terminal screen 915+ when the printer is on. A variation <STRONG>mc5p</STRONG> takes one parameter, and 916 leaves the printer on for as many characters as the value of the param- 917 eter, then turns the printer off. The parameter should not exceed 255. 918- All text, including <STRONG>mc4</STRONG>, is transparently passed to the printer while 919+ All text, including <STRONG>mc4</STRONG>, is transparently passed to the printer while 920 an <STRONG>mc5p</STRONG> is in effect. 921 922 923 </PRE><H3><a name="h3-Glitches-and-Braindamage">Glitches and Braindamage</a></H3><PRE> 924- Hazeltine terminals, which do not allow "~" characters to be displayed 925+ Hazeltine terminals, which do not allow "~" characters to be displayed 926 should indicate <STRONG>hz</STRONG>. 927 928- Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG> wrap, such 929+ Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG> wrap, such 930 as the Concept and vt100, should indicate <STRONG>xenl</STRONG>. 931 932- If <STRONG>el</STRONG> is required to get rid of standout (instead of merely writing 933+ If <STRONG>el</STRONG> is required to get rid of standout (instead of merely writing 934 normal text on top of it), <STRONG>xhp</STRONG> should be given. 935 936 Teleray terminals, where tabs turn all characters moved over to blanks, 937- should indicate <STRONG>xt</STRONG> (destructive tabs). Note: the variable indicating 938- this is now "dest_tabs_magic_smso"; in older versions, it was tel- 939+ should indicate <STRONG>xt</STRONG> (destructive tabs). Note: the variable indicating 940+ this is now "dest_tabs_magic_smso"; in older versions, it was tel- 941 eray_glitch. This glitch is also taken to mean that it is not possible 942 to position the cursor on top of a "magic cookie", that to erase stand- 943- out mode it is instead necessary to use delete and insert line. The 944+ out mode it is instead necessary to use delete and insert line. The 945 ncurses implementation ignores this glitch. 946 947- The Beehive Superbee, which is unable to correctly transmit the escape 948- or control C characters, has <STRONG>xsb</STRONG>, indicating that the f1 key is used 949- for escape and f2 for control C. (Only certain Superbees have this 950- problem, depending on the ROM.) Note that in older terminfo versions, 951+ The Beehive Superbee, which is unable to correctly transmit the escape 952+ or control/C characters, has <STRONG>xsb</STRONG>, indicating that the f1 key is used 953+ for escape and f2 for control/C. (Only certain Superbees have this 954+ problem, depending on the ROM.) Note that in older terminfo versions, 955 this capability was called "beehive_glitch"; it is now "no_esc_ctl_c". 956 957- Other specific terminal problems may be corrected by adding more capa- 958+ Other specific terminal problems may be corrected by adding more capa- 959 bilities of the form <STRONG>x</STRONG><EM>x</EM>. 960 961 962 </PRE><H3><a name="h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></H3><PRE> 963- Long terminfo entries are unlikely to be a problem; to date, no entry 964- has even approached terminfo's 4096-byte string-table maximum. Unfor- 965- tunately, the termcap translations are much more strictly limited (to 966- 1023 bytes), thus termcap translations of long terminfo entries can 967+ Long terminfo entries are unlikely to be a problem; to date, no entry 968+ has even approached terminfo's 4096-byte string-table maximum. Unfor- 969+ tunately, the termcap translations are much more strictly limited (to 970+ 1023 bytes), thus termcap translations of long terminfo entries can 971 cause problems. 972 973- The man pages for 4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the 974- user to allocate a 1024-byte buffer for the termcap entry. The entry 975- gets null-terminated by the termcap library, so that makes the maximum 976- safe length for a termcap entry 1k-1 (1023) bytes. Depending on what 977- the application and the termcap library being used does, and where in 978- the termcap file the terminal type that <STRONG>tgetent</STRONG> is searching for is, 979+ The man pages for 4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the 980+ user to allocate a 1024-byte buffer for the termcap entry. The entry 981+ gets null-terminated by the termcap library, so that makes the maximum 982+ safe length for a termcap entry 1k-1 (1023) bytes. Depending on what 983+ the application and the termcap library being used does, and where in 984+ the termcap file the terminal type that <STRONG>tgetent</STRONG> is searching for is, 985 several bad things can happen. 986 987- Some termcap libraries print a warning message or exit if they find an 988+ Some termcap libraries print a warning message or exit if they find an 989 entry that's longer than 1023 bytes; others do not; others truncate the 990- entries to 1023 bytes. Some application programs allocate more than 991+ entries to 1023 bytes. Some application programs allocate more than 992 the recommended 1K for the termcap entry; others do not. 993 994- Each termcap entry has two important sizes associated with it: before 995- "tc" expansion, and after "tc" expansion. "tc" is the capability that 996+ Each termcap entry has two important sizes associated with it: before 997+ "tc" expansion, and after "tc" expansion. "tc" is the capability that 998 tacks on another termcap entry to the end of the current one, to add on 999 its capabilities. If a termcap entry does not use the "tc" capability, 1000 then of course the two lengths are the same. 1001 1002- The "before tc expansion" length is the most important one, because it 1003- affects more than just users of that particular terminal. This is the 1004- length of the entry as it exists in /etc/termcap, minus the backslash- 1005+ The "before tc expansion" length is the most important one, because it 1006+ affects more than just users of that particular terminal. This is the 1007+ length of the entry as it exists in /etc/termcap, minus the backslash- 1008 newline pairs, which <STRONG>tgetent</STRONG> strips out while reading it. Some termcap 1009 libraries strip off the final newline, too (GNU termcap does not). Now 1010 suppose: 1011@@ -2310,87 +2345,87 @@ 1012 1013 <STRONG>o</STRONG> and the application has only allocated a 1k buffer, 1014 1015- <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1 and GNU) reads 1016- the whole entry into the buffer, no matter what its length, to see 1017+ <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1 and GNU) reads 1018+ the whole entry into the buffer, no matter what its length, to see 1019 if it is the entry it wants, 1020 1021- <STRONG>o</STRONG> and <STRONG>tgetent</STRONG> is searching for a terminal type that either is the 1022- long entry, appears in the termcap file after the long entry, or 1023- does not appear in the file at all (so that <STRONG>tgetent</STRONG> has to search 1024+ <STRONG>o</STRONG> and <STRONG>tgetent</STRONG> is searching for a terminal type that either is the 1025+ long entry, appears in the termcap file after the long entry, or 1026+ does not appear in the file at all (so that <STRONG>tgetent</STRONG> has to search 1027 the whole termcap file). 1028 1029- Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps its stack, and probably 1030- core dump the program. Programs like telnet are particularly vulnera- 1031- ble; modern telnets pass along values like the terminal type automati- 1032- cally. The results are almost as undesirable with a termcap library, 1033- like SunOS 4.1.3 and Ultrix 4.4, that prints warning messages when it 1034- reads an overly long termcap entry. If a termcap library truncates 1035- long entries, like OSF/1 3.0, it is immune to dying here but will 1036+ Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps its stack, and probably 1037+ core dump the program. Programs like telnet are particularly vulnera- 1038+ ble; modern telnets pass along values like the terminal type automati- 1039+ cally. The results are almost as undesirable with a termcap library, 1040+ like SunOS 4.1.3 and Ultrix 4.4, that prints warning messages when it 1041+ reads an overly long termcap entry. If a termcap library truncates 1042+ long entries, like OSF/1 3.0, it is immune to dying here but will 1043 return incorrect data for the terminal. 1044 1045- The "after tc expansion" length will have a similar effect to the 1046+ The "after tc expansion" length will have a similar effect to the 1047 above, but only for people who actually set TERM to that terminal type, 1048- since <STRONG>tgetent</STRONG> only does "tc" expansion once it is found the terminal 1049+ since <STRONG>tgetent</STRONG> only does "tc" expansion once it is found the terminal 1050 type it was looking for, not while searching. 1051 1052- In summary, a termcap entry that is longer than 1023 bytes can cause, 1053- on various combinations of termcap libraries and applications, a core 1054- dump, warnings, or incorrect operation. If it is too long even before 1055- "tc" expansion, it will have this effect even for users of some other 1056- terminal types and users whose TERM variable does not have a termcap 1057+ In summary, a termcap entry that is longer than 1023 bytes can cause, 1058+ on various combinations of termcap libraries and applications, a core 1059+ dump, warnings, or incorrect operation. If it is too long even before 1060+ "tc" expansion, it will have this effect even for users of some other 1061+ terminal types and users whose TERM variable does not have a termcap 1062 entry. 1063 1064- When in -C (translate to termcap) mode, the <STRONG>ncurses</STRONG> implementation of 1065- <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-tc length of a termcap 1066- translation is too long. The -c (check) option also checks resolved 1067+ When in -C (translate to termcap) mode, the <STRONG>ncurses</STRONG> implementation of 1068+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-tc length of a termcap 1069+ translation is too long. The -c (check) option also checks resolved 1070 (after tc expansion) lengths. 1071 1072 1073 </PRE><H3><a name="h3-Binary-Compatibility">Binary Compatibility</a></H3><PRE> 1074- It is not wise to count on portability of binary terminfo entries 1075- between commercial UNIX versions. The problem is that there are at 1076- least two versions of terminfo (under HP-UX and AIX) which diverged 1077- from System V terminfo after SVr1, and have added extension capabili- 1078- ties to the string table that (in the binary format) collide with Sys- 1079+ It is not wise to count on portability of binary terminfo entries 1080+ between commercial UNIX versions. The problem is that there are at 1081+ least two versions of terminfo (under HP-UX and AIX) which diverged 1082+ from System V terminfo after SVr1, and have added extension capabili- 1083+ ties to the string table that (in the binary format) collide with Sys- 1084 tem V and XSI Curses extensions. 1085 1086 1087 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> 1088- Searching for terminal descriptions in <STRONG>$HOME/.terminfo</STRONG> and TER- 1089+ Searching for terminal descriptions in <STRONG>$HOME/.terminfo</STRONG> and TER- 1090 MINFO_DIRS is not supported by older implementations. 1091 1092- Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to SVr4, do not 1093+ Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to SVr4, do not 1094 interpret the %A and %O operators in parameter strings. 1095 1096- SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement while in an 1097- alternate-character-set mode (such modes may, among other things, map 1098- CR and NL to characters that do not trigger local motions). The 1099- <STRONG>ncurses</STRONG> implementation ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises 1100- the possibility that an XPG4 implementation making the opposite inter- 1101- pretation may need terminfo entries made for <STRONG>ncurses</STRONG> to have <STRONG>msgr</STRONG> 1102+ SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement while in an 1103+ alternate-character-set mode (such modes may, among other things, map 1104+ CR and NL to characters that do not trigger local motions). The 1105+ <STRONG>ncurses</STRONG> implementation ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises 1106+ the possibility that an XPG4 implementation making the opposite inter- 1107+ pretation may need terminfo entries made for <STRONG>ncurses</STRONG> to have <STRONG>msgr</STRONG> 1108 turned off. 1109 1110 The <STRONG>ncurses</STRONG> library handles insert-character and insert-character modes 1111- in a slightly non-standard way to get better update efficiency. See 1112+ in a slightly non-standard way to get better update efficiency. See 1113 the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG> subsection above. 1114 1115- The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>display_clock</STRONG> are not 1116- documented in SVr4 or the XSI Curses standard. They are deduced from 1117+ The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>display_clock</STRONG> are not 1118+ documented in SVr4 or the XSI Curses standard. They are deduced from 1119 the documentation for the AT&T 505 terminal. 1120 1121- Be careful assigning the <STRONG>kmous</STRONG> capability. The <STRONG>ncurses</STRONG> library wants 1122- to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals and emulators like 1123- xterm that can return mouse-tracking information in the keyboard-input 1124+ Be careful assigning the <STRONG>kmous</STRONG> capability. The <STRONG>ncurses</STRONG> library wants 1125+ to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals and emulators like 1126+ xterm that can return mouse-tracking information in the keyboard-input 1127 stream. 1128 1129- X/Open Curses does not mention italics. Portable applications must 1130- assume that numeric capabilities are signed 16-bit values. This 1131- includes the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (ncv) capability. The 32768 mask value 1132- used for italics with ncv can be confused with an absent or cancelled 1133- ncv. If italics should work with colors, then the ncv value must be 1134+ X/Open Curses does not mention italics. Portable applications must 1135+ assume that numeric capabilities are signed 16-bit values. This 1136+ includes the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (ncv) capability. The 32768 mask value 1137+ used for italics with ncv can be confused with an absent or cancelled 1138+ ncv. If italics should work with colors, then the ncv value must be 1139 specified, even if it is zero. 1140 1141- Different commercial ports of terminfo and curses support different 1142+ Different commercial ports of terminfo and curses support different 1143 subsets of the XSI Curses standard and (in some cases) different exten- 1144 sion sets. Here is a summary, accurate as of October 1995: 1145 1146@@ -2400,15 +2435,15 @@ 1147 capability (<STRONG>set_pglen</STRONG>). 1148 1149 <STRONG>o</STRONG> <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of terminfo capa- 1150- bilities. The booleans end with <STRONG>xon_xoff</STRONG>; the numerics with 1151+ bilities. The booleans end with <STRONG>xon_xoff</STRONG>; the numerics with 1152 <STRONG>width_status_line</STRONG>; and the strings with <STRONG>prtr_non</STRONG>. 1153 1154- <STRONG>o</STRONG> <STRONG>HP/UX</STRONG> -- Supports the SVr1 subset, plus the SVr[234] numerics 1155- <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus function keys 11 1156- through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and <STRONG>label_off</STRONG>, plus some 1157+ <STRONG>o</STRONG> <STRONG>HP/UX</STRONG> -- Supports the SVr1 subset, plus the SVr[234] numerics 1158+ <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus function keys 11 1159+ through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and <STRONG>label_off</STRONG>, plus some 1160 incompatible extensions in the string table. 1161 1162- <STRONG>o</STRONG> <STRONG>AIX</STRONG> -- Supports the SVr1 subset, plus function keys 11 through 63, 1163+ <STRONG>o</STRONG> <STRONG>AIX</STRONG> -- Supports the SVr1 subset, plus function keys 11 through 63, 1164 plus a number of incompatible string table extensions. 1165 1166 <STRONG>o</STRONG> <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX extensions. 1167@@ -2419,8 +2454,8 @@ 1168 1169 1170 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> 1171- <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. 1172- <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>. 1173+ <STRONG><A HREF="tabs.1m.html">tabs(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG> 1174+ <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>. 1175 1176 1177 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> 1178Index: doc/html/man/tic.1m.html 1179--- ncurses-6.1-20190609+/doc/html/man/tic.1m.html 2019-05-18 23:58:28.000000000 +0000 1180+++ ncurses-6.1-20190615/doc/html/man/tic.1m.html 2019-06-15 23:31:12.000000000 +0000 1181@@ -26,7 +26,7 @@ 1182 * sale, use or other dealings in this Software without prior written * 1183 * authorization. * 1184 **************************************************************************** 1185- * @Id: tic.1m,v 1.68 2019/05/18 21:59:56 tom Exp @ 1186+ * @Id: tic.1m,v 1.69 2019/05/18 22:48:40 tom Exp @ 1187 --> 1188 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 1189 <HTML> 1190@@ -365,7 +365,7 @@ 1191 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(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>, 1192 <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>. 1193 1194- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 1195+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 1196 1197 1198 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> 1199Index: doc/html/man/toe.1m.html 1200--- ncurses-6.1-20190609+/doc/html/man/toe.1m.html 2019-05-18 23:58:28.000000000 +0000 1201+++ ncurses-6.1-20190615/doc/html/man/toe.1m.html 2019-06-15 23:31:12.000000000 +0000 1202@@ -113,7 +113,7 @@ 1203 <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>ter-</STRONG> 1204 <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>. 1205 1206- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 1207+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 1208 1209 1210 1211Index: doc/html/man/tput.1.html 1212--- ncurses-6.1-20190609+/doc/html/man/tput.1.html 2019-05-18 23:58:28.000000000 +0000 1213+++ ncurses-6.1-20190615/doc/html/man/tput.1.html 2019-06-15 23:31:12.000000000 +0000 1214@@ -522,7 +522,7 @@ 1215 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> 1216 <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="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>. 1217 1218- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 1219+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 1220 1221 1222 1223Index: doc/html/man/tset.1.html 1224--- ncurses-6.1-20190609+/doc/html/man/tset.1.html 2019-05-18 23:58:28.000000000 +0000 1225+++ ncurses-6.1-20190615/doc/html/man/tset.1.html 2019-06-15 23:31:12.000000000 +0000 1226@@ -389,7 +389,7 @@ 1227 <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>, 1228 <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG> 1229 1230- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190518). 1231+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190615). 1232 1233 1234 1235Index: doc/html/man/user_caps.5.html 1236--- ncurses-6.1-20190609+/doc/html/man/user_caps.5.html 2019-05-18 23:58:28.000000000 +0000 1237+++ ncurses-6.1-20190615/doc/html/man/user_caps.5.html 2019-06-15 23:31:12.000000000 +0000 1238@@ -1,6 +1,6 @@ 1239 <!-- 1240 **************************************************************************** 1241- * Copyright (c) 2017,2018 Free Software Foundation, Inc. * 1242+ * Copyright (c) 2017-2018,2019 Free Software Foundation, Inc. * 1243 * * 1244 * Permission is hereby granted, free of charge, to any person obtaining a * 1245 * copy of this software and associated documentation files (the * 1246@@ -26,7 +26,7 @@ 1247 * sale, use or other dealings in this Software without prior written * 1248 * authorization. * 1249 **************************************************************************** 1250- * @Id: user_caps.5,v 1.9 2018/07/28 22:05:23 tom Exp @ 1251+ * @Id: user_caps.5,v 1.10 2019/05/18 22:48:40 tom Exp @ 1252 --> 1253 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 1254 <HTML> 1255Index: man/tabs.1 1256Prereq: 1.20 1257--- ncurses-6.1-20190609+/man/tabs.1 2019-02-16 23:56:38.000000000 +0000 1258+++ ncurses-6.1-20190615/man/tabs.1 2019-06-15 23:08:12.000000000 +0000 1259@@ -26,7 +26,7 @@ 1260 .\" authorization. * 1261 .\"*************************************************************************** 1262 .\" 1263-.\" $Id: tabs.1,v 1.20 2019/02/16 23:56:38 tom Exp $ 1264+.\" $Id: tabs.1,v 1.25 2019/06/15 23:08:12 tom Exp $ 1265 .TH @TABS@ 1 "" 1266 .ds n 5 1267 .ie \n(.g .ds `` \(lq 1268@@ -76,6 +76,15 @@ 1269 in optimizing their output to the terminal. 1270 If the hardware tabstops differ from the information in the terminal 1271 database, the result is unpredictable. 1272+Before running curses programs, 1273+you should either reset tab-stops to the standard interval 1274+.NS 1275+tabs -8 1276+.NE 1277+.PP 1278+or use the \fB@RESET@\fP program, 1279+since the normal initialization sequences do not ensure that tab-stops 1280+are reset. 1281 .SH OPTIONS 1282 .SS General Options 1283 .TP 5 1284@@ -165,7 +174,10 @@ 1285 However 1286 .bP 1287 This standard describes a \fB+m\fP option, to set a terminal's left-margin. 1288-Very few of the entries in the terminal database provide this capability. 1289+Very few of the entries in the terminal database provide the 1290+\fBsmgl\fP (\fBset_left_margin\fP) or 1291+\fBsmglp\fP (\fBset_left_margin_parm\fP) 1292+capability needed to support the feature. 1293 .bP 1294 There is no counterpart in X/Open Curses Issue 7 for this utility, 1295 unlike \fB@TPUT@(1)\fP. 1296@@ -173,11 +185,44 @@ 1297 The \fB\-d\fP (debug) and \fB\-n\fP (no-op) options are extensions not provided 1298 by other implementations. 1299 .PP 1300+A \fBtabs\fP utility appeared in PWB/Unix 1.0 (1977), 1301+and thereafter in 3BSD (1979). 1302+It supported a single \*(``\-n\*('' option 1303+(to cause the first tab stop to be set on the left margin). 1304+That option is not documented by POSIX. 1305+Initially, \fBtabs\fP used built-in tables rather than the terminal database, 1306+to support a half-dozen terminal types. 1307+It also had built-in logic to support the left-margin, 1308+as well as a feature for copying the tab settings from a file. 1309+.PP 1310+Later versions of Unix, e.g., SVr4, 1311+added support for the terminal database, 1312+but kept the tables, as a fallback. 1313+In an earlier development effort, 1314+the tab-stop initialization provided by \fBtset\fP (1982) 1315+and incorporated into \fBtput\fP uses the terminal database, 1316+.PP 1317+POSIX documents no limits on the number of tab stops. 1318 Documentation for other implementations states that there is a limit on the 1319 number of tab stops. 1320 While some terminals may not accept an arbitrary number 1321 of tab stops, this implementation will attempt to set tab stops up to the 1322 right margin of the screen, if the given list happens to be that long. 1323+.PP 1324+The \fIRationale\fP section of the POSIX documentation goes into some 1325+detail about the ways the committee considered redesigning the 1326+\fBtabs\fP and \fBtput\fP utilities, 1327+without proposing an improved solution. 1328+It comments that 1329+.RS 5 1330+.PP 1331+no known historical version of tabs supports the capability of setting 1332+arbitrary tab stops. 1333+.RE 1334+.PP 1335+However, the \fIExplicit Lists\fP described in this manual page 1336+were implemented in PWB/Unix. 1337+Those provide the capability of setting abitrary tab stops. 1338 .SH SEE ALSO 1339 \fB@TSET@\fR(1), 1340 \fB@INFOCMP@\fR(1M), 1341Index: package/debian-mingw/changelog 1342--- ncurses-6.1-20190609+/package/debian-mingw/changelog 2019-06-09 20:06:01.000000000 +0000 1343+++ ncurses-6.1-20190615/package/debian-mingw/changelog 2019-06-15 12:46:35.000000000 +0000 1344@@ -1,8 +1,8 @@ 1345-ncurses6 (6.1+20190609) unstable; urgency=low 1346+ncurses6 (6.1+20190615) unstable; urgency=low 1347 1348 * latest weekly patch 1349 1350- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 09 Jun 2019 16:06:01 -0400 1351+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 15 Jun 2019 08:46:35 -0400 1352 1353 ncurses6 (5.9-20131005) unstable; urgency=low 1354 1355Index: package/debian-mingw64/changelog 1356--- ncurses-6.1-20190609+/package/debian-mingw64/changelog 2019-06-09 20:06:01.000000000 +0000 1357+++ ncurses-6.1-20190615/package/debian-mingw64/changelog 2019-06-15 12:46:35.000000000 +0000 1358@@ -1,8 +1,8 @@ 1359-ncurses6 (6.1+20190609) unstable; urgency=low 1360+ncurses6 (6.1+20190615) unstable; urgency=low 1361 1362 * latest weekly patch 1363 1364- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 09 Jun 2019 16:06:01 -0400 1365+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 15 Jun 2019 08:46:35 -0400 1366 1367 ncurses6 (5.9-20131005) unstable; urgency=low 1368 1369Index: package/debian/changelog 1370--- ncurses-6.1-20190609+/package/debian/changelog 2019-06-09 20:06:01.000000000 +0000 1371+++ ncurses-6.1-20190615/package/debian/changelog 2019-06-15 12:46:35.000000000 +0000 1372@@ -1,8 +1,8 @@ 1373-ncurses6 (6.1+20190609) unstable; urgency=low 1374+ncurses6 (6.1+20190615) unstable; urgency=low 1375 1376 * latest weekly patch 1377 1378- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 09 Jun 2019 16:06:01 -0400 1379+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 15 Jun 2019 08:46:35 -0400 1380 1381 ncurses6 (5.9-20120608) unstable; urgency=low 1382 1383Index: package/mingw-ncurses.nsi 1384Prereq: 1.333 1385--- ncurses-6.1-20190609+/package/mingw-ncurses.nsi 2019-06-09 20:06:01.000000000 +0000 1386+++ ncurses-6.1-20190615/package/mingw-ncurses.nsi 2019-06-15 12:46:35.000000000 +0000 1387@@ -1,4 +1,4 @@ 1388-; $Id: mingw-ncurses.nsi,v 1.333 2019/06/09 20:06:01 tom Exp $ 1389+; $Id: mingw-ncurses.nsi,v 1.334 2019/06/15 12:46:35 tom Exp $ 1390 1391 ; TODO add examples 1392 ; TODO bump ABI to 6 1393@@ -10,7 +10,7 @@ 1394 !define VERSION_MAJOR "6" 1395 !define VERSION_MINOR "1" 1396 !define VERSION_YYYY "2019" 1397-!define VERSION_MMDD "0609" 1398+!define VERSION_MMDD "0615" 1399 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD} 1400 1401 !define MY_ABI "5" 1402Index: package/mingw-ncurses.spec 1403--- ncurses-6.1-20190609+/package/mingw-ncurses.spec 2019-06-09 20:06:01.000000000 +0000 1404+++ ncurses-6.1-20190615/package/mingw-ncurses.spec 2019-06-15 12:46:35.000000000 +0000 1405@@ -3,7 +3,7 @@ 1406 Summary: shared libraries for terminal handling 1407 Name: mingw32-ncurses6 1408 Version: 6.1 1409-Release: 20190609 1410+Release: 20190615 1411 License: X11 1412 Group: Development/Libraries 1413 Source: ncurses-%{version}-%{release}.tgz 1414Index: package/ncurses.spec 1415--- ncurses-6.1-20190609+/package/ncurses.spec 2019-06-09 20:06:01.000000000 +0000 1416+++ ncurses-6.1-20190615/package/ncurses.spec 2019-06-15 12:46:35.000000000 +0000 1417@@ -1,7 +1,7 @@ 1418 Summary: shared libraries for terminal handling 1419 Name: ncurses6 1420 Version: 6.1 1421-Release: 20190609 1422+Release: 20190615 1423 License: X11 1424 Group: Development/Libraries 1425 Source: ncurses-%{version}-%{release}.tgz 1426Index: package/ncursest.spec 1427--- ncurses-6.1-20190609+/package/ncursest.spec 2019-06-09 20:06:01.000000000 +0000 1428+++ ncurses-6.1-20190615/package/ncursest.spec 2019-06-15 12:46:35.000000000 +0000 1429@@ -1,7 +1,7 @@ 1430 Summary: Curses library with POSIX thread support. 1431 Name: ncursest6 1432 Version: 6.1 1433-Release: 20190609 1434+Release: 20190615 1435 License: X11 1436 Group: Development/Libraries 1437 Source: ncurses-%{version}-%{release}.tgz 1438