eece92beed4efd73259e7da74fe16e6dca257faf
[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 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 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 ter-
201        minfo compiler <STRONG>tic</STRONG> does a left-to-right scan of the capabilities, spec-
202        ifying 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  descrip-
220        tions  in  several  places.  You can use the <STRONG>TERMINFO</STRONG> and <STRONG>TERMINFO_DIRS</STRONG>
221        environment variables to  override  the  compiled-in  default  list  of
222        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  ter-
232        minal  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 capabil-
253             ity structure in the <STRONG>&lt;term.h&gt;</STRONG>).  This option is useful for prepar-
254             ing  versions of the curses library hardwired for a given terminal
255             type.  The tables are all declared static, and are named according
256             to the type and the name of the corresponding terminal entry.
257
258             Before  ncurses  5.0,  the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG> options was
259             not needed; but support for extended  names  required  making  the
260             arrays  of terminal capabilities separate from the TERMTYPE struc-
261             ture.
262
263        <STRONG>-e</STRONG>   Dump the capabilities of the given terminal as a C initializer for
264             a  TERMTYPE  structure  (the  terminal capability structure in the
265             <STRONG>&lt;term.h&gt;</STRONG>).  This option is useful for preparing  versions  of  the
266             curses library hardwired for a given terminal type.
267
268        <STRONG>-F</STRONG>   compare terminfo files.  This assumes that two following arguments
269             are filenames.   The  files  are  searched  for  pairwise  matches
270             between  entries,  with  two entries considered to match if any of
271             their names do.  The  report  printed  to  standard  output  lists
272             entries  with  no matches in the other file, and entries with more
273             than one match.  For entries with exactly one match it includes  a
274             difference  report.  Normally, to reduce the volume of the report,
275             use references are not resolved before  looking  for  differences,
276             but resolution can be forced by also specifying <STRONG>-r</STRONG>.
277
278        <STRONG>-f</STRONG>   Display  complex terminfo strings which contain if/then/else/endif
279             expressions indented for readability.
280
281        <STRONG>-G</STRONG>   Display constant literals in decimal form rather than their  char-
282             acter equivalents.
283
284        <STRONG>-g</STRONG>   Display  constant  character  literals  in quoted form rather than
285             their decimal equivalents.
286
287        <STRONG>-i</STRONG>   Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset  (<STRONG>rs1</STRONG>,  <STRONG>rs2</STRONG>,
288             <STRONG>rs3</STRONG>),  strings  in  the  entry,  as  well as those used for start-
289             ing/stopping cursor-positioning mode (<STRONG>smcup</STRONG>,  <STRONG>rmcup</STRONG>)  as  well  as
290             starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
291
292             For  each  string,  the  code  tries to analyze it into actions in
293             terms of the other capabilities in the  entry,  certain  X3.64/ISO
294             6429/ECMA-48 capabilities, and certain DEC VT-series private modes
295             (the set of recognized special sequences  has  been  selected  for
296             completeness  over  the  existing terminfo database).  Each report
297             line consists of the capability name,  followed  by  a  colon  and
298             space,  followed by a printable expansion of the capability string
299             with  sections  matching  recognized   actions   translated   into
300             {}-bracketed descriptions.
301
302             Here is a list of the DEC/ANSI special sequences recognized:
303
304                          Action        Meaning
305                          -----------------------------------------
306                          RIS           full reset
307                          SC            save cursor
308                          RC            restore cursor
309                          LL            home-down
310                          RSR           reset scroll region
311                          -----------------------------------------
312                          DECSTR        soft reset (VT320)
313                          S7C1T         7-bit controls (VT220)
314                          -----------------------------------------
315                          ISO DEC G0    enable DEC graphics for G0
316
317                          ISO UK G0     enable UK chars for G0
318                          ISO US G0     enable US chars for G0
319                          ISO DEC G1    enable DEC graphics for G1
320                          ISO UK G1     enable UK chars for G1
321                          ISO US G1     enable US chars for G1
322                          -----------------------------------------
323                          DECPAM        application keypad mode
324                          DECPNM        normal keypad mode
325                          DECANSI       enter ANSI mode
326                          -----------------------------------------
327                          ECMA[+-]AM    keyboard action mode
328                          ECMA[+-]IRM   insert replace mode
329                          ECMA[+-]SRM   send receive mode
330                          ECMA[+-]LNM   linefeed mode
331                          -----------------------------------------
332                          DEC[+-]CKM    application cursor keys
333                          DEC[+-]ANM    set VT52 mode
334                          DEC[+-]COLM   132-column mode
335                          DEC[+-]SCLM   smooth scroll
336                          DEC[+-]SCNM   reverse video mode
337                          DEC[+-]OM     origin mode
338                          DEC[+-]AWM    wraparound mode
339                          DEC[+-]ARM    auto-repeat mode
340
341             It   also  recognizes  a  SGR  action  corresponding  to  ANSI/ISO
342             6429/ECMA Set Graphics Rendition, with the  values  NORMAL,  BOLD,
343             UNDERLINE,  BLINK,  and  REVERSE.   All but NORMAL may be prefixed
344             with
345
346             <STRONG>o</STRONG>   "+" (turn on) or
347
348             <STRONG>o</STRONG>   "-" (turn off).
349
350             An SGR0 designates an  empty  highlight  sequence  (equivalent  to
351             {SGR:NORMAL}).
352
353        <STRONG>-l</STRONG>   Set output format to terminfo.
354
355        <STRONG>-p</STRONG>   Ignore padding specifications when comparing strings.
356
357        <STRONG>-Q</STRONG> <EM>n</EM> Rather  than show source in terminfo (text) format, print the com-
358             piled (binary) format in hexadecimal or base64 form, depending  on
359             the option's value:
360
361                1  hexadecimal
362
363                2  base64
364
365                3  hexadecimal and base64
366
367             For  example,  this prints the compiled terminfo value as a string
368             which could be assigned to the <STRONG>TERMINFO</STRONG> environment variable:
369
370                 infocmp -0 -q -Q2
371
372        <STRONG>-q</STRONG>   This makes the output a little shorter:
373
374             <STRONG>o</STRONG>   Make the comparison listing shorter by  omitting  subheadings,
375                 and using "-" for absent capabilities, "@" for canceled rather
376                 than "NULL".
377
378             <STRONG>o</STRONG>   However, show differences between absent and  cancelled  capa-
379                 bilities.
380
381             <STRONG>o</STRONG>   Omit the "Reconstructed from" comment for source listings.
382
383        <STRONG>-R</STRONG><EM>subset</EM>
384             Restrict  output  to  a given subset.  This option is for use with
385             archaic versions of terminfo like those on SVr1, Ultrix, or  HP/UX
386             that  do not support the full set of SVR4/XSI Curses terminfo; and
387             variants such as AIX that have their own  extensions  incompatible
388             with SVr4/XSI.
389
390             <STRONG>o</STRONG>   Available  terminfo  subsets  are  "SVr1", "Ultrix", "HP", and
391                 "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
392
393             <STRONG>o</STRONG>   You can also choose the subset "BSD" which selects only  capa-
394                 bilities  with  termcap equivalents recognized by 4.4BSD.  The
395                 <STRONG>-C</STRONG> option sets the "BSD" subset as a side-effect.
396
397             <STRONG>o</STRONG>   If you select any other value for <STRONG>-R</STRONG>, it is  the  same  as  no
398                 subset,  i.e., all capabilities are used.  The <STRONG>-I</STRONG> option like-
399                 wise selects no subset as a side-effect.
400
401        <STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
402             The <STRONG>-s</STRONG> option sorts the fields within each type according  to  the
403             argument below:
404
405             <STRONG>d</STRONG>    leave  fields  in  the order that they are stored in the <EM>ter-</EM>
406                  <EM>minfo</EM> database.
407
408             <STRONG>i</STRONG>    sort by <EM>terminfo</EM> name.
409
410             <STRONG>l</STRONG>    sort by the long C variable name.
411
412             <STRONG>c</STRONG>    sort by the <EM>termcap</EM> name.
413
414             If the <STRONG>-s</STRONG> option is not given, the  fields  printed  out  will  be
415             sorted  alphabetically  by  the  <STRONG>terminfo</STRONG>  name  within each type,
416             except in the case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options,  which  cause  the
417             sorting  to  be  done  by  the <STRONG>termcap</STRONG> name or the long C variable
418             name, respectively.
419
420        <STRONG>-T</STRONG>   eliminates size-restrictions  on  the  generated  text.   This  is
421             mainly  useful  for  testing  and  analysis,  since  the  compiled
422             descriptions are limited (e.g., 1023 for termcap,  4096  for  ter-
423             minfo).
424
425        <STRONG>-t</STRONG>   tells  <STRONG>tic</STRONG>  to  discard commented-out capabilities.  Normally when
426             translating from terminfo to termcap, untranslatable  capabilities
427             are commented-out.
428
429        <STRONG>-U</STRONG>   tells  <STRONG>infocmp</STRONG>  to  not  post-process  the  data after parsing the
430             source file.  This feature helps when comparing  the  actual  con-
431             tents  of  two source files, since it excludes the inferences that
432             <STRONG>infocmp</STRONG> makes to fill in missing data.
433
434        <STRONG>-V</STRONG>   reports the version of ncurses which was used in this program, and
435             exits.
436
437        <STRONG>-v</STRONG> <EM>n</EM> prints  out  tracing  information on standard error as the program
438             runs.
439
440             The optional parameter <EM>n</EM> is a number  from  1  to  10,  inclusive,
441             indicating the desired level of detail of information.  If ncurses
442             is built  without  tracing  support,  the  optional  parameter  is
443             ignored.
444
445        <STRONG>-W</STRONG>   By  itself,  the  <STRONG>-w</STRONG>  option  will  not  force  long strings to be
446             wrapped.  Use the <STRONG>-W</STRONG> option to do this.
447
448        <STRONG>-w</STRONG> <EM>width</EM>
449             changes the output to <EM>width</EM> characters.
450
451        <STRONG>-x</STRONG>   print information for user-defined capabilities (see <STRONG>user_caps(5)</STRONG>.
452             These  are  extensions  to  the  terminfo  repertoire which can be
453             loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.
454
455
456 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
457        /usr/share/terminfo Compiled terminal description database.
458
459
460 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
461        Although System V Release 2 provided a terminfo library, it had no doc-
462        umented  tool  for  decompiling the terminal descriptions.  Tony Hansen
463        (AT&amp;T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3.
464
465        Eric Raymond used the AT&amp;T documentation in 1995 to provide an  equiva-
466        lent  <STRONG>infocmp</STRONG>  for  ncurses.   In addition, he added a few new features
467        such as:
468
469        <STRONG>o</STRONG>   the <STRONG>-e</STRONG> option, to support <EM>fallback</EM> (compiled-in) terminal  descrip-
470            tions
471
472        <STRONG>o</STRONG>   the <STRONG>-i</STRONG> option, to help with analysis
473
474        Later,  Thomas  Dickey added the <STRONG>-x</STRONG> (user-defined capabilities) option,
475        and the <STRONG>-E</STRONG> option to support fallback entries with  user-defined  capa-
476        bilities.
477
478        For a complete list, see the <EM>EXTENSIONS</EM> section.
479
480        In  2010,  Roy  Marples  provided an <STRONG>infocmp</STRONG> program for NetBSD.  It is
481        less capable than the SVr4 or ncurses  versions  (e.g.,  it  lacks  the
482        sorting  options  documented in X/Open), but does include the <STRONG>-x</STRONG> option
483        adapted from ncurses.
484
485
486 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
487        X/Open Curses, Issue 7 (2009) provides a description  of  <STRONG>infocmp</STRONG>.   It
488        does not mention the options used for converting to termcap format.
489
490
491 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
492        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>
493        and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
494
495        SVr4 infocmp does not distinguish between absent and cancelled capabil-
496        ities.  Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the internal
497        value used to represent missing integers).  This  implementation  shows
498        those as "NULL", for consistency with missing strings.
499
500        The  <STRONG>-r</STRONG>  option's  notion of "termcap" capabilities is System V Release
501        4's.  Actual BSD curses versions will have a more restricted  set.   To
502        see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>.
503
504
505 </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
506        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.
507
508
509 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
510        <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>
511        <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.  <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
512
513        https://invisible-island.net/ncurses/tctest.html
514
515        This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20201003).
516
517
518 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
519        Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
520        Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
521
522
523
524                                                                    <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
525 </PRE>
526 <div class="nav">
527 <ul>
528 <li><a href="#h2-NAME">NAME</a></li>
529 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
530 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
531 <ul>
532 <li><a href="#h3-Default-Options">Default Options</a></li>
533 <li><a href="#h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></li>
534 <li><a href="#h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li>
535 <li><a href="#h3-Use_-Option-_-u_">Use= Option [-u]</a></li>
536 <li><a href="#h3-Other-Options">Other Options</a></li>
537 </ul>
538 </li>
539 <li><a href="#h2-FILES">FILES</a></li>
540 <li><a href="#h2-HISTORY">HISTORY</a></li>
541 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
542 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
543 <li><a href="#h2-BUGS">BUGS</a></li>
544 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
545 <li><a href="#h2-AUTHOR">AUTHOR</a></li>
546 </ul>
547 </div>
548 </BODY>
549 </HTML>