]> ncurses.scripts.mit.edu Git - ncurses.git/blob - doc/html/man/infocmp.1m.html
ncurses 6.2 - patch 20210109
[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.77 2020/07/25 20:37:39 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
63        terminfo entries, rewrite a <STRONG>terminfo</STRONG> description to take  advantage  of
64        the  <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
81        capability:
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
100             capability value.
101
102             The  <STRONG>-u</STRONG>  option  provides  a  related  output,  showing  the first
103             terminal description rewritten to use the  second  as  a  building
104             block 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
120        terminal 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.
147        Mandatory 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
152        <STRONG>terminfo</STRONG>  capabilities  will  be translated; only those variables which
153        were part of <STRONG>termcap</STRONG> will normally be output.  Specifying the <STRONG>-r</STRONG> option
154        will  take off this restriction, allowing all capabilities to be output
155        in <EM>termcap</EM> form.  Normally you would use both the <STRONG>-C</STRONG>  and  <STRONG>-r</STRONG>  options.
156        The  actual  format  used  incorporates  some  improvements for escaped
157        characters  from  terminfo  format.   For  a  stricter   BSD-compatible
158        translation, use the <STRONG>-K</STRONG> option rather than <STRONG>-C</STRONG>.
159
160        Note  that  because  padding  is  collected  to  the  beginning  of the
161        capability, not all capabilities are output.  Mandatory padding is  not
162        supported.   Because  <STRONG>termcap</STRONG>  strings  are  not as flexible, it is not
163        always possible  to  convert  a  <STRONG>terminfo</STRONG>  string  capability  into  an
164        equivalent <STRONG>termcap</STRONG> format.  A subsequent conversion of the <STRONG>termcap</STRONG> file
165        back into <STRONG>terminfo</STRONG> format will not necessarily reproduce  the  original
166        <STRONG>terminfo</STRONG> 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
183        terminal  <EM>termname</EM>  which  is  relative  to the sum of the descriptions
184        given by the entries for the other terminals <EM>termnames</EM>.  It  does  this
185        by  analyzing  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 be printed with an at-sign (@) if it no longer exists
194        in the first <EM>termname</EM>, but one of the other <EM>termname</EM> entries contains a
195        value for it.  A capability's value will be printed if the value in the
196        first <EM>termname</EM> is not found in any of the other <EM>termname</EM> entries, or if
197        the  first of the other <EM>termname</EM> entries that has this capability gives
198        a different value for the capability than that in the first <EM>termname</EM>.
199
200        The order of the other <EM>termname</EM>  entries  is  significant.   Since  the
201        terminfo  compiler  <STRONG>tic</STRONG>  does a left-to-right scan of the capabilities,
202        specifying two <STRONG>use=</STRONG> entries that contain differing entries for the same
203        capabilities will produce different results depending on the order that
204        the entries are given in.  <STRONG>infocmp</STRONG> will flag any  such  inconsistencies
205        between the other <EM>termname</EM> entries as they are found.
206
207        Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry that contains
208        that capability will cause the  second  specification  to  be  ignored.
209        Using  <STRONG>infocmp</STRONG>  to recreate a description can be a useful check to make
210        sure that everything was specified correctly  in  the  original  source
211        description.
212
213        Another  error  that  does not cause incorrect compiled files, but will
214        slow down the compilation time, is specifying extra  <STRONG>use=</STRONG>  fields  that
215        are superfluous.  <STRONG>infocmp</STRONG> will flag any other <EM>termname</EM> <EM>use=</EM> fields that
216        were not needed.
217
218    <STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>]
219        Like  other  <STRONG>ncurses</STRONG>  utilities,  <STRONG>infocmp</STRONG>  looks   for   the   terminal
220        descriptions   in  several  places.   You  can  use  the  <STRONG>TERMINFO</STRONG>  and
221        <STRONG>TERMINFO_DIRS</STRONG> environment variables to override the compiled-in default
222        list of places to search (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
223
224        You  can  also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list of places
225        to search when comparing terminal descriptions:
226
227        <STRONG>o</STRONG>   The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM>
228
229        <STRONG>o</STRONG>   The <STRONG>-B</STRONG> option sets the location for the other <EM>termnames</EM>.
230
231        Using these options, it is  possible  to  compare  descriptions  for  a
232        terminal  with  the  same name located in two different databases.  For
233        instance, you can use this feature for comparing descriptions  for  the
234        same terminal created by different people.
235
236
237 </PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE>
238        <STRONG>-0</STRONG>   causes the fields to be printed on one line, without wrapping.
239
240        <STRONG>-1</STRONG>   causes the fields to be printed out one to a line.  Otherwise, the
241             fields will be printed several to a line to a maximum width of  60
242             characters.
243
244        <STRONG>-a</STRONG>   tells  <STRONG>infocmp</STRONG>  to  retain  commented-out capabilities rather than
245             discarding them.  Capabilities are  commented  by  prefixing  them
246             with a period.
247
248        <STRONG>-D</STRONG>   tells <STRONG>infocmp</STRONG> to print the database locations that it knows about,
249             and exit.
250
251        <STRONG>-E</STRONG>   Dump the capabilities of the given terminal as tables,  needed  in
252             the   C   initializer  for  a  TERMTYPE  structure  (the  terminal
253             capability structure in the <STRONG>&lt;term.h&gt;</STRONG>).  This option is useful  for
254             preparing  versions  of  the  curses library hardwired for a given
255             terminal type.  The tables are all declared static, and are  named
256             according  to  the type and the name of the corresponding terminal
257             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
262             structure.
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
283             character 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
290             starting/stopping  cursor-positioning  mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>) as well
291             as 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
359             compiled  (binary) format in hexadecimal or base64 form, depending
360             on 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
380                 capabilities.
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
395                 capabilities with termcap equivalents  recognized  by  4.4BSD.
396                 The <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
400                 likewise 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
407                  <EM>terminfo</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
424             terminfo).
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
432             contents of two source files, since  it  excludes  the  inferences
433             that <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
463        documented 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
467        equivalent <STRONG>infocmp</STRONG> for ncurses.   In  addition,  he  added  a  few  new
468        features such as:
469
470        <STRONG>o</STRONG>   the   <STRONG>-e</STRONG>   option,   to  support  <EM>fallback</EM>  (compiled-in)  terminal
471            descriptions
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
477        capabilities.
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
497        capabilities.  Also, it shows missing integer capabilities as  <STRONG>-1</STRONG>  (the
498        internal   value   used   to   represent   missing   integers).    This
499        implementation shows those as  "NULL",  for  consistency  with  missing
500        strings.
501
502        The  <STRONG>-r</STRONG>  option's  notion of "termcap" capabilities is System V Release
503        4's.  Actual BSD curses versions will have a more restricted  set.   To
504        see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>.
505
506
507 </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
508        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.
509
510
511 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
512        <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>,
513        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
514
515        https://invisible-island.net/ncurses/tctest.html
516
517        This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
518
519
520 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
521        Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
522        Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
523
524
525
526                                                                    <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
527 </PRE>
528 <div class="nav">
529 <ul>
530 <li><a href="#h2-NAME">NAME</a></li>
531 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
532 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
533 <ul>
534 <li><a href="#h3-Default-Options">Default Options</a></li>
535 <li><a href="#h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></li>
536 <li><a href="#h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li>
537 <li><a href="#h3-Use_-Option-_-u_">Use= Option [-u]</a></li>
538 <li><a href="#h3-Other-Options">Other Options</a></li>
539 </ul>
540 </li>
541 <li><a href="#h2-FILES">FILES</a></li>
542 <li><a href="#h2-HISTORY">HISTORY</a></li>
543 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
544 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
545 <li><a href="#h2-BUGS">BUGS</a></li>
546 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
547 <li><a href="#h2-AUTHOR">AUTHOR</a></li>
548 </ul>
549 </div>
550 </BODY>
551 </HTML>