]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/infocmp.1m.html
ncurses 6.1 - patch 20180203
[ncurses.git] / doc / html / man / infocmp.1m.html
index 78c02edffefdd636cd4b2d81961fc2bf44b73482..caf4d0dfa22f3baaa94b31bf825e52af7b95d1ad 100644 (file)
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2017,2018 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            *
+  * "Software"), to deal in the Software without restriction, including      *
+  * without limitation the rights to use, copy, modify, merge, publish,      *
+  * distribute, distribute with modifications, sublicense, and/or sell       *
+  * copies of the Software, and to permit persons to whom the Software is    *
+  * furnished to do so, subject to the following conditions:                 *
+  *                                                                          *
+  * The above copyright notice and this permission notice shall be included  *
+  * in all copies or substantial portions of the Software.                   *
+  *                                                                          *
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+  *                                                                          *
+  * Except as contained in this notice, the name(s) of the above copyright   *
+  * holders shall not be used in advertising or otherwise to promote the     *
+  * sale, use or other dealings in this Software without prior written       *
+  * authorization.                                                           *
+  ****************************************************************************
+  * @Id: infocmp.1m,v 1.70 2018/01/23 10:10:17 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>infocmp 1m</TITLE>
+<link rev=made href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
 <BODY>
 <BODY>
+<H1 class="no-header">infocmp 1m</H1>
 <PRE>
 <PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
+<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>                                                        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
 
 
-</PRE>
-<H2>NAME</H2><PRE>
-       <B>infocmp</B> - compare or print out <I>terminfo</I> descriptions
 
 
 
 
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-       <B>infocmp</B> [<B>-dceEGgnpqrILCuV1</B>] [<B>-v</B> <I>n</I>] [<B>-s</B> <B>d</B>| <B>i</B>| <B>l</B>| <B>c</B>]
-             [<B>-w</B> <I>width</I>] [<B>-A</B> <I>directory</I>] [<B>-B</B> <I>directory</I>]
-             [<I>termname</I>...]
 
 
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>infocmp</STRONG> - compare or print out <EM>terminfo</EM> descriptions
 
 
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-       <B>infocmp</B>  can  be  used  to compare a binary <B>terminfo</B> entry
-       with other terminfo entries, rewrite a  <B>terminfo</B>  descrip-
-       tion  to  take  advantage  of  the <B>use=</B> terminfo field, or
-       print out a <B>terminfo</B>  description  from  the  binary  file
-       (<B>term</B>) in a variety of formats.  In all cases, the boolean
-       fields will be printed  first,  followed  by  the  numeric
-       fields, followed by the string fields.
-
-   <B>Default</B> <B>Options</B>
-       If  no options are specified and zero or one <I>termnames</I> are
-       specified, the <B>-I</B> option will be assumed.   If  more  than
-       one  <I>termname</I> is specified, the <B>-d</B> option will be assumed.
-
-   <B>Comparison</B> <B>Options</B> <B>[-d]</B> <B>[-c]</B> <B>[-n]</B>
-       <B>infocmp</B> compares the <B>terminfo</B>  description  of  the  first
-       terminal  <I>termname</I>  with each of the descriptions given by
-       the entries for the  other  terminal's  <I>termnames</I>.   If  a
-       capability  is  defined for only one of the terminals, the
-       value returned will depend on the type of the  capability:
-       <B>F</B>  for  boolean  variables,  <B>-1</B> for integer variables, and
-       <B>NULL</B> for string variables.
-
-       The <B>-d</B> option produces a list of each capability  that  is
-       different  between  two entries.  This option is useful to
-       show the difference between two entries, created  by  dif-
-       ferent people, for the same or similar terminals.
-
-       The  <B>-c</B>  option produces a list of each capability that is
-       common between two entries.  Capabilities that are not set
-       are  ignored.  This option can be used as a quick check to
-       see if the <B>-u</B> option is worth using.
-
-       The <B>-n</B> option produces a list of each capability  that  is
-       in neither entry.  If no <I>termnames</I> are given, the environ-
-       ment variable <B>TERM</B> will be used for both of the <I>termnames</I>.
-       This  can  be used as a quick check to see if anything was
-       left out of a description.
-
-   <B>Source</B> <B>Listing</B> <B>Options</B> <B>[-I]</B> <B>[-L]</B> <B>[-C]</B> <B>[-r]</B>
-       The <B>-I</B>, <B>-L</B>, and <B>-C</B> options will produce a  source  listing
-       for each terminal named.
-
-      <B>-I</B>   use the <B>terminfo</B> names
-      <B>-L</B>   use the long C variable name listed in &lt;<B>term.h</B>&gt;
-
-      <B>-C</B>   use the <B>termcap</B> names
-      <B>-r</B>   when using <B>-C</B>, put out all capabilities in <B>termcap</B> form
-
-       If  no  <I>termnames</I> are given, the environment variable <B>TERM</B>
-       will be used for the terminal name.
-
-       The source produced by the <B>-C</B> option may be used  directly
-       as  a <B>termcap</B> entry, but not all parameterized strings can
-       be changed to the <B>termcap</B> format.  <B>infocmp</B> will attempt to
-       convert  most  of  the parameterized information, and any-
-       thing not converted will be plainly marked in  the  output
-       and commented out.  These should be edited by hand.
-
-       All  padding  information  for  strings  will be collected
-       together and placed at the beginning of the  string  where
-       <B>termcap</B>  expects  it.  Mandatory padding (padding informa-
-       tion with a trailing '/') will become optional.
-
-       All <B>termcap</B> variables no longer supported by <B>terminfo</B>, but
-       which are derivable from other <B>terminfo</B> variables, will be
-       output.  Not all <B>terminfo</B> capabilities will be translated;
-       only  those variables which were part of <B>termcap</B> will nor-
-       mally be output.  Specifying the <B>-r</B> option will  take  off
-       this  restriction,  allowing all capabilities to be output
-       in <I>termcap</I> form.
-
-       Note that because padding is collected to the beginning of
-       the  capability,  not all capabilities are output.  Manda-
-       tory padding is not supported.   Because  <B>termcap</B>  strings
-       are  not as flexible, it is not always possible to convert
-       a <B>terminfo</B> string capability into  an  equivalent  <B>termcap</B>
-       format.   A subsequent conversion of the <B>termcap</B> file back
-       into <B>terminfo</B> format will not  necessarily  reproduce  the
-       original <B>terminfo</B> source.
-
-       Some  common  <B>terminfo</B>  parameter sequences, their <B>termcap</B>
-       equivalents, and some terminal types which  commonly  have
-       such sequences, are:
-
-     <B>terminfo</B>                    <B>termcap</B>   Representative Terminals
-     ---------------------------------------------------------------
-     <B>%p1%c</B>                       <B>%.</B>        adm
-     <B>%p1%d</B>                       <B>%d</B>        hp, ANSI standard, vt100
-     <B>%p1%'x'%+%c</B>                 <B>%+x</B>       concept
-     <B>%i</B>                          <B>%i</B>q       ANSI standard, vt100
-     <B>%p1%?%'x'%&gt;%t%p1%'y'%+%;</B>    <B>%&gt;xy</B>      concept
-     <B>%p2</B> is printed before <B>%p1</B>   <B>%r</B>        hp
-
-   <B>Use=</B> <B>Option</B> <B>[-u]</B>
-       The  <B>-u</B>  option  produces a <B>terminfo</B> source description of
-       the first terminal <I>termname</I> which is relative to  the  sum
-       of  the  descriptions  given  by the entries for the other
-       terminals <I>termnames</I>.  It does this by analyzing  the  dif-
-       ferences   between   the  first  <I>termname</I>  and  the  other
-       <I>termnames</I> and producing a description with <B>use=</B> fields for
-       the  other  terminals.   In this manner, it is possible to
-       retrofit  generic  terminfo  entries  into  a   terminal's
-       description.  Or, if two similar terminals exist, but were
-       coded at different times or by different  people  so  that
-       each description is a full description, using <B>infocmp</B> will
-       show what can be done to change one description to be rel-
-       ative to the other.
-
-       A capability will get printed with an at-sign (@) if it no
-       longer exists in the first <I>termname</I>, but one of the  other
-       <I>termname</I>  entries contains a value for it.  A capability's
-       value gets printed if the value in the first  <I>termname</I>  is
-       not  found in any of the other <I>termname</I> entries, or if the
-       first of the other <I>termname</I> entries that has this capabil-
-       ity  gives  a different value for the capability than that
-       in the first <I>termname</I>.
-
-       The order of the other <I>termname</I>  entries  is  significant.
-       Since  the terminfo compiler <B>tic</B> does a left-to-right scan
-       of the capabilities, specifying two <B>use=</B> entries that con-
-       tain differing entries for the same capabilities will pro-
-       duce different results depending on  the  order  that  the
-       entries  are  given in.  <B>infocmp</B> will flag any such incon-
-       sistencies between the other <I>termname</I> entries as they  are
-       found.
-
-       Alternatively,  specifying a capability <I>after</I> a <B>use=</B> entry
-       that contains that capability will cause the second speci-
-       fication  to  be  ignored.   Using  <B>infocmp</B>  to recreate a
-       description can be a useful check to make sure that every-
-       thing  was  specified  correctly  in  the  original source
-       description.
 
 
-       Another error  that  does  not  cause  incorrect  compiled
-       files,  but will slow down the compilation time, is speci-
-       fying extra <B>use=</B> fields  that  are  superfluous.   <B>infocmp</B>
-       will  flag  any  other  <I>termname</I> <I>use=</I> fields that were not
-       needed.
-
-   <B>Changing</B> <B>Databases</B> <B>[-A</B> <I>directory</I>] [-B <I>directory</I>]
-       The location of the compiled <B>terminfo</B>  database  is  taken
-       from  the environment variable <B>TERMINFO</B> .  If the variable
-       is not defined, or the terminal is not found in that loca-
-       tion, the system <B>terminfo</B> database, in <B>@DATADIR@/terminfo</B>,
-       will be used.  The options <B>-A</B> and <B>-B</B> may be used to  over-
-       ride  this  location.  The <B>-A</B> option will set <B>TERMINFO</B> for
-       the first <I>termname</I> and the <B>-B</B> option will set <B>TERMINFO</B> for
-       the other <I>termnames</I>.  With this, it is possible to compare
-       descriptions for a terminal with the same name located  in
-       two  different  databases.   This  is useful for comparing
-       descriptions for the same terminal  created  by  different
-       people.
-
-   <B>Other</B>  <B>Options</B>  <B>[-s</B> <B>d|i|l|c]</B> <B>[-1FTVefip]</B> <B>[-Rsubset]</B> <B>[-v</B> <I>n</I>] [-w
-       <I>width</I>]
-       The <B>-s</B> option sorts the fields within each type  according
-       to the argument below:
-
-       <B>d</B>    leave fields in the order that they are stored in the
-            <I>terminfo</I> database.
-
-       <B>i</B>    sort by <I>terminfo</I> name.
-
-       <B>l</B>    sort by the long C variable name.
-
-       <B>c</B>    sort by the <I>termcap</I> name.
-
-            If the <B>-s</B> option is not given, the fields printed out
-            will  be  sorted  alphabetically by the <B>terminfo</B> name
-            within each type, except in the case of the <B>-C</B> or the
-            <B>-L</B> options, which cause the sorting to be done by the
-            <B>termcap</B> name or the long  C  variable  name,  respec-
-            tively.
-
-       <B>-1</B>   causes  the  fields  to be printed out one to a line.
-            Otherwise, the fields will be printed  several  to  a
-            line to a maximum width of 60 characters.
-
-       <B>-F</B>   compare  terminfo  files.  This assumes that two fol-
-            lowing  arguments  are  filenames.   The  files   are
-            searched  for  pairwise matches between entries, with
-            two entries considered to match if any of their names
-            do.   The  report  printed  to  standard output lists
-            entries with  no  matches  in  the  other  file,  and
-            entries  with  more than one match.  For entries with
-            exactly one match it includes  a  difference  report.
-            Normally,  to  reduce  the  volume of the report, use
-            references are not resolved before looking  for  dif-
-            ferences, but resolution can be forced by also speci-
-            fying <B>-r</B>.
-
-       <B>-G</B>   Display constant literals in decimal form rather than
-            their character equivalents.
-
-       <B>-a</B>   tells  <B>infocmp</B>  to  retain commented-out capabilities
-            rather than discarding them.  Capabilities  are  com-
-            mented by prefixing them with a period.
-
-       <B>-q</B>   Make  the comparison listing shorter by omitting sub-
-            headings, and using "-" for absent capabilities,  "@"
-            for canceled rather than "NULL".
-
-       <B>-R</B><I>subset</I>
-            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  terminfo;  and  variants
-            such as AIX that have their own extensions incompati-
-            ble with SVr4/XSI.  Available  terminfo  subsets  are
-            "SVr1",  "Ultrix",  "HP",  and "AIX"; see <B><A HREF="terminfo.5.html">terminfo(5)</A></B>
-            for details.  You can also choose  the  subset  "BSD"
-            which  selects only capabilities with termcap equiva-
-            lents recognized by 4.4BSD.
-
-       <B>-T</B>   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 terminfo).
-
-       <B>-V</B>   prints out the version of the program in use on stan-
-            dard error and exits.
-
-       <B>-e</B>   Dump the capabilities of the given terminal  as  a  C
-            initializer  for  a  TERMTYPE structure (the terminal
-            capability structure in the <B>&lt;term.h&gt;</B>).   This  option
-            is  useful  for  preparing  versions  of  the  curses
-            library hardwired for a given terminal type.
-
-       <B>-E</B>   Dump  the  capabilities  of  the  given  terminal  as
-            tables,  needed  in  the C initializer for a TERMTYPE
-            structure (the terminal capability structure  in  the
-            <B>&lt;term.h&gt;</B>).   This option is useful for preparing ver-
-            sions of the curses library  hardwired  for  a  given
-            terminal  type.   The tables are all declared static,
-            and are named according to the type and the  name  of
-            the corresponding terminal entry.
-
-            Before  ncurses  5.0, the split between the <B>-e</B> and <B>-E</B>
-            options was not  needed;  but  support  for  extended
-            names required making the arrays of terminal capabil-
-            ities separate from the TERMTYPE structure.
-
-       <B>-f</B>   Display  complex  terminfo  strings   which   contain
-            if/then/else/endif expressions indented for readabil-
-            ity.
-
-       <B>-g</B>   Display constant character literals  in  quoted  form
-            rather than their decimal equivalents.
-
-       <B>-i</B>   Analyze the initialization (<B>is1</B>, <B>is2</B>, <B>is3</B>), and reset
-            (<B>rs1</B>, <B>rs2</B>, <B>rs3</B>), strings  in  the  entry.   For  each
-            string,  the code tries to analyze it into actions in
-            terms of the other capabilities in the entry, certain
-            X3.64/ISO  6429/ECMA-48 capabilities, and certain DEC
-            VT-series private modes (the set of  recognized  spe-
-            cial  sequences  has  been  selected for completeness
-            over the existing terminfo  database).   Each  report
-            line  consists  of the capability name, followed by a
-            colon and space, followed by a printable expansion of
-            the  capability  string with sections matching recog-
-            nized   actions    translated    into    {}-bracketed
-            descriptions.  Here is a list of the DEC/ANSI special
-            sequences recognized:
-
-                  Action        Meaning
-                  -----------------------------------------
-                  RIS           full reset
-                  SC            save cursor
-                  RC            restore cursor
-                  LL            home-down
-                  RSR           reset scroll region
-
-                  ISO DEC G0    enable DEC graphics for G0
-                  ISO UK G0     enable UK chars for G0
-                  ISO US G0     enable US chars for G0
-                  ISO DEC G1    enable DEC graphics for G1
-                  ISO UK G1     enable UK chars for G1
-                  ISO US G1     enable US chars for G1
-
-                  DECPAM        application keypad mode
-                  DECPNM        normal keypad mode
-                  DECANSI       enter ANSI mode
-
-                  DEC[+-]CKM    application cursor keys
-                  DEC[+-]ANM    set VT52 mode
-                  DEC[+-]COLM   132-column mode
-                  DEC[+-]SCLM   smooth scroll
-                  DEC[+-]SCNM   reverse video mode
-                  DEC[+-]OM     origin mode
-                  DEC[+-]AWM    wraparound mode
-                  DEC[+-]ARM    auto-repeat mode
-
-            It also recognizes  a  SGR  action  corresponding  to
-            ANSI/ISO  6429/ECMA  Set Graphics Rendition, with the
-            values NORMAL, BOLD, UNDERLINE, BLINK,  and  REVERSE.
-            All  but NORMAL may be prefixed with `+' (turn on) or
-            `-' (turn off).
-
-            An  SGR0  designates  an  empty  highlight   sequence
-            (equivalent to {SGR:NORMAL}).
-
-       <B>-p</B>   Ignore padding specifications when comparing strings.
-
-       <B>-v</B> <I>n</I> prints out tracing information on standard  error  as
-            the  program runs.  Higher values of n induce greater
-            verbosity.
-
-       <B>-w</B> <I>width</I>
-            changes the output to <I>width</I> characters.
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>infocmp</STRONG> [<STRONG>-1CDEFGIKLTUVWcdegilnpqrtux</STRONG>]
+             [<STRONG>-v</STRONG> <EM>n</EM>] [<STRONG>-s</STRONG> <STRONG>d</STRONG>| <STRONG>i</STRONG>| <STRONG>l</STRONG>| <STRONG>c</STRONG>] [<STRONG>-Q</STRONG> <EM>n</EM>] [<STRONG>-R</STRONG> <STRONG>subset</STRONG>]
+             [<STRONG>-w</STRONG> <EM>width</EM>] [<STRONG>-A</STRONG> <EM>directory</EM>] [<STRONG>-B</STRONG> <EM>directory</EM>]
+             [<EM>termname</EM>...]
 
 
 
 
-</PRE>
-<H2>FILES</H2><PRE>
-       @DATADIR@/terminfo  Compiled     terminal      description
-                           database.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>infocmp</STRONG>  can be used to compare a binary <STRONG>terminfo</STRONG> entry with other ter-
+       minfo entries, rewrite a <STRONG>terminfo</STRONG> description to take advantage of  the
+       <STRONG>use=</STRONG>  terminfo  field,  or  print  out  a <STRONG>terminfo</STRONG> description from the
+       binary file (<STRONG>term</STRONG>) in a variety of formats.  In all cases, the  boolean
+       fields  will be printed first, followed by the numeric fields, followed
+       by the string fields.
 
 
 
 
+</PRE><H3><a name="h3-Default-Options">Default Options</a></H3><PRE>
+       If no options are specified and zero or one  <EM>termnames</EM>  are  specified,
+       the <STRONG>-I</STRONG> option will be assumed.  If more than one <EM>termname</EM> is specified,
+       the <STRONG>-d</STRONG> option will be assumed.
 
 
-</PRE>
-<H2>EXTENSIONS</H2><PRE>
-       The  <B>-E</B>,  <B>-F</B>,  <B>-G</B>,  <B>-R</B>, <B>-T</B>, <B>-a</B>, <B>-e</B>, <B>-f</B>, <B>-g</B>, <B>-i</B>, <B>-p</B>, and <B>-q</B>
-       options are not supported in SVr4 curses.
 
 
-       The <B>-r</B> option's notion of `termcap' capabilities is System
-       V  Release  4's.   Actual  BSD curses versions will have a
-       more restricted set.  To see only the 4.4BSD set,  use  -r
-       -RBSD.
+</PRE><H3><a name="h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></H3><PRE>
+       <STRONG>infocmp</STRONG>  compares  the  <STRONG>terminfo</STRONG>  description  of  the  first  terminal
+       <EM>termname</EM>  with  each  of  the descriptions given by the entries for the
+       other terminal's <EM>termnames</EM>.  If a capability is defined for only one of
+       the  terminals,  the value returned depends on the type of the capabil-
+       ity:
 
 
+       <STRONG>o</STRONG>   <STRONG>F</STRONG> for missing boolean variables
 
 
-</PRE>
-<H2>BUGS</H2><PRE>
-       The -F option of <B><A HREF="infocmp.1m.html">infocmp(1m)</A></B> should be a <B><A HREF="toe.1m.html">toe(1m)</A></B> mode.
+       <STRONG>o</STRONG>   <STRONG>NULL</STRONG> for missing integer or string variables
 
 
+       Use the <STRONG>-q</STRONG> option to show the distinction between <EM>absent</EM> and  <EM>cancelled</EM>
+       capabilities.
+
+       These  options  produce a list which you can use to compare two or more
+       terminal descriptions:
+
+       <STRONG>-d</STRONG>   produces a list of each capability that is <EM>different</EM>  between  two
+            entries.   Each  item  in  the list shows ":" after the capability
+            name, followed by the capability values, separated by a comma.
+
+       <STRONG>-c</STRONG>   produces a list of each capability that is <EM>common</EM> between  two  or
+            more entries.  Missing capabilities are ignored.  Each item in the
+            list shows "=" after the capability name, followed by the capabil-
+            ity value.
+
+            The  <STRONG>-u</STRONG> option provides a related output, showing the first termi-
+            nal description rewritten to use the second as  a  building  block
+            via the "use=" clause.
+
+       <STRONG>-n</STRONG>   produces  a  list  of each capability that is in <EM>none</EM> of the given
+            entries.  Each item in the list shows "!"  before  the  capability
+            name.
+
+            Normally only the conventional capabilities are shown.  Use the <STRONG>-x</STRONG>
+            option to add the BSD-compatibility capabilities  (names  prefixed
+            with "OT").
+
+            If  no  <EM>termnames</EM> are given, <STRONG>infocmp</STRONG> uses the environment variable
+            <STRONG>TERM</STRONG> for each of the <EM>termnames</EM>.
+
+
+</PRE><H3><a name="h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE>
+       The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing for each  ter-
+       minal named.
+
+            <STRONG>-I</STRONG>   use the <STRONG>terminfo</STRONG> names
+            <STRONG>-L</STRONG>   use the long C variable name listed in &lt;<STRONG>term.h</STRONG>&gt;
+            <STRONG>-C</STRONG>   use the <STRONG>termcap</STRONG> names
+            <STRONG>-r</STRONG>   when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form
+            <STRONG>-K</STRONG>   modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility.
+
+       If  no  <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG> will be used
+       for the terminal name.
+
+       The source produced by the <STRONG>-C</STRONG> option may be used directly as a  <STRONG>termcap</STRONG>
+       entry,  but not all parameterized strings can be changed to the <STRONG>termcap</STRONG>
+       format.  <STRONG>infocmp</STRONG> will attempt to  convert  most  of  the  parameterized
+       information,  and  anything not converted will be plainly marked in the
+       output and commented out.  These should be edited by hand.
+
+       For best results when converting to <STRONG>termcap</STRONG> format, you should use both
+       <STRONG>-C</STRONG>  and  <STRONG>-r</STRONG>.   Normally a termcap description is limited to 1023 bytes.
+       <STRONG>infocmp</STRONG> trims away less essential parts to make it  fit.   If  you  are
+       converting to one of the (rare) termcap implementations which accept an
+       unlimited size of termcap, you may want to add  the  <STRONG>-T</STRONG>  option.   More
+       often  however,  you  must  help  the  termcap implementation, and trim
+       excess whitespace (use the <STRONG>-0</STRONG> option for that).
+
+       All padding information for strings  will  be  collected  together  and
+       placed at the beginning of the string where <STRONG>termcap</STRONG> expects it.  Manda-
+       tory padding (padding information with  a  trailing  "/")  will  become
+       optional.
+
+       All  <STRONG>termcap</STRONG>  variables  no longer supported by <STRONG>terminfo</STRONG>, but which are
+       derivable from other <STRONG>terminfo</STRONG> variables, will be output.  Not all  <STRONG>ter-</STRONG>
+       <STRONG>minfo</STRONG>  capabilities will be translated; only those variables which were
+       part of <STRONG>termcap</STRONG> will normally be output.  Specifying the <STRONG>-r</STRONG> option will
+       take  off  this  restriction, allowing all capabilities to be output in
+       <EM>termcap</EM> form.  Normally you would use both the <STRONG>-C</STRONG> and <STRONG>-r</STRONG> options.   The
+       actual  format  used incorporates some improvements for escaped charac-
+       ters from terminfo format.  For a stricter BSD-compatible  translation,
+       use the <STRONG>-K</STRONG> option rather than <STRONG>-C</STRONG>.
+
+       Note that because padding is collected to the beginning of the capabil-
+       ity, not all capabilities are output.  Mandatory padding  is  not  sup-
+       ported.   Because <STRONG>termcap</STRONG> strings are not as flexible, it is not always
+       possible to convert a <STRONG>terminfo</STRONG> string  capability  into  an  equivalent
+       <STRONG>termcap</STRONG>  format.  A subsequent conversion of the <STRONG>termcap</STRONG> file back into
+       <STRONG>terminfo</STRONG> format will not necessarily reproduce  the  original  <STRONG>terminfo</STRONG>
+       source.
+
+       Some  common  <STRONG>terminfo</STRONG>  parameter sequences, their <STRONG>termcap</STRONG> equivalents,
+       and some terminal types which commonly have such sequences, are:
+
+           <STRONG>terminfo</STRONG>                    <STRONG>termcap</STRONG>   Representative Terminals
+           ---------------------------------------------------------------
+           <STRONG>%p1%c</STRONG>                       <STRONG>%.</STRONG>        adm
+           <STRONG>%p1%d</STRONG>                       <STRONG>%d</STRONG>        hp, ANSI standard, vt100
+           <STRONG>%p1%'x'%+%c</STRONG>                 <STRONG>%+x</STRONG>       concept
+           <STRONG>%i</STRONG>                          <STRONG>%i</STRONG>q       ANSI standard, vt100
+           <STRONG>%p1%?%'x'%&gt;%t%p1%'y'%+%;</STRONG>    <STRONG>%&gt;xy</STRONG>      concept
+           <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG>   <STRONG>%r</STRONG>        hp
+
+
+</PRE><H3><a name="h3-Use_-Option-_-u_">Use= Option [-u]</a></H3><PRE>
+       The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of the first  ter-
+       minal  <EM>termname</EM>  which is relative to the sum of the descriptions given
+       by the entries for the other terminals <EM>termnames</EM>.  It does this by ana-
+       lyzing  the  differences  between  the  first  <EM>termname</EM>  and  the other
+       <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields  for  the  other
+       terminals.  In this manner, it is possible to retrofit generic terminfo
+       entries into a terminal's description.  Or, if  two  similar  terminals
+       exist, but were coded at different times or by different people so that
+       each description is a full description, using <STRONG>infocmp</STRONG>  will  show  what
+       can be done to change one description to be relative to the other.
+
+       A  capability  will  get  printed  with  an at-sign (@) if it no longer
+       exists in the first <EM>termname</EM>, but one of  the  other  <EM>termname</EM>  entries
+       contains  a  value  for  it.   A capability's value gets printed if the
+       value in the first <EM>termname</EM> is not found in any of the  other  <EM>termname</EM>
+       entries,  or  if  the first of the other <EM>termname</EM> entries that has this
+       capability gives a different value for the capability than that in  the
+       first <EM>termname</EM>.
+
+       The order of the other <EM>termname</EM> entries is significant.  Since the ter-
+       minfo compiler <STRONG>tic</STRONG> does a left-to-right scan of the capabilities, spec-
+       ifying  two  <STRONG>use=</STRONG>  entries  that contain differing entries for the same
+       capabilities will produce different results depending on the order that
+       the  entries  are given in.  <STRONG>infocmp</STRONG> will flag any such inconsistencies
+       between the other <EM>termname</EM> entries as they are found.
+
+       Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry that contains
+       that  capability  will  cause  the  second specification to be ignored.
+       Using <STRONG>infocmp</STRONG> to recreate a description can be a useful check  to  make
+       sure  that  everything  was  specified correctly in the original source
+       description.
 
 
-</PRE>
-<H2>SEE ALSO</H2><PRE>
-       <B><A HREF="infocmp.1m.html">infocmp(1m)</A></B>,    <B><A HREF="captoinfo.1m.html">captoinfo(1m)</A></B>,   <B><A HREF="infotocap.1m.html">infotocap(1m)</A></B>,   <B><A HREF="tic.1m.html">tic(1m)</A></B>,
-       <B><A HREF="toe.1m.html">toe(1m)</A></B>, <B><A HREF="ncurses.3x.html">curses(3x)</A></B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
+       Another error that does not cause incorrect compiled  files,  but  will
+       slow  down  the  compilation time, is specifying extra <STRONG>use=</STRONG> fields that
+       are superfluous.  <STRONG>infocmp</STRONG> will flag any other <EM>termname</EM> <EM>use=</EM> fields that
+       were not needed.
+
+   <STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>]
+       Like  other  <STRONG>ncurses</STRONG> utilities, <STRONG>infocmp</STRONG> looks for the terminal descrip-
+       tions in several places.  You can use the  <STRONG>TERMINFO</STRONG>  and  <STRONG>TERMINFO_DIRS</STRONG>
+       environment  variables  to  override  the  compiled-in  default list of
+       places to search (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
+
+       You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list  of  places
+       to search when comparing terminal descriptions:
+
+       <STRONG>o</STRONG>   The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM>
+
+       <STRONG>o</STRONG>   The <STRONG>-B</STRONG> option sets the location for the other <EM>termnames</EM>.
+
+       Using  these options, it is possible to compare descriptions for a ter-
+       minal with the same name  located  in  two  different  databases.   For
+       instance,  you  can use this feature for comparing descriptions for the
+       same terminal created by different people.
+
+
+</PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE>
+       <STRONG>-0</STRONG>   causes the fields to be printed on one line, without wrapping.
+
+       <STRONG>-1</STRONG>   causes the fields to be printed out one to a line.  Otherwise, the
+            fields  will be printed several to a line to a maximum width of 60
+            characters.
+
+       <STRONG>-a</STRONG>   tells <STRONG>infocmp</STRONG> to retain  commented-out  capabilities  rather  than
+            discarding  them.   Capabilities  are  commented by prefixing them
+            with a period.
+
+       <STRONG>-D</STRONG>   tells <STRONG>infocmp</STRONG> to print the database locations that it knows about,
+            and exit.
+
+       <STRONG>-E</STRONG>   Dump  the  capabilities of the given terminal as tables, needed in
+            the C initializer for a TERMTYPE structure (the terminal  capabil-
+            ity structure in the <STRONG>&lt;term.h&gt;</STRONG>).  This option is useful for prepar-
+            ing versions of the curses library hardwired for a given  terminal
+            type.  The tables are all declared static, and are named according
+            to the type and the name of the corresponding terminal entry.
+
+            Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and  <STRONG>-E</STRONG>  options  was
+            not  needed;  but  support  for extended names required making the
+            arrays of terminal capabilities separate from the TERMTYPE  struc-
+            ture.
+
+       <STRONG>-e</STRONG>   Dump the capabilities of the given terminal as a C initializer for
+            a TERMTYPE structure (the terminal  capability  structure  in  the
+            <STRONG>&lt;term.h&gt;</STRONG>).   This  option  is useful for preparing versions of the
+            curses library hardwired for a given terminal type.
+
+       <STRONG>-F</STRONG>   compare terminfo files.  This assumes that two following arguments
+            are  filenames.   The  files  are  searched  for  pairwise matches
+            between entries, with two entries considered to match  if  any  of
+            their  names  do.   The  report  printed  to standard output lists
+            entries with no matches in the other file, and entries  with  more
+            than  one match.  For entries with exactly one match it includes a
+            difference report.  Normally, to reduce the volume of the  report,
+            use  references  are  not resolved before looking for differences,
+            but resolution can be forced by also specifying <STRONG>-r</STRONG>.
+
+       <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 char-
+            acter equivalents.
+
+       <STRONG>-g</STRONG>   Display constant character literals in  quoted  form  rather  than
+            their decimal equivalents.
+
+       <STRONG>-i</STRONG>   Analyze  the  initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>,
+            <STRONG>rs3</STRONG>), strings in the entry, as  well  as  those  used  for  start-
+            ing/stopping  cursor-positioning  mode  (<STRONG>smcup</STRONG>,  <STRONG>rmcup</STRONG>) as well as
+            starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
+
+            For each string, the code tries to  analyze  it  into  actions  in
+            terms  of  the  other capabilities in the entry, certain X3.64/ISO
+            6429/ECMA-48 capabilities, and certain DEC VT-series private modes
+            (the  set  of  recognized  special sequences has been selected for
+            completeness over the existing terminfo  database).   Each  report
+            line  consists  of  the  capability  name, followed by a colon and
+            space, followed by a printable expansion of the capability  string
+            with   sections   matching   recognized  actions  translated  into
+            {}-bracketed descriptions.
+
+            Here is a list of the DEC/ANSI special sequences recognized:
+
+                         Action        Meaning
+                         -----------------------------------------
+                         RIS           full reset
+                         SC            save cursor
+                         RC            restore cursor
+                         LL            home-down
+                         RSR           reset scroll region
+                         -----------------------------------------
+                         DECSTR        soft reset (VT320)
+                         S7C1T         7-bit controls (VT220)
+                         -----------------------------------------
+
+                         ISO DEC G0    enable DEC graphics for G0
+                         ISO UK G0     enable UK chars for G0
+                         ISO US G0     enable US chars for G0
+                         ISO DEC G1    enable DEC graphics for G1
+                         ISO UK G1     enable UK chars for G1
+                         ISO US G1     enable US chars for G1
+                         -----------------------------------------
+                         DECPAM        application keypad mode
+                         DECPNM        normal keypad mode
+                         DECANSI       enter ANSI mode
+                         -----------------------------------------
+                         ECMA[+-]AM    keyboard action mode
+                         ECMA[+-]IRM   insert replace mode
+                         ECMA[+-]SRM   send receive mode
+                         ECMA[+-]LNM   linefeed mode
+                         -----------------------------------------
+                         DEC[+-]CKM    application cursor keys
+                         DEC[+-]ANM    set VT52 mode
+                         DEC[+-]COLM   132-column mode
+                         DEC[+-]SCLM   smooth scroll
+                         DEC[+-]SCNM   reverse video mode
+                         DEC[+-]OM     origin mode
+                         DEC[+-]AWM    wraparound mode
+                         DEC[+-]ARM    auto-repeat mode
+
+            It  also  recognizes  a  SGR  action  corresponding  to   ANSI/ISO
+            6429/ECMA  Set  Graphics  Rendition, with the values NORMAL, BOLD,
+            UNDERLINE, BLINK, and REVERSE.  All but  NORMAL  may  be  prefixed
+            with
+
+            <STRONG>o</STRONG>   "+" (turn on) or
+
+            <STRONG>o</STRONG>   "-" (turn off).
+
+            An  SGR0  designates  an  empty  highlight sequence (equivalent to
+            {SGR:NORMAL}).
+
+       <STRONG>-l</STRONG>   Set output format to terminfo.
+
+       <STRONG>-p</STRONG>   Ignore padding specifications when comparing strings.
+
+       <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in terminfo (text) format, print the  com-
+            piled  (binary) format in hexadecimal or base64 form, depending on
+            the option's value:
+
+               1  hexadecimal
+
+               2  base64
+
+               3  hexadecimal and base64
+
+            For example, this prints the compiled terminfo value as  a  string
+            which could be assigned to the <STRONG>TERMINFO</STRONG> environment variable:
+
+                infocmp -0 -q -Q2
+
+       <STRONG>-q</STRONG>   This makes the output a little shorter:
 
 
+            <STRONG>o</STRONG>   Make  the  comparison listing shorter by omitting subheadings,
+                and using "-" for absent capabilities, "@" for canceled rather
+                than "NULL".
 
 
-</PRE>
-<H2>AUTHOR</H2><PRE>
-       Eric S.  Raymond  &lt;esr@snark.thyrsus.com&gt;  and  Thomas  E.
-       Dickey &lt;dickey@herndon4.his.com&gt;
+            <STRONG>o</STRONG>   However,  show  differences between absent and cancelled capa-
+                bilities.
+
+            <STRONG>o</STRONG>   Omit the "Reconstructed from" comment for source listings.
+
+       <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 terminfo;  and
+            variants  such  as AIX that have their own extensions incompatible
+            with SVr4/XSI.
 
 
+            <STRONG>o</STRONG>   Available terminfo subsets are  "SVr1",  "Ultrix",  "HP",  and
+                "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
 
 
+            <STRONG>o</STRONG>   You  can also choose the subset "BSD" which selects only capa-
+                bilities with termcap equivalents recognized by  4.4BSD.   The
+                <STRONG>-C</STRONG> option sets the "BSD" subset as a side-effect.
 
 
+            <STRONG>o</STRONG>   If  you  select  any  other value for <STRONG>-R</STRONG>, it is the same as no
+                subset, i.e., all capabilities are used.  The <STRONG>-I</STRONG> option  like-
+                wise selects no subset as a side-effect.
 
 
+       <STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
+            The  <STRONG>-s</STRONG>  option sorts the fields within each type according to the
+            argument below:
 
 
+            <STRONG>d</STRONG>    leave fields in the order that they are stored  in  the  <EM>ter-</EM>
+                 <EM>minfo</EM> database.
 
 
+            <STRONG>i</STRONG>    sort by <EM>terminfo</EM> name.
 
 
+            <STRONG>l</STRONG>    sort by the long C variable name.
 
 
+            <STRONG>c</STRONG>    sort by the <EM>termcap</EM> name.
 
 
+            If  the  <STRONG>-s</STRONG>  option  is  not given, the fields printed out will be
+            sorted alphabetically by  the  <STRONG>terminfo</STRONG>  name  within  each  type,
+            except  in  the  case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options, which cause the
+            sorting to be done by the <STRONG>termcap</STRONG> name  or  the  long  C  variable
+            name, respectively.
 
 
+       <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 capabilities
+            are commented-out.
 
 
+       <STRONG>-U</STRONG>   tells <STRONG>infocmp</STRONG> to not  post-process  the  data  after  parsing  the
+            source  file.   This  feature helps when comparing the actual con-
+            tents of two source files, since it excludes the  inferences  that
+            <STRONG>infocmp</STRONG> makes to fill in missing data.
 
 
+       <STRONG>-V</STRONG>   reports the version of ncurses which was used in this program, and
+            exits.
 
 
+       <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error  as  the  program
+            runs.
 
 
+            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
+            ignored.
 
 
+       <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.
 
 
+       <STRONG>-w</STRONG> <EM>width</EM>
+            changes the output to <EM>width</EM> characters.
 
 
+       <STRONG>-x</STRONG>   print information for user-defined capabilities.  These are exten-
+            sions to the terminfo repertoire which can be loaded using the  <STRONG>-x</STRONG>
+            option of <STRONG>tic</STRONG>.
 
 
 
 
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       /usr/share/terminfo Compiled terminal description database.
 
 
 
 
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       The  <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-Q</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG>
+       and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
 
 
+       SVr4 infocmp does not distinguish between absent and cancelled capabil-
+       ities.  Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the internal
+       value used to represent missing integers).  This  implementation  shows
+       those as "NULL", for consistency with missing strings.
 
 
+       The  <STRONG>-r</STRONG>  option's  notion of "termcap" capabilities is System V Release
+       4's.  Actual BSD curses versions will have a more restricted  set.   To
+       see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>.
 
 
 
 
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+       The <STRONG>-F</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> should be a <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> mode.
 
 
 
 
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,   <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,  <STRONG><A HREF="toe.1m.html">toe(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>.
 
 
+       https://invisible-island.net/ncurses/tctest.html
 
 
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180203).
 
 
 
 
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+       Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
+       Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
 
 
 
 
 
 
+                                                                   <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
 </PRE>
 </PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Default-Options">Default Options</a></li>
+<li><a href="#h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></li>
+<li><a href="#h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li>
+<li><a href="#h3-Use_-Option-_-u_">Use= Option [-u]</a></li>
+<li><a href="#h3-Other-Options">Other Options</a></li>
+</ul>
+</li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-BUGS">BUGS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
 </BODY>
 </HTML>
 </BODY>
 </HTML>