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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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