]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - man/infocmp.1m
ncurses 6.4 - patch 20240420
[ncurses.git] / man / infocmp.1m
index c34f2f5933f67ec2573a31f343f1423ab48a8e31..5f92c96dd63b8663c588fd9ff49d0f33443709ae 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey                                *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 1998-2017,2018 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: infocmp.1m,v 1.86 2023/07/01 14:31:54 tom Exp $
-.TH @INFOCMP@ 1M 2023-07-01 "ncurses 6.4" "User commands"
-.ie \n(.g .ds `` \(lq
-.el       .ds `` ``
-.ie \n(.g .ds '' \(rq
-.el       .ds '' ''
-.ds n 5
+.\" $Id: infocmp.1m,v 1.109 2024/03/16 15:35:01 tom Exp $
+.TH @INFOCMP@ 1M 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.ie \n(.g \{\
+.ds `` \(lq
+.ds '' \(rq
+.ds '  \(aq
+.\}
+.el \{\
+.ie t .ds `` ``
+.el   .ds `` ""
+.ie t .ds '' ''
+.el   .ds '' ""
+.ie t .ds '  \(aq
+.el   .ds '  '
+.\}
+.
 .de bP
 .ie n  .IP \(bu 4
 .el    .IP \(bu 2
 ..
-.de NS
-.ie n  .sp
-.el    .sp .5
-.ie n  .in +4
-.el    .in +2
-.nf
-.ft CR                 \" Courier
-..
-.de NE
-.fi
-.ft R
-.ie n  .in -4
-.el    .in -2
-..
+.
 .ds d @TERMINFO@
 .SH NAME
-\fB@INFOCMP@\fP \- compare or print out \fIterminfo\fP descriptions
+\fB@INFOCMP@\fP \-
+compare or print out \fIterminfo\fP descriptions
 .SH SYNOPSIS
 \fB@INFOCMP@\fP [\fB\-\
 1\
+c\
 C\
+d\
 D\
+e\
 E\
 F\
+g\
 G\
+i\
 I\
 K\
-L\
-T\
-U\
-V\
-W\
-c\
-d\
-e\
-g\
-i\
 l\
+L\
 n\
 p\
 q\
 r\
 t\
+T\
 u\
+U\
+V\
+W\
 x\
 \fP]
       [\fB\-v\fR \fIn\fR] [\fB\-s d\fR| \fBi\fR| \fBl\fR| \fBc\fR] [\fB\-Q\fR \fIn\fR] [\fB\-R \fBsubset\fR]
       [\fB\-w\fP\ \fIwidth\fP] [\fB\-A\fP\ \fIdirectory\fP] [\fB\-B\fP\ \fIdirectory\fP]
-      [\fItermname\fP...]
+      [\fIterminal-type\fP ...]
 .SH DESCRIPTION
 \fB@INFOCMP@\fP can be used to compare a binary \fBterminfo\fP entry with other
 terminfo entries, rewrite a \fBterminfo\fP description to take advantage of the
 \fBuse=\fP terminfo field, or print out a \fBterminfo\fP description from the
 binary file (\fBterm\fP) in a variety of formats.
-In all cases, the boolean
+In all cases, the Boolean
 fields will be printed first, followed by the numeric fields, followed by the
 string fields.
-.SS Default Options
-If no options are specified and zero or one \fItermnames\fP are specified, the
+.SS "Default Options"
+If no options are specified and zero or one \fIterminal-types\fP are
+specified,
+the
 \fB\-I\fP option will be assumed.
-If more than one \fItermname\fP is specified,
+If more than one \fIterminal-type\fP is specified,
 the \fB\-d\fP option will be assumed.
-.SS Comparison Options [\-d] [\-c] [\-n]
+.SS "Comparison Options [\-d] [\-c] [\-n]"
 \fB@INFOCMP@\fP compares the \fBterminfo\fP description of the first terminal
-\fItermname\fP with each of the descriptions given by the entries for the other
-terminal's \fItermnames\fP.
+\fIterminal-type\fP with each of the descriptions given by the entries
+for the other terminal's \fIterminal-types\fP.
 If a capability is defined for only one of the
 terminals, the value returned depends on the type of the capability:
 .bP
-\fBF\fP for missing boolean variables
+\fBF\fP for missing Boolean variables
 .bP
 \fBNULL\fP for missing integer or string variables
 .PP
@@ -143,25 +142,25 @@ Normally only the conventional capabilities are shown.
 Use the \fB\-x\fP option to add the BSD-compatibility
 capabilities (names prefixed with \*(``OT\*('').
 .IP
-If no \fItermnames\fP are given,
-\fB@INFOCMP@\fP uses the environment variable \fBTERM\fP
-for each of the \fItermnames\fP.
-.SS Source Listing Options [\-I] [\-L] [\-C] [\-r]
+If no \fIterminal-types\fP are given,
+\fB@INFOCMP@\fP uses the environment variable \fITERM\fP
+for each of the \fIterminal-types\fP.
+.SS "Source Listing Options [\-I] [\-L] [\-C] [\-r]"
 The \fB\-I\fP, \fB\-L\fP, and \fB\-C\fP options will produce
 a source listing for each terminal named.
-.
+.PP
 .TS
-center tab(/) ;
-l l .
-\fB\-I\fP/use the \fBterminfo\fP names
-\fB\-L\fP/use the long C variable name listed in <\fBterm.h\fP>
-\fB\-C\fP/use the \fBtermcap\fP names
-\fB\-r\fP/when using \fB\-C\fP, put out all capabilities in \fBtermcap\fP form
-\fB\-K\fP/modifies the \fB\-C\fP option, improving BSD-compatibility.
+center;
+Lb L.
+\-I    use \fIterminfo\fP capability codes
+\-L    use \*(``long\*('' capability names
+\-C    use \fItermcap\fP capability codes
+\-r    with \fB\-C\fP, include nonstandard capabilities
+\-K    with \fB\-C\fP, improve BSD compatibility
 .TE
 .PP
-If no \fItermnames\fP are given, the environment variable \fBTERM\fP will be
-used for the terminal name.
+If no \fIterminal-types\fP are given,
+the environment variable \fITERM\fP will be used for the terminal name.
 .PP
 The source produced by the \fB\-C\fP option may be used directly as a
 \fBtermcap\fP entry, but not all parameterized strings can be changed to
@@ -212,28 +211,34 @@ will not necessarily reproduce the original \fBterminfo\fP source.
 .PP
 Some common \fBterminfo\fP parameter sequences, their \fBtermcap\fP
 equivalents, and some terminal types which commonly have such sequences, are:
-.
+.PP
 .TS
-center tab(/) ;
-l c l
-l l l.
-\fBterminfo/termcap\fP/Representative Terminals
-=
-\fB%p1%c/%.\fP/adm
-\fB%p1%d/%d\fP/hp, ANSI standard, vt100
-\fB%p1%'x'%+%c/%+x\fP/concept
-\fB%i/%i\fPq/ANSI standard, vt100
-\fB%p1%?%'x'%>%t%p1%'y'%+%;/%>xy\fP/concept
-\fB%p2\fP is printed before \fB%p1/%r\fP/hp
+center;
+Lf(BI) Lf(BI) L
+Lb     Lb     L.
+terminfo       termcap Terminal Types
+_
+.\" ansi-m cup (adm3a has other stuff in between, more like concept)
+%p1%c  %.      ansi\-m
+.\" ansi cub, vt100 cub
+%p1%d  %d      ansi, vt100
+.\" vt52 cup (via vt52-basic)
+%p1%\*' \*'%+%c        %+x     vt52
+.\" ansi cup, vt100 cup
+%i     %iq     ansi, vt100
+.\" annarbor4080 cup
+%p1%?%\*'x\*'%>%t%p1%\*'y\*'%+%;       %>xy    annarbor4080
+.\" hpgeneric cup
+%p2\fR\|.\|.\|.\|\fP%p1        %r      hpgeneric
 .TE
-.SS Use= Option [\-u]
+.SS "Use= Option [\-u]"
 The \fB\-u\fP option produces a \fBterminfo\fP source description of the first
-terminal \fItermname\fP which is relative to the sum of the descriptions given
-by the entries for the other terminals \fItermnames\fP.
+terminal \fIterminal-type\fP which is relative to the sum of the
+descriptions given by the entries for the other \fIterminal-types\fP.
 It does this by
-analyzing the differences between the first \fItermname\fP and the other
-\fItermnames\fP and producing a description with \fBuse=\fP fields for the
-other terminals.
+analyzing the differences between the first \fIterminal-types\fP and the
+other \fIterminal-types\fP and producing a description with \fBuse=\fP
+fields for the other terminals.
 In this manner, it is possible to retrofit generic terminfo
 entries into a terminal's description.
 Or, if two similar terminals exist, but
@@ -243,21 +248,24 @@ will show what can be done to change
 one description to be relative to the other.
 .PP
 A capability will be printed with an at-sign (@) if it no longer exists in the
-first \fItermname\fP, but one of the other \fItermname\fP entries contains a
-value for it.
+first \fIterminal-type\fP,
+but one of the other \fIterminal-type\fP entries contains a value for
+it.
 A capability's value will be printed if the value in the first
-\fItermname\fP is not found in any of the other \fItermname\fP entries, or if
-the first of the other \fItermname\fP entries that has this capability gives a
-different value for the capability than that in the first \fItermname\fP.
+\fIterminal-type\fP is not found in any of the other \fIterminal-type\fP
+entries,
+or if the first of the other \fIterminal-type\fP entries that has this
+capability gives a different value for the capability than that in the
+first \fIterminal-type\fP.
 .PP
-The order of the other \fItermname\fP entries is significant.
+The order of the other \fIterminal-type\fP entries is significant.
 Since the
 terminfo compiler \fB@TIC@\fP does a left-to-right scan of the capabilities,
 specifying two \fBuse=\fP entries that contain differing entries for the same
 capabilities will produce different results depending on the order that the
 entries are given in.
 \fB@INFOCMP@\fP will flag any such inconsistencies between
-the other \fItermname\fP entries as they are found.
+the other \fIterminal-type\fP entries as they are found.
 .PP
 Alternatively, specifying a capability \fIafter\fP a \fBuse=\fP entry that
 contains that capability will cause the second specification to be ignored.
@@ -268,22 +276,24 @@ description.
 Another error that does not cause incorrect compiled files, but will slow down
 the compilation time, is specifying extra \fBuse=\fP fields that are
 superfluous.
-\fB@INFOCMP@\fP will flag any other \fItermname use=\fP fields that
+\fB@INFOCMP@\fP will flag any other \fIterminal-type use=\fP fields that
 were not needed.
-.SS Changing Databases [\-A \fIdirectory\fR] [\-B \fIdirectory\fR]
-Like other \fBncurses\fP utilities,
+.SS "Changing Databases [\-A \fIdirectory\fR] [\-B \fIdirectory\fR]"
+Like other \fI\%ncurses\fP utilities,
 \fB@INFOCMP@\fP looks for the terminal descriptions in several places.
-You can use the \fBTERMINFO\fP and \fBTERMINFO_DIRS\fP environment variables
-to override the compiled-in default list of places to search
-(see \fBcurses\fP(3X) for details).
+You can use the \fI\%TERMINFO\fP and \fI\%TERMINFO_DIRS\fP environment
+variables to override the compiled-in default list of places to search.
+See \fBcurses\fP(3X), as well as
+the \fIFetching Compiled Descriptions\fP section in \fBterminfo\fR(5).
 .PP
 You can also use the options \fB\-A\fP
 and \fB\-B\fP to override the list of places to search
 when comparing terminal descriptions:
 .bP
-The \fB\-A\fP option sets the location for the first \fItermname\fP
+The \fB\-A\fP option sets the location for the first \fIterminal-type\fP
 .bP
-The \fB\-B\fP option sets the location for the other \fItermnames\fP.
+The \fB\-B\fP option sets the location for the other
+\fIterminal-types\fP.
 .PP
 Using these options, it is possible to
 compare descriptions for a terminal with the same name located in two different
@@ -291,7 +301,7 @@ databases.
 For instance,
 you can use this feature for comparing descriptions for the same terminal
 created by different people.
-.SS Other Options
+.SS "Other Options"
 .TP 5
 \fB\-0\fP
 causes the fields to be printed on one line, without wrapping.
@@ -320,9 +330,10 @@ 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.
 .sp
-Before ncurses 5.0, the split between the \fB\-e\fP and \fB\-E\fP
-options was not needed; but support for extended names required making
-the arrays of terminal capabilities separate from the TERMTYPE structure.
+Before \fI\%ncurses\fP 5.0,
+the split between the \fB\-e\fP and \fB\-E\fP options was not needed;
+but support for extended names required making the arrays of terminal
+capabilities separate from the TERMTYPE structure.
 .TP 5
 \fB\-e\fP
 Dump the capabilities of the given terminal as a C initializer for a
@@ -375,45 +386,45 @@ translated into {}-bracketed descriptions.
 .IP
 Here is a list of the DEC/ANSI
 special sequences recognized:
+.PP
 .TS
-center tab(/) ;
-l l
-l l.
-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
+center;
+L L.
+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
 .TE
 .sp
 It also recognizes a SGR action corresponding to ANSI/ISO 6429/ECMA Set
@@ -452,10 +463,13 @@ hexadecimal and base64
 .RE
 .IP
 For example, this prints the compiled terminfo value as a string
-which could be assigned to the \fBTERMINFO\fP environment variable:
-.NS
-@INFOCMP@ -0 -q -Q2
-.NE
+which could be assigned to the \fI\%TERMINFO\fP environment variable:
+.PP
+.RS 9
+.EX
+@INFOCMP@ \-0 \-q \-Q2
+.EE
+.RE
 .TP 5
 \fB\-q\fP
 This makes the output a little shorter:
@@ -480,7 +494,7 @@ that have their own extensions incompatible with SVr4/XSI.
 .bP
 Available terminfo
 subsets are \*(``SVr1\*('', \*(``Ultrix\*('', \*(``HP\*('', and \*(``AIX\*('';
-see \fBterminfo\fP(\*n) for details.
+see \fBterminfo\fP(5) for details.
 .bP
 You can also choose the subset \*(``BSD\*('' which selects only capabilities
 with termcap equivalents recognized by 4.4BSD.
@@ -546,14 +560,16 @@ since it excludes the inferences that \fB@INFOCMP@\fP makes to fill in missing
 data.
 .TP 5
 \fB\-V\fP
-reports the version of ncurses which was used in this program, and exits.
+reports the version of \fI\%ncurses\fP which was used in this program,
+and exits.
 .TP 5
 \fB\-v\fP \fIn\fP
 prints out tracing information on standard error as the program runs.
 .IP
 The optional parameter \fIn\fP is a number from 1 to 10, inclusive,
 indicating the desired level of detail of information.
-If ncurses is built without tracing support, the optional parameter is ignored.
+If \fI\%ncurses\fP is built without tracing support,
+the optional parameter is ignored.
 .TP
 \fB\-W\fP
 By itself, the \fB\-w\fP option will not force long strings to be wrapped.
@@ -563,41 +579,13 @@ Use the \fB\-W\fP option to do this.
 changes the output to \fIwidth\fP characters.
 .TP
 \fB\-x\fP
-print information for user-defined capabilities (see \fBuser_caps(\*n)\fP.
+print information for user-defined capabilities (see \fBuser_caps\fP(5).
 These are extensions to the terminfo repertoire which can be loaded
 using the \fB\-x\fP option of \fB@TIC@\fP.
 .SH FILES
-.TP 20
-\*d
-Compiled terminal description database.
-.SH HISTORY
-Although System V Release 2 provided a terminfo library,
-it had no documented tool for decompiling the terminal descriptions.
-Tony Hansen (AT&T) wrote the first \fBinfocmp\fP in early 1984,
-for System V Release 3.
-.PP
-Eric Raymond used the AT&T documentation in 1995 to provide an equivalent
-\fB@INFOCMP@\fP for ncurses.
-In addition, he added a few new features such as:
-.bP
-the \fB\-e\fP option, to support \fIfallback\fP
-(compiled-in) terminal descriptions
-.bP
-the \fB\-i\fP option, to help with analysis
-.PP
-Later, Thomas Dickey added the \fB\-x\fP (user-defined capabilities)
-option, and the \fB\-E\fP option to support fallback entries with
-user-defined capabilities.
-.PP
-For a complete list, see the \fIEXTENSIONS\fP section.
-.PP
-In 2010, Roy Marples provided an \fBinfocmp\fP program for NetBSD.
-It is less capable than the SVr4 or ncurses versions
-(e.g., it lacks the sorting options documented in X/Open),
-but does include the \fB\-x\fP option adapted from ncurses.
-.SH PORTABILITY
-X/Open Curses, Issue 7 (2009) provides a description of \fBinfocmp\fP.
-It does not mention the options used for converting to termcap format.
+.TP
+.I \*d
+compiled terminal description database
 .SH EXTENSIONS
 The
 \fB\-0\fP,
@@ -631,23 +619,49 @@ is System V Release 4's.
 Actual BSD curses versions will have a more restricted set.
 To see only the
 4.4BSD set, use \fB\-r\fP \fB\-RBSD\fP.
-.SH BUGS
-The \fB\-F\fP option of \fB@INFOCMP@\fP(1M) should be a \fB@TOE@\fP(1M) mode.
-.SH SEE ALSO
-\fB@CAPTOINFO@\fP(1M),
-\fB@INFOTOCAP@\fP(1M),
-\fB@TIC@\fP(1M),
-\fB@TOE@\fP(1M),
-\fBcurses\fP(3X),
-\fBterminfo\fP(\*n).
-\fBuser_caps\fP(\*n).
-.sp
-https://invisible-island.net/ncurses/tctest.html
+.SH PORTABILITY
+X/Open Curses, Issue 7 (2009) provides a description of \fBinfocmp\fP.
+It does not mention the options used for converting to termcap format.
+.SH HISTORY
+Although System V Release 2 provided a terminfo library,
+it had no documented tool for decompiling the terminal descriptions.
+Tony Hansen (AT&T) wrote the first \fBinfocmp\fP in early 1984,
+for System V Release 3.
 .PP
-This describes \fBncurses\fP
-version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
-.SH AUTHOR
+Eric Raymond used the AT&T documentation in 1995 to provide an equivalent
+\fB@INFOCMP@\fP for \fI\%ncurses\fP.
+In addition, he added a few new features such as:
+.bP
+the \fB\-e\fP option, to support \fIfallback\fP
+(compiled-in) terminal descriptions
+.bP
+the \fB\-i\fP option, to help with analysis
+.PP
+Later, Thomas Dickey added the \fB\-x\fP (user-defined capabilities)
+option, and the \fB\-E\fP option to support fallback entries with
+user-defined capabilities.
+.PP
+For a complete list, see the \fIEXTENSIONS\fP section.
+.PP
+In 2010, Roy Marples provided an \fBinfocmp\fP program for NetBSD.
+It is less capable than the SVr4 or \fI\%ncurses\fP versions
+(e.g., it lacks the sorting options documented in X/Open),
+but does include the \fB\-x\fP option adapted from \fI\%ncurses\fP.
+.SH BUGS
+The \fB\-F\fP option of \fB\%@INFOCMP@\fP(1M) should be a
+\fB\%@TOE@\fP(1M) mode.
+.SH AUTHORS
 Eric S. Raymond <esr@snark.thyrsus.com>
 and
 .br
-Thomas E. Dickey <dickey@invisible-island.net>
+Thomas E. Dickey <dickey@invisible\-island.net>
+.SH SEE ALSO
+\fB\%@CAPTOINFO@\fP(1M),
+\fB\%@INFOTOCAP@\fP(1M),
+\fB\%@TIC@\fP(1M),
+\fB\%@TOE@\fP(1M),
+\fB\%curses\fP(3X),
+\fB\%terminfo\fP(5),
+\fB\%user_caps\fP(5)
+.PP
+https://invisible\-island.net/ncurses/tctest.html