Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ infocmp(1M) — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

curses(3X)

captoinfo(1M)

terminfo(4)

tic(1M)



INFOCMP(1M)         RISC/os Reference Manual          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] [-Adirectory] [-Bdirectory] [termname ... ]

DESCRIPTION
     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.

   Default Options
     If no options are specified and zero or  one  termnames  are
     specified,  the -I option will be assumed.  If more than one
     termname is specified, the -d option will be assumed.

   Comparison Options [-d] [-c] [-n]
     infocmp compares the terminfo description of the first  ter-
     minal  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
     will depend on the type of the capability:   F  for  boolean
     variables,  -1  for  integer  variables, and NULL for string
     variables.

     -d      produces a list of each capability that is different
             between  two entries.  This option is useful to show
             the difference between two entries, created by  dif-
             ferent people, for the same or similar terminals.

     -c      produces a list of each capability  that  is  common
             between  two entries.  Capabilities that are not set
             are ignored.  This option can be  used  as  a  quick
             check to see if the -u option is worth using.

     -n      produces a list of each capability that is  in  nei-
             ther entry.  If no termnames are given, the environ-
             ment 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 a description.

   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 names
     -L      use the long C variable name listed in <term.h>



                        Printed 11/19/92                   Page 1





INFOCMP(1M)         RISC/os Reference Manual          INFOCMP(1M)



     -C      use the termcap names
     -r      when using -C, put out all capabilities  in  termcap
             form

     If no termnames are given,  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  entry,  but not all of the parameterized strings
     may be changed to the termcap format.  infocmp will  attempt
     to  convert  most of the parameterized information, but any-
     thing not converted 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 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 terminfo capabilities will  be  translated;
     only  those  variables  which were part of termcap will nor-
     mally be output.  Specifying the -r  option  will  take  off
     this  restriction, allowing all capabilities to be output in
     termcap form.

     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 sub-
     sequent  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:

    terminfo                    termcap   Representative Terminals

    %p1%c                       %.        adm
    %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      produces a terminfo source description of the  first
             terminal  termname  which  is relative to the sum of



 Page 2                 Printed 11/19/92





INFOCMP(1M)         RISC/os Reference Manual          INFOCMP(1M)



             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  exist,  but were coded at different times
             or by different people so that 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 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 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 specifi-
     cation to be ignored.  Using infocmp to recreate a  descrip-
     tion  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 are superfluous.   infocmp  will  flag  any
     other termname use= fields that were not needed.

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

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

             i    sort by terminfo name.

             l    sort by the long C variable name.



                        Printed 11/19/92                   Page 3





INFOCMP(1M)         RISC/os Reference Manual          INFOCMP(1M)



             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
             name, respectively.

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

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

     -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 characters.

     -w      changes the output to width characters.

   Changing Databases [-A directory] [-B directory]
     The location of the compiled terminfo 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       database,       usually       in
     /usr/share/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, it is
     possible to compare descriptions for  a  terminal  with  the
     same  name located in two different databases.  This is use-
     ful for comparing descriptions for the same terminal created
     by different people.

FILES
     /usr/share/lib/terminfo/?/*    Compiled terminal description
     database.

SEE ALSO
     curses(3X), captoinfo(1M), terminfo(4), tic(1M).














 Page 4                 Printed 11/19/92



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