X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Finfocmp.1m.html;h=539345650ea54e8c36abcd3d99388c556f5034a0;hb=d1a029866f6d84087781eaa81de19949d8533426;hp=35270eba47dda245366b93ee1a535dd73ef436e4;hpb=02f1dee48fe8af6ce054388fba739aa4f975004e;p=ncurses.git diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html index 35270eba..53934565 100644 --- a/doc/html/man/infocmp.1m.html +++ b/doc/html/man/infocmp.1m.html @@ -1,7 +1,8 @@ -
--infocmp(1m) infocmp(1m) +infocmp(1m) User commands infocmp(1m) @@ -58,9 +59,9 @@
- infocmp can be used to compare a binary terminfo entry with other ter- - minfo entries, rewrite a terminfo description to take advantage of the - use= terminfo field, or print out a terminfo description from the + infocmp can be used to compare a binary terminfo entry with other + terminfo entries, rewrite a terminfo description to take advantage of + the use= terminfo field, or print out a terminfo description from the binary file (term) in a variety of formats. In all cases, the boolean fields will be printed first, followed by the numeric fields, followed by the string fields. @@ -76,8 +77,8 @@ infocmp compares the terminfo description of the first terminal termname with each of the descriptions given by the entries for the other terminal's termnames. If a capability is defined for only one of - the terminals, the value returned depends on the type of the capabil- - ity: + the terminals, the value returned depends on the type of the + capability: o F for missing boolean variables @@ -95,12 +96,12 @@ -c produces a list of each capability that is common between two or more entries. Missing capabilities are ignored. Each item in the - list shows "=" after the capability name, followed by the capabil- - ity value. + list shows "=" after the capability name, followed by the + capability value. - The -u option provides a related output, showing the first termi- - nal description rewritten to use the second as a building block - via the "use=" clause. + The -u option provides a related output, showing the first + terminal description rewritten to use the second as a building + block via the "use=" clause. -n produces a list of each capability that is in none of the given entries. Each item in the list shows "!" before the capability @@ -115,8 +116,8 @@
- The -I, -L, and -C options will produce a source listing for each ter- - minal named. + The -I, -L, and -C options will produce a source listing for each + terminal named. -I use the terminfo names -L use the long C variable name listed in <term.h> @@ -142,27 +143,27 @@ excess whitespace (use the -0 option for that). All padding information for strings will be collected together and - placed at the beginning of the string where termcap expects it. Manda- - tory padding (padding information with a trailing "/") will become + placed at the beginning of the string where termcap expects it. + Mandatory padding (padding information with a trailing "/") will become optional. All termcap variables no longer supported by terminfo, but which are - derivable from other terminfo variables, will be output. Not all ter- - minfo capabilities will be translated; only those variables which were - part of termcap will normally be output. Specifying the -r option will - take off this restriction, allowing all capabilities to be output in - termcap form. Normally you would use both the -C and -r options. The - actual format used incorporates some improvements for escaped charac- - ters from terminfo format. For a stricter BSD-compatible translation, - use the -K option rather than -C. - - Note that because padding is collected to the beginning of the capabil- - ity, not all capabilities are output. Mandatory padding is not sup- - ported. Because termcap strings are not as flexible, it is not always - possible to convert a terminfo string capability into an equivalent - termcap format. A subsequent conversion of the termcap file back into - terminfo format will not necessarily reproduce the original terminfo - source. + derivable from other terminfo variables, will be output. Not all + terminfo capabilities will be translated; only those variables which + were part of termcap will normally be output. Specifying the -r option + will take off this restriction, allowing all capabilities to be output + in termcap form. Normally you would use both the -C and -r options. + The actual format used incorporates some improvements for escaped + characters from terminfo format. For a stricter BSD-compatible + translation, use the -K option rather than -C. + + Note that because padding is collected to the beginning of the + capability, not all capabilities are output. Mandatory padding is not + supported. Because termcap strings are not as flexible, it is not + always possible to convert a terminfo string capability into an + equivalent termcap format. A subsequent conversion of the termcap file + back into terminfo format will not necessarily reproduce the original + terminfo source. Some common terminfo parameter sequences, their termcap equivalents, and some terminal types which commonly have such sequences, are: @@ -178,10 +179,10 @@
- The -u option produces a terminfo source description of the first ter- - minal termname which is relative to the sum of the descriptions given - by the entries for the other terminals termnames. It does this by ana- - lyzing the differences between the first termname and the other + The -u option produces a terminfo source description of the first + terminal termname which is relative to the sum of the descriptions + given by the entries for the other terminals termnames. It does this + by analyzing the differences between the first termname and the other termnames and producing a description with use= 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 @@ -189,48 +190,47 @@ each description is a full description, using infocmp will show what can be done to change one description to be relative to the other. - A capability will get printed with an at-sign (@) if it no longer - exists in the first termname, but one of the other termname entries - contains a value for it. A capability's value gets printed if the - value in the first termname is not found in any of the other termname - entries, or if the first of the other termname entries that has this - capability gives a different value for the capability than that in the - first termname. - - The order of the other termname entries is significant. Since the ter- - minfo compiler tic does a left-to-right scan of the capabilities, spec- - ifying two use= entries that contain differing entries for the same + A capability will be printed with an at-sign (@) if it no longer exists + in the first termname, but one of the other termname entries contains a + value for it. A capability's value will be printed if the value in the + first termname is not found in any of the other termname entries, or if + the first of the other termname entries that has this capability gives + a different value for the capability than that in the first termname. + + The order of the other termname entries is significant. Since the + terminfo compiler tic does a left-to-right scan of the capabilities, + specifying two use= entries that contain differing entries for the same capabilities will produce different results depending on the order that - the entries are given in. infocmp will flag any such inconsistencies + the entries are given in. infocmp will flag any such inconsistencies between the other termname entries as they are found. Alternatively, specifying a capability after a use= entry that contains - that capability will cause the second specification to be ignored. - Using infocmp to recreate a description can be a useful check to make - sure that everything was specified correctly in the original source + that capability will cause the second specification to be ignored. + Using infocmp to recreate a description can be a useful check to make + sure that everything was specified correctly in the original source description. - Another error that does not cause incorrect compiled files, but will - slow down the compilation time, is specifying extra use= fields that + Another error that does not cause incorrect compiled files, but will + slow down the compilation time, is specifying extra use= fields that are superfluous. infocmp will flag any other termname use= fields that were not needed. Changing Databases [-A directory] [-B directory] - Like other ncurses utilities, infocmp looks for the terminal descrip- - tions in several places. You can use the TERMINFO and TERMINFO_DIRS - environment variables to override the compiled-in default list of - places to search (see curses(3x) for details). + Like other ncurses utilities, infocmp looks for the terminal + descriptions in several places. You can use the TERMINFO and + TERMINFO_DIRS environment variables to override the compiled-in default + list of places to search (see curses(3x) for details). - You can also use the options -A and -B to override the list of places + You can also use the options -A and -B to override the list of places to search when comparing terminal descriptions: o The -A option sets the location for the first termname o The -B option sets the location for the other termnames. - Using these options, it is possible to compare descriptions for a ter- - minal with the same name located in two different databases. For - instance, you can use this feature for comparing descriptions for the + 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. @@ -238,27 +238,28 @@ -0 causes the fields to be printed on one line, without wrapping. -1 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 + fields will be printed several to a line to a maximum width of 60 characters. - -a tells infocmp to retain commented-out capabilities rather than - discarding them. Capabilities are commented by prefixing them + -a tells infocmp to retain commented-out capabilities rather than + discarding them. Capabilities are commented by prefixing them with a period. -D tells infocmp to print the database locations that it knows about, and exit. - -E Dump the capabilities of the given terminal as tables, needed in - the C initializer for a TERMTYPE structure (the terminal capabil- - ity structure in the <term.h>). This option is useful for prepar- - ing 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. + -E Dump the capabilities of the given terminal as tables, needed in + the C initializer for a TERMTYPE structure (the terminal + capability structure in the <term.h>). 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 -e and -E options was not needed; but support for extended names required making the - arrays of terminal capabilities separate from the TERMTYPE struc- - ture. + arrays of terminal capabilities separate from the TERMTYPE + structure. -e Dump the capabilities of the given terminal as a C initializer for a TERMTYPE structure (the terminal capability structure in the @@ -278,16 +279,16 @@ -f Display complex terminfo strings which contain if/then/else/endif expressions indented for readability. - -G Display constant literals in decimal form rather than their char- - acter equivalents. + -G Display constant literals in decimal form rather than their + character equivalents. -g Display constant character literals in quoted form rather than their decimal equivalents. -i Analyze the initialization (is1, is2, is3), and reset (rs1, rs2, - rs3), strings in the entry, as well as those used for start- - ing/stopping cursor-positioning mode (smcup, rmcup) as well as - starting/stopping keymap mode (smkx, rmkx). + rs3), strings in the entry, as well as those used for + starting/stopping cursor-positioning mode (smcup, rmcup) as well + as starting/stopping keymap mode (smkx, rmkx). For each string, the code tries to analyze it into actions in terms of the other capabilities in the entry, certain X3.64/ISO @@ -354,9 +355,9 @@ -p Ignore padding specifications when comparing strings. - -Q n Rather than show source in terminfo (text) format, print the com- - piled (binary) format in hexadecimal or base64 form, depending on - the option's value: + -Q n 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 @@ -375,14 +376,14 @@ and using "-" for absent capabilities, "@" for canceled rather than "NULL". - o However, show differences between absent and cancelled capa- - bilities. + o However, show differences between absent and cancelled + capabilities. o Omit the "Reconstructed from" comment for source listings. -Rsubset Restrict output to a given subset. This option is for use with - archaic versions of terminfo like those on SVr1, Ultrix, or HP/UX + 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 incompatible with SVr4/XSI. @@ -390,20 +391,27 @@ o Available terminfo subsets are "SVr1", "Ultrix", "HP", and "AIX"; see terminfo(5) for details. - o You can also choose the subset "BSD" which selects only capa- - bilities with termcap equivalents recognized by 4.4BSD. The - -C option sets the "BSD" subset as a side-effect. + o You can also choose the subset "BSD" which selects only + capabilities with termcap equivalents recognized by 4.4BSD. + + o If you select any other value for -R, it is the same as no + subset, i.e., all capabilities are used. + + A few options override the subset selected with -R, if they are + processed later in the command parameters: - o If you select any other value for -R, it is the same as no - subset, i.e., all capabilities are used. The -I option like- - wise selects no subset as a side-effect. + -C sets the "BSD" subset as a side-effect. + + -I sets the subset to all capabilities. + + -r sets the subset to all capabilities. -s [d|i|l|c] - The -s option sorts the fields within each type according to the + The -s option sorts the fields within each type according to the argument below: - d leave fields in the order that they are stored in the ter- - minfo database. + d leave fields in the order that they are stored in the + terminfo database. i sort by terminfo name. @@ -411,45 +419,45 @@ c sort by the termcap name. - If the -s option is not given, the fields printed out will be - sorted alphabetically by the terminfo name within each type, - except in the case of the -C or the -L options, which cause the - sorting to be done by the termcap name or the long C variable + If the -s option is not given, the fields printed out will be + sorted alphabetically by the terminfo name within each type, + except in the case of the -C or the -L options, which cause the + sorting to be done by the termcap name or the long C variable name, respectively. - -T eliminates size-restrictions on the generated text. This is + -T 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 ter- - minfo). + descriptions are limited (e.g., 1023 for termcap, 4096 for + terminfo). - -t tells tic to discard commented-out capabilities. Normally when - translating from terminfo to termcap, untranslatable capabilities + -t tells tic to discard commented-out capabilities. Normally when + translating from terminfo to termcap, untranslatable capabilities are commented-out. - -U tells infocmp to not post-process the data after parsing the - source file. This feature helps when comparing the actual con- - tents of two source files, since it excludes the inferences that - infocmp makes to fill in missing data. + -U tells infocmp to not post-process the data after parsing the + source file. This feature helps when comparing the actual + contents of two source files, since it excludes the inferences + that infocmp makes to fill in missing data. -V reports the version of ncurses which was used in this program, and exits. - -v n prints out tracing information on standard error as the program + -v n prints out tracing information on standard error as the program runs. - The optional parameter n is a number from 1 to 10, inclusive, + The optional parameter n 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 + is built without tracing support, the optional parameter is ignored. - -W By itself, the -w option will not force long strings to be + -W By itself, the -w option will not force long strings to be wrapped. Use the -W option to do this. -w width changes the output to width characters. -x print information for user-defined capabilities (see user_caps(5). - These are extensions to the terminfo repertoire which can be + These are extensions to the terminfo repertoire which can be loaded using the -x option of tic. @@ -458,44 +466,45 @@
- Although System V Release 2 provided a terminfo library, it had no doc- - umented tool for decompiling the terminal descriptions. Tony Hansen + 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 infocmp in early 1984, for System V Release 3. - Eric Raymond used the AT&T documentation in 1995 to provide an equiva- - lent infocmp for ncurses. In addition, he added a few new features - such as: + Eric Raymond used the AT&T documentation in 1995 to provide an + equivalent infocmp for ncurses. In addition, he added a few new + features such as: - o the -e option, to support fallback (compiled-in) terminal descrip- - tions + o the -e option, to support fallback (compiled-in) terminal + descriptions o the -i option, to help with analysis - Later, Thomas Dickey added the -x (user-defined capabilities) option, - and the -E option to support fallback entries with user-defined capa- - bilities. + Later, Thomas Dickey added the -x (user-defined capabilities) option, + and the -E option to support fallback entries with user-defined + capabilities. For a complete list, see the EXTENSIONS section. - In 2010, Roy Marples provided an infocmp 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 -x option + In 2010, Roy Marples provided an infocmp 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 -x option adapted from ncurses.
- X/Open Curses, Issue 7 (2009) provides a description of infocmp. It + X/Open Curses, Issue 7 (2009) provides a description of infocmp. It does not mention the options used for converting to termcap format.
- The -0, -1, -E, -F, -G, -Q, -R, -T, -V, -a, -e, -f, -g, -i, -l, -p, -q + The -0, -1, -E, -F, -G, -Q, -R, -T, -V, -a, -e, -f, -g, -i, -l, -p, -q and -t options are not supported in SVr4 curses. - SVr4 infocmp does not distinguish between absent and cancelled capabil- - ities. Also, it shows missing integer capabilities as -1 (the internal - value used to represent missing integers). This implementation shows - those as "NULL", for consistency with missing strings. + SVr4 infocmp does not distinguish between absent and cancelled + capabilities. Also, it shows missing integer capabilities as -1 (the + internal value used to represent missing integers). This + implementation shows those as "NULL", for consistency with missing + strings. The -r option's notion of "termcap" capabilities is System V Release 4's. Actual BSD curses versions will have a more restricted set. To @@ -507,12 +516,12 @@
- captoinfo(1m), infotocap(1m), tic(1m), toe(1m), curses(3x), ter- - minfo(5). user_caps(5). + captoinfo(1m), infotocap(1m), tic(1m), toe(1m), curses(3x), + terminfo(5). user_caps(5). https://invisible-island.net/ncurses/tctest.html - This describes ncurses version 6.1 (patch 20191214). + This describes ncurses version 6.4 (patch 20230805).
@@ -521,7 +530,7 @@ - infocmp(1m) +ncurses 6.4 2023-07-01 infocmp(1m)