]> ncurses.scripts.mit.edu Git - ncurses.git/blob - doc/html/man/infocmp.1m.html
a079ff3661f9d6858f6d9ca0662934b4b650aea5
[ncurses.git] / doc / html / man / infocmp.1m.html
1 <!-- 
2   * t
3   ****************************************************************************
4   * Copyright 2018-2019,2020 Thomas E. Dickey                                *
5   * Copyright 1998-2017,2018 Free Software Foundation, Inc.                  *
6   *                                                                          *
7   * Permission is hereby granted, free of charge, to any person obtaining a  *
8   * copy of this software and associated documentation files (the            *
9   * "Software"), to deal in the Software without restriction, including      *
10   * without limitation the rights to use, copy, modify, merge, publish,      *
11   * distribute, distribute with modifications, sublicense, and/or sell       *
12   * copies of the Software, and to permit persons to whom the Software is    *
13   * furnished to do so, subject to the following conditions:                 *
14   *                                                                          *
15   * The above copyright notice and this permission notice shall be included  *
16   * in all copies or substantial portions of the Software.                   *
17   *                                                                          *
18   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
19   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
20   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
21   * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
22   * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
23   * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
24   * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
25   *                                                                          *
26   * Except as contained in this notice, the name(s) of the above copyright   *
27   * holders shall not be used in advertising or otherwise to promote the     *
28   * sale, use or other dealings in this Software without prior written       *
29   * authorization.                                                           *
30   ****************************************************************************
31   * @Id: infocmp.1m,v 1.76 2020/02/02 23:34:34 tom Exp @
32 -->
33 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
34 <HTML>
35 <HEAD>
36 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
37 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
38 <TITLE>infocmp 1m</TITLE>
39 <link rel="author" href="mailto:bug-ncurses@gnu.org">
40 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
41 </HEAD>
42 <BODY>
43 <H1 class="no-header">infocmp 1m</H1>
44 <PRE>
45 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>                                                        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
46
47
48
49
50 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
51        <STRONG>infocmp</STRONG> - compare or print out <EM>terminfo</EM> descriptions
52
53
54 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
55        <STRONG>infocmp</STRONG> [<STRONG>-1CDEFGIKLTUVWcdegilnpqrtux</STRONG>]
56              [<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>]
57              [<STRONG>-w</STRONG> <EM>width</EM>] [<STRONG>-A</STRONG> <EM>directory</EM>] [<STRONG>-B</STRONG> <EM>directory</EM>]
58              [<EM>termname</EM>...]
59
60
61 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
62        <STRONG>infocmp</STRONG>  can be used to compare a binary <STRONG>terminfo</STRONG> entry with other ter-
63        minfo entries, rewrite a <STRONG>terminfo</STRONG> description to take advantage of  the
64        <STRONG>use=</STRONG>  terminfo  field,  or  print  out  a <STRONG>terminfo</STRONG> description from the
65        binary file (<STRONG>term</STRONG>) in a variety of formats.  In all cases, the  boolean
66        fields  will be printed first, followed by the numeric fields, followed
67        by the string fields.
68
69
70 </PRE><H3><a name="h3-Default-Options">Default Options</a></H3><PRE>
71        If no options are specified and zero or one  <EM>termnames</EM>  are  specified,
72        the <STRONG>-I</STRONG> option will be assumed.  If more than one <EM>termname</EM> is specified,
73        the <STRONG>-d</STRONG> option will be assumed.
74
75
76 </PRE><H3><a name="h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></H3><PRE>
77        <STRONG>infocmp</STRONG>  compares  the  <STRONG>terminfo</STRONG>  description  of  the  first  terminal
78        <EM>termname</EM>  with  each  of  the descriptions given by the entries for the
79        other terminal's <EM>termnames</EM>.  If a capability is defined for only one of
80        the  terminals,  the value returned depends on the type of the capabil-
81        ity:
82
83        <STRONG>o</STRONG>   <STRONG>F</STRONG> for missing boolean variables
84
85        <STRONG>o</STRONG>   <STRONG>NULL</STRONG> for missing integer or string variables
86
87        Use the <STRONG>-q</STRONG> option to show the distinction between <EM>absent</EM> and  <EM>cancelled</EM>
88        capabilities.
89
90        These  options  produce a list which you can use to compare two or more
91        terminal descriptions:
92
93        <STRONG>-d</STRONG>   produces a list of each capability that is <EM>different</EM>  between  two
94             entries.   Each  item  in  the list shows ":" after the capability
95             name, followed by the capability values, separated by a comma.
96
97        <STRONG>-c</STRONG>   produces a list of each capability that is <EM>common</EM> between  two  or
98             more entries.  Missing capabilities are ignored.  Each item in the
99             list shows "=" after the capability name, followed by the capabil-
100             ity value.
101
102             The  <STRONG>-u</STRONG> option provides a related output, showing the first termi-
103             nal description rewritten to use the second as  a  building  block
104             via the "use=" clause.
105
106        <STRONG>-n</STRONG>   produces  a  list  of each capability that is in <EM>none</EM> of the given
107             entries.  Each item in the list shows "!"  before  the  capability
108             name.
109
110             Normally only the conventional capabilities are shown.  Use the <STRONG>-x</STRONG>
111             option to add the BSD-compatibility capabilities  (names  prefixed
112             with "OT").
113
114             If  no  <EM>termnames</EM> are given, <STRONG>infocmp</STRONG> uses the environment variable
115             <STRONG>TERM</STRONG> for each of the <EM>termnames</EM>.
116
117
118 </PRE><H3><a name="h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE>
119        The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing for each  ter-
120        minal named.
121
122             <STRONG>-I</STRONG>   use the <STRONG>terminfo</STRONG> names
123             <STRONG>-L</STRONG>   use the long C variable name listed in &lt;<STRONG>term.h</STRONG>&gt;
124             <STRONG>-C</STRONG>   use the <STRONG>termcap</STRONG> names
125             <STRONG>-r</STRONG>   when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form
126             <STRONG>-K</STRONG>   modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility.
127
128        If  no  <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG> will be used
129        for the terminal name.
130
131        The source produced by the <STRONG>-C</STRONG> option may be used directly as a  <STRONG>termcap</STRONG>
132        entry,  but not all parameterized strings can be changed to the <STRONG>termcap</STRONG>
133        format.  <STRONG>infocmp</STRONG> will attempt to  convert  most  of  the  parameterized
134        information,  and  anything not converted will be plainly marked in the
135        output and commented out.  These should be edited by hand.
136
137        For best results when converting to <STRONG>termcap</STRONG> format, you should use both
138        <STRONG>-C</STRONG>  and  <STRONG>-r</STRONG>.   Normally a termcap description is limited to 1023 bytes.
139        <STRONG>infocmp</STRONG> trims away less essential parts to make it  fit.   If  you  are
140        converting to one of the (rare) termcap implementations which accept an
141        unlimited size of termcap, you may want to add  the  <STRONG>-T</STRONG>  option.   More
142        often  however,  you  must  help  the  termcap implementation, and trim
143        excess whitespace (use the <STRONG>-0</STRONG> option for that).
144
145        All padding information for strings  will  be  collected  together  and
146        placed at the beginning of the string where <STRONG>termcap</STRONG> expects it.  Manda-
147        tory padding (padding information with  a  trailing  "/")  will  become
148        optional.
149
150        All  <STRONG>termcap</STRONG>  variables  no longer supported by <STRONG>terminfo</STRONG>, but which are
151        derivable from other <STRONG>terminfo</STRONG> variables, will be output.  Not all  <STRONG>ter-</STRONG>
152        <STRONG>minfo</STRONG>  capabilities will be translated; only those variables which were
153        part of <STRONG>termcap</STRONG> will normally be output.  Specifying the <STRONG>-r</STRONG> option will
154        take  off  this  restriction, allowing all capabilities to be output in
155        <EM>termcap</EM> form.  Normally you would use both the <STRONG>-C</STRONG> and <STRONG>-r</STRONG> options.   The
156        actual  format  used incorporates some improvements for escaped charac-
157        ters from terminfo format.  For a stricter BSD-compatible  translation,
158        use the <STRONG>-K</STRONG> option rather than <STRONG>-C</STRONG>.
159
160        Note that because padding is collected to the beginning of the capabil-
161        ity, not all capabilities are output.  Mandatory padding  is  not  sup-
162        ported.   Because <STRONG>termcap</STRONG> strings are not as flexible, it is not always
163        possible to convert a <STRONG>terminfo</STRONG> string  capability  into  an  equivalent
164        <STRONG>termcap</STRONG>  format.  A subsequent conversion of the <STRONG>termcap</STRONG> file back into
165        <STRONG>terminfo</STRONG> format will not necessarily reproduce  the  original  <STRONG>terminfo</STRONG>
166        source.
167
168        Some  common  <STRONG>terminfo</STRONG>  parameter sequences, their <STRONG>termcap</STRONG> equivalents,
169        and some terminal types which commonly have such sequences, are:
170
171            <STRONG>terminfo</STRONG>                    <STRONG>termcap</STRONG>   Representative Terminals
172            ---------------------------------------------------------------
173            <STRONG>%p1%c</STRONG>                       <STRONG>%.</STRONG>        adm
174            <STRONG>%p1%d</STRONG>                       <STRONG>%d</STRONG>        hp, ANSI standard, vt100
175            <STRONG>%p1%'x'%+%c</STRONG>                 <STRONG>%+x</STRONG>       concept
176            <STRONG>%i</STRONG>                          <STRONG>%i</STRONG>q       ANSI standard, vt100
177            <STRONG>%p1%?%'x'%&gt;%t%p1%'y'%+%;</STRONG>    <STRONG>%&gt;xy</STRONG>      concept
178            <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG>   <STRONG>%r</STRONG>        hp
179
180
181 </PRE><H3><a name="h3-Use_-Option-_-u_">Use= Option [-u]</a></H3><PRE>
182        The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of the first  ter-
183        minal  <EM>termname</EM>  which is relative to the sum of the descriptions given
184        by the entries for the other terminals <EM>termnames</EM>.  It does this by ana-
185        lyzing  the  differences  between  the  first  <EM>termname</EM>  and  the other
186        <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields  for  the  other
187        terminals.  In this manner, it is possible to retrofit generic terminfo
188        entries into a terminal's description.  Or, if  two  similar  terminals
189        exist, but were coded at different times or by different people so that
190        each description is a full description, using <STRONG>infocmp</STRONG>  will  show  what
191        can be done to change one description to be relative to the other.
192
193        A  capability  will  get  printed  with  an at-sign (@) if it no longer
194        exists in the first <EM>termname</EM>, but one of  the  other  <EM>termname</EM>  entries
195        contains  a  value  for  it.   A capability's value gets printed if the
196        value in the first <EM>termname</EM> is not found in any of the  other  <EM>termname</EM>
197        entries,  or  if  the first of the other <EM>termname</EM> entries that has this
198        capability gives a different value for the capability than that in  the
199        first <EM>termname</EM>.
200
201        The order of the other <EM>termname</EM> entries is significant.  Since the ter-
202        minfo compiler <STRONG>tic</STRONG> does a left-to-right scan of the capabilities, spec-
203        ifying  two  <STRONG>use=</STRONG>  entries  that contain differing entries for the same
204        capabilities will produce different results depending on the order that
205        the  entries  are given in.  <STRONG>infocmp</STRONG> will flag any such inconsistencies
206        between the other <EM>termname</EM> entries as they are found.
207
208        Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry that contains
209        that  capability  will  cause  the  second specification to be ignored.
210        Using <STRONG>infocmp</STRONG> to recreate a description can be a useful check  to  make
211        sure  that  everything  was  specified correctly in the original source
212        description.
213
214        Another error that does not cause incorrect compiled  files,  but  will
215        slow  down  the  compilation time, is specifying extra <STRONG>use=</STRONG> fields that
216        are superfluous.  <STRONG>infocmp</STRONG> will flag any other <EM>termname</EM> <EM>use=</EM> fields that
217        were not needed.
218
219    <STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>]
220        Like  other  <STRONG>ncurses</STRONG> utilities, <STRONG>infocmp</STRONG> looks for the terminal descrip-
221        tions in several places.  You can use the  <STRONG>TERMINFO</STRONG>  and  <STRONG>TERMINFO_DIRS</STRONG>
222        environment  variables  to  override  the  compiled-in  default list of
223        places to search (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
224
225        You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list  of  places
226        to search when comparing terminal descriptions:
227
228        <STRONG>o</STRONG>   The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM>
229
230        <STRONG>o</STRONG>   The <STRONG>-B</STRONG> option sets the location for the other <EM>termnames</EM>.
231
232        Using  these options, it is possible to compare descriptions for a ter-
233        minal with the same name  located  in  two  different  databases.   For
234        instance,  you  can use this feature for comparing descriptions for the
235        same terminal created by different people.
236
237
238 </PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE>
239        <STRONG>-0</STRONG>   causes the fields to be printed on one line, without wrapping.
240
241        <STRONG>-1</STRONG>   causes the fields to be printed out one to a line.  Otherwise, the
242             fields  will be printed several to a line to a maximum width of 60
243             characters.
244
245        <STRONG>-a</STRONG>   tells <STRONG>infocmp</STRONG> to retain  commented-out  capabilities  rather  than
246             discarding  them.   Capabilities  are  commented by prefixing them
247             with a period.
248
249        <STRONG>-D</STRONG>   tells <STRONG>infocmp</STRONG> to print the database locations that it knows about,
250             and exit.
251
252        <STRONG>-E</STRONG>   Dump  the  capabilities of the given terminal as tables, needed in
253             the C initializer for a TERMTYPE structure (the terminal  capabil-
254             ity structure in the <STRONG>&lt;term.h&gt;</STRONG>).  This option is useful for prepar-
255             ing versions of the curses library hardwired for a given  terminal
256             type.  The tables are all declared static, and are named according
257             to the type and the name of the corresponding terminal entry.
258
259             Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and  <STRONG>-E</STRONG>  options  was
260             not  needed;  but  support  for extended names required making the
261             arrays of terminal capabilities separate from the TERMTYPE  struc-
262             ture.
263
264        <STRONG>-e</STRONG>   Dump the capabilities of the given terminal as a C initializer for
265             a TERMTYPE structure (the terminal  capability  structure  in  the
266             <STRONG>&lt;term.h&gt;</STRONG>).   This  option  is useful for preparing versions of the
267             curses library hardwired for a given terminal type.
268
269        <STRONG>-F</STRONG>   compare terminfo files.  This assumes that two following arguments
270             are  filenames.   The  files  are  searched  for  pairwise matches
271             between entries, with two entries considered to match  if  any  of
272             their  names  do.   The  report  printed  to standard output lists
273             entries with no matches in the other file, and entries  with  more
274             than  one match.  For entries with exactly one match it includes a
275             difference report.  Normally, to reduce the volume of the  report,
276             use  references  are  not resolved before looking for differences,
277             but resolution can be forced by also specifying <STRONG>-r</STRONG>.
278
279        <STRONG>-f</STRONG>   Display complex terminfo strings which contain  if/then/else/endif
280             expressions indented for readability.
281
282        <STRONG>-G</STRONG>   Display  constant literals in decimal form rather than their char-
283             acter equivalents.
284
285        <STRONG>-g</STRONG>   Display constant character literals in  quoted  form  rather  than
286             their decimal equivalents.
287
288        <STRONG>-i</STRONG>   Analyze  the  initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>,
289             <STRONG>rs3</STRONG>), strings in the entry, as  well  as  those  used  for  start-
290             ing/stopping  cursor-positioning  mode  (<STRONG>smcup</STRONG>,  <STRONG>rmcup</STRONG>) as well as
291             starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
292
293             For each string, the code tries to  analyze  it  into  actions  in
294             terms  of  the  other capabilities in the entry, certain X3.64/ISO
295             6429/ECMA-48 capabilities, and certain DEC VT-series private modes
296             (the  set  of  recognized  special sequences has been selected for
297             completeness over the existing terminfo  database).   Each  report
298             line  consists  of  the  capability  name, followed by a colon and
299             space, followed by a printable expansion of the capability  string
300             with   sections   matching   recognized  actions  translated  into
301             {}-bracketed descriptions.
302
303             Here is a list of the DEC/ANSI special sequences recognized:
304
305                          Action        Meaning
306                          -----------------------------------------
307                          RIS           full reset
308                          SC            save cursor
309                          RC            restore cursor
310                          LL            home-down
311                          RSR           reset scroll region
312                          -----------------------------------------
313                          DECSTR        soft reset (VT320)
314                          S7C1T         7-bit controls (VT220)
315                          -----------------------------------------
316
317                          ISO DEC G0    enable DEC graphics for G0
318                          ISO UK G0     enable UK chars for G0
319                          ISO US G0     enable US chars for G0
320                          ISO DEC G1    enable DEC graphics for G1
321                          ISO UK G1     enable UK chars for G1
322                          ISO US G1     enable US chars for G1
323                          -----------------------------------------
324                          DECPAM        application keypad mode
325                          DECPNM        normal keypad mode
326                          DECANSI       enter ANSI mode
327                          -----------------------------------------
328                          ECMA[+-]AM    keyboard action mode
329                          ECMA[+-]IRM   insert replace mode
330                          ECMA[+-]SRM   send receive mode
331                          ECMA[+-]LNM   linefeed mode
332                          -----------------------------------------
333                          DEC[+-]CKM    application cursor keys
334                          DEC[+-]ANM    set VT52 mode
335                          DEC[+-]COLM   132-column mode
336                          DEC[+-]SCLM   smooth scroll
337                          DEC[+-]SCNM   reverse video mode
338                          DEC[+-]OM     origin mode
339                          DEC[+-]AWM    wraparound mode
340                          DEC[+-]ARM    auto-repeat mode
341
342             It  also  recognizes  a  SGR  action  corresponding  to   ANSI/ISO
343             6429/ECMA  Set  Graphics  Rendition, with the values NORMAL, BOLD,
344             UNDERLINE, BLINK, and REVERSE.  All but  NORMAL  may  be  prefixed
345             with
346
347             <STRONG>o</STRONG>   "+" (turn on) or
348
349             <STRONG>o</STRONG>   "-" (turn off).
350
351             An  SGR0  designates  an  empty  highlight sequence (equivalent to
352             {SGR:NORMAL}).
353
354        <STRONG>-l</STRONG>   Set output format to terminfo.
355
356        <STRONG>-p</STRONG>   Ignore padding specifications when comparing strings.
357
358        <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in terminfo (text) format, print the  com-
359             piled  (binary) format in hexadecimal or base64 form, depending on
360             the option's value:
361
362                1  hexadecimal
363
364                2  base64
365
366                3  hexadecimal and base64
367
368             For example, this prints the compiled terminfo value as  a  string
369             which could be assigned to the <STRONG>TERMINFO</STRONG> environment variable:
370
371                 infocmp -0 -q -Q2
372
373        <STRONG>-q</STRONG>   This makes the output a little shorter:
374
375             <STRONG>o</STRONG>   Make  the  comparison listing shorter by omitting subheadings,
376                 and using "-" for absent capabilities, "@" for canceled rather
377                 than "NULL".
378
379             <STRONG>o</STRONG>   However,  show  differences between absent and cancelled capa-
380                 bilities.
381
382             <STRONG>o</STRONG>   Omit the "Reconstructed from" comment for source listings.
383
384        <STRONG>-R</STRONG><EM>subset</EM>
385             Restrict output to a given subset.  This option is  for  use  with
386             archaic  versions of terminfo like those on SVr1, Ultrix, or HP/UX
387             that do not support the full set of SVR4/XSI Curses terminfo;  and
388             variants  such  as AIX that have their own extensions incompatible
389             with SVr4/XSI.
390
391             <STRONG>o</STRONG>   Available terminfo subsets are  "SVr1",  "Ultrix",  "HP",  and
392                 "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
393
394             <STRONG>o</STRONG>   You  can also choose the subset "BSD" which selects only capa-
395                 bilities with termcap equivalents recognized by  4.4BSD.   The
396                 <STRONG>-C</STRONG> option sets the "BSD" subset as a side-effect.
397
398             <STRONG>o</STRONG>   If  you  select  any  other value for <STRONG>-R</STRONG>, it is the same as no
399                 subset, i.e., all capabilities are used.  The <STRONG>-I</STRONG> option  like-
400                 wise selects no subset as a side-effect.
401
402        <STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
403             The  <STRONG>-s</STRONG>  option sorts the fields within each type according to the
404             argument below:
405
406             <STRONG>d</STRONG>    leave fields in the order that they are stored  in  the  <EM>ter-</EM>
407                  <EM>minfo</EM> database.
408
409             <STRONG>i</STRONG>    sort by <EM>terminfo</EM> name.
410
411             <STRONG>l</STRONG>    sort by the long C variable name.
412
413             <STRONG>c</STRONG>    sort by the <EM>termcap</EM> name.
414
415             If  the  <STRONG>-s</STRONG>  option  is  not given, the fields printed out will be
416             sorted alphabetically by  the  <STRONG>terminfo</STRONG>  name  within  each  type,
417             except  in  the  case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options, which cause the
418             sorting to be done by the <STRONG>termcap</STRONG> name  or  the  long  C  variable
419             name, respectively.
420
421        <STRONG>-T</STRONG>   eliminates  size-restrictions  on  the  generated  text.   This is
422             mainly  useful  for  testing  and  analysis,  since  the  compiled
423             descriptions  are  limited  (e.g., 1023 for termcap, 4096 for ter-
424             minfo).
425
426        <STRONG>-t</STRONG>   tells <STRONG>tic</STRONG> to discard commented-out  capabilities.   Normally  when
427             translating  from terminfo to termcap, untranslatable capabilities
428             are commented-out.
429
430        <STRONG>-U</STRONG>   tells <STRONG>infocmp</STRONG> to not  post-process  the  data  after  parsing  the
431             source  file.   This  feature helps when comparing the actual con-
432             tents of two source files, since it excludes the  inferences  that
433             <STRONG>infocmp</STRONG> makes to fill in missing data.
434
435        <STRONG>-V</STRONG>   reports the version of ncurses which was used in this program, and
436             exits.
437
438        <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error  as  the  program
439             runs.
440
441             The  optional  parameter  <EM>n</EM>  is  a number from 1 to 10, inclusive,
442             indicating the desired level of detail of information.  If ncurses
443             is  built  without  tracing  support,  the  optional  parameter is
444             ignored.
445
446        <STRONG>-W</STRONG>   By itself, the <STRONG>-w</STRONG>  option  will  not  force  long  strings  to  be
447             wrapped.  Use the <STRONG>-W</STRONG> option to do this.
448
449        <STRONG>-w</STRONG> <EM>width</EM>
450             changes the output to <EM>width</EM> characters.
451
452        <STRONG>-x</STRONG>   print information for user-defined capabilities (see <STRONG>user_caps(5)</STRONG>.
453             These are extensions to  the  terminfo  repertoire  which  can  be
454             loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.
455
456
457 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
458        /usr/share/terminfo Compiled terminal description database.
459
460
461 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
462        Although System V Release 2 provided a terminfo library, it had no doc-
463        umented tool for decompiling the terminal  descriptions.   Tony  Hansen
464        (AT&amp;T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3.
465
466        Eric  Raymond used the AT&amp;T documentation in 1995 to provide an equiva-
467        lent <STRONG>infocmp</STRONG> for ncurses.  In addition, he added  a  few  new  features
468        such as:
469
470        <STRONG>o</STRONG>   the  <STRONG>-e</STRONG> option, to support <EM>fallback</EM> (compiled-in) terminal descrip-
471            tions
472
473        <STRONG>o</STRONG>   the <STRONG>-i</STRONG> option, to help with analysis
474
475        Later, Thomas Dickey added the <STRONG>-x</STRONG> (user-defined  capabilities)  option,
476        and  the  <STRONG>-E</STRONG> option to support fallback entries with user-defined capa-
477        bilities.
478
479        For a complete list, see the <EM>EXTENSIONS</EM> section.
480
481        In 2010, Roy Marples provided an <STRONG>infocmp</STRONG> program  for  NetBSD.   It  is
482        less  capable  than  the  SVr4  or ncurses versions (e.g., it lacks the
483        sorting options documented in X/Open), but does include the  <STRONG>-x</STRONG>  option
484        adapted from ncurses.
485
486
487 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
488        X/Open  Curses,  Issue  7 (2009) provides a description of <STRONG>infocmp</STRONG>.  It
489        does not mention the options used for converting to termcap format.
490
491
492 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
493        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>
494        and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
495
496        SVr4 infocmp does not distinguish between absent and cancelled capabil-
497        ities.  Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the internal
498        value  used  to represent missing integers).  This implementation shows
499        those as "NULL", for consistency with missing strings.
500
501        The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is  System  V  Release
502        4's.   Actual  BSD curses versions will have a more restricted set.  To
503        see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>.
504
505
506 </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
507        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.
508
509
510 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
511        <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>
512        <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.  <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
513
514        https://invisible-island.net/ncurses/tctest.html
515
516        This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200418).
517
518
519 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
520        Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
521        Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
522
523
524
525                                                                    <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
526 </PRE>
527 <div class="nav">
528 <ul>
529 <li><a href="#h2-NAME">NAME</a></li>
530 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
531 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
532 <ul>
533 <li><a href="#h3-Default-Options">Default Options</a></li>
534 <li><a href="#h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></li>
535 <li><a href="#h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li>
536 <li><a href="#h3-Use_-Option-_-u_">Use= Option [-u]</a></li>
537 <li><a href="#h3-Other-Options">Other Options</a></li>
538 </ul>
539 </li>
540 <li><a href="#h2-FILES">FILES</a></li>
541 <li><a href="#h2-HISTORY">HISTORY</a></li>
542 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
543 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
544 <li><a href="#h2-BUGS">BUGS</a></li>
545 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
546 <li><a href="#h2-AUTHOR">AUTHOR</a></li>
547 </ul>
548 </div>
549 </BODY>
550 </HTML>