3 ****************************************************************************
4 * Copyright 2018-2022,2023 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.92 2023/09/16 23:37:03 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 2023-09-16 ncurses 6.4 User commands</TITLE>
39 <link rel="author" href="mailto:bug-ncurses@gnu.org">
43 <H1 class="no-header">infocmp 1m 2023-09-16 ncurses 6.4 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>-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>...]
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>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.
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
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>termnames</EM> are given, <STRONG>infocmp</STRONG> uses the environment variable
115 <STRONG>TERM</STRONG> for each of the <EM>termnames</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 the <STRONG>terminfo</STRONG> names
123 <STRONG>-L</STRONG> use the long C variable name listed in <<STRONG>term.h</STRONG>>
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.
128 If no <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG> will be used
129 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>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'%>%t%p1%'y'%+%;</STRONG> <STRONG>%>xy</STRONG> concept
178 <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG> <STRONG>%r</STRONG> hp
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.
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>.
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.
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
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
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>, as well as the <EM>Fetching</EM>
223 <EM>Compiled</EM> <EM>Descriptions</EM> section in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
225 You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list of places
226 to search when comparing terminal descriptions:
228 <STRONG>o</STRONG> The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM>
230 <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other <EM>termnames</EM>.
232 Using these options, it is possible to compare descriptions for a
233 terminal with the same name located in two different databases. For
234 instance, you can use this feature for comparing descriptions for the
235 same terminal created by different people.
238 </PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE>
239 <STRONG>-0</STRONG> causes the fields to be printed on one line, without wrapping.
241 <STRONG>-1</STRONG> causes the fields to be printed out one to a line. Otherwise, the
242 fields will be printed several to a line to a maximum width of 60
245 <STRONG>-a</STRONG> tells <STRONG>infocmp</STRONG> to retain commented-out capabilities rather than
246 discarding them. Capabilities are commented by prefixing them
249 <STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it knows about,
252 <STRONG>-E</STRONG> Dump the capabilities of the given terminal as tables, needed in
253 the C initializer for a TERMTYPE structure (the terminal
254 capability structure in the <STRONG><term.h></STRONG>). This option is useful for
255 preparing versions of the curses library hardwired for a given
256 terminal type. The tables are all declared static, and are named
257 according to the type and the name of the corresponding terminal
260 Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG> options was
261 not needed; but support for extended names required making the
262 arrays of terminal capabilities separate from the TERMTYPE
265 <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C initializer for
266 a TERMTYPE structure (the terminal capability structure in the
267 <STRONG><term.h></STRONG>). This option is useful for preparing versions of the
268 curses library hardwired for a given terminal type.
270 <STRONG>-F</STRONG> compare terminfo files. This assumes that two following arguments
271 are filenames. The files are searched for pairwise matches
272 between entries, with two entries considered to match if any of
273 their names do. The report printed to standard output lists
274 entries with no matches in the other file, and entries with more
275 than one match. For entries with exactly one match it includes a
276 difference report. Normally, to reduce the volume of the report,
277 use references are not resolved before looking for differences,
278 but resolution can be forced by also specifying <STRONG>-r</STRONG>.
280 <STRONG>-f</STRONG> Display complex terminfo strings which contain if/then/else/endif
281 expressions indented for readability.
283 <STRONG>-G</STRONG> Display constant literals in decimal form rather than their
284 character equivalents.
286 <STRONG>-g</STRONG> Display constant character literals in quoted form rather than
287 their decimal equivalents.
289 <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>,
290 <STRONG>rs3</STRONG>), strings in the entry, as well as those used for
291 starting/stopping cursor-positioning mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>) as well
292 as starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
294 For each string, the code tries to analyze it into actions in
295 terms of the other capabilities in the entry, certain X3.64/ISO
296 6429/ECMA-48 capabilities, and certain DEC VT-series private modes
297 (the set of recognized special sequences has been selected for
298 completeness over the existing terminfo database). Each report
299 line consists of the capability name, followed by a colon and
300 space, followed by a printable expansion of the capability string
301 with sections matching recognized actions translated into
302 {}-bracketed descriptions.
304 Here is a list of the DEC/ANSI special sequences recognized:
307 -----------------------------------------
312 RSR reset scroll region
313 -----------------------------------------
314 DECSTR soft reset (VT320)
317 S7C1T 7-bit controls (VT220)
318 -----------------------------------------
319 ISO DEC G0 enable DEC graphics for G0
320 ISO UK G0 enable UK chars for G0
321 ISO US G0 enable US chars for G0
322 ISO DEC G1 enable DEC graphics for G1
323 ISO UK G1 enable UK chars for G1
324 ISO US G1 enable US chars for G1
325 -----------------------------------------
326 DECPAM application keypad mode
327 DECPNM normal keypad mode
328 DECANSI enter ANSI mode
329 -----------------------------------------
330 ECMA[+-]AM keyboard action mode
331 ECMA[+-]IRM insert replace mode
332 ECMA[+-]SRM send receive mode
333 ECMA[+-]LNM linefeed mode
334 -----------------------------------------
335 DEC[+-]CKM application cursor keys
336 DEC[+-]ANM set VT52 mode
337 DEC[+-]COLM 132-column mode
338 DEC[+-]SCLM smooth scroll
339 DEC[+-]SCNM reverse video mode
340 DEC[+-]OM origin mode
341 DEC[+-]AWM wraparound mode
342 DEC[+-]ARM auto-repeat mode
344 It also recognizes a SGR action corresponding to ANSI/ISO 6429/ECMA Set
345 Graphics Rendition, with the values NORMAL, BOLD, UNDERLINE, BLINK, and
346 REVERSE. All but NORMAL may be prefixed with
348 <STRONG>o</STRONG> "+" (turn on) or
350 <STRONG>o</STRONG> "-" (turn off).
352 An SGR0 designates an empty highlight sequence (equivalent to
355 <STRONG>-l</STRONG> Set output format to terminfo.
357 <STRONG>-p</STRONG> Ignore padding specifications when comparing strings.
359 <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in terminfo (text) format, print the
360 compiled (binary) format in hexadecimal or base64 form, depending
361 on the option's value:
367 3 hexadecimal and base64
369 For example, this prints the compiled terminfo value as a string
370 which could be assigned to the <STRONG>TERMINFO</STRONG> environment variable:
374 <STRONG>-q</STRONG> This makes the output a little shorter:
376 <STRONG>o</STRONG> Make the comparison listing shorter by omitting subheadings,
377 and using "-" for absent capabilities, "@" for canceled rather
380 <STRONG>o</STRONG> However, show differences between absent and cancelled
383 <STRONG>o</STRONG> Omit the "Reconstructed from" comment for source listings.
385 <STRONG>-R</STRONG><EM>subset</EM>
386 Restrict output to a given subset. This option is for use with
387 archaic versions of terminfo like those on SVr1, Ultrix, or HP-UX
388 that do not support the full set of SVR4/XSI Curses terminfo; and
389 variants such as AIX that have their own extensions incompatible
392 <STRONG>o</STRONG> Available terminfo subsets are "SVr1", "Ultrix", "HP", and
393 "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
395 <STRONG>o</STRONG> You can also choose the subset "BSD" which selects only
396 capabilities with termcap equivalents recognized by 4.4BSD.
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.
401 A few options override the subset selected with <STRONG>-R</STRONG>, if they are
402 processed later in the command parameters:
404 <STRONG>-C</STRONG> sets the "BSD" subset as a side-effect.
406 <STRONG>-I</STRONG> sets the subset to all capabilities.
408 <STRONG>-r</STRONG> sets the subset to all capabilities.
410 <STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
411 The <STRONG>-s</STRONG> option sorts the fields within each type according to the
414 <STRONG>d</STRONG> leave fields in the order that they are stored in the
415 <EM>terminfo</EM> database.
417 <STRONG>i</STRONG> sort by <EM>terminfo</EM> name.
419 <STRONG>l</STRONG> sort by the long C variable name.
421 <STRONG>c</STRONG> sort by the <EM>termcap</EM> name.
423 If the <STRONG>-s</STRONG> option is not given, the fields printed out will be
424 sorted alphabetically by the <STRONG>terminfo</STRONG> name within each type,
425 except in the case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options, which cause the
426 sorting to be done by the <STRONG>termcap</STRONG> name or the long C variable
429 <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. This is
430 mainly useful for testing and analysis, since the compiled
431 descriptions are limited (e.g., 1023 for termcap, 4096 for
434 <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when
435 translating from terminfo to termcap, untranslatable capabilities
438 <STRONG>-U</STRONG> tells <STRONG>infocmp</STRONG> to not post-process the data after parsing the
439 source file. This feature helps when comparing the actual
440 contents of two source files, since it excludes the inferences
441 that <STRONG>infocmp</STRONG> makes to fill in missing data.
443 <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
446 <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error as the program
449 The optional parameter <EM>n</EM> is a number from 1 to 10, inclusive,
450 indicating the desired level of detail of information. If ncurses
451 is built without tracing support, the optional parameter is
454 <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be
455 wrapped. Use the <STRONG>-W</STRONG> option to do this.
457 <STRONG>-w</STRONG> <EM>width</EM>
458 changes the output to <EM>width</EM> characters.
460 <STRONG>-x</STRONG> print information for user-defined capabilities (see <STRONG>user_caps(5)</STRONG>.
461 These are extensions to the terminfo repertoire which can be
462 loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.
465 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
466 /usr/share/terminfo Compiled terminal description database.
469 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
470 Although System V Release 2 provided a terminfo library, it had no
471 documented tool for decompiling the terminal descriptions. Tony Hansen
472 (AT&T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3.
474 Eric Raymond used the AT&T documentation in 1995 to provide an
475 equivalent <STRONG>infocmp</STRONG> for ncurses. In addition, he added a few new
478 <STRONG>o</STRONG> the <STRONG>-e</STRONG> option, to support <EM>fallback</EM> (compiled-in) terminal
481 <STRONG>o</STRONG> the <STRONG>-i</STRONG> option, to help with analysis
483 Later, Thomas Dickey added the <STRONG>-x</STRONG> (user-defined capabilities) option,
484 and the <STRONG>-E</STRONG> option to support fallback entries with user-defined
487 For a complete list, see the <EM>EXTENSIONS</EM> section.
489 In 2010, Roy Marples provided an <STRONG>infocmp</STRONG> program for NetBSD. It is
490 less capable than the SVr4 or ncurses versions (e.g., it lacks the
491 sorting options documented in X/Open), but does include the <STRONG>-x</STRONG> option
492 adapted from ncurses.
495 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
496 X/Open Curses, Issue 7 (2009) provides a description of <STRONG>infocmp</STRONG>. It
497 does not mention the options used for converting to termcap format.
500 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
501 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>
502 and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
504 SVr4 infocmp does not distinguish between absent and cancelled
505 capabilities. Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the
506 internal value used to represent missing integers). This
507 implementation shows those as "NULL", for consistency with missing
510 The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is System V Release
511 4's. Actual BSD curses versions will have a more restricted set. To
512 see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>.
515 </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
516 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.
519 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
520 <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>,
521 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
523 https://invisible-island.net/ncurses/tctest.html
525 This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230923).
528 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
529 Eric S. Raymond <esr@snark.thyrsus.com> and
530 Thomas E. Dickey <dickey@invisible-island.net>
534 ncurses 6.4 2023-09-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-HISTORY">HISTORY</a></li>
551 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
552 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
553 <li><a href="#h2-BUGS">BUGS</a></li>
554 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
555 <li><a href="#h2-AUTHOR">AUTHOR</a></li>