]> ncurses.scripts.mit.edu Git - ncurses.git/commitdiff
ncurses 6.1 - patch 20191012
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 13 Oct 2019 01:25:51 +0000 (01:25 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 13 Oct 2019 01:25:51 +0000 (01:25 +0000)
+ amend recent changes to ncurses*-config and pc-files to filter out
  Debian linker-flags (report by Sven Joachim, cf: 20150516).
+ clarify relationship between tic, infocmp and captoinfo in manpage.
+ check for invalid hashcode in _nc_find_type_entry and
  _nc_find_name_entry.
> fix several errata in tic (reports/testcases by "zjuchenyuan"):
+ check for invalid hashcode in _nc_find_entry.
+ check for missing character after backslash in fmt_entry
+ check for acsc with odd length in dump_entry in check for one-one
  mapping (cf: 20060415);
+ check length when converting from old AIX box_chars_1 capability,
  overlooked in changes to eliminate strcpy (cf: 20001007).
+ amend the ncurses*-config and pc-files to take into account the rpath

34 files changed:
NEWS
VERSION
dist.mk
doc/html/man/adacurses6-config.1.html
doc/html/man/captoinfo.1m.html
doc/html/man/clear.1.html
doc/html/man/form.3x.html
doc/html/man/infocmp.1m.html
doc/html/man/infotocap.1m.html
doc/html/man/menu.3x.html
doc/html/man/ncurses.3x.html
doc/html/man/ncurses6-config.1.html
doc/html/man/panel.3x.html
doc/html/man/tabs.1.html
doc/html/man/terminfo.5.html
doc/html/man/tic.1m.html
doc/html/man/toe.1m.html
doc/html/man/tput.1.html
doc/html/man/tset.1.html
man/captoinfo.1m
man/infotocap.1m
man/tic.1m
misc/gen-pkgconfig.in
misc/ncurses-config.in
ncurses/tinfo/comp_hash.c
ncurses/tinfo/parse_entry.c
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
package/ncursest.spec
progs/dump_entry.c

diff --git a/NEWS b/NEWS
index ea31648af340e463a5c81080a9d4cad02dc5675b..5ba46e9b300c6e062d1404917e08e23b178b4f76 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3382 2019/10/05 22:53:18 tom Exp $
+-- $Id: NEWS,v 1.3389 2019/10/12 21:17:50 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,12 +45,26 @@ See the AUTHORS file for the corresponding full names.
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20191012
+       + amend recent changes to ncurses*-config and pc-files to filter out
+         Debian linker-flags (report by Sven Joachim, cf: 20150516).
+       + clarify relationship between tic, infocmp and captoinfo in manpage.
+       + check for invalid hashcode in _nc_find_type_entry and
+         _nc_find_name_entry.
+       > fix several errata in tic (reports/testcases by "zjuchenyuan"):
+       + check for invalid hashcode in _nc_find_entry.
+       + check for missing character after backslash in fmt_entry
+       + check for acsc with odd length in dump_entry in check for one-one
+         mapping (cf: 20060415);
+       + check length when converting from old AIX box_chars_1 capability,
+         overlooked in changes to eliminate strcpy (cf: 20001007).
+
 20191005
        + modify the ncurse*-config and pc-files to more closely match for the
          -I and -l options.
 
 20190928
-       + amend the ncurse*-config and pc-files to take into account the rpath
+       + amend the ncurses*-config and pc-files to take into account the rpath
          hack which differed between those files.
        + improve -L option filtering in ncurses*-config
        + improve recovery from error when reading command-character in
diff --git a/VERSION b/VERSION
index aec564a4aede679b97aa5e0a4914d5ec8d3778f3..b8433300e855629cf0a4496100d837191f3d47c5 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:10 6.1     20191005
+5:0:10 6.1     20191012
diff --git a/dist.mk b/dist.mk
index 1994b91c8d038046fb9d4844016c51fab740d8b2..8832349b8882dad3458881e4a8739e5fa207a49f 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.1308 2019/10/05 14:44:23 tom Exp $
+# $Id: dist.mk,v 1.1309 2019/10/12 15:30:55 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -37,7 +37,7 @@ SHELL = /bin/sh
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 6
 NCURSES_MINOR = 1
-NCURSES_PATCH = 20191005
+NCURSES_PATCH = 20191012
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index d60c61879cde490b53dc0af2f2ff868bdcb64119..99d2fa608abe267c33913ea7bc86d808dfed72cc 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
 
 
index 704f0ad60e90fdd2203ae3a7df1405294ce6d468..ad1474ab1a0a428df270a957f7d8027538a29736 100644 (file)
@@ -1,7 +1,7 @@
 <!-- 
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2016,2018 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: captoinfo.1m,v 1.27 2018/07/28 21:34:06 tom Exp @
+  * @Id: captoinfo.1m,v 1.29 2019/10/12 21:10:00 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
        This utility is actually a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, running in  <EM>-I</EM>  mode.   You
        can use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and  <STRONG>-x</STRONG>.
 
-       The  trace  option  is not identical to SVr4's.  Under SVr4, instead of
+       The  verbose option is not identical to SVr4's.  Under SVr4, instead of
        following the <STRONG>-v</STRONG> with a trace level n, you repeat it n times.
 
 
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses, Issue 7 (2009) describes <STRONG>tic</STRONG>  briefly,  but  omits  this
+       program.  SVr4 systems provide <STRONG>captoinfo</STRONG> as a separate application from
+       <STRONG>tic</STRONG>.
+
+       NetBSD does not provide this application.
+
+
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
 <li><a href="#h2-FILES">FILES</a></li>
 <li><a href="#h2-TRANSLATIONS-FROM-NONSTANDARD-CAPABILITIES">TRANSLATIONS FROM NONSTANDARD CAPABILITIES</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 <li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
index ca910d0dcce293a77f6fdda017201bdc5dc4f74a..51e563e099f797da7813b29128684b8742bbc00c 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
 
 
index ce3c0211d6528f287edd260de74864d0c4b501a5..718e72efa4dfb9f15bc638b3cf77f7b15e2e32c8 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
        descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
 
 
index 083b019989bdcf3240a83ed101d6382d3431eaa3..f85a01c49ec2d004d9b9d7253a4eb357816a88f3 100644 (file)
 
        https://invisible-island.net/ncurses/tctest.html
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index fe54702fc53459c54b1e39ac1f46b3cd96bd5e67..dead6b1432cead09927636f54c7a007639f70bc8 100644 (file)
@@ -1,7 +1,7 @@
 <!-- 
   * t
   ****************************************************************************
-  * Copyright (c) 1999-2016,2018 Free Software Foundation, Inc.              *
+  * Copyright (c) 1999-2018,2019 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: infotocap.1m,v 1.13 2018/07/28 21:34:06 tom Exp @
+  * @Id: infotocap.1m,v 1.15 2019/10/12 21:16:00 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
        use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and  <STRONG>-x</STRONG>.
 
 
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       None  of  X/Open  Curses,  Issue 7 (2009), SVr4 or NetBSD document this
+       application.
+
+
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="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>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-FILES">FILES</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 <li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
index 050b36c60e6d8df0ba1b91062daaba7425946a12..aac331f5c892f7e3fe24da0e8080ccfa769a1bd1 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "menu_" for detailed
        descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
 
 
index 3c2be488446be6a1d26ec718239925d40d605e6e..cc340b4cd91f5503f68f3880a0366e9d6b9f8a5f 100644 (file)
@@ -59,7 +59,7 @@
        method of updating  character  screens  with  reasonable  optimization.
        This  implementation  is  "new  curses"  (ncurses)  and is the approved
        replacement for 4.4BSD classic curses,  which  has  been  discontinued.
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
        The  <STRONG>ncurses</STRONG>  library emulates the curses library of System V Release 4
        UNIX, and XPG4 (X/Open Portability Guide) curses  (also  known  as  XSI
index b4c063c8affc51ba2f5c32e4b41c9d1c0a0d52d6..e0adc9b7bb5e65ac41bc75017aaeb4e9c3d71a3a 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
 
 
index 4bf4991284960ac7ccb82af49ef130c05a522e65..3396ecb7394f10a88c409157ff3dda7aa66dbddf 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 47c2b294f45e69f666e15d79e47d80f87e59d59a..7f8e59c2ff282bf1fd9f86128d743f6dd348e939 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <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>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
 
 
index 94983c5ed991cec073d1af0eda97cfccb80bf353..e4c37dd0cbe3b69fd33438870ad88acccfd989d6 100644 (file)
        have, by specifying how to perform screen operations, and by specifying
        padding requirements and initialization sequences.
 
-       This manual describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This manual describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
 
 </PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
index 8049d6c00014ffdcad88fad93424256d87bd0f07..e003be0a45952aa6c5a0347baaa0d4e17a1e8df4 100644 (file)
@@ -26,7 +26,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tic.1m,v 1.74 2019/07/20 17:57:09 tom Exp @
+  * @Id: tic.1m,v 1.75 2019/10/12 20:56:38 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
        <STRONG>o</STRONG>   the system terminfo database (<EM>/usr/share/terminfo</EM>).
 
 
+</PRE><H3><a name="h3-ALIASES">ALIASES</a></H3><PRE>
+       This is the same program as infotocap and captoinfo; usually those  are
+       linked to, or copied from this program:
+
+       <STRONG>o</STRONG>   When invoked as infotocap, tic sets the <STRONG>-I</STRONG> option.
+
+       <STRONG>o</STRONG>   When invoked as captoinfo, tic sets the <STRONG>-C</STRONG> option.
+
+
 </PRE><H3><a name="h3-OPTIONS">OPTIONS</a></H3><PRE>
        <STRONG>-0</STRONG>     restricts the output to a single line
 
        <STRONG>-1</STRONG>     restricts the output to a single column
 
-       <STRONG>-a</STRONG>     tells <STRONG>tic</STRONG> to retain commented-out capabilities rather than  dis-
+       <STRONG>-a</STRONG>     tells  <STRONG>tic</STRONG> to retain commented-out capabilities rather than dis-
               carding them.  Capabilities are commented by prefixing them with
-              a period.  This sets the <STRONG>-x</STRONG> option, because it treats  the  com-
-              mented-out  entries  as  user-defined  names.   If the source is
-              termcap, accept the 2-character names  required  by  version  6.
+              a  period.   This sets the <STRONG>-x</STRONG> option, because it treats the com-
+              mented-out entries as user-defined  names.   If  the  source  is
+              termcap,  accept  the  2-character  names required by version 6.
               Otherwise these are ignored.
 
-       <STRONG>-C</STRONG>     Force  source translation to termcap format.  Note: this differs
-              from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in that  it  does  not  merely
+       <STRONG>-C</STRONG>     Force source translation to termcap format.  Note: this  differs
+              from  the  <STRONG>-C</STRONG>  option  of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in that it does not merely
               translate capability names, but also translates terminfo strings
-              to termcap format.  Capabilities that are not  translatable  are
-              left  in  the entry under their terminfo names but commented out
-              with two preceding dots.  The actual  format  used  incorporates
-              some  improvements  for escaped characters from terminfo format.
+              to  termcap  format.  Capabilities that are not translatable are
+              left in the entry under their terminfo names but  commented  out
+              with  two  preceding  dots.  The actual format used incorporates
+              some improvements for escaped characters from  terminfo  format.
               For a stricter BSD-compatible translation, add the <STRONG>-K</STRONG> option.
 
-              If this is combined with <STRONG>-c</STRONG>,  <STRONG>tic</STRONG>  makes  additional  checks  to
-              report  cases  where  the  terminfo  values do not have an exact
+              If  this  is  combined  with  <STRONG>-c</STRONG>, <STRONG>tic</STRONG> makes additional checks to
+              report cases where the terminfo values  do  not  have  an  exact
               equivalent in termcap form.  For example:
 
-              <STRONG>o</STRONG>   <STRONG>sgr</STRONG> usually will not  convert,  because  termcap  lacks  the
-                  ability  to  work with more than two parameters, and because
-                  termcap lacks many of the arithmetic/logical operators  used
+              <STRONG>o</STRONG>   <STRONG>sgr</STRONG>  usually  will  not  convert,  because termcap lacks the
+                  ability to work with more than two parameters,  and  because
+                  termcap  lacks many of the arithmetic/logical operators used
                   in terminfo.
 
-              <STRONG>o</STRONG>   capabilities  with more than one delay or with delays before
+              <STRONG>o</STRONG>   capabilities with more than one delay or with delays  before
                   the end of the string will not convert completely.
 
-       <STRONG>-c</STRONG>     tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including syntax  prob-
-              lems  and  bad  use-links.   If  you  specify  <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this
-              option, the code will print warnings about entries which,  after
-              use  resolution, are more than 1023 (4096) bytes long.  Due to a
+       <STRONG>-c</STRONG>     tells  <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including syntax prob-
+              lems and bad use-links.   If  you  specify  <STRONG>-C</STRONG>  (<STRONG>-I</STRONG>)  with  this
+              option,  the code will print warnings about entries which, after
+              use resolution, are more than 1023 (4096) bytes long.  Due to  a
               fixed buffer length in older termcap libraries, as well as buggy
-              checking  for  the buffer length (and a documented limit in ter-
-              minfo), these entries may cause core dumps with other  implemen-
+              checking for the buffer length (and a documented limit  in  ter-
+              minfo),  these entries may cause core dumps with other implemen-
               tations.
 
               <STRONG>tic</STRONG> checks string capabilities to ensure that those with parame-
               predefined string capabilities; those which are defined with the
               <STRONG>-x</STRONG> option are ignored.
 
-       <STRONG>-D</STRONG>     tells <STRONG>tic</STRONG> to print the database locations that it  knows  about,
+       <STRONG>-D</STRONG>     tells  <STRONG>tic</STRONG>  to print the database locations that it knows about,
               and exit.  The first location shown is the one to which it would
-              write compiled terminal descriptions.  If <STRONG>tic</STRONG>  is  not  able  to
-              find  a writable database location according to the rules summa-
-              rized above, it will print a diagnostic and exit with  an  error
+              write  compiled  terminal  descriptions.   If <STRONG>tic</STRONG> is not able to
+              find a writable database location according to the rules  summa-
+              rized  above,  it will print a diagnostic and exit with an error
               rather than printing a list of database locations.
 
        <STRONG>-e</STRONG> <EM>names</EM>
-              Limit  writes  and translations to the following comma-separated
-              list of terminals.  If any name or alias of a  terminal  matches
-              one  of  the  names  in  the  list, the entry will be written or
+              Limit writes and translations to the  following  comma-separated
+              list  of  terminals.  If any name or alias of a terminal matches
+              one of the names in the list,  the  entry  will  be  written  or
               translated as normal.  Otherwise no output will be generated for
-              it.   The  option  value is interpreted as a file containing the
+              it.  The option value is interpreted as a  file  containing  the
               list if it contains a '/'.  (Note: depending on how tic was com-
               piled, this option may require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
 
-       <STRONG>-f</STRONG>     Display     complex     terminfo     strings    which    contain
+       <STRONG>-f</STRONG>     Display    complex    terminfo     strings     which     contain
               if/then/else/endif expressions indented for readability.
 
-       <STRONG>-G</STRONG>     Display constant literals in  decimal  form  rather  than  their
+       <STRONG>-G</STRONG>     Display  constant  literals  in  decimal  form rather than their
               character equivalents.
 
-       <STRONG>-g</STRONG>     Display  constant  character literals in quoted form rather than
+       <STRONG>-g</STRONG>     Display constant character literals in quoted form  rather  than
               their decimal equivalents.
 
        <STRONG>-I</STRONG>     Force source translation to terminfo format.
        <STRONG>-K</STRONG>     Suppress some longstanding ncurses extensions to termcap format,
               e.g., "\s" for space.
 
-       <STRONG>-L</STRONG>     Force  source  translation  to  terminfo format using the long C
+       <STRONG>-L</STRONG>     Force source translation to terminfo format  using  the  long  C
               variable names listed in &lt;<STRONG>term.h</STRONG>&gt;
 
        <STRONG>-N</STRONG>     Disable smart defaults.  Normally, when translating from termcap
-              to  terminfo,  the  compiler makes a number of assumptions about
-              the  defaults  of  string   capabilities   <STRONG>reset1_string</STRONG>,   <STRONG>car-</STRONG>
+              to terminfo, the compiler makes a number  of  assumptions  about
+              the   defaults   of   string  capabilities  <STRONG>reset1_string</STRONG>,  <STRONG>car-</STRONG>
               <STRONG>riage_return</STRONG>,  <STRONG>cursor_left</STRONG>,  <STRONG>cursor_down</STRONG>,  <STRONG>scroll_forward</STRONG>,  <STRONG>tab</STRONG>,
               <STRONG>newline</STRONG>, <STRONG>key_backspace</STRONG>, <STRONG>key_left</STRONG>, and <STRONG>key_down</STRONG>, then attempts to
-              use  obsolete termcap capabilities to deduce correct values.  It
+              use obsolete termcap capabilities to deduce correct values.   It
               also normally suppresses output of obsolete termcap capabilities
-              such  as <STRONG>bs</STRONG>.  This option forces a more literal translation that
+              such as <STRONG>bs</STRONG>.  This option forces a more literal translation  that
               also preserves the obsolete capabilities.
 
-       <STRONG>-o</STRONG><EM>dir</EM>  Write compiled entries to given  database  location.   Overrides
+       <STRONG>-o</STRONG><EM>dir</EM>  Write  compiled  entries  to given database location.  Overrides
               the TERMINFO environment variable.
 
-       <STRONG>-Q</STRONG><EM>n</EM>    Rather  than  show  source  in terminfo (text) format, print the
-              compiled (binary) format in hexadecimal or base64 form,  depend-
+       <STRONG>-Q</STRONG><EM>n</EM>    Rather than show source in terminfo  (text)  format,  print  the
+              compiled  (binary) format in hexadecimal or base64 form, depend-
               ing on the option's value:
 
                1  hexadecimal
               source.
 
        <STRONG>-R</STRONG><EM>subset</EM>
-              Restrict output to a given subset.  This option is for use  with
-              archaic  versions  of  terminfo  like  those on SVr1, Ultrix, or
-              HP/UX that do not support the full set of SVR4/XSI  Curses  ter-
-              minfo;  and  outright  broken ports like AIX 3.x that have their
-              own extensions incompatible with  SVr4/XSI.   Available  subsets
+              Restrict  output to a given subset.  This option is for use with
+              archaic versions of terminfo like  those  on  SVr1,  Ultrix,  or
+              HP/UX  that  do not support the full set of SVR4/XSI Curses ter-
+              minfo; and outright broken ports like AIX 3.x  that  have  their
+              own  extensions  incompatible  with SVr4/XSI.  Available subsets
               are "SVr1", "Ultrix", "HP", "BSD" and "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for
               details.
 
-       <STRONG>-r</STRONG>     Force entry resolution (so there are no remaining  tc  capabili-
-              ties)  even  when doing translation to termcap format.  This may
-              be needed if you are preparing a  termcap  file  for  a  termcap
-              library  (such as GNU termcap through version 1.3 or BSD termcap
-              through 4.3BSD) that does not handle  multiple  tc  capabilities
+       <STRONG>-r</STRONG>     Force  entry  resolution (so there are no remaining tc capabili-
+              ties) even when doing translation to termcap format.   This  may
+              be  needed  if  you  are  preparing a termcap file for a termcap
+              library (such as GNU termcap through version 1.3 or BSD  termcap
+              through  4.3BSD)  that  does not handle multiple tc capabilities
               per entry.
 
-       <STRONG>-s</STRONG>     Summarize  the  compile  by  showing  the database location into
-              which entries are written, and the number of entries  which  are
+       <STRONG>-s</STRONG>     Summarize the compile by  showing  the  database  location  into
+              which  entries  are written, and the number of entries which are
               compiled.
 
-       <STRONG>-T</STRONG>     eliminates  size-restrictions  on  the  generated text.  This is
-              mainly useful for  testing  and  analysis,  since  the  compiled
-              descriptions  are limited (e.g., 1023 for termcap, 4096 for ter-
+       <STRONG>-T</STRONG>     eliminates size-restrictions on the  generated  text.   This  is
+              mainly  useful  for  testing  and  analysis,  since the compiled
+              descriptions are limited (e.g., 1023 for termcap, 4096 for  ter-
               minfo).
 
-       <STRONG>-t</STRONG>     tells <STRONG>tic</STRONG> to discard commented-out capabilities.  Normally  when
-              translating  from  terminfo to termcap, untranslatable capabili-
+       <STRONG>-t</STRONG>     tells  <STRONG>tic</STRONG> to discard commented-out capabilities.  Normally when
+              translating from terminfo to termcap,  untranslatable  capabili-
               ties are commented-out.
 
-       <STRONG>-U</STRONG>   tells <STRONG>tic</STRONG> to not post-process the data after  parsing  the  source
+       <STRONG>-U</STRONG>   tells  <STRONG>tic</STRONG>  to  not post-process the data after parsing the source
             file.  Normally, it infers data which is commonly missing in older
             terminfo data, or in termcaps.
 
        <STRONG>-v</STRONG><EM>n</EM>  specifies that (verbose) output be written to standard error trace
             information showing <STRONG>tic</STRONG>'s progress.
 
-            The optional parameter <EM>n</EM> is a number  from  1  to  10,  inclusive,
+            The  optional  parameter  <EM>n</EM>  is  a number from 1 to 10, inclusive,
             indicating the desired level of detail of information.  If ncurses
-            is built  without  tracing  support,  the  optional  parameter  is
+            is  built  without  tracing  support,  the  optional  parameter is
             ignored.  If <EM>n</EM> is omitted, the default level is 1.  If <EM>n</EM> is speci-
             fied and greater than 1, the level of detail is increased.
 
 
             If the debug level <EM>n</EM> is not given, it is taken to be one.
 
-       <STRONG>-W</STRONG>   By itself, the <STRONG>-w</STRONG>  option  will  not  force  long  strings  to  be
+       <STRONG>-W</STRONG>   By  itself,  the  <STRONG>-w</STRONG>  option  will  not  force  long strings to be
             wrapped.  Use the <STRONG>-W</STRONG> option to do this.
 
-            If  you specify both <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options, the latter is ignored when
+            If you specify both <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options, the latter is ignored  when
             <STRONG>-f</STRONG> has already split the line.
 
        <STRONG>-w</STRONG><EM>n</EM>  specifies the width of the output.  The parameter is optional.  If
             it is omitted, it defaults to 60.
 
-       <STRONG>-x</STRONG>   Treat  unknown  capabilities  as  user-defined (see <STRONG>user_caps(5)</STRONG>).
+       <STRONG>-x</STRONG>   Treat unknown capabilities  as  user-defined  (see  <STRONG>user_caps(5)</STRONG>).
             That is, if you supply a capability name which <STRONG>tic</STRONG> does not recog-
-            nize,  it will infer its type (boolean, number or string) from the
-            syntax and make an extended table entry  for  that.   User-defined
+            nize, it will infer its type (boolean, number or string) from  the
+            syntax  and  make  an extended table entry for that.  User-defined
             capability strings whose name begins with "k" are treated as func-
             tion keys.
 
 
 </PRE><H3><a name="h3-PARAMETERS">PARAMETERS</a></H3><PRE>
-       <EM>file</EM>   contains one or more <STRONG>terminfo</STRONG> terminal  descriptions  in  source
-              format   [see   <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].   Each  description  in  the  file
+       <EM>file</EM>   contains  one  or  more <STRONG>terminfo</STRONG> terminal descriptions in source
+              format  [see  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].   Each  description  in   the   file
               describes the capabilities of a particular terminal.
 
-              If <EM>file</EM> is "-", then the data is read from the  standard  input.
+              If  <EM>file</EM>  is "-", then the data is read from the standard input.
               The <EM>file</EM> parameter may also be the path of a character-device.
 
 
 </PRE><H3><a name="h3-PROCESSING">PROCESSING</a></H3><PRE>
-       All  but  one  of  the capabilities recognized by <STRONG>tic</STRONG> are documented in
+       All but one of the capabilities recognized by  <STRONG>tic</STRONG>  are  documented  in
        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  The exception is the <STRONG>use</STRONG> capability.
 
        When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered in a terminal entry currently
-       being  compiled,  <STRONG>tic</STRONG>  reads  in the binary from <STRONG>/usr/share/terminfo</STRONG> to
-       complete the entry.  (Entries created from <EM>file</EM>  will  be  used  first.
-       <STRONG>tic</STRONG>  duplicates  the  capabilities in <EM>entry</EM>-<EM>name</EM> for the current entry,
+       being compiled, <STRONG>tic</STRONG> reads in the  binary  from  <STRONG>/usr/share/terminfo</STRONG>  to
+       complete  the  entry.   (Entries  created from <EM>file</EM> will be used first.
+       <STRONG>tic</STRONG> duplicates the capabilities in <EM>entry</EM>-<EM>name</EM> for  the  current  entry,
        with the exception of those capabilities that explicitly are defined in
        the current entry.
 
-       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,
-       any  canceled  capabilities  in  <EM>entry</EM>_<EM>name</EM>_<EM>2</EM>  must  also   appear   in
-       <STRONG>entry_name_1</STRONG>  before  <STRONG>use=</STRONG>  for  these  capabilities  to be canceled in
+       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,
+       any   canceled   capabilities  in  <EM>entry</EM>_<EM>name</EM>_<EM>2</EM>  must  also  appear  in
+       <STRONG>entry_name_1</STRONG> before <STRONG>use=</STRONG> for  these  capabilities  to  be  canceled  in
        <STRONG>entry_name_1</STRONG>.
 
        Total compiled entries cannot exceed 4096 bytes.  The name field cannot
-       exceed  512  bytes.   Terminal names exceeding the maximum alias length
+       exceed 512 bytes.  Terminal names exceeding the  maximum  alias  length
        (32 characters on systems with long filenames, 14 characters otherwise)
-       will  be  truncated  to  the maximum alias length and a warning message
+       will be truncated to the maximum alias length  and  a  warning  message
        will be printed.
 
 
 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
-       System V Release 2 provided  a  <STRONG>tic</STRONG>  utility.   It  accepted  a  single
-       option:  <STRONG>-v</STRONG>  (optionally  followed  by  a  number).   According to Ross
+       System  V  Release  2  provided  a  <STRONG>tic</STRONG>  utility.  It accepted a single
+       option: <STRONG>-v</STRONG> (optionally  followed  by  a  number).   According  to  Ross
        Ridge's comment in <EM>mytinfo</EM>, this version of <STRONG>tic</STRONG> was unable to represent
        cancelled capabilities.
 
-       System  V  Release 3 provided a different <STRONG>tic</STRONG> utility, written by Pavel
-       Curtis, (originally named "compile" in <EM>pcurses</EM>).  This added an  option
-       <STRONG>-c</STRONG>  to check the file for errors, with the caveat that errors in "use="
+       System V Release 3 provided a different <STRONG>tic</STRONG> utility, written  by  Pavel
+       Curtis,  (originally named "compile" in <EM>pcurses</EM>).  This added an option
+       <STRONG>-c</STRONG> to check the file for errors, with the caveat that errors in  "use="
        links would not be reported.  System V Release 3 documented a few warn-
        ing messages which did not appear in <EM>pcurses</EM>.  While the program itself
-       was changed little as development continued with System  V  Release  4,
+       was  changed  little  as development continued with System V Release 4,
        the table of capabilities grew from 180 (<EM>pcurses</EM>) to 464 (Solaris).
 
-       In  early  development of ncurses (1993), Zeyd Ben-Halim used the table
-       from <EM>mytinfo</EM> to extend the  <EM>pcurses</EM>  table  to  469  capabilities  (456
-       matched  SVr4, 8 were only in SVr4, 13 were not in SVr4).  Of those 13,
-       11 were ultimately discarded (perhaps to  match  the  draft  of  X/Open
-       Curses).   The exceptions were <STRONG>memory_lock_above</STRONG> and <STRONG>memory_unlock</STRONG> (see
+       In early development of ncurses (1993), Zeyd Ben-Halim used  the  table
+       from  <EM>mytinfo</EM>  to  extend  the  <EM>pcurses</EM>  table to 469 capabilities (456
+       matched SVr4, 8 were only in SVr4, 13 were not in SVr4).  Of those  13,
+       11  were  ultimately  discarded  (perhaps  to match the draft of X/Open
+       Curses).  The exceptions were <STRONG>memory_lock_above</STRONG> and <STRONG>memory_unlock</STRONG>  (see
        <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>).
 
-       Eric Raymond incorporated parts of <EM>mytinfo</EM> into  ncurses  to  implement
-       the  termcap-to-terminfo  source conversion, and extended that to begin
+       Eric  Raymond  incorporated  parts of <EM>mytinfo</EM> into ncurses to implement
+       the termcap-to-terminfo source conversion, and extended that  to  begin
        development of the corresponding terminfo-to-termcap source conversion,
-       Thomas  Dickey  completed  that  development over the course of several
+       Thomas Dickey completed that development over  the  course  of  several
        years.
 
-       In 1999, Thomas Dickey added the  <STRONG>-x</STRONG>  option  to  support  user-defined
+       In  1999,  Thomas  Dickey  added  the <STRONG>-x</STRONG> option to support user-defined
        capabilities.
 
-       In  2010,  Roy  Marples provided a <STRONG>tic</STRONG> program and terminfo library for
-       NetBSD.  This implementation  adapts  several  features  from  ncurses,
+       In 2010, Roy Marples provided a <STRONG>tic</STRONG> program and  terminfo  library  for
+       NetBSD.   That  implementation  adapts  several  features from ncurses,
        including <STRONG>tic</STRONG>'s <STRONG>-x</STRONG> option.
 
-       The  <STRONG>-c</STRONG>  option  tells <STRONG>tic</STRONG> to check for problems in the terminfo source
+       The <STRONG>-c</STRONG> option tells <STRONG>tic</STRONG> to check for problems in  the  terminfo  source
        file.  Continued development provides additional checks:
 
        <STRONG>o</STRONG>   <EM>pcurses</EM> had 8 warnings
 
        The checking done in ncurses' <STRONG>tic</STRONG> helps with the conversion to termcap,
        as well as pointing out errors and inconsistencies.  It is also used to
-       ensure consistency with the user-defined capabilities.  There  are  527
-       distinct  capabilities  in ncurses' terminal database; 128 of those are
+       ensure  consistency  with the user-defined capabilities.  There are 527
+       distinct capabilities in ncurses' terminal database; 128 of  those  are
        user-defined.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       X/Open Curses, Issue 7 (2009) provides a brief description of <STRONG>tic</STRONG>.   It
-       lists  one  option:  <STRONG>-c</STRONG>.  The omission of <STRONG>-v</STRONG> is unexpected.  The change
-       history states that  the  description  is  derived  from  True64  UNIX.
-       According  to  its  manual  pages,  that  system  also supported the <STRONG>-v</STRONG>
+       X/Open  Curses, Issue 7 (2009) provides a brief description of <STRONG>tic</STRONG>.  It
+       lists one option: <STRONG>-c</STRONG>.  The omission of <STRONG>-v</STRONG> is  unexpected.   The  change
+       history  states  that  the  description  is  derived  from True64 UNIX.
+       According to its manual  pages,  that  system  also  supported  the  <STRONG>-v</STRONG>
        option.
 
-       Shortly after Issue 7 was released,  Tru64  was  discontinued.   As  of
-       2019,  the  surviving  implementations  of <STRONG>tic</STRONG> are SVr4 (AIX, HP-UX and
-       Solaris), ncurses and NetBSD curses.
+       Shortly  after  Issue  7  was  released, Tru64 was discontinued.  As of
+       2019, the surviving implementations of <STRONG>tic</STRONG> are  SVr4  (AIX,  HP-UX  and
+       Solaris), ncurses and NetBSD curses.  The SVr4 <STRONG>tic</STRONG> programs all support
+       the <STRONG>-v</STRONG> option.  The NetBSD <STRONG>tic</STRONG> program follows X/Open's  documentation,
+       omitting the <STRONG>-v</STRONG> option.
 
-       The X/Open rationale states that some implementations of <STRONG>tic</STRONG> read  ter-
-       minal  descriptions  from  the  standard input if the <EM>file</EM> parameter is
-       omitted.  None of these implementations do that.  Further, it  comments
+       The  X/Open rationale states that some implementations of <STRONG>tic</STRONG> read ter-
+       minal descriptions from the standard input if  the  <EM>file</EM>  parameter  is
+       omitted.   None of these implementations do that.  Further, it comments
        that some may choose to read from "./terminfo.src" but that is obsoles-
-       cent behavior from SVr2, and is not (for example) a documented  feature
+       cent  behavior from SVr2, and is not (for example) a documented feature
        of SVr3.
 
 
 </PRE><H3><a name="h3-COMPATIBILITY">COMPATIBILITY</a></H3><PRE>
-       There  is  some  evidence  that  historic  <STRONG>tic</STRONG>  implementations treated
-       description fields with no whitespace in them as additional aliases  or
+       There is  some  evidence  that  historic  <STRONG>tic</STRONG>  implementations  treated
+       description  fields with no whitespace in them as additional aliases or
        short names.  This <STRONG>tic</STRONG> does not do that, but it does warn when descrip-
-       tion fields may be treated that way and check them for dangerous  char-
+       tion  fields may be treated that way and check them for dangerous char-
        acters.
 
 
 </PRE><H3><a name="h3-EXTENSIONS">EXTENSIONS</a></H3><PRE>
-       Unlike  the  SVr4 <STRONG>tic</STRONG> command, this implementation can actually compile
-       termcap sources.  In fact, entries in terminfo and termcap  syntax  can
-       be  mixed  in  a  single  source file.  See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for the list of
+       Unlike the SVr4 <STRONG>tic</STRONG> command, this implementation can  actually  compile
+       termcap  sources.   In fact, entries in terminfo and termcap syntax can
+       be mixed in a single source file.  See  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  for  the  list  of
        termcap names taken to be equivalent to terminfo names.
 
-       The SVr4 manual pages are not clear on the  resolution  rules  for  <STRONG>use</STRONG>
-       capabilities.   This  implementation  of <STRONG>tic</STRONG> will find <STRONG>use</STRONG> targets any-
-       where in the source file, or anywhere in the file tree rooted  at  <STRONG>TER-</STRONG>
-       <STRONG>MINFO</STRONG>  (if <STRONG>TERMINFO</STRONG> is defined), or in the user's <EM>$HOME/.terminfo</EM> data-
+       The  SVr4  manual  pages  are not clear on the resolution rules for <STRONG>use</STRONG>
+       capabilities.  This implementation of <STRONG>tic</STRONG> will find  <STRONG>use</STRONG>  targets  any-
+       where  in  the source file, or anywhere in the file tree rooted at <STRONG>TER-</STRONG>
+       <STRONG>MINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is defined), or in the user's <EM>$HOME/.terminfo</EM>  data-
        base (if it exists), or (finally) anywhere in the system's file tree of
        compiled entries.
 
-       The  error  messages  from this <STRONG>tic</STRONG> have the same format as GNU C error
+       The error messages from this <STRONG>tic</STRONG> have the same format as  GNU  C  error
        messages, and can be parsed by GNU Emacs's compile facility.
 
-       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>
-       and <STRONG>-x</STRONG> options are not supported under SVr4.  The SVr4 <STRONG>-c</STRONG> mode does not
-       report bad "use=" links.
+       Aside from <STRONG>-c</STRONG> and <STRONG>-v</STRONG>, options are not portable:
+
+       <STRONG>o</STRONG>   Most of tic's options are not supported by SVr4 <STRONG>tic</STRONG>:
+
+           <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>
+
+       <STRONG>o</STRONG>   The NetBSD <STRONG>tic</STRONG>  supports a few of the ncurses options
+
+           <STRONG>-a</STRONG> <STRONG>-o</STRONG> <STRONG>-x</STRONG>
+
+           and  adds  <STRONG>-S</STRONG>  (a feature which does the same thing as infocmp's <STRONG>-e</STRONG>
+           and <STRONG>-E</STRONG> options).
+
+       The SVr4 <STRONG>-c</STRONG> mode does not report bad "use=" links.
 
        System V does  not  compile  entries  to  or  read  entries  from  your
        <EM>$HOME/.terminfo</EM> database unless TERMINFO is explicitly set to it.
        <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>,
        <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
+<li><a href="#h3-ALIASES">ALIASES</a></li>
 <li><a href="#h3-OPTIONS">OPTIONS</a></li>
 <li><a href="#h3-PARAMETERS">PARAMETERS</a></li>
 <li><a href="#h3-PROCESSING">PROCESSING</a></li>
index 29d8ace11ce1b33eb6d56badafcfb5cd062ebf02..915216daf76ba0fb9d2b62329866af28f7c5e4c1 100644 (file)
        <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>
        <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
 
 
index 2651a8e5feff21ae2543ecdff4557644cd111347..365530807e5f002bd83e28eaa715f2357e89d4ab 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
 
 
index 2cb5a4b071e52807901944b2e003facfa73fc43d..f3d0983c6bd268efc6c369406e9f28640f24b62d 100644 (file)
        <STRONG>csh(1)</STRONG>,  <STRONG>sh(1)</STRONG>,  <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,   <STRONG>tty(4)</STRONG>,   <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
        <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190921).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191012).
 
 
 
index 8c5d77b860c1865870ffa2badce7949635b4350d..4fa155e40c85e75b8b64b2217e66f2e6b9ed9774 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998-2016,2018 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2018,2019 Free Software Foundation, Inc.              *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: captoinfo.1m,v 1.27 2018/07/28 21:34:06 tom Exp $
+.\" $Id: captoinfo.1m,v 1.29 2019/10/12 21:10:00 tom Exp $
 .TH @CAPTOINFO@ 1M ""
 .ds n 5
 .ds d @TERMINFO@
@@ -183,9 +183,15 @@ These will be discarded with a warning message.
 This utility is actually a link to \fB@TIC@\fR(1M), running in \fI\-I\fR mode.
 You can use other \fB@TIC@\fR options such as \fB\-f\fR and  \fB\-x\fR.
 .PP
-The trace option is not identical to SVr4's.
+The verbose option is not identical to SVr4's.
 Under SVr4, instead of following
 the \fB\-v\fR with a trace level n, you repeat it n times.
+.SH PORTABILITY
+X/Open Curses, Issue 7 (2009) describes \fBtic\fP briefly,
+but omits this program.
+SVr4 systems provide \fBcaptoinfo\fP as a separate application from \fBtic\fP.
+.PP
+NetBSD does not provide this application.
 .SH SEE ALSO
 \fB@INFOCMP@\fR(1M),
 \fBcurses\fR(3X),
index 67f21576a9f6e8c04f19b5b743686e6daf9620e5..2297e3132cd8052d070833774ab6f78adb0c49e3 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright (c) 1999-2016,2018 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1999-2018,2019 Free Software Foundation, Inc.              *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: infotocap.1m,v 1.13 2018/07/28 21:34:06 tom Exp $
+.\" $Id: infotocap.1m,v 1.15 2019/10/12 21:16:00 tom Exp $
 .TH @INFOTOCAP@ 1M ""
 .ds n 5
 .ds d @TERMINFO@
@@ -63,6 +63,8 @@ Compiled terminal description database.
 .SH NOTES
 This utility is actually a link to \fB@TIC@\fR, running in \fI\-C\fR mode.
 You can use other \fB@TIC@\fR options such as \fB\-f\fR and  \fB\-x\fR.
+.SH PORTABILITY
+None of X/Open Curses, Issue 7 (2009), SVr4 or NetBSD document this application.
 .SH SEE ALSO
 \fBcurses\fR(3X),
 \fB@TIC@\fR(1M),
index 07111e897daad3004ecdd06242b652e86d4344a0..9f634a4ad499a7c47fa9bb32f906bb69376facf2 100644 (file)
@@ -26,7 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: tic.1m,v 1.74 2019/07/20 17:57:09 tom Exp $
+.\" $Id: tic.1m,v 1.75 2019/10/12 20:56:38 tom Exp $
 .TH @TIC@ 1M ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -128,6 +128,14 @@ directories listed in the TERMINFO_DIRS environment variable,
 a compiled-in list of directories (@TERMINFO_DIRS@), and
 .bP
 the system terminfo database (\fI\*d\fR).
+.SS ALIASES
+.PP
+This is the same program as @INFOTOCAP@ and @CAPTOINFO@;
+usually those are linked to, or copied from this program:
+.bP
+When invoked as @INFOTOCAP@, @TIC@ sets the \fB\-I\fP option.
+.bP
+When invoked as @CAPTOINFO@, @TIC@ sets the \fB\-C\fP option.
 .SS OPTIONS
 .TP
 \fB\-0\fR
@@ -443,7 +451,7 @@ to support user-defined capabilities.
 .PP
 In 2010, Roy Marples provided a \fBtic\fP program
 and terminfo library for NetBSD.
-This implementation adapts several features from ncurses,
+That implementation adapts several features from ncurses,
 including \fB@TIC@\fP's \fB\-x\fP option.
 .PP
 The \fB\-c\fP option tells \fB@TIC@\fP to check for problems in the
@@ -478,6 +486,9 @@ As of 2019, the surviving implementations of \fBtic\fP
 are SVr4 (AIX, HP-UX and Solaris),
 ncurses
 and NetBSD curses.
+The SVr4 \fBtic\fP programs all support the \fB\-v\fP option.
+The NetBSD \fBtic\fP program follows X/Open's documentation,
+omitting the \fB\-v\fP option.
 .PP
 The X/Open rationale states that some implementations of \fBtic\fP
 read terminal descriptions from the standard input if the \fIfile\fP
@@ -514,27 +525,44 @@ compiled entries.
 The error messages from this \fB@TIC@\fR have the same format as GNU C
 error messages, and can be parsed by GNU Emacs's compile facility.
 .PP
-The
-\fB\-0\fR,
-\fB\-1\fR,
-\fB\-C\fR,
-\fB\-G\fR,
-\fB\-I\fR,
-\fB\-N\fR,
-\fB\-R\fR,
-\fB\-T\fR,
-\fB\-V\fR,
-\fB\-a\fR,
-\fB\-e\fR,
-\fB\-f\fR,
-\fB\-g\fR,
-\fB\-o\fR,
-\fB\-r\fR,
-\fB\-s\fR,
-\fB\-t\fR and
+Aside from \fB\-c\fP and \fB\-v\fP, options are not portable:
+.bP
+Most of @TIC@'s options 
+are not supported by SVr4 \fBtic\fP:
+.sp
+.RS
+\fB\-0\fR
+\fB\-1\fR
+\fB\-C\fR
+\fB\-G\fR
+\fB\-I\fR
+\fB\-N\fR
+\fB\-R\fR
+\fB\-T\fR
+\fB\-V\fR
+\fB\-a\fR
+\fB\-e\fR
+\fB\-f\fR
+\fB\-g\fR
+\fB\-o\fR
+\fB\-r\fR
+\fB\-s\fR
+\fB\-t\fR
 \fB\-x\fR
-options
-are not supported under SVr4.
+.RE
+.bP
+The NetBSD \fBtic\fP  supports a few of the ncurses options
+.sp
+.RS
+\fB\-a\fP
+\fB\-o\fP
+\fB\-x\fP
+.RE
+.IP
+and adds \fB\-S\fP
+(a feature which does the same thing
+as @INFOCMP@'s \fB\-e\fP and \fB\-E\fP options).
+.PP
 The SVr4 \fB\-c\fR mode does not report bad \*(``use=\*('' links.
 .PP
 System V does not compile entries to or read entries from your
index 6d975ea86492faa2cd2a8a679cc33d77d231e4e4..51a1a649533e740e3ddd61d5780c70ccfafe448f 100644 (file)
@@ -1,5 +1,5 @@
 #!@SHELL@
-# $Id: gen-pkgconfig.in,v 1.38 2019/10/05 22:25:47 tom Exp $
+# $Id: gen-pkgconfig.in,v 1.40 2019/10/12 22:27:10 tom Exp $
 ##############################################################################
 # Copyright (c) 2009-2018,2019 Free Software Foundation, Inc.                #
 #                                                                            #
@@ -77,13 +77,39 @@ if [ "$includedir" != "/usr/include" ]; then
        fi
 fi
 
-LDFLAGS=
-if [ "$libdir" != "/usr/lib" ]; then
-       LDFLAGS="$LDFLAGS -L\${libdir}"
-fi
-if [ "x@EXTRA_LDFLAGS@" != "x" ]; then
-       LDFLAGS="$LDFLAGS @EXTRA_LDFLAGS@"
-fi
+lib_flags=
+for opt in -L$libdir @LDFLAGS@ @EXTRA_LDFLAGS@ @LIBS@
+do
+       case $opt in
+       -l*) # LIBS is handled specially below
+               continue
+               ;;
+       -Wl,-z,*) # ignore flags used to manipulate shared image
+               continue
+               ;;
+       -L*)
+               [ -d ${opt##-L} ] || continue
+               case ${opt##-L} in
+               @LD_SEARCHPATH@) # skip standard libdir
+                       continue
+                       ;;
+               *)
+                       found=no
+                       for check in $lib_flags
+                       do
+                               if [ "x$check" = "x$opt" ]
+                               then
+                                       found=yes
+                                       break
+                               fi
+                       done
+                       [ $found = yes ] && continue
+                       ;;
+               esac
+               ;;
+       esac
+       lib_flags="$lib_flags $opt"
+done
 
 # Check if we should specify the tinfo library explicitly so that terminfo
 # functions or curses variables (which also reside in tinfo) can be linked
@@ -150,7 +176,7 @@ Description: $desc
 Version: \${version}
 URL: https://invisible-island.net/ncurses
 Requires.private: $reqs
-Libs: $LDFLAGS $LIBS
+Libs: $lib_flags $LIBS
 Libs.private: @LIBS@ $main_libs
 Cflags: $CFLAGS
 EOF
index e95227e3f3dc2d343723cbc990fa16ad7a061314..244e592c1cf8aceee7b6183e8782695c5a6d0a2d 100644 (file)
@@ -1,5 +1,5 @@
 #!@SHELL@
-# $Id: ncurses-config.in,v 1.40 2019/10/05 22:24:20 tom Exp $
+# $Id: ncurses-config.in,v 1.41 2019/10/12 21:25:17 tom Exp $
 ##############################################################################
 # Copyright (c) 2006-2018,2019 Free Software Foundation, Inc.                #
 #                                                                            #
@@ -103,6 +103,9 @@ lib_flags=
 for opt in -L$libdir @LDFLAGS@ @EXTRA_LDFLAGS@ $LIBS
 do
        case $opt in
+       -Wl,-z,*) # ignore flags used to manipulate shared image
+               continue
+               ;;
        -L*)
                [ -d ${opt##-L} ] || continue
                case ${opt##-L} in
index 21f165ca2e42bd0ac65d10f8016cb6cab5b4ab95..a62d38f9dc8da7c0fff6fdbfeda2a7af2ad9fa49 100644 (file)
@@ -44,7 +44,7 @@
 #include <tic.h>
 #include <hashsize.h>
 
-MODULE_ID("$Id: comp_hash.c,v 1.49 2019/03/10 00:06:48 tom Exp $")
+MODULE_ID("$Id: comp_hash.c,v 1.51 2019/10/12 16:32:13 tom Exp $")
 
 /*
  * Finds the entry for the given string in the hash table if present.
@@ -63,7 +63,9 @@ _nc_find_entry(const char *string,
 
     hashvalue = data->hash_of(string);
 
-    if (data->table_data[hashvalue] >= 0) {
+    if (hashvalue >= 0
+       && (unsigned) hashvalue < data->table_size
+       && data->table_data[hashvalue] >= 0) {
 
        real_table = _nc_get_table(termcap);
        ptr = real_table + data->table_data[hashvalue];
@@ -96,7 +98,9 @@ _nc_find_type_entry(const char *string,
     const HashData *data = _nc_get_hash_info(termcap);
     int hashvalue = data->hash_of(string);
 
-    if (data->table_data[hashvalue] >= 0) {
+    if (hashvalue >= 0
+       && (unsigned) hashvalue < data->table_size
+       && data->table_data[hashvalue] >= 0) {
        const struct name_table_entry *const table = _nc_get_table(termcap);
 
        ptr = table + data->table_data[hashvalue];
@@ -124,7 +128,9 @@ _nc_find_user_entry(const char *string)
 
     hashvalue = data->hash_of(string);
 
-    if (data->table_data[hashvalue] >= 0) {
+    if (hashvalue >= 0
+       && (unsigned) hashvalue < data->table_size
+       && data->table_data[hashvalue] >= 0) {
 
        real_table = _nc_get_userdefs_table();
        ptr = real_table + data->table_data[hashvalue];
index f8cca8b5747824f6a551c0b4d92a46b08757bf7c..064376c5e699a7f29f3c043cfb4025aabf0a458c 100644 (file)
@@ -47,7 +47,7 @@
 #include <ctype.h>
 #include <tic.h>
 
-MODULE_ID("$Id: parse_entry.c,v 1.97 2019/08/03 23:10:38 tom Exp $")
+MODULE_ID("$Id: parse_entry.c,v 1.98 2019/10/12 00:50:31 tom Exp $")
 
 #ifdef LINT
 static short const parametrized[] =
@@ -654,12 +654,12 @@ _nc_capcmp(const char *s, const char *t)
 }
 
 static void
-append_acs0(string_desc * dst, int code, int src)
+append_acs0(string_desc * dst, int code, char *src, size_t off)
 {
-    if (src != 0) {
+    if (src != 0 && off < strlen(src)) {
        char temp[3];
        temp[0] = (char) code;
-       temp[1] = (char) src;
+       temp[1] = src[off];
        temp[2] = 0;
        _nc_safe_strcat(dst, temp);
     }
@@ -669,7 +669,7 @@ static void
 append_acs(string_desc * dst, int code, char *src)
 {
     if (VALID_STRING(src) && strlen(src) == 1) {
-       append_acs0(dst, code, *src);
+       append_acs0(dst, code, src, 0);
     }
 }
 
@@ -1038,17 +1038,17 @@ postprocess_terminfo(TERMTYPE2 *tp)
        _nc_str_init(&result, buf2, sizeof(buf2));
        _nc_safe_strcat(&result, acs_chars);
 
-       append_acs0(&result, 'l', box_chars_1[0]);      /* ACS_ULCORNER */
-       append_acs0(&result, 'q', box_chars_1[1]);      /* ACS_HLINE */
-       append_acs0(&result, 'k', box_chars_1[2]);      /* ACS_URCORNER */
-       append_acs0(&result, 'x', box_chars_1[3]);      /* ACS_VLINE */
-       append_acs0(&result, 'j', box_chars_1[4]);      /* ACS_LRCORNER */
-       append_acs0(&result, 'm', box_chars_1[5]);      /* ACS_LLCORNER */
-       append_acs0(&result, 'w', box_chars_1[6]);      /* ACS_TTEE */
-       append_acs0(&result, 'u', box_chars_1[7]);      /* ACS_RTEE */
-       append_acs0(&result, 'v', box_chars_1[8]);      /* ACS_BTEE */
-       append_acs0(&result, 't', box_chars_1[9]);      /* ACS_LTEE */
-       append_acs0(&result, 'n', box_chars_1[10]);     /* ACS_PLUS */
+       append_acs0(&result, 'l', box_chars_1, 0);      /* ACS_ULCORNER */
+       append_acs0(&result, 'q', box_chars_1, 1);      /* ACS_HLINE */
+       append_acs0(&result, 'k', box_chars_1, 2);      /* ACS_URCORNER */
+       append_acs0(&result, 'x', box_chars_1, 3);      /* ACS_VLINE */
+       append_acs0(&result, 'j', box_chars_1, 4);      /* ACS_LRCORNER */
+       append_acs0(&result, 'm', box_chars_1, 5);      /* ACS_LLCORNER */
+       append_acs0(&result, 'w', box_chars_1, 6);      /* ACS_TTEE */
+       append_acs0(&result, 'u', box_chars_1, 7);      /* ACS_RTEE */
+       append_acs0(&result, 'v', box_chars_1, 8);      /* ACS_BTEE */
+       append_acs0(&result, 't', box_chars_1, 9);      /* ACS_LTEE */
+       append_acs0(&result, 'n', box_chars_1, 10);     /* ACS_PLUS */
 
        if (buf2[0]) {
            acs_chars = _nc_save_str(buf2);
index 0113008b733a7d2cc11da45b70757898b8da5175..b0454cb49b434843fb0a75bc64a7f17aef9028b6 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20191005) unstable; urgency=low
+ncurses6 (6.1+20191012) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 05 Oct 2019 10:44:23 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Fri, 11 Oct 2019 19:37:45 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 0113008b733a7d2cc11da45b70757898b8da5175..b0454cb49b434843fb0a75bc64a7f17aef9028b6 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20191005) unstable; urgency=low
+ncurses6 (6.1+20191012) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 05 Oct 2019 10:44:23 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Fri, 11 Oct 2019 19:37:45 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index bb15b864c86ec44c12579a4ec33c8de679c8cff2..e739b5dd508c045a88764327f6ebd6ad2de180bc 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20191005) unstable; urgency=low
+ncurses6 (6.1+20191012) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 05 Oct 2019 10:44:23 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Fri, 11 Oct 2019 19:37:45 -0400
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index ca9eae5fd40bd43806f90c11d7458f986fc97ae1..10a27990879bb81cf3c07ed069e69834f0ce0724 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.354 2019/10/05 14:44:23 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.355 2019/10/12 15:30:55 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "1"\r
 !define VERSION_YYYY  "2019"\r
-!define VERSION_MMDD  "1005"\r
+!define VERSION_MMDD  "1012"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index a666beff2c165de1b248ba68c5b0e7a92a6ae59a..41bd788fe02ccf41666643e5c0b97d286c3fa2ac 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.1
-Release: 20191005
+Release: 20191012
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index ed83905d6ea56513e8e0e2d1db8f9c7a66bc9ebc..478c66561b0037d59dd7becc5ea945c1613bf0cf 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.1
-Release: 20191005
+Release: 20191012
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 6c7b9a032ded9bb43fdff502d674c378dcda0587..1ada75f53bda37c0dac2d47d051d9fcce0813e44 100644 (file)
@@ -1,7 +1,7 @@
 Summary: Curses library with POSIX thread support.
 Name: ncursest6
 Version: 6.1
-Release: 20191005
+Release: 20191012
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index d0e420ecfb453c6410d2d1f67ebbd33a9a36f5a4..8a47084a28bf9ba91735578c45cf6ef8dfda955c 100644 (file)
@@ -39,7 +39,7 @@
 #include "termsort.c"          /* this C file is generated */
 #include <parametrized.h>      /* so is this */
 
-MODULE_ID("$Id: dump_entry.c,v 1.173 2019/05/11 21:02:24 tom Exp $")
+MODULE_ID("$Id: dump_entry.c,v 1.175 2019/10/12 15:59:07 tom Exp $")
 
 #define DISCARD(string) string = ABSENT_STRING
 #define PRINTF (void) printf
@@ -1136,7 +1136,8 @@ fmt_entry(TERMTYPE2 *tterm,
                                *d++ = '\\';
                                *d = ':';
                            } else if (*d == '\\') {
-                               *++d = *s++;
+                               if ((*++d = *s++) == '\0')
+                                   break;
                            }
                            d++;
                            *d = '\0';
@@ -1396,7 +1397,7 @@ one_one_mapping(const char *mapping)
 
     if (VALID_STRING(mapping)) {
        int n = 0;
-       while (mapping[n] != '\0') {
+       while (mapping[n] != '\0' && mapping[n + 1] != '\0') {
            if (isLine(mapping[n]) &&
                mapping[n] != mapping[n + 1]) {
                result = FALSE;