X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Finfocmp.1m.html;h=51f7aa3c694fdf6423fcf246d0c941380ffcf408;hb=4c9f63c460cb7134f142aa65f6866c175ed77605;hp=9edf72cd1c20bdaf9673b9a19cf22f0bbfe5de9e;hpb=74137fec04e130a88ef25618cf730af988a4f51a;p=ncurses.git diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html index 9edf72cd..51f7aa3c 100644 --- a/doc/html/man/infocmp.1m.html +++ b/doc/html/man/infocmp.1m.html @@ -1,7 +1,8 @@ - @@ -35,8 +36,8 @@
- 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,20 @@ 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. + The -C option sets the "BSD" subset as a side-effect. 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. + subset, i.e., all capabilities are used. The -I option + likewise selects no subset as a side-effect. -s [d|i|l|c] 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. @@ -419,17 +420,17 @@ -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 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. + 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. @@ -448,23 +449,55 @@ -w width changes the output to width characters. - -x print information for user-defined capabilities. These are exten- - sions to the terminfo repertoire which can be loaded using the -x - option of tic. + -x print information for user-defined capabilities (see user_caps(5). + These are extensions to the terminfo repertoire which can be + loaded using the -x option of tic.
/usr/share/terminfo Compiled terminal description database. +
+ 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 + equivalent infocmp for ncurses. In addition, he added a few new + features such as: + + 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 + 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 + adapted from ncurses. + + +
+ 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 @@ -476,12 +509,12 @@
- captoinfo(1m), infotocap(1m), tic(1m), toe(1m), curses(3x), ter- - minfo(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 20180331). + This describes ncurses version 6.3 (patch 20220416).
@@ -506,6 +539,8 @@