- Another error that does not cause incorrect compiled
- files, but will slow down the compilation time, is speci-
- fying extra <B>use=</B> fields that are superfluous. <B>infocmp</B>
- will flag any other <I>termname</I> <I>use=</I> fields that were not
- needed.
-
- <B>Changing</B> <B>Databases</B> <B>[-A</B> <I>directory</I>] [-B <I>directory</I>]
- The location of the compiled <B>terminfo</B> database is taken
- from the environment variable <B>TERMINFO</B> . If the variable
- is not defined, or the terminal is not found in that loca-
- tion, the system <B>terminfo</B> database, in <B>@DATADIR@/terminfo</B>,
- will be used. The options <B>-A</B> and <B>-B</B> may be used to over-
- ride this location. The <B>-A</B> option will set <B>TERMINFO</B> for
- the first <I>termname</I> and the <B>-B</B> option will set <B>TERMINFO</B> for
- the other <I>termnames</I>. With this, it is possible to compare
- descriptions for a terminal with the same name located in
- two different databases. This is useful for comparing
- descriptions for the same terminal created by different
- people.
-
- <B>Other</B> <B>Options</B> <B>[-s</B> <B>d|i|l|c]</B> <B>[-1FTVefip]</B> <B>[-Rsubset]</B> <B>[-v</B> <I>n</I>] [-w
- <I>width</I>]
- The <B>-s</B> option sorts the fields within each type according
- to the argument below:
-
- <B>d</B> leave fields in the order that they are stored in the
- <I>terminfo</I> database.
-
- <B>i</B> sort by <I>terminfo</I> name.
-
- <B>l</B> sort by the long C variable name.
-
- <B>c</B> sort by the <I>termcap</I> name.
-
- If the <B>-s</B> option is not given, the fields printed out
- will be sorted alphabetically by the <B>terminfo</B> name
- within each type, except in the case of the <B>-C</B> or the
- <B>-L</B> options, which cause the sorting to be done by the
- <B>termcap</B> name or the long C variable name, respec-
- tively.
-
- <B>-1</B> causes the fields to be printed out one to a line.
- Otherwise, the fields will be printed several to a
- line to a maximum width of 60 characters.
-
- <B>-F</B> compare terminfo files. This assumes that two fol-
- lowing arguments are filenames. The files are
- searched for pairwise matches between entries, with
- two entries considered to match if any of their names
- do. The report printed to standard output lists
- entries with no matches in the other file, and
- entries with more than one match. For entries with
- exactly one match it includes a difference report.
- Normally, to reduce the volume of the report, use
- references are not resolved before looking for dif-
- ferences, but resolution can be forced by also speci-
- fying <B>-r</B>.
-
- <B>-G</B> Display constant literals in decimal form rather than
- their character equivalents.
-
- <B>-a</B> tells <B>infocmp</B> to retain commented-out capabilities
- rather than discarding them. Capabilities are com-
- mented by prefixing them with a period.
-
- <B>-q</B> Make the comparison listing shorter by omitting sub-
- headings, and using "-" for absent capabilities, "@"
- for canceled rather than "NULL".
-
- <B>-R</B><I>subset</I>
- Restrict output to a given subset. This option is
- for use with archaic versions of terminfo like those
- on SVr1, Ultrix, or HP/UX that do not support the
- full set of SVR4/XSI Curses terminfo; and variants
- such as AIX that have their own extensions incompati-
- ble with SVr4/XSI. Available terminfo subsets are
- "SVr1", "Ultrix", "HP", and "AIX"; see <B><A HREF="terminfo.5.html">terminfo(5)</A></B>
- for details. You can also choose the subset "BSD"
- which selects only capabilities with termcap equiva-
- lents recognized by 4.4BSD.
-
- <B>-T</B> eliminates size-restrictions on the generated text.
- This is mainly useful for testing and analysis, since
- the compiled descriptions are limited (e.g., 1023 for
- termcap, 4096 for terminfo).
-
- <B>-V</B> prints out the version of the program in use on stan-
- dard error and exits.
-
- <B>-e</B> Dump the capabilities of the given terminal as a C
- initializer for a TERMTYPE structure (the terminal
- capability structure in the <B><term.h></B>). This option
- is useful for preparing versions of the curses
- library hardwired for a given terminal type.
-
- <B>-E</B> Dump the capabilities of the given terminal as
- tables, needed in the C initializer for a TERMTYPE
- structure (the terminal capability structure in the
- <B><term.h></B>). This option is useful for preparing ver-
- sions of the curses library hardwired for a given
- terminal type. The tables are all declared static,
- and are named according to the type and the name of
- the corresponding terminal entry.
-
- Before ncurses 5.0, the split between the <B>-e</B> and <B>-E</B>
- options was not needed; but support for extended
- names required making the arrays of terminal capabil-
- ities separate from the TERMTYPE structure.
-
- <B>-f</B> Display complex terminfo strings which contain
- if/then/else/endif expressions indented for readabil-
- ity.
-
- <B>-g</B> Display constant character literals in quoted form
- rather than their decimal equivalents.
-
- <B>-i</B> Analyze the initialization (<B>is1</B>, <B>is2</B>, <B>is3</B>), and reset
- (<B>rs1</B>, <B>rs2</B>, <B>rs3</B>), strings in the entry. For each
- string, the code tries to analyze it into actions in
- terms of the other capabilities in the entry, certain
- X3.64/ISO 6429/ECMA-48 capabilities, and certain DEC
- VT-series private modes (the set of recognized spe-
- cial sequences has been selected for completeness
- over the existing terminfo database). Each report
- line consists of the capability name, followed by a
- colon and space, followed by a printable expansion of
- the capability string with sections matching recog-
- nized actions translated into {}-bracketed
- descriptions. Here is a list of the DEC/ANSI special
- sequences recognized:
-
- Action Meaning
- -----------------------------------------
- RIS full reset
- SC save cursor
- RC restore cursor
- LL home-down
- RSR reset scroll region
-
- ISO DEC G0 enable DEC graphics for G0
- ISO UK G0 enable UK chars for G0
- ISO US G0 enable US chars for G0
- ISO DEC G1 enable DEC graphics for G1
- ISO UK G1 enable UK chars for G1
- ISO US G1 enable US chars for G1
-
- DECPAM application keypad mode
- DECPNM normal keypad mode
- DECANSI enter ANSI mode
-
- DEC[+-]CKM application cursor keys
- DEC[+-]ANM set VT52 mode
- DEC[+-]COLM 132-column mode
- DEC[+-]SCLM smooth scroll
- DEC[+-]SCNM reverse video mode
- DEC[+-]OM origin mode
- DEC[+-]AWM wraparound mode
- DEC[+-]ARM auto-repeat mode
-
- It also recognizes a SGR action corresponding to
- ANSI/ISO 6429/ECMA Set Graphics Rendition, with the
- values NORMAL, BOLD, UNDERLINE, BLINK, and REVERSE.
- All but NORMAL may be prefixed with `+' (turn on) or
- `-' (turn off).
-
- An SGR0 designates an empty highlight sequence
- (equivalent to {SGR:NORMAL}).
-
- <B>-p</B> Ignore padding specifications when comparing strings.
-
- <B>-v</B> <I>n</I> prints out tracing information on standard error as
- the program runs. Higher values of n induce greater
- verbosity.
-
- <B>-w</B> <I>width</I>
- changes the output to <I>width</I> characters.
+ Another error that does not cause incorrect compiled files, but will
+ slow down the compilation time, is specifying extra <STRONG>use=</STRONG> fields that
+ are superfluous. <STRONG>infocmp</STRONG> will flag any other <EM>termname</EM> <EM>use=</EM> fields that
+ were not needed.
+
+ <STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>]
+ Like other <STRONG>ncurses</STRONG> utilities, <STRONG>infocmp</STRONG> looks for the terminal
+ descriptions in several places. You can use the <STRONG>TERMINFO</STRONG> and
+ <STRONG>TERMINFO_DIRS</STRONG> environment variables to override the compiled-in default
+ list of places to search (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
+
+ You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list of places
+ to search when comparing terminal descriptions:
+
+ <STRONG>o</STRONG> The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM>
+
+ <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other <EM>termnames</EM>.
+
+ Using these options, it is possible to compare descriptions for a
+ terminal with the same name located in two different databases. For
+ instance, you can use this feature for comparing descriptions for the
+ same terminal created by different people.
+
+
+</PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE>
+ <STRONG>-0</STRONG> causes the fields to be printed on one line, without wrapping.
+
+ <STRONG>-1</STRONG> causes the fields to be printed out one to a line. Otherwise, the
+ fields will be printed several to a line to a maximum width of 60
+ characters.
+
+ <STRONG>-a</STRONG> tells <STRONG>infocmp</STRONG> to retain commented-out capabilities rather than
+ discarding them. Capabilities are commented by prefixing them
+ with a period.
+
+ <STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it knows about,
+ and exit.
+
+ <STRONG>-E</STRONG> Dump the capabilities of the given terminal as tables, needed in
+ the C initializer for a TERMTYPE structure (the terminal
+ capability structure in the <STRONG><term.h></STRONG>). This option is useful for
+ preparing versions of the curses library hardwired for a given
+ terminal type. The tables are all declared static, and are named
+ according to the type and the name of the corresponding terminal
+ entry.
+
+ Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG> options was
+ not needed; but support for extended names required making the
+ arrays of terminal capabilities separate from the TERMTYPE
+ structure.
+
+ <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C initializer for
+ a TERMTYPE structure (the terminal capability structure in the
+ <STRONG><term.h></STRONG>). This option is useful for preparing versions of the
+ curses library hardwired for a given terminal type.
+
+ <STRONG>-F</STRONG> compare terminfo files. This assumes that two following arguments
+ are filenames. The files are searched for pairwise matches
+ between entries, with two entries considered to match if any of
+ their names do. The report printed to standard output lists
+ entries with no matches in the other file, and entries with more
+ than one match. For entries with exactly one match it includes a
+ difference report. Normally, to reduce the volume of the report,
+ use references are not resolved before looking for differences,
+ but resolution can be forced by also specifying <STRONG>-r</STRONG>.
+
+ <STRONG>-f</STRONG> Display complex terminfo strings which contain if/then/else/endif
+ expressions indented for readability.
+
+ <STRONG>-G</STRONG> Display constant literals in decimal form rather than their
+ character equivalents.
+
+ <STRONG>-g</STRONG> Display constant character literals in quoted form rather than
+ their decimal equivalents.
+
+ <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>,
+ <STRONG>rs3</STRONG>), strings in the entry, as well as those used for
+ starting/stopping cursor-positioning mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>) as well
+ as starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
+
+ For each string, the code tries to analyze it into actions in
+ terms of the other capabilities in the entry, certain X3.64/ISO
+ 6429/ECMA-48 capabilities, and certain DEC VT-series private modes
+ (the set of recognized special sequences has been selected for
+ completeness over the existing terminfo database). Each report
+ line consists of the capability name, followed by a colon and
+ space, followed by a printable expansion of the capability string
+ with sections matching recognized actions translated into
+ {}-bracketed descriptions.
+
+ Here is a list of the DEC/ANSI special sequences recognized:
+
+ Action Meaning
+ -----------------------------------------
+ RIS full reset
+ SC save cursor
+ RC restore cursor
+ LL home-down
+ RSR reset scroll region
+ -----------------------------------------
+ DECSTR soft reset (VT320)
+ S7C1T 7-bit controls (VT220)
+ -----------------------------------------
+
+ ISO DEC G0 enable DEC graphics for G0
+ ISO UK G0 enable UK chars for G0
+ ISO US G0 enable US chars for G0
+ ISO DEC G1 enable DEC graphics for G1
+ ISO UK G1 enable UK chars for G1
+ ISO US G1 enable US chars for G1
+ -----------------------------------------
+ DECPAM application keypad mode
+ DECPNM normal keypad mode
+ DECANSI enter ANSI mode
+ -----------------------------------------
+ ECMA[+-]AM keyboard action mode
+ ECMA[+-]IRM insert replace mode
+ ECMA[+-]SRM send receive mode
+ ECMA[+-]LNM linefeed mode
+ -----------------------------------------
+ DEC[+-]CKM application cursor keys
+ DEC[+-]ANM set VT52 mode
+ DEC[+-]COLM 132-column mode
+ DEC[+-]SCLM smooth scroll
+ DEC[+-]SCNM reverse video mode
+ DEC[+-]OM origin mode
+ DEC[+-]AWM wraparound mode
+ DEC[+-]ARM auto-repeat mode
+
+ It also recognizes a SGR action corresponding to ANSI/ISO
+ 6429/ECMA Set Graphics Rendition, with the values NORMAL, BOLD,
+ UNDERLINE, BLINK, and REVERSE. All but NORMAL may be prefixed
+ with
+
+ <STRONG>o</STRONG> "+" (turn on) or
+
+ <STRONG>o</STRONG> "-" (turn off).
+
+ An SGR0 designates an empty highlight sequence (equivalent to
+ {SGR:NORMAL}).
+
+ <STRONG>-l</STRONG> Set output format to terminfo.
+
+ <STRONG>-p</STRONG> Ignore padding specifications when comparing strings.
+
+ <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in terminfo (text) format, print the
+ compiled (binary) format in hexadecimal or base64 form, depending
+ on the option's value:
+
+ 1 hexadecimal
+
+ 2 base64
+
+ 3 hexadecimal and base64
+
+ For example, this prints the compiled terminfo value as a string
+ which could be assigned to the <STRONG>TERMINFO</STRONG> environment variable:
+
+ infocmp -0 -q -Q2