3 ****************************************************************************
4 * Copyright 2018-2023,2024 Thomas E. Dickey *
5 * Copyright 1998-2017,2018 Free Software Foundation, Inc. *
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: *
15 * The above copyright notice and this permission notice shall be included *
16 * in all copies or substantial portions of the Software. *
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. *
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 *
30 ****************************************************************************
31 * @Id: infocmp.1m,v 1.109 2024/03/16 15:35:01 tom Exp @
33 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
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 2024-03-16 ncurses 6.5 User commands</TITLE>
39 <link rel="author" href="mailto:bug-ncurses@gnu.org">
43 <H1 class="no-header">infocmp 1m 2024-03-16 ncurses 6.5 User commands</H1>
45 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> User commands <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
50 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
51 <STRONG>infocmp</STRONG> - compare or print out <EM>terminfo</EM> descriptions
54 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
55 <STRONG>infocmp</STRONG> [<STRONG>-1cCdDeEFgGiIKlLnpqrtTuUVWx</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>terminal-type</EM> ...]
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
70 </PRE><H3><a name="h3-Default-Options">Default Options</a></H3><PRE>
71 If no options are specified and zero or one <EM>terminal-types</EM> are
72 specified, the <STRONG>-I</STRONG> option will be assumed. If more than one <EM>terminal-</EM>
73 <EM>type</EM> is specified, the <STRONG>-d</STRONG> option will be assumed.
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>terminal-type</EM> with each of the descriptions given by the entries for
79 the other terminal's <EM>terminal-types</EM>. If a capability is defined for
80 only one of the terminals, the value returned depends on the type of
83 <STRONG>o</STRONG> <STRONG>F</STRONG> for missing Boolean variables
85 <STRONG>o</STRONG> <STRONG>NULL</STRONG> for missing integer or string variables
87 Use the <STRONG>-q</STRONG> option to show the distinction between <EM>absent</EM> and <EM>cancelled</EM>
90 These options produce a list which you can use to compare two or more
91 terminal descriptions:
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.
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
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.
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
110 Normally only the conventional capabilities are shown. Use the <STRONG>-x</STRONG>
111 option to add the BSD-compatibility capabilities (names prefixed
114 If no <EM>terminal-types</EM> are given, <STRONG>infocmp</STRONG> uses the environment
115 variable <EM>TERM</EM> for each of the <EM>terminal-types</EM>.
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
122 <STRONG>-I</STRONG> use <EM>terminfo</EM> capability codes
123 <STRONG>-L</STRONG> use "long" capability names
124 <STRONG>-C</STRONG> use <EM>termcap</EM> capability codes
125 <STRONG>-r</STRONG> with <STRONG>-C</STRONG>, include nonstandard capabilities
126 <STRONG>-K</STRONG> with <STRONG>-C</STRONG>, improve BSD compatibility
128 If no <EM>terminal-types</EM> are given, the environment variable <EM>TERM</EM> will be
129 used for the terminal name.
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.
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).
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
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>.
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.
168 Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG> equivalents,
169 and some terminal types which commonly have such sequences, are:
171 <STRONG><EM>terminfo</EM></STRONG> <STRONG><EM>termcap</EM></STRONG> Terminal Types
172 ----------------------------------------------------
173 <STRONG>%p1%c</STRONG> <STRONG>%.</STRONG> ansi-m
174 <STRONG>%p1%d</STRONG> <STRONG>%d</STRONG> ansi, vt100
175 <STRONG>%p1%'</STRONG> <STRONG>'%+%c</STRONG> <STRONG>%+x</STRONG> vt52
176 <STRONG>%i</STRONG> <STRONG>%iq</STRONG> ansi, vt100
177 <STRONG>%p1%?%'x'%>%t%p1%'y'%+%;</STRONG> <STRONG>%>xy</STRONG> annarbor4080
178 <STRONG>%p2</STRONG>...<STRONG>%p1</STRONG> <STRONG>%r</STRONG> hpgeneric
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>terminal-type</EM> which is relative to the sum of the descriptions
184 given by the entries for the other <EM>terminal-types</EM>. It does this by
185 analyzing the differences between the first <EM>terminal-types</EM> and the
186 other <EM>terminal-types</EM> and producing a description with <STRONG>use=</STRONG> fields for
187 the other terminals. In this manner, it is possible to retrofit
188 generic terminfo entries into a terminal's description. Or, if two
189 similar terminals exist, but were coded at different times or by
190 different people so that each description is a full description, using
191 <STRONG>infocmp</STRONG> will show what can be done to change one description to be
192 relative to the other.
194 A capability will be printed with an at-sign (@) if it no longer exists
195 in the first <EM>terminal-type</EM>, but one of the other <EM>terminal-type</EM> entries
196 contains a value for it. A capability's value will be printed if the
197 value in the first <EM>terminal-type</EM> is not found in any of the other
198 <EM>terminal-type</EM> entries, or if the first of the other <EM>terminal-type</EM>
199 entries that has this capability gives a different value for the
200 capability than that in the first <EM>terminal-type</EM>.
202 The order of the other <EM>terminal-type</EM> entries is significant. Since the
203 terminfo compiler <STRONG>tic</STRONG> does a left-to-right scan of the capabilities,
204 specifying two <STRONG>use=</STRONG> entries that contain differing entries for the same
205 capabilities will produce different results depending on the order that
206 the entries are given in. <STRONG>infocmp</STRONG> will flag any such inconsistencies
207 between the other <EM>terminal-type</EM> entries as they are found.
209 Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry that contains
210 that capability will cause the second specification to be ignored.
211 Using <STRONG>infocmp</STRONG> to recreate a description can be a useful check to make
212 sure that everything was specified correctly in the original source
215 Another error that does not cause incorrect compiled files, but will
216 slow down the compilation time, is specifying extra <STRONG>use=</STRONG> fields that
217 are superfluous. <STRONG>infocmp</STRONG> will flag any other <EM>terminal-type</EM> <EM>use=</EM> fields
218 that were not needed.
220 <STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>]
221 Like other <EM>ncurses</EM> utilities, <STRONG>infocmp</STRONG> looks for the terminal
222 descriptions in several places. You can use the <EM>TERMINFO</EM> and
223 <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variables to override the compiled-in default
224 list of places to search. See <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, as well as the <EM>Fetching</EM>
225 <EM>Compiled</EM> <EM>Descriptions</EM> section in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
227 You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list of places
228 to search when comparing terminal descriptions:
230 <STRONG>o</STRONG> The <STRONG>-A</STRONG> option sets the location for the first <EM>terminal-type</EM>
232 <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other <EM>terminal-types</EM>.
234 Using these options, it is possible to compare descriptions for a
235 terminal with the same name located in two different databases. For
236 instance, you can use this feature for comparing descriptions for the
237 same terminal created by different people.
240 </PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE>
241 <STRONG>-0</STRONG> causes the fields to be printed on one line, without wrapping.
243 <STRONG>-1</STRONG> causes the fields to be printed out one to a line. Otherwise, the
244 fields will be printed several to a line to a maximum width of 60
247 <STRONG>-a</STRONG> tells <STRONG>infocmp</STRONG> to retain commented-out capabilities rather than
248 discarding them. Capabilities are commented by prefixing them
251 <STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it knows about,
254 <STRONG>-E</STRONG> Dump the capabilities of the given terminal as tables, needed in
255 the C initializer for a TERMTYPE structure (the terminal
256 capability structure in the <STRONG><term.h></STRONG>). This option is useful for
257 preparing versions of the curses library hardwired for a given
258 terminal type. The tables are all declared static, and are named
259 according to the type and the name of the corresponding terminal
262 Before <EM>ncurses</EM> 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG> options was
263 not needed; but support for extended names required making the
264 arrays of terminal capabilities separate from the TERMTYPE
267 <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C initializer for
268 a TERMTYPE structure (the terminal capability structure in the
269 <STRONG><term.h></STRONG>). This option is useful for preparing versions of the
270 curses library hardwired for a given terminal type.
272 <STRONG>-F</STRONG> compare terminfo files. This assumes that two following arguments
273 are filenames. The files are searched for pairwise matches
274 between entries, with two entries considered to match if any of
275 their names do. The report printed to standard output lists
276 entries with no matches in the other file, and entries with more
277 than one match. For entries with exactly one match it includes a
278 difference report. Normally, to reduce the volume of the report,
279 use references are not resolved before looking for differences,
280 but resolution can be forced by also specifying <STRONG>-r</STRONG>.
282 <STRONG>-f</STRONG> Display complex terminfo strings which contain if/then/else/endif
283 expressions indented for readability.
285 <STRONG>-G</STRONG> Display constant literals in decimal form rather than their
286 character equivalents.
288 <STRONG>-g</STRONG> Display constant character literals in quoted form rather than
289 their decimal equivalents.
291 <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>,
292 <STRONG>rs3</STRONG>), strings in the entry, as well as those used for
293 starting/stopping cursor-positioning mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>) as well
294 as starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
296 For each string, the code tries to analyze it into actions in
297 terms of the other capabilities in the entry, certain X3.64/ISO
298 6429/ECMA-48 capabilities, and certain DEC VT-series private modes
299 (the set of recognized special sequences has been selected for
300 completeness over the existing terminfo database). Each report
301 line consists of the capability name, followed by a colon and
302 space, followed by a printable expansion of the capability string
303 with sections matching recognized actions translated into
304 {}-bracketed descriptions.
306 Here is a list of the DEC/ANSI special sequences recognized:
309 -----------------------------------------
314 RSR reset scroll region
315 -----------------------------------------
317 DECSTR soft reset (VT320)
318 S7C1T 7-bit controls (VT220)
319 -----------------------------------------
320 ISO DEC G0 enable DEC graphics for G0
321 ISO UK G0 enable UK chars for G0
322 ISO US G0 enable US chars for G0
323 ISO DEC G1 enable DEC graphics for G1
324 ISO UK G1 enable UK chars for G1
325 ISO US G1 enable US chars for G1
326 -----------------------------------------
327 DECPAM application keypad mode
328 DECPNM normal keypad mode
329 DECANSI enter ANSI mode
330 -----------------------------------------
331 ECMA[+-]AM keyboard action mode
332 ECMA[+-]IRM insert replace mode
333 ECMA[+-]SRM send receive mode
334 ECMA[+-]LNM linefeed mode
335 -----------------------------------------
336 DEC[+-]CKM application cursor keys
337 DEC[+-]ANM set VT52 mode
338 DEC[+-]COLM 132-column mode
339 DEC[+-]SCLM smooth scroll
340 DEC[+-]SCNM reverse video mode
341 DEC[+-]OM origin mode
342 DEC[+-]AWM wraparound mode
343 DEC[+-]ARM auto-repeat mode
345 It also recognizes a SGR action corresponding to ANSI/ISO 6429/ECMA Set
346 Graphics Rendition, with the values NORMAL, BOLD, UNDERLINE, BLINK, and
347 REVERSE. All but NORMAL may be prefixed with
349 <STRONG>o</STRONG> "+" (turn on) or
351 <STRONG>o</STRONG> "-" (turn off).
353 An SGR0 designates an empty highlight sequence (equivalent to
356 <STRONG>-l</STRONG> Set output format to terminfo.
358 <STRONG>-p</STRONG> Ignore padding specifications when comparing strings.
360 <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in terminfo (text) format, print the
361 compiled (binary) format in hexadecimal or base64 form, depending
362 on the option's value:
368 3 hexadecimal and base64
370 For example, this prints the compiled terminfo value as a string
371 which could be assigned to the <EM>TERMINFO</EM> environment variable:
375 <STRONG>-q</STRONG> This makes the output a little shorter:
377 <STRONG>o</STRONG> Make the comparison listing shorter by omitting subheadings,
378 and using "-" for absent capabilities, "@" for canceled rather
381 <STRONG>o</STRONG> However, show differences between absent and cancelled
384 <STRONG>o</STRONG> Omit the "Reconstructed from" comment for source listings.
386 <STRONG>-R</STRONG><EM>subset</EM>
387 Restrict output to a given subset. This option is for use with
388 archaic versions of terminfo like those on SVr1, Ultrix, or HP-UX
389 that do not support the full set of SVR4/XSI Curses terminfo; and
390 variants such as AIX that have their own extensions incompatible
393 <STRONG>o</STRONG> Available terminfo subsets are "SVr1", "Ultrix", "HP", and
394 "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
396 <STRONG>o</STRONG> You can also choose the subset "BSD" which selects only
397 capabilities with termcap equivalents recognized by 4.4BSD.
399 <STRONG>o</STRONG> If you select any other value for <STRONG>-R</STRONG>, it is the same as no
400 subset, i.e., all capabilities are used.
402 A few options override the subset selected with <STRONG>-R</STRONG>, if they are
403 processed later in the command parameters:
405 <STRONG>-C</STRONG> sets the "BSD" subset as a side-effect.
407 <STRONG>-I</STRONG> sets the subset to all capabilities.
409 <STRONG>-r</STRONG> sets the subset to all capabilities.
411 <STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
412 The <STRONG>-s</STRONG> option sorts the fields within each type according to the
415 <STRONG>d</STRONG> leave fields in the order that they are stored in the
416 <EM>terminfo</EM> database.
418 <STRONG>i</STRONG> sort by <EM>terminfo</EM> name.
420 <STRONG>l</STRONG> sort by the long C variable name.
422 <STRONG>c</STRONG> sort by the <EM>termcap</EM> name.
424 If the <STRONG>-s</STRONG> option is not given, the fields printed out will be
425 sorted alphabetically by the <STRONG>terminfo</STRONG> name within each type,
426 except in the case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options, which cause the
427 sorting to be done by the <STRONG>termcap</STRONG> name or the long C variable
430 <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. This is
431 mainly useful for testing and analysis, since the compiled
432 descriptions are limited (e.g., 1023 for termcap, 4096 for
435 <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when
436 translating from terminfo to termcap, untranslatable capabilities
439 <STRONG>-U</STRONG> tells <STRONG>infocmp</STRONG> to not post-process the data after parsing the
440 source file. This feature helps when comparing the actual
441 contents of two source files, since it excludes the inferences
442 that <STRONG>infocmp</STRONG> makes to fill in missing data.
444 <STRONG>-V</STRONG> reports the version of <EM>ncurses</EM> which was used in this program, and
447 <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error as the program
450 The optional parameter <EM>n</EM> is a number from 1 to 10, inclusive,
451 indicating the desired level of detail of information. If <EM>ncurses</EM>
452 is built without tracing support, the optional parameter is
455 <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be
456 wrapped. Use the <STRONG>-W</STRONG> option to do this.
458 <STRONG>-w</STRONG> <EM>width</EM>
459 changes the output to <EM>width</EM> characters.
461 <STRONG>-x</STRONG> print information for user-defined capabilities (see <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
462 These are extensions to the terminfo repertoire which can be
463 loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.
466 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
467 <EM>/usr/share/terminfo</EM>
468 compiled terminal description database
471 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
472 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>
473 and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
475 SVr4 infocmp does not distinguish between absent and cancelled
476 capabilities. Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the
477 internal value used to represent missing integers). This
478 implementation shows those as "NULL", for consistency with missing
481 The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is System V Release
482 4's. Actual BSD curses versions will have a more restricted set. To
483 see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>.
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.
491 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
492 Although System V Release 2 provided a terminfo library, it had no
493 documented tool for decompiling the terminal descriptions. Tony Hansen
494 (AT&T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3.
496 Eric Raymond used the AT&T documentation in 1995 to provide an
497 equivalent <STRONG>infocmp</STRONG> for <EM>ncurses</EM>. In addition, he added a few new
500 <STRONG>o</STRONG> the <STRONG>-e</STRONG> option, to support <EM>fallback</EM> (compiled-in) terminal
503 <STRONG>o</STRONG> the <STRONG>-i</STRONG> option, to help with analysis
505 Later, Thomas Dickey added the <STRONG>-x</STRONG> (user-defined capabilities) option,
506 and the <STRONG>-E</STRONG> option to support fallback entries with user-defined
509 For a complete list, see the <EM>EXTENSIONS</EM> section.
511 In 2010, Roy Marples provided an <STRONG>infocmp</STRONG> program for NetBSD. It is
512 less capable than the SVr4 or <EM>ncurses</EM> versions (e.g., it lacks the
513 sorting options documented in X/Open), but does include the <STRONG>-x</STRONG> option
514 adapted from <EM>ncurses</EM>.
517 </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
518 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.
521 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
522 Eric S. Raymond <esr@snark.thyrsus.com> and
523 Thomas E. Dickey <dickey@invisible-island.net>
526 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
527 <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>,
528 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
530 https://invisible-island.net/ncurses/tctest.html
534 ncurses 6.5 2024-03-16 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
538 <li><a href="#h2-NAME">NAME</a></li>
539 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
540 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
542 <li><a href="#h3-Default-Options">Default Options</a></li>
543 <li><a href="#h3-Comparison-Options_d_c_n_">Comparison Options [-d] [-c] [-n]</a></li>
544 <li><a href="#h3-Source-Listing-Options_I_L_C_r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li>
545 <li><a href="#h3-Use_Option_u_">Use= Option [-u]</a></li>
546 <li><a href="#h3-Other-Options">Other Options</a></li>
549 <li><a href="#h2-FILES">FILES</a></li>
550 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
551 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
552 <li><a href="#h2-HISTORY">HISTORY</a></li>
553 <li><a href="#h2-BUGS">BUGS</a></li>
554 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
555 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>