1# ncurses 6.1 - patch 20191012 - 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-20191012.patch.gz
14# patch by Thomas E. Dickey <dickey@invisible-island.net>
15# created  Sun Oct 13 01:25:51 UTC 2019
16# ------------------------------------------------------------------------------
17# NEWS                                  |   18 +-
18# VERSION                               |    2
19# dist.mk                               |    4
20# doc/html/man/adacurses6-config.1.html |    2
21# doc/html/man/captoinfo.1m.html        |   17 +
22# doc/html/man/clear.1.html             |    2
23# doc/html/man/form.3x.html             |    2
24# doc/html/man/infocmp.1m.html          |    2
25# doc/html/man/infotocap.1m.html        |   12 +
26# doc/html/man/menu.3x.html             |    2
27# doc/html/man/ncurses.3x.html          |    2
28# doc/html/man/ncurses6-config.1.html   |    2
29# doc/html/man/panel.3x.html            |    2
30# doc/html/man/tabs.1.html              |    2
31# doc/html/man/terminfo.5.html          |    2
32# doc/html/man/tic.1m.html              |  275 +++++++++++++++++---------------
33# doc/html/man/toe.1m.html              |    2
34# doc/html/man/tput.1.html              |    2
35# doc/html/man/tset.1.html              |    2
36# man/captoinfo.1m                      |   12 +
37# man/infotocap.1m                      |    6
38# man/tic.1m                            |   72 +++++---
39# misc/gen-pkgconfig.in                 |   44 ++++-
40# misc/ncurses-config.in                |    5
41# ncurses/tinfo/comp_hash.c             |   14 +
42# ncurses/tinfo/parse_entry.c           |   32 +--
43# package/debian-mingw/changelog        |    4
44# package/debian-mingw64/changelog      |    4
45# package/debian/changelog              |    4
46# package/mingw-ncurses.nsi             |    4
47# package/mingw-ncurses.spec            |    2
48# package/ncurses.spec                  |    2
49# package/ncursest.spec                 |    2
50# progs/dump_entry.c                    |    7
51# 34 files changed, 346 insertions(+), 222 deletions(-)
52# ------------------------------------------------------------------------------
53Index: NEWS
54Prereq:  1.3382
55--- ncurses-6.1-20191005+/NEWS	2019-10-05 22:53:18.000000000 +0000
56+++ ncurses-6.1-20191012/NEWS	2019-10-12 21:17:50.000000000 +0000
57@@ -25,7 +25,7 @@
58 -- sale, use or other dealings in this Software without prior written        --
59 -- authorization.                                                            --
60 -------------------------------------------------------------------------------
61--- $Id: NEWS,v 1.3382 2019/10/05 22:53:18 tom Exp $
62+-- $Id: NEWS,v 1.3389 2019/10/12 21:17:50 tom Exp $
63 -------------------------------------------------------------------------------
64
65 This is a log of changes that ncurses has gone through since Zeyd started
66@@ -45,12 +45,26 @@
67 Changes through 1.9.9e did not credit all contributions;
68 it is not possible to add this information.
69
70+20191012
71+	+ amend recent changes to ncurses*-config and pc-files to filter out
72+	  Debian linker-flags (report by Sven Joachim, cf: 20150516).
73+	+ clarify relationship between tic, infocmp and captoinfo in manpage.
74+	+ check for invalid hashcode in _nc_find_type_entry and
75+	  _nc_find_name_entry.
76+	> fix several errata in tic (reports/testcases by "zjuchenyuan"):
77+	+ check for invalid hashcode in _nc_find_entry.
78+	+ check for missing character after backslash in fmt_entry
79+	+ check for acsc with odd length in dump_entry in check for one-one
80+	  mapping (cf: 20060415);
81+	+ check length when converting from old AIX box_chars_1 capability,
82+	  overlooked in changes to eliminate strcpy (cf: 20001007).
83+
84 20191005
85 	+ modify the ncurse*-config and pc-files to more closely match for the
86 	  -I and -l options.
87
88 20190928
89-	+ amend the ncurse*-config and pc-files to take into account the rpath
90+	+ amend the ncurses*-config and pc-files to take into account the rpath
91 	  hack which differed between those files.
92 	+ improve -L option filtering in ncurses*-config
93 	+ improve recovery from error when reading command-character in
94Index: VERSION
95--- ncurses-6.1-20191005+/VERSION	2019-10-05 14:44:23.000000000 +0000
96+++ ncurses-6.1-20191012/VERSION	2019-10-12 15:30:55.000000000 +0000
97@@ -1 +1 @@
98-5:0:10	6.1	20191005
99+5:0:10	6.1	20191012
100Index: dist.mk
101Prereq:  1.1308
102--- ncurses-6.1-20191005+/dist.mk	2019-10-05 14:44:23.000000000 +0000
103+++ ncurses-6.1-20191012/dist.mk	2019-10-12 15:30:55.000000000 +0000
104@@ -25,7 +25,7 @@
105 # use or other dealings in this Software without prior written               #
106 # authorization.                                                             #
107 ##############################################################################
108-# $Id: dist.mk,v 1.1308 2019/10/05 14:44:23 tom Exp $
109+# $Id: dist.mk,v 1.1309 2019/10/12 15:30:55 tom Exp $
110 # Makefile for creating ncurses distributions.
111 #
112 # This only needs to be used directly as a makefile by developers, but
113@@ -37,7 +37,7 @@
114 # These define the major/minor/patch versions of ncurses.
115 NCURSES_MAJOR = 6
116 NCURSES_MINOR = 1
117-NCURSES_PATCH = 20191005
118+NCURSES_PATCH = 20191012
119
120 # We don't append the patch to the version, since this only applies to releases
121 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
122Index: doc/html/man/adacurses6-config.1.html
123--- ncurses-6.1-20191005+/doc/html/man/adacurses6-config.1.html	2019-09-21 23:49:50.000000000 +0000
124+++ ncurses-6.1-20191012/doc/html/man/adacurses6-config.1.html	2019-10-12 21:32:36.000000000 +0000
125@@ -125,7 +125,7 @@
126 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
127        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
128
129-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
130+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
131
132
133
134Index: doc/html/man/captoinfo.1m.html
135--- ncurses-6.1-20191005+/doc/html/man/captoinfo.1m.html	2019-09-21 23:49:50.000000000 +0000
136+++ ncurses-6.1-20191012/doc/html/man/captoinfo.1m.html	2019-10-12 21:32:36.000000000 +0000
137@@ -1,7 +1,7 @@
138 <!--
139   * t
140   ****************************************************************************
141-  * Copyright (c) 1998-2016,2018 Free Software Foundation, Inc.              *
142+  * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc.              *
143   *                                                                          *
144   * Permission is hereby granted, free of charge, to any person obtaining a  *
145   * copy of this software and associated documentation files (the            *
146@@ -27,7 +27,7 @@
147   * sale, use or other dealings in this Software without prior written       *
148   * authorization.                                                           *
149   ****************************************************************************
150-  * @Id: captoinfo.1m,v 1.27 2018/07/28 21:34:06 tom Exp @
151+  * @Id: captoinfo.1m,v 1.29 2019/10/12 21:10:00 tom Exp @
152 -->
153 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
154 <HTML>
155@@ -183,14 +183,22 @@
156        This utility is actually a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, running in  <EM>-I</EM>  mode.   You
157        can use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and  <STRONG>-x</STRONG>.
158
159-       The  trace  option  is not identical to SVr4's.  Under SVr4, instead of
160+       The  verbose option is not identical to SVr4's.  Under SVr4, instead of
161        following the <STRONG>-v</STRONG> with a trace level n, you repeat it n times.
162
163
164+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
165+       X/Open Curses, Issue 7 (2009) describes <STRONG>tic</STRONG>  briefly,  but  omits  this
166+       program.  SVr4 systems provide <STRONG>captoinfo</STRONG> as a separate application from
167+       <STRONG>tic</STRONG>.
168+
169+       NetBSD does not provide this application.
170+
171+
172 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
173        <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>
174
175-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
176+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
177
178
179 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
180@@ -209,6 +217,7 @@
181 <li><a href="#h2-FILES">FILES</a></li>
182 <li><a href="#h2-TRANSLATIONS-FROM-NONSTANDARD-CAPABILITIES">TRANSLATIONS FROM NONSTANDARD CAPABILITIES</a></li>
183 <li><a href="#h2-NOTES">NOTES</a></li>
184+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
185 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
186 <li><a href="#h2-AUTHOR">AUTHOR</a></li>
187 </ul>
188Index: doc/html/man/clear.1.html
189--- ncurses-6.1-20191005+/doc/html/man/clear.1.html	2019-09-21 23:49:50.000000000 +0000
190+++ ncurses-6.1-20191012/doc/html/man/clear.1.html	2019-10-12 21:32:36.000000000 +0000
191@@ -148,7 +148,7 @@
192 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
193        <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
194
195-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
196+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
197
198
199
200Index: doc/html/man/form.3x.html
201--- ncurses-6.1-20191005+/doc/html/man/form.3x.html	2019-09-21 23:49:52.000000000 +0000
202+++ ncurses-6.1-20191012/doc/html/man/form.3x.html	2019-10-12 21:32:38.000000000 +0000
203@@ -246,7 +246,7 @@
204        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
205        descriptions of the entry points.
206
207-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
208+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
209
210
211
212Index: doc/html/man/infocmp.1m.html
213--- ncurses-6.1-20191005+/doc/html/man/infocmp.1m.html	2019-09-21 23:49:52.000000000 +0000
214+++ ncurses-6.1-20191012/doc/html/man/infocmp.1m.html	2019-10-12 21:32:39.000000000 +0000
215@@ -512,7 +512,7 @@
216
217        https://invisible-island.net/ncurses/tctest.html
218
219-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
220+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
221
222
223 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
224Index: doc/html/man/infotocap.1m.html
225--- ncurses-6.1-20191005+/doc/html/man/infotocap.1m.html	2019-09-21 23:49:52.000000000 +0000
226+++ ncurses-6.1-20191012/doc/html/man/infotocap.1m.html	2019-10-12 21:32:39.000000000 +0000
227@@ -1,7 +1,7 @@
228 <!--
229   * t
230   ****************************************************************************
231-  * Copyright (c) 1999-2016,2018 Free Software Foundation, Inc.              *
232+  * Copyright (c) 1999-2018,2019 Free Software Foundation, Inc.              *
233   *                                                                          *
234   * Permission is hereby granted, free of charge, to any person obtaining a  *
235   * copy of this software and associated documentation files (the            *
236@@ -27,7 +27,7 @@
237   * sale, use or other dealings in this Software without prior written       *
238   * authorization.                                                           *
239   ****************************************************************************
240-  * @Id: infotocap.1m,v 1.13 2018/07/28 21:34:06 tom Exp @
241+  * @Id: infotocap.1m,v 1.15 2019/10/12 21:16:00 tom Exp @
242 -->
243 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
244 <HTML>
245@@ -82,10 +82,15 @@
246        use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and  <STRONG>-x</STRONG>.
247
248
249+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
250+       None  of  X/Open  Curses,  Issue 7 (2009), SVr4 or NetBSD document this
251+       application.
252+
253+
254 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
255        <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>
256
257-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
258+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
259
260
261 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
262@@ -103,6 +108,7 @@
263 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
264 <li><a href="#h2-FILES">FILES</a></li>
265 <li><a href="#h2-NOTES">NOTES</a></li>
266+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
267 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
268 <li><a href="#h2-AUTHOR">AUTHOR</a></li>
269 </ul>
270Index: doc/html/man/menu.3x.html
271--- ncurses-6.1-20191005+/doc/html/man/menu.3x.html	2019-09-21 23:49:53.000000000 +0000
272+++ ncurses-6.1-20191012/doc/html/man/menu.3x.html	2019-10-12 21:32:39.000000000 +0000
273@@ -221,7 +221,7 @@
274        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "menu_" for detailed
275        descriptions of the entry points.
276
277-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
278+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
279
280
281
282Index: doc/html/man/ncurses.3x.html
283--- ncurses-6.1-20191005+/doc/html/man/ncurses.3x.html	2019-09-21 23:49:53.000000000 +0000
284+++ ncurses-6.1-20191012/doc/html/man/ncurses.3x.html	2019-10-12 21:32:40.000000000 +0000
285@@ -59,7 +59,7 @@
286        method of updating  character  screens  with  reasonable  optimization.
287        This  implementation  is  "new  curses"  (ncurses)  and is the approved
288        replacement for 4.4BSD classic curses,  which  has  been  discontinued.
289-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
290+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
291
292        The  <STRONG>ncurses</STRONG>  library emulates the curses library of System V Release 4
293        UNIX, and XPG4 (X/Open Portability Guide) curses  (also  known  as  XSI
294Index: doc/html/man/ncurses6-config.1.html
295--- ncurses-6.1-20191005+/doc/html/man/ncurses6-config.1.html	2019-09-21 23:49:53.000000000 +0000
296+++ ncurses-6.1-20191012/doc/html/man/ncurses6-config.1.html	2019-10-12 21:32:40.000000000 +0000
297@@ -112,7 +112,7 @@
298 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
299        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
300
301-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
302+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
303
304
305
306Index: doc/html/man/panel.3x.html
307--- ncurses-6.1-20191005+/doc/html/man/panel.3x.html	2019-09-21 23:49:54.000000000 +0000
308+++ ncurses-6.1-20191012/doc/html/man/panel.3x.html	2019-10-12 21:32:40.000000000 +0000
309@@ -204,7 +204,7 @@
310 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
311        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
312
313-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
314+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
315
316
317 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
318Index: doc/html/man/tabs.1.html
319--- ncurses-6.1-20191005+/doc/html/man/tabs.1.html	2019-09-21 23:49:54.000000000 +0000
320+++ ncurses-6.1-20191012/doc/html/man/tabs.1.html	2019-10-12 21:32:40.000000000 +0000
321@@ -205,7 +205,7 @@
322 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
323        <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>.
324
325-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
326+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
327
328
329
330Index: doc/html/man/terminfo.5.html
331--- ncurses-6.1-20191005+/doc/html/man/terminfo.5.html	2019-09-21 23:49:54.000000000 +0000
332+++ ncurses-6.1-20191012/doc/html/man/terminfo.5.html	2019-10-12 21:32:41.000000000 +0000
333@@ -103,7 +103,7 @@
334        have, by specifying how to perform screen operations, and by specifying
335        padding requirements and initialization sequences.
336
337-       This manual describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
338+       This manual describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
339
340
341 </PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
342Index: doc/html/man/tic.1m.html
343--- ncurses-6.1-20191005+/doc/html/man/tic.1m.html	2019-09-21 23:49:54.000000000 +0000
344+++ ncurses-6.1-20191012/doc/html/man/tic.1m.html	2019-10-12 21:32:41.000000000 +0000
345@@ -26,7 +26,7 @@
346   * sale, use or other dealings in this Software without prior written       *
347   * authorization.                                                           *
348   ****************************************************************************
349-  * @Id: tic.1m,v 1.74 2019/07/20 17:57:09 tom Exp @
350+  * @Id: tic.1m,v 1.75 2019/10/12 20:56:38 tom Exp @
351 -->
352 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
353 <HTML>
354@@ -106,46 +106,55 @@
355        <STRONG>o</STRONG>   the system terminfo database (<EM>/usr/share/terminfo</EM>).
356
357
358+</PRE><H3><a name="h3-ALIASES">ALIASES</a></H3><PRE>
359+       This is the same program as infotocap and captoinfo; usually those  are
360+       linked to, or copied from this program:
361+
362+       <STRONG>o</STRONG>   When invoked as infotocap, tic sets the <STRONG>-I</STRONG> option.
363+
364+       <STRONG>o</STRONG>   When invoked as captoinfo, tic sets the <STRONG>-C</STRONG> option.
365+
366+
367 </PRE><H3><a name="h3-OPTIONS">OPTIONS</a></H3><PRE>
368        <STRONG>-0</STRONG>     restricts the output to a single line
369
370        <STRONG>-1</STRONG>     restricts the output to a single column
371
372-       <STRONG>-a</STRONG>     tells <STRONG>tic</STRONG> to retain commented-out capabilities rather than  dis-
373+       <STRONG>-a</STRONG>     tells  <STRONG>tic</STRONG> to retain commented-out capabilities rather than dis-
374               carding them.  Capabilities are commented by prefixing them with
375-              a period.  This sets the <STRONG>-x</STRONG> option, because it treats  the  com-
376-              mented-out  entries  as  user-defined  names.   If the source is
377-              termcap, accept the 2-character names  required  by  version  6.
378+              a  period.   This sets the <STRONG>-x</STRONG> option, because it treats the com-
379+              mented-out entries as user-defined  names.   If  the  source  is
380+              termcap,  accept  the  2-character  names required by version 6.
381               Otherwise these are ignored.
382
383-       <STRONG>-C</STRONG>     Force  source translation to termcap format.  Note: this differs
384-              from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in that  it  does  not  merely
385+       <STRONG>-C</STRONG>     Force source translation to termcap format.  Note: this  differs
386+              from  the  <STRONG>-C</STRONG>  option  of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in that it does not merely
387               translate capability names, but also translates terminfo strings
388-              to termcap format.  Capabilities that are not  translatable  are
389-              left  in  the entry under their terminfo names but commented out
390-              with two preceding dots.  The actual  format  used  incorporates
391-              some  improvements  for escaped characters from terminfo format.
392+              to  termcap  format.  Capabilities that are not translatable are
393+              left in the entry under their terminfo names but  commented  out
394+              with  two  preceding  dots.  The actual format used incorporates
395+              some improvements for escaped characters from  terminfo  format.
396               For a stricter BSD-compatible translation, add the <STRONG>-K</STRONG> option.
397
398-              If this is combined with <STRONG>-c</STRONG>,  <STRONG>tic</STRONG>  makes  additional  checks  to
399-              report  cases  where  the  terminfo  values do not have an exact
400+              If  this  is  combined  with  <STRONG>-c</STRONG>, <STRONG>tic</STRONG> makes additional checks to
401+              report cases where the terminfo values  do  not  have  an  exact
402               equivalent in termcap form.  For example:
403
404-              <STRONG>o</STRONG>   <STRONG>sgr</STRONG> usually will not  convert,  because  termcap  lacks  the
405-                  ability  to  work with more than two parameters, and because
406-                  termcap lacks many of the arithmetic/logical operators  used
407+              <STRONG>o</STRONG>   <STRONG>sgr</STRONG>  usually  will  not  convert,  because termcap lacks the
408+                  ability to work with more than two parameters,  and  because
409+                  termcap  lacks many of the arithmetic/logical operators used
410                   in terminfo.
411
412-              <STRONG>o</STRONG>   capabilities  with more than one delay or with delays before
413+              <STRONG>o</STRONG>   capabilities with more than one delay or with delays  before
414                   the end of the string will not convert completely.
415
416-       <STRONG>-c</STRONG>     tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including syntax  prob-
417-              lems  and  bad  use-links.   If  you  specify  <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this
418-              option, the code will print warnings about entries which,  after
419-              use  resolution, are more than 1023 (4096) bytes long.  Due to a
420+       <STRONG>-c</STRONG>     tells  <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including syntax prob-
421+              lems and bad use-links.   If  you  specify  <STRONG>-C</STRONG>  (<STRONG>-I</STRONG>)  with  this
422+              option,  the code will print warnings about entries which, after
423+              use resolution, are more than 1023 (4096) bytes long.  Due to  a
424               fixed buffer length in older termcap libraries, as well as buggy
425-              checking  for  the buffer length (and a documented limit in ter-
426-              minfo), these entries may cause core dumps with other  implemen-
427+              checking for the buffer length (and a documented limit  in  ter-
428+              minfo),  these entries may cause core dumps with other implemen-
429               tations.
430
431               <STRONG>tic</STRONG> checks string capabilities to ensure that those with parame-
432@@ -153,29 +162,29 @@
433               predefined string capabilities; those which are defined with the
434               <STRONG>-x</STRONG> option are ignored.
435
436-       <STRONG>-D</STRONG>     tells <STRONG>tic</STRONG> to print the database locations that it  knows  about,
437+       <STRONG>-D</STRONG>     tells  <STRONG>tic</STRONG>  to print the database locations that it knows about,
438               and exit.  The first location shown is the one to which it would
439-              write compiled terminal descriptions.  If <STRONG>tic</STRONG>  is  not  able  to
440-              find  a writable database location according to the rules summa-
441-              rized above, it will print a diagnostic and exit with  an  error
442+              write  compiled  terminal  descriptions.   If <STRONG>tic</STRONG> is not able to
443+              find a writable database location according to the rules  summa-
444+              rized  above,  it will print a diagnostic and exit with an error
445               rather than printing a list of database locations.
446
447        <STRONG>-e</STRONG> <EM>names</EM>
448-              Limit  writes  and translations to the following comma-separated
449-              list of terminals.  If any name or alias of a  terminal  matches
450-              one  of  the  names  in  the  list, the entry will be written or
451+              Limit writes and translations to the  following  comma-separated
452+              list  of  terminals.  If any name or alias of a terminal matches
453+              one of the names in the list,  the  entry  will  be  written  or
454               translated as normal.  Otherwise no output will be generated for
455-              it.   The  option  value is interpreted as a file containing the
456+              it.  The option value is interpreted as a  file  containing  the
457               list if it contains a '/'.  (Note: depending on how tic was com-
458               piled, this option may require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
459
460-       <STRONG>-f</STRONG>     Display     complex     terminfo     strings    which    contain
461+       <STRONG>-f</STRONG>     Display    complex    terminfo     strings     which     contain
462               if/then/else/endif expressions indented for readability.
463
464-       <STRONG>-G</STRONG>     Display constant literals in  decimal  form  rather  than  their
465+       <STRONG>-G</STRONG>     Display  constant  literals  in  decimal  form rather than their
466               character equivalents.
467
468-       <STRONG>-g</STRONG>     Display  constant  character literals in quoted form rather than
469+       <STRONG>-g</STRONG>     Display constant character literals in quoted form  rather  than
470               their decimal equivalents.
471
472        <STRONG>-I</STRONG>     Force source translation to terminfo format.
473@@ -183,24 +192,24 @@
474        <STRONG>-K</STRONG>     Suppress some longstanding ncurses extensions to termcap format,
475               e.g., "\s" for space.
476
477-       <STRONG>-L</STRONG>     Force  source  translation  to  terminfo format using the long C
478+       <STRONG>-L</STRONG>     Force source translation to terminfo format  using  the  long  C
479               variable names listed in &lt;<STRONG>term.h</STRONG>&gt;
480
481        <STRONG>-N</STRONG>     Disable smart defaults.  Normally, when translating from termcap
482-              to  terminfo,  the  compiler makes a number of assumptions about
483-              the  defaults  of  string   capabilities   <STRONG>reset1_string</STRONG>,   <STRONG>car-</STRONG>
484+              to terminfo, the compiler makes a number  of  assumptions  about
485+              the   defaults   of   string  capabilities  <STRONG>reset1_string</STRONG>,  <STRONG>car-</STRONG>
486               <STRONG>riage_return</STRONG>,  <STRONG>cursor_left</STRONG>,  <STRONG>cursor_down</STRONG>,  <STRONG>scroll_forward</STRONG>,  <STRONG>tab</STRONG>,
487               <STRONG>newline</STRONG>, <STRONG>key_backspace</STRONG>, <STRONG>key_left</STRONG>, and <STRONG>key_down</STRONG>, then attempts to
488-              use  obsolete termcap capabilities to deduce correct values.  It
489+              use obsolete termcap capabilities to deduce correct values.   It
490               also normally suppresses output of obsolete termcap capabilities
491-              such  as <STRONG>bs</STRONG>.  This option forces a more literal translation that
492+              such as <STRONG>bs</STRONG>.  This option forces a more literal translation  that
493               also preserves the obsolete capabilities.
494
495-       <STRONG>-o</STRONG><EM>dir</EM>  Write compiled entries to given  database  location.   Overrides
496+       <STRONG>-o</STRONG><EM>dir</EM>  Write  compiled  entries  to given database location.  Overrides
497               the TERMINFO environment variable.
498
499-       <STRONG>-Q</STRONG><EM>n</EM>    Rather  than  show  source  in terminfo (text) format, print the
500-              compiled (binary) format in hexadecimal or base64 form,  depend-
501+       <STRONG>-Q</STRONG><EM>n</EM>    Rather than show source in terminfo  (text)  format,  print  the
502+              compiled  (binary) format in hexadecimal or base64 form, depend-
503               ing on the option's value:
504
505                1  hexadecimal
506@@ -213,35 +222,35 @@
507               source.
508
509        <STRONG>-R</STRONG><EM>subset</EM>
510-              Restrict output to a given subset.  This option is for use  with
511-              archaic  versions  of  terminfo  like  those on SVr1, Ultrix, or
512-              HP/UX that do not support the full set of SVR4/XSI  Curses  ter-
513-              minfo;  and  outright  broken ports like AIX 3.x that have their
514-              own extensions incompatible with  SVr4/XSI.   Available  subsets
515+              Restrict  output to a given subset.  This option is for use with
516+              archaic versions of terminfo like  those  on  SVr1,  Ultrix,  or
517+              HP/UX  that  do not support the full set of SVR4/XSI Curses ter-
518+              minfo; and outright broken ports like AIX 3.x  that  have  their
519+              own  extensions  incompatible  with SVr4/XSI.  Available subsets
520               are "SVr1", "Ultrix", "HP", "BSD" and "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for
521               details.
522
523-       <STRONG>-r</STRONG>     Force entry resolution (so there are no remaining  tc  capabili-
524-              ties)  even  when doing translation to termcap format.  This may
525-              be needed if you are preparing a  termcap  file  for  a  termcap
526-              library  (such as GNU termcap through version 1.3 or BSD termcap
527-              through 4.3BSD) that does not handle  multiple  tc  capabilities
528+       <STRONG>-r</STRONG>     Force  entry  resolution (so there are no remaining tc capabili-
529+              ties) even when doing translation to termcap format.   This  may
530+              be  needed  if  you  are  preparing a termcap file for a termcap
531+              library (such as GNU termcap through version 1.3 or BSD  termcap
532+              through  4.3BSD)  that  does not handle multiple tc capabilities
533               per entry.
534
535-       <STRONG>-s</STRONG>     Summarize  the  compile  by  showing  the database location into
536-              which entries are written, and the number of entries  which  are
537+       <STRONG>-s</STRONG>     Summarize the compile by  showing  the  database  location  into
538+              which  entries  are written, and the number of entries which are
539               compiled.
540
541-       <STRONG>-T</STRONG>     eliminates  size-restrictions  on  the  generated text.  This is
542-              mainly useful for  testing  and  analysis,  since  the  compiled
543-              descriptions  are limited (e.g., 1023 for termcap, 4096 for ter-
544+       <STRONG>-T</STRONG>     eliminates size-restrictions on the  generated  text.   This  is
545+              mainly  useful  for  testing  and  analysis,  since the compiled
546+              descriptions are limited (e.g., 1023 for termcap, 4096 for  ter-
547               minfo).
548
549-       <STRONG>-t</STRONG>     tells <STRONG>tic</STRONG> to discard commented-out capabilities.  Normally  when
550-              translating  from  terminfo to termcap, untranslatable capabili-
551+       <STRONG>-t</STRONG>     tells  <STRONG>tic</STRONG> to discard commented-out capabilities.  Normally when
552+              translating from terminfo to termcap,  untranslatable  capabili-
553               ties are commented-out.
554
555-       <STRONG>-U</STRONG>   tells <STRONG>tic</STRONG> to not post-process the data after  parsing  the  source
556+       <STRONG>-U</STRONG>   tells  <STRONG>tic</STRONG>  to  not post-process the data after parsing the source
557             file.  Normally, it infers data which is commonly missing in older
558             terminfo data, or in termcaps.
559
560@@ -251,9 +260,9 @@
561        <STRONG>-v</STRONG><EM>n</EM>  specifies that (verbose) output be written to standard error trace
562             information showing <STRONG>tic</STRONG>'s progress.
563
564-            The optional parameter <EM>n</EM> is a number  from  1  to  10,  inclusive,
565+            The  optional  parameter  <EM>n</EM>  is  a number from 1 to 10, inclusive,
566             indicating the desired level of detail of information.  If ncurses
567-            is built  without  tracing  support,  the  optional  parameter  is
568+            is  built  without  tracing  support,  the  optional  parameter is
569             ignored.  If <EM>n</EM> is omitted, the default level is 1.  If <EM>n</EM> is speci-
570             fied and greater than 1, the level of detail is increased.
571
572@@ -275,90 +284,90 @@
573
574             If the debug level <EM>n</EM> is not given, it is taken to be one.
575
576-       <STRONG>-W</STRONG>   By itself, the <STRONG>-w</STRONG>  option  will  not  force  long  strings  to  be
577+       <STRONG>-W</STRONG>   By  itself,  the  <STRONG>-w</STRONG>  option  will  not  force  long strings to be
578             wrapped.  Use the <STRONG>-W</STRONG> option to do this.
579
580-            If  you specify both <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options, the latter is ignored when
581+            If you specify both <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options, the latter is ignored  when
582             <STRONG>-f</STRONG> has already split the line.
583
584        <STRONG>-w</STRONG><EM>n</EM>  specifies the width of the output.  The parameter is optional.  If
585             it is omitted, it defaults to 60.
586
587-       <STRONG>-x</STRONG>   Treat  unknown  capabilities  as  user-defined (see <STRONG>user_caps(5)</STRONG>).
588+       <STRONG>-x</STRONG>   Treat unknown capabilities  as  user-defined  (see  <STRONG>user_caps(5)</STRONG>).
589             That is, if you supply a capability name which <STRONG>tic</STRONG> does not recog-
590-            nize,  it will infer its type (boolean, number or string) from the
591-            syntax and make an extended table entry  for  that.   User-defined
592+            nize, it will infer its type (boolean, number or string) from  the
593+            syntax  and  make  an extended table entry for that.  User-defined
594             capability strings whose name begins with "k" are treated as func-
595             tion keys.
596
597
598 </PRE><H3><a name="h3-PARAMETERS">PARAMETERS</a></H3><PRE>
599-       <EM>file</EM>   contains one or more <STRONG>terminfo</STRONG> terminal  descriptions  in  source
600-              format   [see   <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].   Each  description  in  the  file
601+       <EM>file</EM>   contains  one  or  more <STRONG>terminfo</STRONG> terminal descriptions in source
602+              format  [see  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].   Each  description  in   the   file
603               describes the capabilities of a particular terminal.
604
605-              If <EM>file</EM> is "-", then the data is read from the  standard  input.
606+              If  <EM>file</EM>  is "-", then the data is read from the standard input.
607               The <EM>file</EM> parameter may also be the path of a character-device.
608
609
610 </PRE><H3><a name="h3-PROCESSING">PROCESSING</a></H3><PRE>
611-       All  but  one  of  the capabilities recognized by <STRONG>tic</STRONG> are documented in
612+       All but one of the capabilities recognized by  <STRONG>tic</STRONG>  are  documented  in
613        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  The exception is the <STRONG>use</STRONG> capability.
614
615        When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered in a terminal entry currently
616-       being  compiled,  <STRONG>tic</STRONG>  reads  in the binary from <STRONG>/usr/share/terminfo</STRONG> to
617-       complete the entry.  (Entries created from <EM>file</EM>  will  be  used  first.
618-       <STRONG>tic</STRONG>  duplicates  the  capabilities in <EM>entry</EM>-<EM>name</EM> for the current entry,
619+       being compiled, <STRONG>tic</STRONG> reads in the  binary  from  <STRONG>/usr/share/terminfo</STRONG>  to
620+       complete  the  entry.   (Entries  created from <EM>file</EM> will be used first.
621+       <STRONG>tic</STRONG> duplicates the capabilities in <EM>entry</EM>-<EM>name</EM> for  the  current  entry,
622        with the exception of those capabilities that explicitly are defined in
623        the current entry.
624
625-       When  an  entry, e.g., <STRONG>entry_name_1</STRONG>, contains a <STRONG>use=</STRONG><EM>entry</EM>_<EM>name</EM>_<EM>2</EM> field,
626-       any  canceled  capabilities  in  <EM>entry</EM>_<EM>name</EM>_<EM>2</EM>  must  also   appear   in
627-       <STRONG>entry_name_1</STRONG>  before  <STRONG>use=</STRONG>  for  these  capabilities  to be canceled in
628+       When an entry, e.g., <STRONG>entry_name_1</STRONG>, contains a  <STRONG>use=</STRONG><EM>entry</EM>_<EM>name</EM>_<EM>2</EM>  field,
629+       any   canceled   capabilities  in  <EM>entry</EM>_<EM>name</EM>_<EM>2</EM>  must  also  appear  in
630+       <STRONG>entry_name_1</STRONG> before <STRONG>use=</STRONG> for  these  capabilities  to  be  canceled  in
631        <STRONG>entry_name_1</STRONG>.
632
633        Total compiled entries cannot exceed 4096 bytes.  The name field cannot
634-       exceed  512  bytes.   Terminal names exceeding the maximum alias length
635+       exceed 512 bytes.  Terminal names exceeding the  maximum  alias  length
636        (32 characters on systems with long filenames, 14 characters otherwise)
637-       will  be  truncated  to  the maximum alias length and a warning message
638+       will be truncated to the maximum alias length  and  a  warning  message
639        will be printed.
640
641
642 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
643-       System V Release 2 provided  a  <STRONG>tic</STRONG>  utility.   It  accepted  a  single
644-       option:  <STRONG>-v</STRONG>  (optionally  followed  by  a  number).   According to Ross
645+       System  V  Release  2  provided  a  <STRONG>tic</STRONG>  utility.  It accepted a single
646+       option: <STRONG>-v</STRONG> (optionally  followed  by  a  number).   According  to  Ross
647        Ridge's comment in <EM>mytinfo</EM>, this version of <STRONG>tic</STRONG> was unable to represent
648        cancelled capabilities.
649
650-       System  V  Release 3 provided a different <STRONG>tic</STRONG> utility, written by Pavel
651-       Curtis, (originally named "compile" in <EM>pcurses</EM>).  This added an  option
652-       <STRONG>-c</STRONG>  to check the file for errors, with the caveat that errors in "use="
653+       System V Release 3 provided a different <STRONG>tic</STRONG> utility, written  by  Pavel
654+       Curtis,  (originally named "compile" in <EM>pcurses</EM>).  This added an option
655+       <STRONG>-c</STRONG> to check the file for errors, with the caveat that errors in  "use="
656        links would not be reported.  System V Release 3 documented a few warn-
657        ing messages which did not appear in <EM>pcurses</EM>.  While the program itself
658-       was changed little as development continued with System  V  Release  4,
659+       was  changed  little  as development continued with System V Release 4,
660        the table of capabilities grew from 180 (<EM>pcurses</EM>) to 464 (Solaris).
661
662-       In  early  development of ncurses (1993), Zeyd Ben-Halim used the table
663-       from <EM>mytinfo</EM> to extend the  <EM>pcurses</EM>  table  to  469  capabilities  (456
664-       matched  SVr4, 8 were only in SVr4, 13 were not in SVr4).  Of those 13,
665-       11 were ultimately discarded (perhaps to  match  the  draft  of  X/Open
666-       Curses).   The exceptions were <STRONG>memory_lock_above</STRONG> and <STRONG>memory_unlock</STRONG> (see
667+       In early development of ncurses (1993), Zeyd Ben-Halim used  the  table
668+       from  <EM>mytinfo</EM>  to  extend  the  <EM>pcurses</EM>  table to 469 capabilities (456
669+       matched SVr4, 8 were only in SVr4, 13 were not in SVr4).  Of those  13,
670+       11  were  ultimately  discarded  (perhaps  to match the draft of X/Open
671+       Curses).  The exceptions were <STRONG>memory_lock_above</STRONG> and <STRONG>memory_unlock</STRONG>  (see
672        <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>).
673
674-       Eric Raymond incorporated parts of <EM>mytinfo</EM> into  ncurses  to  implement
675-       the  termcap-to-terminfo  source conversion, and extended that to begin
676+       Eric  Raymond  incorporated  parts of <EM>mytinfo</EM> into ncurses to implement
677+       the termcap-to-terminfo source conversion, and extended that  to  begin
678        development of the corresponding terminfo-to-termcap source conversion,
679-       Thomas  Dickey  completed  that  development over the course of several
680+       Thomas Dickey completed that development over  the  course  of  several
681        years.
682
683-       In 1999, Thomas Dickey added the  <STRONG>-x</STRONG>  option  to  support  user-defined
684+       In  1999,  Thomas  Dickey  added  the <STRONG>-x</STRONG> option to support user-defined
685        capabilities.
686
687-       In  2010,  Roy  Marples provided a <STRONG>tic</STRONG> program and terminfo library for
688-       NetBSD.  This implementation  adapts  several  features  from  ncurses,
689+       In 2010, Roy Marples provided a <STRONG>tic</STRONG> program and  terminfo  library  for
690+       NetBSD.   That  implementation  adapts  several  features from ncurses,
691        including <STRONG>tic</STRONG>'s <STRONG>-x</STRONG> option.
692
693-       The  <STRONG>-c</STRONG>  option  tells <STRONG>tic</STRONG> to check for problems in the terminfo source
694+       The <STRONG>-c</STRONG> option tells <STRONG>tic</STRONG> to check for problems in  the  terminfo  source
695        file.  Continued development provides additional checks:
696
697        <STRONG>o</STRONG>   <EM>pcurses</EM> had 8 warnings
698@@ -373,57 +382,70 @@
699
700        The checking done in ncurses' <STRONG>tic</STRONG> helps with the conversion to termcap,
701        as well as pointing out errors and inconsistencies.  It is also used to
702-       ensure consistency with the user-defined capabilities.  There  are  527
703-       distinct  capabilities  in ncurses' terminal database; 128 of those are
704+       ensure  consistency  with the user-defined capabilities.  There are 527
705+       distinct capabilities in ncurses' terminal database; 128 of  those  are
706        user-defined.
707
708
709 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
710-       X/Open Curses, Issue 7 (2009) provides a brief description of <STRONG>tic</STRONG>.   It
711-       lists  one  option:  <STRONG>-c</STRONG>.  The omission of <STRONG>-v</STRONG> is unexpected.  The change
712-       history states that  the  description  is  derived  from  True64  UNIX.
713-       According  to  its  manual  pages,  that  system  also supported the <STRONG>-v</STRONG>
714+       X/Open  Curses, Issue 7 (2009) provides a brief description of <STRONG>tic</STRONG>.  It
715+       lists one option: <STRONG>-c</STRONG>.  The omission of <STRONG>-v</STRONG> is  unexpected.   The  change
716+       history  states  that  the  description  is  derived  from True64 UNIX.
717+       According to its manual  pages,  that  system  also  supported  the  <STRONG>-v</STRONG>
718        option.
719
720-       Shortly after Issue 7 was released,  Tru64  was  discontinued.   As  of
721-       2019,  the  surviving  implementations  of <STRONG>tic</STRONG> are SVr4 (AIX, HP-UX and
722-       Solaris), ncurses and NetBSD curses.
723-
724-       The X/Open rationale states that some implementations of <STRONG>tic</STRONG> read  ter-
725-       minal  descriptions  from  the  standard input if the <EM>file</EM> parameter is
726-       omitted.  None of these implementations do that.  Further, it  comments
727+       Shortly  after  Issue  7  was  released, Tru64 was discontinued.  As of
728+       2019, the surviving implementations of <STRONG>tic</STRONG> are  SVr4  (AIX,  HP-UX  and
729+       Solaris), ncurses and NetBSD curses.  The SVr4 <STRONG>tic</STRONG> programs all support
730+       the <STRONG>-v</STRONG> option.  The NetBSD <STRONG>tic</STRONG> program follows X/Open's  documentation,
731+       omitting the <STRONG>-v</STRONG> option.
732+
733+       The  X/Open rationale states that some implementations of <STRONG>tic</STRONG> read ter-
734+       minal descriptions from the standard input if  the  <EM>file</EM>  parameter  is
735+       omitted.   None of these implementations do that.  Further, it comments
736        that some may choose to read from "./terminfo.src" but that is obsoles-
737-       cent behavior from SVr2, and is not (for example) a documented  feature
738+       cent  behavior from SVr2, and is not (for example) a documented feature
739        of SVr3.
740
741
742 </PRE><H3><a name="h3-COMPATIBILITY">COMPATIBILITY</a></H3><PRE>
743-       There  is  some  evidence  that  historic  <STRONG>tic</STRONG>  implementations treated
744-       description fields with no whitespace in them as additional aliases  or
745+       There is  some  evidence  that  historic  <STRONG>tic</STRONG>  implementations  treated
746+       description  fields with no whitespace in them as additional aliases or
747        short names.  This <STRONG>tic</STRONG> does not do that, but it does warn when descrip-
748-       tion fields may be treated that way and check them for dangerous  char-
749+       tion  fields may be treated that way and check them for dangerous char-
750        acters.
751
752
753 </PRE><H3><a name="h3-EXTENSIONS">EXTENSIONS</a></H3><PRE>
754-       Unlike  the  SVr4 <STRONG>tic</STRONG> command, this implementation can actually compile
755-       termcap sources.  In fact, entries in terminfo and termcap  syntax  can
756-       be  mixed  in  a  single  source file.  See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for the list of
757+       Unlike the SVr4 <STRONG>tic</STRONG> command, this implementation can  actually  compile
758+       termcap  sources.   In fact, entries in terminfo and termcap syntax can
759+       be mixed in a single source file.  See  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  for  the  list  of
760        termcap names taken to be equivalent to terminfo names.
761
762-       The SVr4 manual pages are not clear on the  resolution  rules  for  <STRONG>use</STRONG>
763-       capabilities.   This  implementation  of <STRONG>tic</STRONG> will find <STRONG>use</STRONG> targets any-
764-       where in the source file, or anywhere in the file tree rooted  at  <STRONG>TER-</STRONG>
765-       <STRONG>MINFO</STRONG>  (if <STRONG>TERMINFO</STRONG> is defined), or in the user's <EM>$HOME/.terminfo</EM> data-
766+       The  SVr4  manual  pages  are not clear on the resolution rules for <STRONG>use</STRONG>
767+       capabilities.  This implementation of <STRONG>tic</STRONG> will find  <STRONG>use</STRONG>  targets  any-
768+       where  in  the source file, or anywhere in the file tree rooted at <STRONG>TER-</STRONG>
769+       <STRONG>MINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is defined), or in the user's <EM>$HOME/.terminfo</EM>  data-
770        base (if it exists), or (finally) anywhere in the system's file tree of
771        compiled entries.
772
773-       The  error  messages  from this <STRONG>tic</STRONG> have the same format as GNU C error
774+       The error messages from this <STRONG>tic</STRONG> have the same format as  GNU  C  error
775        messages, and can be parsed by GNU Emacs's compile facility.
776
777-       The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-C</STRONG>, <STRONG>-G</STRONG>, <STRONG>-I</STRONG>, <STRONG>-N</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-o</STRONG>, <STRONG>-r</STRONG>, <STRONG>-s</STRONG>,  <STRONG>-t</STRONG>
778-       and <STRONG>-x</STRONG> options are not supported under SVr4.  The SVr4 <STRONG>-c</STRONG> mode does not
779-       report bad "use=" links.
780+       Aside from <STRONG>-c</STRONG> and <STRONG>-v</STRONG>, options are not portable:
781+
782+       <STRONG>o</STRONG>   Most of tic's options are not supported by SVr4 <STRONG>tic</STRONG>:
783+
784+           <STRONG>-0</STRONG> <STRONG>-1</STRONG> <STRONG>-C</STRONG> <STRONG>-G</STRONG> <STRONG>-I</STRONG> <STRONG>-N</STRONG> <STRONG>-R</STRONG> <STRONG>-T</STRONG> <STRONG>-V</STRONG> <STRONG>-a</STRONG> <STRONG>-e</STRONG> <STRONG>-f</STRONG> <STRONG>-g</STRONG> <STRONG>-o</STRONG> <STRONG>-r</STRONG> <STRONG>-s</STRONG> <STRONG>-t</STRONG> <STRONG>-x</STRONG>
785+
786+       <STRONG>o</STRONG>   The NetBSD <STRONG>tic</STRONG>  supports a few of the ncurses options
787+
788+           <STRONG>-a</STRONG> <STRONG>-o</STRONG> <STRONG>-x</STRONG>
789+
790+           and  adds  <STRONG>-S</STRONG>  (a feature which does the same thing as infocmp's <STRONG>-e</STRONG>
791+           and <STRONG>-E</STRONG> options).
792+
793+       The SVr4 <STRONG>-c</STRONG> mode does not report bad "use=" links.
794
795        System V does  not  compile  entries  to  or  read  entries  from  your
796        <EM>$HOME/.terminfo</EM> database unless TERMINFO is explicitly set to it.
797@@ -438,7 +460,7 @@
798        <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>,
799        <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>.
800
801-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
802+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
803
804
805 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
806@@ -455,6 +477,7 @@
807 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
808 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
809 <ul>
810+<li><a href="#h3-ALIASES">ALIASES</a></li>
811 <li><a href="#h3-OPTIONS">OPTIONS</a></li>
812 <li><a href="#h3-PARAMETERS">PARAMETERS</a></li>
813 <li><a href="#h3-PROCESSING">PROCESSING</a></li>
814Index: doc/html/man/toe.1m.html
815--- ncurses-6.1-20191005+/doc/html/man/toe.1m.html	2019-09-21 23:49:54.000000000 +0000
816+++ ncurses-6.1-20191012/doc/html/man/toe.1m.html	2019-10-12 21:32:41.000000000 +0000
817@@ -170,7 +170,7 @@
818        <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>
819        <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
820
821-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
822+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
823
824
825
826Index: doc/html/man/tput.1.html
827--- ncurses-6.1-20191005+/doc/html/man/tput.1.html	2019-09-21 23:49:54.000000000 +0000
828+++ ncurses-6.1-20191012/doc/html/man/tput.1.html	2019-10-12 21:32:41.000000000 +0000
829@@ -522,7 +522,7 @@
830 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
831        <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>.
832
833-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
834+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
835
836
837
838Index: doc/html/man/tset.1.html
839--- ncurses-6.1-20191005+/doc/html/man/tset.1.html	2019-09-21 23:49:54.000000000 +0000
840+++ ncurses-6.1-20191012/doc/html/man/tset.1.html	2019-10-12 21:32:41.000000000 +0000
841@@ -389,7 +389,7 @@
842        <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>,
843        <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
844
845-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
846+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
847
848
849
850Index: man/captoinfo.1m
851Prereq:  1.27
852--- ncurses-6.1-20191005+/man/captoinfo.1m	2018-07-28 21:34:06.000000000 +0000
853+++ ncurses-6.1-20191012/man/captoinfo.1m	2019-10-12 21:10:00.000000000 +0000
854@@ -1,6 +1,6 @@
855 '\" t
856 .\"***************************************************************************
857-.\" Copyright (c) 1998-2016,2018 Free Software Foundation, Inc.              *
858+.\" Copyright (c) 1998-2018,2019 Free Software Foundation, Inc.              *
859 .\"                                                                          *
860 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
861 .\" copy of this software and associated documentation files (the            *
862@@ -27,7 +27,7 @@
863 .\" authorization.                                                           *
864 .\"***************************************************************************
865 .\"
866-.\" $Id: captoinfo.1m,v 1.27 2018/07/28 21:34:06 tom Exp $
867+.\" $Id: captoinfo.1m,v 1.29 2019/10/12 21:10:00 tom Exp $
868 .TH @CAPTOINFO@ 1M ""
869 .ds n 5
870 .ds d @TERMINFO@
871@@ -183,9 +183,15 @@
872 This utility is actually a link to \fB@TIC@\fR(1M), running in \fI\-I\fR mode.
873 You can use other \fB@TIC@\fR options such as \fB\-f\fR and  \fB\-x\fR.
874 .PP
875-The trace option is not identical to SVr4's.
876+The verbose option is not identical to SVr4's.
877 Under SVr4, instead of following
878 the \fB\-v\fR with a trace level n, you repeat it n times.
879+.SH PORTABILITY
880+X/Open Curses, Issue 7 (2009) describes \fBtic\fP briefly,
881+but omits this program.
882+SVr4 systems provide \fBcaptoinfo\fP as a separate application from \fBtic\fP.
883+.PP
884+NetBSD does not provide this application.
885 .SH SEE ALSO
886 \fB@INFOCMP@\fR(1M),
887 \fBcurses\fR(3X),
888Index: man/infotocap.1m
889Prereq:  1.13
890--- ncurses-6.1-20191005+/man/infotocap.1m	2018-07-28 21:34:06.000000000 +0000
891+++ ncurses-6.1-20191012/man/infotocap.1m	2019-10-12 21:16:00.000000000 +0000
892@@ -1,6 +1,6 @@
893 '\" t
894 .\"***************************************************************************
895-.\" Copyright (c) 1999-2016,2018 Free Software Foundation, Inc.              *
896+.\" Copyright (c) 1999-2018,2019 Free Software Foundation, Inc.              *
897 .\"                                                                          *
898 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
899 .\" copy of this software and associated documentation files (the            *
900@@ -27,7 +27,7 @@
901 .\" authorization.                                                           *
902 .\"***************************************************************************
903 .\"
904-.\" $Id: infotocap.1m,v 1.13 2018/07/28 21:34:06 tom Exp $
905+.\" $Id: infotocap.1m,v 1.15 2019/10/12 21:16:00 tom Exp $
906 .TH @INFOTOCAP@ 1M ""
907 .ds n 5
908 .ds d @TERMINFO@
909@@ -63,6 +63,8 @@
910 .SH NOTES
911 This utility is actually a link to \fB@TIC@\fR, running in \fI\-C\fR mode.
912 You can use other \fB@TIC@\fR options such as \fB\-f\fR and  \fB\-x\fR.
913+.SH PORTABILITY
914+None of X/Open Curses, Issue 7 (2009), SVr4 or NetBSD document this application.
915 .SH SEE ALSO
916 \fBcurses\fR(3X),
917 \fB@TIC@\fR(1M),
918Index: man/tic.1m
919Prereq:  1.74
920--- ncurses-6.1-20191005+/man/tic.1m	2019-07-20 17:57:09.000000000 +0000
921+++ ncurses-6.1-20191012/man/tic.1m	2019-10-12 20:56:38.000000000 +0000
922@@ -26,7 +26,7 @@
923 .\" authorization.                                                           *
924 .\"***************************************************************************
925 .\"
926-.\" $Id: tic.1m,v 1.74 2019/07/20 17:57:09 tom Exp $
927+.\" $Id: tic.1m,v 1.75 2019/10/12 20:56:38 tom Exp $
928 .TH @TIC@ 1M ""
929 .ie \n(.g .ds `` \(lq
930 .el       .ds `` ``
931@@ -128,6 +128,14 @@
932 a compiled-in list of directories (@TERMINFO_DIRS@), and
933 .bP
934 the system terminfo database (\fI\*d\fR).
935+.SS ALIASES
936+.PP
937+This is the same program as @INFOTOCAP@ and @CAPTOINFO@;
938+usually those are linked to, or copied from this program:
939+.bP
940+When invoked as @INFOTOCAP@, @TIC@ sets the \fB\-I\fP option.
941+.bP
942+When invoked as @CAPTOINFO@, @TIC@ sets the \fB\-C\fP option.
943 .SS OPTIONS
944 .TP
945 \fB\-0\fR
946@@ -443,7 +451,7 @@
947 .PP
948 In 2010, Roy Marples provided a \fBtic\fP program
949 and terminfo library for NetBSD.
950-This implementation adapts several features from ncurses,
951+That implementation adapts several features from ncurses,
952 including \fB@TIC@\fP's \fB\-x\fP option.
953 .PP
954 The \fB\-c\fP option tells \fB@TIC@\fP to check for problems in the
955@@ -478,6 +486,9 @@
956 are SVr4 (AIX, HP-UX and Solaris),
957 ncurses
958 and NetBSD curses.
959+The SVr4 \fBtic\fP programs all support the \fB\-v\fP option.
960+The NetBSD \fBtic\fP program follows X/Open's documentation,
961+omitting the \fB\-v\fP option.
962 .PP
963 The X/Open rationale states that some implementations of \fBtic\fP
964 read terminal descriptions from the standard input if the \fIfile\fP
965@@ -514,27 +525,44 @@
966 The error messages from this \fB@TIC@\fR have the same format as GNU C
967 error messages, and can be parsed by GNU Emacs's compile facility.
968 .PP
969-The
970-\fB\-0\fR,
971-\fB\-1\fR,
972-\fB\-C\fR,
973-\fB\-G\fR,
974-\fB\-I\fR,
975-\fB\-N\fR,
976-\fB\-R\fR,
977-\fB\-T\fR,
978-\fB\-V\fR,
979-\fB\-a\fR,
980-\fB\-e\fR,
981-\fB\-f\fR,
982-\fB\-g\fR,
983-\fB\-o\fR,
984-\fB\-r\fR,
985-\fB\-s\fR,
986-\fB\-t\fR and
987+Aside from \fB\-c\fP and \fB\-v\fP, options are not portable:
988+.bP
989+Most of @TIC@'s options
990+are not supported by SVr4 \fBtic\fP:
991+.sp
992+.RS
993+\fB\-0\fR
994+\fB\-1\fR
995+\fB\-C\fR
996+\fB\-G\fR
997+\fB\-I\fR
998+\fB\-N\fR
999+\fB\-R\fR
1000+\fB\-T\fR
1001+\fB\-V\fR
1002+\fB\-a\fR
1003+\fB\-e\fR
1004+\fB\-f\fR
1005+\fB\-g\fR
1006+\fB\-o\fR
1007+\fB\-r\fR
1008+\fB\-s\fR
1009+\fB\-t\fR
1010 \fB\-x\fR
1011-options
1012-are not supported under SVr4.
1013+.RE
1014+.bP
1015+The NetBSD \fBtic\fP  supports a few of the ncurses options
1016+.sp
1017+.RS
1018+\fB\-a\fP
1019+\fB\-o\fP
1020+\fB\-x\fP
1021+.RE
1022+.IP
1023+and adds \fB\-S\fP
1024+(a feature which does the same thing
1025+as @INFOCMP@'s \fB\-e\fP and \fB\-E\fP options).
1026+.PP
1027 The SVr4 \fB\-c\fR mode does not report bad \*(``use=\*('' links.
1028 .PP
1029 System V does not compile entries to or read entries from your
1030Index: misc/gen-pkgconfig.in
1031Prereq:  1.38
1032--- ncurses-6.1-20191005+/misc/gen-pkgconfig.in	2019-10-05 22:25:47.000000000 +0000
1033+++ ncurses-6.1-20191012/misc/gen-pkgconfig.in	2019-10-12 22:27:10.000000000 +0000
1034@@ -1,5 +1,5 @@
1035 #!@SHELL@
1036-# $Id: gen-pkgconfig.in,v 1.38 2019/10/05 22:25:47 tom Exp $
1037+# $Id: gen-pkgconfig.in,v 1.40 2019/10/12 22:27:10 tom Exp $
1038 ##############################################################################
1039 # Copyright (c) 2009-2018,2019 Free Software Foundation, Inc.                #
1040 #                                                                            #
1041@@ -77,13 +77,39 @@
1042 	fi
1043 fi
1044
1045-LDFLAGS=
1046-if [ "$libdir" != "/usr/lib" ]; then
1047-	LDFLAGS="$LDFLAGS -L\${libdir}"
1048-fi
1049-if [ "x@EXTRA_LDFLAGS@" != "x" ]; then
1050-	LDFLAGS="$LDFLAGS @EXTRA_LDFLAGS@"
1051-fi
1052+lib_flags=
1053+for opt in -L$libdir @LDFLAGS@ @EXTRA_LDFLAGS@ @LIBS@
1054+do
1055+	case $opt in
1056+	-l*) # LIBS is handled specially below
1057+		continue
1058+		;;
1059+	-Wl,-z,*) # ignore flags used to manipulate shared image
1060+		continue
1061+		;;
1062+	-L*)
1063+		[ -d ${opt##-L} ] || continue
1064+		case ${opt##-L} in
1065+		@LD_SEARCHPATH@) # skip standard libdir
1066+			continue
1067+			;;
1068+		*)
1069+			found=no
1070+			for check in $lib_flags
1071+			do
1072+				if [ "x$check" = "x$opt" ]
1073+				then
1074+					found=yes
1075+					break
1076+				fi
1077+			done
1078+			[ $found = yes ] && continue
1079+			;;
1080+		esac
1081+		;;
1082+	esac
1083+	lib_flags="$lib_flags $opt"
1084+done
1085
1086 # Check if we should specify the tinfo library explicitly so that terminfo
1087 # functions or curses variables (which also reside in tinfo) can be linked
1088@@ -150,7 +176,7 @@
1089 Version: \${version}
1090 URL: https://invisible-island.net/ncurses
1091 Requires.private: $reqs
1092-Libs: $LDFLAGS $LIBS
1093+Libs: $lib_flags $LIBS
1094 Libs.private: @LIBS@ $main_libs
1095 Cflags: $CFLAGS
1096 EOF
1097Index: misc/ncurses-config.in
1098Prereq:  1.40
1099--- ncurses-6.1-20191005+/misc/ncurses-config.in	2019-10-05 22:24:20.000000000 +0000
1100+++ ncurses-6.1-20191012/misc/ncurses-config.in	2019-10-12 21:25:17.000000000 +0000
1101@@ -1,5 +1,5 @@
1102 #!@SHELL@
1103-# $Id: ncurses-config.in,v 1.40 2019/10/05 22:24:20 tom Exp $
1104+# $Id: ncurses-config.in,v 1.41 2019/10/12 21:25:17 tom Exp $
1105 ##############################################################################
1106 # Copyright (c) 2006-2018,2019 Free Software Foundation, Inc.                #
1107 #                                                                            #
1108@@ -103,6 +103,9 @@
1109 for opt in -L$libdir @LDFLAGS@ @EXTRA_LDFLAGS@ $LIBS
1110 do
1111 	case $opt in
1112+	-Wl,-z,*) # ignore flags used to manipulate shared image
1113+		continue
1114+		;;
1115 	-L*)
1116 		[ -d ${opt##-L} ] || continue
1117 		case ${opt##-L} in
1118Index: ncurses/tinfo/comp_hash.c
1119Prereq:  1.49
1120--- ncurses-6.1-20191005+/ncurses/tinfo/comp_hash.c	2019-03-10 00:06:48.000000000 +0000
1121+++ ncurses-6.1-20191012/ncurses/tinfo/comp_hash.c	2019-10-12 16:32:13.000000000 +0000
1122@@ -44,7 +44,7 @@
1123 #include <tic.h>
1124 #include <hashsize.h>
1125
1126-MODULE_ID("$Id: comp_hash.c,v 1.49 2019/03/10 00:06:48 tom Exp $")
1127+MODULE_ID("$Id: comp_hash.c,v 1.51 2019/10/12 16:32:13 tom Exp $")
1128
1129 /*
1130  * Finds the entry for the given string in the hash table if present.
1131@@ -63,7 +63,9 @@
1132
1133     hashvalue = data->hash_of(string);
1134
1135-    if (data->table_data[hashvalue] >= 0) {
1136+    if (hashvalue >= 0
1137+	&& (unsigned) hashvalue < data->table_size
1138+	&& data->table_data[hashvalue] >= 0) {
1139
1140 	real_table = _nc_get_table(termcap);
1141 	ptr = real_table + data->table_data[hashvalue];
1142@@ -96,7 +98,9 @@
1143     const HashData *data = _nc_get_hash_info(termcap);
1144     int hashvalue = data->hash_of(string);
1145
1146-    if (data->table_data[hashvalue] >= 0) {
1147+    if (hashvalue >= 0
1148+	&& (unsigned) hashvalue < data->table_size
1149+	&& data->table_data[hashvalue] >= 0) {
1150 	const struct name_table_entry *const table = _nc_get_table(termcap);
1151
1152 	ptr = table + data->table_data[hashvalue];
1153@@ -124,7 +128,9 @@
1154
1155     hashvalue = data->hash_of(string);
1156
1157-    if (data->table_data[hashvalue] >= 0) {
1158+    if (hashvalue >= 0
1159+	&& (unsigned) hashvalue < data->table_size
1160+	&& data->table_data[hashvalue] >= 0) {
1161
1162 	real_table = _nc_get_userdefs_table();
1163 	ptr = real_table + data->table_data[hashvalue];
1164Index: ncurses/tinfo/parse_entry.c
1165Prereq:  1.97
1166--- ncurses-6.1-20191005+/ncurses/tinfo/parse_entry.c	2019-08-03 23:10:38.000000000 +0000
1167+++ ncurses-6.1-20191012/ncurses/tinfo/parse_entry.c	2019-10-12 00:50:31.000000000 +0000
1168@@ -47,7 +47,7 @@
1169 #include <ctype.h>
1170 #include <tic.h>
1171
1172-MODULE_ID("$Id: parse_entry.c,v 1.97 2019/08/03 23:10:38 tom Exp $")
1173+MODULE_ID("$Id: parse_entry.c,v 1.98 2019/10/12 00:50:31 tom Exp $")
1174
1175 #ifdef LINT
1176 static short const parametrized[] =
1177@@ -654,12 +654,12 @@
1178 }
1179
1180 static void
1181-append_acs0(string_desc * dst, int code, int src)
1182+append_acs0(string_desc * dst, int code, char *src, size_t off)
1183 {
1184-    if (src != 0) {
1185+    if (src != 0 && off < strlen(src)) {
1186 	char temp[3];
1187 	temp[0] = (char) code;
1188-	temp[1] = (char) src;
1189+	temp[1] = src[off];
1190 	temp[2] = 0;
1191 	_nc_safe_strcat(dst, temp);
1192     }
1193@@ -669,7 +669,7 @@
1194 append_acs(string_desc * dst, int code, char *src)
1195 {
1196     if (VALID_STRING(src) && strlen(src) == 1) {
1197-	append_acs0(dst, code, *src);
1198+	append_acs0(dst, code, src, 0);
1199     }
1200 }
1201
1202@@ -1038,17 +1038,17 @@
1203 	_nc_str_init(&result, buf2, sizeof(buf2));
1204 	_nc_safe_strcat(&result, acs_chars);
1205
1206-	append_acs0(&result, 'l', box_chars_1[0]);	/* ACS_ULCORNER */
1207-	append_acs0(&result, 'q', box_chars_1[1]);	/* ACS_HLINE */
1208-	append_acs0(&result, 'k', box_chars_1[2]);	/* ACS_URCORNER */
1209-	append_acs0(&result, 'x', box_chars_1[3]);	/* ACS_VLINE */
1210-	append_acs0(&result, 'j', box_chars_1[4]);	/* ACS_LRCORNER */
1211-	append_acs0(&result, 'm', box_chars_1[5]);	/* ACS_LLCORNER */
1212-	append_acs0(&result, 'w', box_chars_1[6]);	/* ACS_TTEE */
1213-	append_acs0(&result, 'u', box_chars_1[7]);	/* ACS_RTEE */
1214-	append_acs0(&result, 'v', box_chars_1[8]);	/* ACS_BTEE */
1215-	append_acs0(&result, 't', box_chars_1[9]);	/* ACS_LTEE */
1216-	append_acs0(&result, 'n', box_chars_1[10]);	/* ACS_PLUS */
1217+	append_acs0(&result, 'l', box_chars_1, 0);	/* ACS_ULCORNER */
1218+	append_acs0(&result, 'q', box_chars_1, 1);	/* ACS_HLINE */
1219+	append_acs0(&result, 'k', box_chars_1, 2);	/* ACS_URCORNER */
1220+	append_acs0(&result, 'x', box_chars_1, 3);	/* ACS_VLINE */
1221+	append_acs0(&result, 'j', box_chars_1, 4);	/* ACS_LRCORNER */
1222+	append_acs0(&result, 'm', box_chars_1, 5);	/* ACS_LLCORNER */
1223+	append_acs0(&result, 'w', box_chars_1, 6);	/* ACS_TTEE */
1224+	append_acs0(&result, 'u', box_chars_1, 7);	/* ACS_RTEE */
1225+	append_acs0(&result, 'v', box_chars_1, 8);	/* ACS_BTEE */
1226+	append_acs0(&result, 't', box_chars_1, 9);	/* ACS_LTEE */
1227+	append_acs0(&result, 'n', box_chars_1, 10);	/* ACS_PLUS */
1228
1229 	if (buf2[0]) {
1230 	    acs_chars = _nc_save_str(buf2);
1231Index: package/debian-mingw/changelog
1232--- ncurses-6.1-20191005+/package/debian-mingw/changelog	2019-10-05 14:44:23.000000000 +0000
1233+++ ncurses-6.1-20191012/package/debian-mingw/changelog	2019-10-12 15:30:55.000000000 +0000
1234@@ -1,8 +1,8 @@
1235-ncurses6 (6.1+20191005) unstable; urgency=low
1236+ncurses6 (6.1+20191012) unstable; urgency=low
1237
1238   * latest weekly patch
1239
1240- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 05 Oct 2019 10:44:23 -0400
1241+ -- Thomas E. Dickey <dickey@invisible-island.net>  Fri, 11 Oct 2019 19:37:45 -0400
1242
1243 ncurses6 (5.9-20131005) unstable; urgency=low
1244
1245Index: package/debian-mingw64/changelog
1246--- ncurses-6.1-20191005+/package/debian-mingw64/changelog	2019-10-05 14:44:23.000000000 +0000
1247+++ ncurses-6.1-20191012/package/debian-mingw64/changelog	2019-10-12 15:30:55.000000000 +0000
1248@@ -1,8 +1,8 @@
1249-ncurses6 (6.1+20191005) unstable; urgency=low
1250+ncurses6 (6.1+20191012) unstable; urgency=low
1251
1252   * latest weekly patch
1253
1254- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 05 Oct 2019 10:44:23 -0400
1255+ -- Thomas E. Dickey <dickey@invisible-island.net>  Fri, 11 Oct 2019 19:37:45 -0400
1256
1257 ncurses6 (5.9-20131005) unstable; urgency=low
1258
1259Index: package/debian/changelog
1260--- ncurses-6.1-20191005+/package/debian/changelog	2019-10-05 14:44:23.000000000 +0000
1261+++ ncurses-6.1-20191012/package/debian/changelog	2019-10-12 15:30:55.000000000 +0000
1262@@ -1,8 +1,8 @@
1263-ncurses6 (6.1+20191005) unstable; urgency=low
1264+ncurses6 (6.1+20191012) unstable; urgency=low
1265
1266   * latest weekly patch
1267
1268- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 05 Oct 2019 10:44:23 -0400
1269+ -- Thomas E. Dickey <dickey@invisible-island.net>  Fri, 11 Oct 2019 19:37:45 -0400
1270
1271 ncurses6 (5.9-20120608) unstable; urgency=low
1272
1273Index: package/mingw-ncurses.nsi
1274Prereq:  1.354
1275--- ncurses-6.1-20191005+/package/mingw-ncurses.nsi	2019-10-05 14:44:23.000000000 +0000
1276+++ ncurses-6.1-20191012/package/mingw-ncurses.nsi	2019-10-12 15:30:55.000000000 +0000
1277@@ -1,4 +1,4 @@
1278-; $Id: mingw-ncurses.nsi,v 1.354 2019/10/05 14:44:23 tom Exp $
1279+; $Id: mingw-ncurses.nsi,v 1.355 2019/10/12 15:30:55 tom Exp $
1280
1281 ; TODO add examples
1282 ; TODO bump ABI to 6
1283@@ -10,7 +10,7 @@
1284 !define VERSION_MAJOR "6"
1285 !define VERSION_MINOR "1"
1286 !define VERSION_YYYY  "2019"
1287-!define VERSION_MMDD  "1005"
1288+!define VERSION_MMDD  "1012"
1289 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
1290
1291 !define MY_ABI   "5"
1292Index: package/mingw-ncurses.spec
1293--- ncurses-6.1-20191005+/package/mingw-ncurses.spec	2019-10-05 14:44:23.000000000 +0000
1294+++ ncurses-6.1-20191012/package/mingw-ncurses.spec	2019-10-12 15:30:55.000000000 +0000
1295@@ -3,7 +3,7 @@
1296 Summary: shared libraries for terminal handling
1297 Name: mingw32-ncurses6
1298 Version: 6.1
1299-Release: 20191005
1300+Release: 20191012
1301 License: X11
1302 Group: Development/Libraries
1303 Source: ncurses-%{version}-%{release}.tgz
1304Index: package/ncurses.spec
1305--- ncurses-6.1-20191005+/package/ncurses.spec	2019-10-05 14:44:23.000000000 +0000
1306+++ ncurses-6.1-20191012/package/ncurses.spec	2019-10-12 15:30:55.000000000 +0000
1307@@ -1,7 +1,7 @@
1308 Summary: shared libraries for terminal handling
1309 Name: ncurses6
1310 Version: 6.1
1311-Release: 20191005
1312+Release: 20191012
1313 License: X11
1314 Group: Development/Libraries
1315 Source: ncurses-%{version}-%{release}.tgz
1316Index: package/ncursest.spec
1317--- ncurses-6.1-20191005+/package/ncursest.spec	2019-10-05 14:44:23.000000000 +0000
1318+++ ncurses-6.1-20191012/package/ncursest.spec	2019-10-12 15:30:55.000000000 +0000
1319@@ -1,7 +1,7 @@
1320 Summary: Curses library with POSIX thread support.
1321 Name: ncursest6
1322 Version: 6.1
1323-Release: 20191005
1324+Release: 20191012
1325 License: X11
1326 Group: Development/Libraries
1327 Source: ncurses-%{version}-%{release}.tgz
1328Index: progs/dump_entry.c
1329Prereq:  1.173
1330--- ncurses-6.1-20191005+/progs/dump_entry.c	2019-05-11 21:02:24.000000000 +0000
1331+++ ncurses-6.1-20191012/progs/dump_entry.c	2019-10-12 15:59:07.000000000 +0000
1332@@ -39,7 +39,7 @@
1333 #include "termsort.c"		/* this C file is generated */
1334 #include <parametrized.h>	/* so is this */
1335
1336-MODULE_ID("$Id: dump_entry.c,v 1.173 2019/05/11 21:02:24 tom Exp $")
1337+MODULE_ID("$Id: dump_entry.c,v 1.175 2019/10/12 15:59:07 tom Exp $")
1338
1339 #define DISCARD(string) string = ABSENT_STRING
1340 #define PRINTF (void) printf
1341@@ -1136,7 +1136,8 @@
1342 				*d++ = '\\';
1343 				*d = ':';
1344 			    } else if (*d == '\\') {
1345-				*++d = *s++;
1346+				if ((*++d = *s++) == '\0')
1347+				    break;
1348 			    }
1349 			    d++;
1350 			    *d = '\0';
1351@@ -1396,7 +1397,7 @@
1352
1353     if (VALID_STRING(mapping)) {
1354 	int n = 0;
1355-	while (mapping[n] != '\0') {
1356+	while (mapping[n] != '\0' && mapping[n + 1] != '\0') {
1357 	    if (isLine(mapping[n]) &&
1358 		mapping[n] != mapping[n + 1]) {
1359 		result = FALSE;
1360