Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ infocmp(1m) — DG/UX 4.30

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

curses(3X)

terminfo(4)

term(5)

termcap(5)

tic(1M)

captoinfo(1M)



     infocmp(1m)                DG/UX 4.30                 infocmp(1m)



     NAME
          infocmp - compare or print out terminfo descriptions

     SYNOPSIS
          infocmp [-d] [-c] [-n] [-I] [-L] [-C] [-r] [-u] [-s d|i|l|c]
          [-v] [-V] [-1] [-w width] [-A directory] [-B directory]
          [termname ...]

     DESCRIPTION
          The infocmp command can be used to compare a binary
          terminfo(4) entry with other terminfo entries, rewrite a
          terminfo(4) description to take advantage of the use=
          terminfo field, or print out a terminfo(4) description from
          the binary file 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.

        Default Options
          If no options are specified and zero or one termnames (see
          term(5)) are specified, the -I option will be assumed,
          listing the terminfo(4) description.  If more than one
          termname is specified, the -d option will be assumed,
          comparing the terminfo(4) descriptions.

        Comparison Options [-d] [-c] [-n]
          Infocmp compares the terminfo(4) description of the first
          terminal termname with each of the descriptions for the
          other terminals' termnames.  If a capability is defined for
          only one of the terminals, the value used for the other
          terminal being compared will depend on the type of the
          capability:  F (false) for boolean variables, -1 for integer
          variables, and NULL for string variables.

          -d      produce a list of capabilities that are different.
                  In this manner, if you have two entries for the same
                  terminal or similar terminals, using infocmp will
                  show what is different between the two entries.
                  This is sometimes necessary when more than one
                  person produces an entry for the same terminal and
                  you want to see what is different between the two.

          -c      produce a list of capabilities that are common
                  between the two entries.  Capabilities that are not
                  set are ignored.  This option can be used as a quick
                  check before using the -u option.

          -n      produce a list of capabilities that are in neither
                  entry.  If no termnames are given, the value of the
                  environment variable TERM will be used for both of
                  the termnames.  This can be used as a quick check to
                  see if anything was left out of the description.




     Licensed material--property of copyright holder(s)         Page 1





     infocmp(1m)                DG/UX 4.30                 infocmp(1m)



        Source Listing Options [-I] [-L] [-C] [-r]
          The -I, -L, and -C options will produce a source listing for
          each terminal named.

          -I      use the terminfo(4) names in the listing

          -L      use the long C variable name listed in <term.h>

          -C      use the termcap(5) names

          -r      when using -C, put out all capabilities, not just
                  standard termcap(5) variables.

          If no termnames are given, the value of the environment
          variable TERM will be used for the terminal name.

          The source produced by the -C option may be used directly as
          a termcap(5) entry, but not all of the parameterized strings
          may be changed to the termcap(5) format.  Infocmp will
          attempt to convert most of the parameterized information,
          but that which it doesn't will be plainly marked in the
          output and commented out.  These should be edited by hand.

          All padding information for strings will be collected
          together and placed at the beginning of the string where
          termcap(5) expects it.  Mandatory padding (padding
          information with a trailing '/') will become optional.

          All termcap(5) variables no longer supported by terminfo(4),
          but which are derivable from other terminfo(4) variables,
          will be output.  Not all terminfo(4) capabilities will be
          translated; only those variables which were part of
          termcap(5) will normally be output.  Specifying the -r
          option will take off this restriction, allowing all
          capabilities to be output in termcap(5) form.

          Note that it is not always possible to convert a terminfo(4)
          string capability into an equivalent termcap(5) format.
          This restriction exists because padding is collected to the
          beginning of the capability, not all capabilities are
          output, mandatory padding is not supported, and termcap(5)
          parameter sequences were not as flexible.  Also, a
          subsequent conversion of the termcap(5) file back into
          terminfo(4) format will not necessarily reproduce the
          original terminfo(4) source.

          Some common terminfo(4) parameter sequences, their
          termcap(5) equivalents, and some terminal types which
          commonly have such sequences, are:






     Licensed material--property of copyright holder(s)         Page 2





     infocmp(1m)                DG/UX 4.30                 infocmp(1m)



         Terminfo                    Termcap   Representative Terminals

         %p1%c                       %.        adm, dg
         %p1%d                       %d        hp, ANSI standard, vt100
         %p1%'x'%+%c                 %+x       concept
         %i                          %i        ANSI standard, vt100
         %p1%?%'x'%>%t%p1%'y'%+%;    %>xy      concept
         %p2 is printed before %p1   %r        hp

        Use= Option [-u]
          -u      produce a terminfo(4) source description of the
                  first terminals' termname which is relative to the
                  sum of the descriptions for the other terminals'
                  termnames.  Infocmp 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(4) entries
                  into a terminal's description.  Or, if two similar
                  terminal descriptions exist, but were coded at
                  different times or by different people so that each
                  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 be printed with an at-sign (@), which
          comments it out, if it does not exist for the first
          termname, but one of the other termname entries contains a
          value for it.  A capability's value is printed if the value
          for 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.

          The order of the other termname entries is significant.
          Since the terminfo compiler tic(1M) does a left-to-right
          scan of the capabilities, specifying two use= entries that
          contain differing values for the same capabilities will
          produce different results depending on the order in which
          the entries are given.  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
          description.

          Another error that does not cause incorrect compiled files,
          but will slow down the compilation, is specifying extra use=



     Licensed material--property of copyright holder(s)         Page 3





     infocmp(1m)                DG/UX 4.30                 infocmp(1m)



          fields that are unnecessary.  Infocmp will flag any termname
          use= fields that were not needed.

        Other Options [-s d|i|l|c] [-v] [-V] [-1] [-w width]
          -s      sort the fields within each type according to the
                  argument below:

                  d    leave fields in the order that they are stored
                       in the terminfo(4) database.

                  i    sort by terminfo(4) name.

                  l    sort by the long C variable name.

                  c    sort by the termcap(5) name.

                  If no -s option is given, the fields printed out
                  will be sorted alphabetically by the terminfo(4)
                  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(5) name or the long C variable
                  name, respectively.

          -v      print out tracing information on standard error as
                  the program runs.

          -V      print out the version of the program in use and
                  exit.

          -1      cause the fields to printed out one to a line.
                  Otherwise, the fields will be printed several to a
                  line to a maximum width of 60 characters.

          -w      change the maximum line width to width characters.

        Changing Databases [-A directory] [-B directory]
          The location of the compiled terminfo(4) database is taken
          from the environment variable TERMINFO.  If the variable is
          not defined, or the terminal is not found in that location,
          the system terminfo(4) database, in /usr/lib/terminfo, will
          be used.  The options -A and -B may be used to override this
          location.  The -A option will set TERMINFO for the first
          termname and the -B option will set TERMINFO for the other
          termnames.  With this feature, 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.  Otherwise the terminals would have to be named
          differently in a single terminfo(4) database for a
          comparison to be made.

     FILES



     Licensed material--property of copyright holder(s)         Page 4





     infocmp(1m)                DG/UX 4.30                 infocmp(1m)



          /usr/lib/terminfo/?/* compiled terminal description database

          /etc/termcap          old, textual terminal description
                                database

          /usr/include/term.h   terminfo(4) header file

     DIAGNOSTICS
          malloc is out of space!
                    There was not enough memory available to process
                    all the terminal descriptions requested.  Run
                    infocmp several times, each time including a
                    subset of the desired termnames.

          use= order dependency found:
                    A value specified in one relative terminal
                    specification was different from that in another
                    relative terminal specification.

          A relative terminal name did not contribute anything to the final
                    description.

          Must have at least two terminal names for a comparison to be
          done.
               The -u, -d , and -c options require at least two
               terminal names.

     SEE ALSO
          curses(3X), terminfo(4), term(5), termcap(5) in the
          Programmer's Reference for the DG/UX System.
          tic(1M), captoinfo(1M)
          Chapter 7 of Using DG/UX System Programming Tools.























     Licensed material--property of copyright holder(s)         Page 5



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026