-</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 terminfo entries, rewrite a <STRONG>terminfo</STRONG> descrip-
- tion 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>
-<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 will depend on the type of the capability:
- <STRONG>F</STRONG> for boolean variables, <STRONG>-1</STRONG> for integer variables, and
- <STRONG>NULL</STRONG> for string variables.
-
- The <STRONG>-d</STRONG> 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 <STRONG>-c</STRONG> option produces a list of each capability that is
- common between two or more entries. Capabilities that are
- not set are ignored. This option can be used as a quick
- check to see if the <STRONG>-u</STRONG> option is worth using.
-
- The <STRONG>-n</STRONG> option produces a list of each capability that is
- in none of the given entries. If no <EM>termnames</EM> are given,
- the environment variable <STRONG>TERM</STRONG> will be used for both of the
- <EM>termnames</EM>. This can be used as a quick check to see if
- anything was left out of a description.
-
-
-</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 terminal named.
-
- <STRONG>-I</STRONG> use the <STRONG>terminfo</STRONG> names
- <STRONG>-L</STRONG> use the long C variable name listed in <<STRONG>term.h</STRONG>>
- <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 any-
- thing 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. infocmp trims away less essen-
- tial 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. Mandatory padding (padding informa-
- tion 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>terminfo</STRONG> capabilities will be translated;
- only those variables which were part of <STRONG>termcap</STRONG> will nor-
- mally 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 characters 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 capability, not all capabilities are output. Manda-
- tory padding is not supported. 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'%>%t%p1%'y'%+%;</STRONG> <STRONG>%>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 terminal <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 analyzing the dif-
- ferences 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 rel-
- ative 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 capabil-
- ity 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 terminfo compiler <STRONG>tic</STRONG> does a left-to-right scan
- of the capabilities, specifying two <STRONG>use=</STRONG> 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. <STRONG>infocmp</STRONG> will flag any such incon-
- sistencies 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 speci-
- fication to be ignored. Using <STRONG>infocmp</STRONG> to recreate a
- description can be a useful check to make sure that every-
- thing was specified correctly in the original source
+</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><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
+
+ <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 <<STRONG>term.h</STRONG>>
+ <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'%>%t%p1%'y'%+%;</STRONG> <STRONG>%>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