


infocmp(1M)                                           infocmp(1M)


NNAAMMEE
       iinnffooccmmpp - compare or print out _t_e_r_m_i_n_f_o descriptions

SSYYNNOOPPSSIISS
       iinnffooccmmpp [--ddccnnIILLCCuuvvVV11] [--ss dd| ii| ll| cc]
             [--ww    _w_i_d_t_h]    [--AA   _d_i_r_e_c_t_o_r_y]   [--BB   _d_i_r_e_c_t_o_r_y]
       [_t_e_r_m_n_a_m_e...]

DDEESSCCRRIIPPTTIIOONN
       iinnffooccmmpp can be used to compare  a  binary  tteerrmmiinnffoo  entry
       with  other  terminfo entries, rewrite a tteerrmmiinnffoo descrip-
       tion to take advantage of  the  uussee==  terminfo  field,  or
       print  out  a  tteerrmmiinnffoo  description  from the binary file
       (tteerrmm) 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.


   DDeeffaauulltt OOppttiioonnss
       If no options are specified and zero or one _t_e_r_m_n_a_m_e_s  are
       specified,  the  --II  option will be assumed.  If more than
       one _t_e_r_m_n_a_m_e is specified, the --dd option will be  assumed.


   CCoommppaarriissoonn OOppttiioonnss [[--dd]] [[--cc]] [[--nn]]
       iinnffooccmmpp  compares  the  tteerrmmiinnffoo  description of the first
       terminal _t_e_r_m_n_a_m_e with each of the descriptions  given  by
       the  entries  for  the  other  terminal's _t_e_r_m_n_a_m_e_s.  If a
       capability is defined for only one of the  terminals,  the
       value  returned will depend on the type of the capability:
       FF for boolean variables, --11  for  integer  variables,  and
       NNUULLLL for string variables.

       The  --dd  option 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.

       The --cc option 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u option is worth using.

       The  --nn  option produces a list of each capability that is
       in neither entry.  If no _t_e_r_m_n_a_m_e_s are given, the environ-
       ment variable TTEERRMM will be used for both of the _t_e_r_m_n_a_m_e_s.
       This can be used as a quick check to see if  anything  was
       left out of a description.


   SSoouurrccee LLiissttiinngg OOppttiioonnss [[--II]] [[--LL]] [[--CC]] [[--rr]]
       The  --II,  --LL, and --CC options will produce a source listing
       for each terminal named.




                                                                1





infocmp(1M)                                           infocmp(1M)


       --II      use the tteerrmmiinnffoo names
       --LL      use the long C variable name listed in <tteerrmm..hh>
       --CC      use the tteerrmmccaapp names
       --rr      when using --CC, put out all capabilities in tteerrmmccaapp form

       If no _t_e_r_m_n_a_m_e_s are given, the environment  variable  TTEERRMM
       will be used for the terminal name.

       The  source produced by the --CC option may be used directly
       as a tteerrmmccaapp entry,  but  not  all  of  the  parameterized
       strings  may  be  changed  to the tteerrmmccaapp format.  iinnffooccmmpp
       will attempt to convert most of the parameterized informa-
       tion, but anything 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
       tteerrmmccaapp  expects  it.  Mandatory padding (padding informa-
       tion with a trailing '/') will become optional.

       All tteerrmmccaapp variables no longer supported by tteerrmmiinnffoo, but
       which are derivable from other tteerrmmiinnffoo variables, will be
       output.  Not all tteerrmmiinnffoo capabilities will be translated;
       only  those variables which were part of tteerrmmccaapp will nor-
       mally be output.  Specifying the --rr option will  take  off
       this  restriction,  allowing all capabilities to be output
       in _t_e_r_m_c_a_p form.

       Note that because padding is collected to the beginning of
       the  capability,  not all capabilities are output.  Manda-
       tory padding is not supported.   Because  tteerrmmccaapp  strings
       are  not as flexible, it is not always possible to convert
       a tteerrmmiinnffoo string capability into  an  equivalent  tteerrmmccaapp
       format.   A subsequent conversion of the tteerrmmccaapp file back
       into tteerrmmiinnffoo format will not  necessarily  reproduce  the
       original tteerrmmiinnffoo source.

       Some  common  tteerrmmiinnffoo  parameter sequences, their tteerrmmccaapp
       equivalents, and some terminal types which  commonly  have
       such sequences, are:

     tteerrmmiinnffoo                    tteerrmmccaapp   Representative Terminals
     %%pp11%%cc                       %%..        adm
     %%pp11%%dd                       %%dd        hp, ANSI standard, vt100
     %%pp11%%''xx''%%++%%cc                 %%++xx       concept
     %%ii                          %%iiq       ANSI standard, vt100
     %%pp11%%??%%''xx''%%>>%%tt%%pp11%%''yy''%%++%%;;    %%>>xxyy      concept
     %%pp22 is printed before %%pp11   %%rr        hp

   UUssee== OOppttiioonn [[--uu]]
       The  --uu  option  produces a tteerrmmiinnffoo source description of
       the first terminal fItermname which is relative to the sum
       of  the  descriptions  given  by the entries for the other



                                                                2





infocmp(1M)                                           infocmp(1M)


       terminals _t_e_r_m_n_a_m_e_s.  It does this by analyzing  the  dif-
       ferences   between   the  first  _t_e_r_m_n_a_m_e  and  the  other
       _t_e_r_m_n_a_m_e_s and producing a description with uussee== 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 iinnffooccmmpp will
       show what can be done to change one description to be rel-
       ative to the other.

       A capability will get printed with an at-sign (@) if it no
       longer exists in the first _t_e_r_m_n_a_m_e, but one of the  other
       _t_e_r_m_n_a_m_e  entries contains a value for it.  A capability's
       value gets printed if the value in the first  _t_e_r_m_n_a_m_e  is
       not  found in any of the other _t_e_r_m_n_a_m_e entries, or if the
       first of the other _t_e_r_m_n_a_m_e entries that has this capabil-
       ity  gives  a different value for the capability than that
       in the first _t_e_r_m_n_a_m_e.

       The order of the other _t_e_r_m_n_a_m_e  entries  is  significant.
       Since  the terminfo compiler ttiicc does a left-to-right scan
       of the capabilities, specifying two uussee== entries that con-
       tain differing entries for the same capabilities will pro-
       duce different results depending on  the  order  that  the
       entries  are  given in.  iinnffooccmmpp will flag any such incon-
       sistencies between the other _t_e_r_m_n_a_m_e entries as they  are
       found.

       Alternatively,  specifying a capability _a_f_t_e_r a uussee== entry
       that contains that capability will cause the second speci-
       fication  to  be  ignored.   Using  iinnffooccmmpp  to recreate a
       description can be a useful check to make sure that every-
       thing  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 speci-
       fying extra uussee== fields  that  are  superfluous.   iinnffooccmmpp
       will  flag  any  other  _t_e_r_m_n_a_m_e _u_s_e_= fields that were not
       needed.


   OOtthheerr OOppttiioonnss [[--ss dd||ii||ll||cc]] [[--vv]] [[--VV]] [[--11]] [[--ww _w_i_d_t_h]
       The --ss option sorts the fields within each type  according
       to the argument below:


       dd    leave fields in the order that they are stored in the
            _t_e_r_m_i_n_f_o database.

       ii    sort by _t_e_r_m_i_n_f_o name.

       ll    sort by the long C variable name.



                                                                3





infocmp(1M)                                           infocmp(1M)


       cc    sort by the _t_e_r_m_c_a_p name.

            If the --ss option is not given, the fields printed out
            will  be  sorted  alphabetically by the tteerrmmiinnffoo name
            within each type, except in the case of the --CC or the
            --LL options, which cause the sorting to be done by the
            tteerrmmccaapp name or the long  C  variable  name,  respec-
            tively.


       --FF   compare  terminfo  files.  This assumes that two fol-
            lowing  arguments  are  filenames.   The  files   are
            searched  for  pairwise matches between entries, with
            two entries considered to match if any of their names
            do.   The  report  printed  to  standard output lists
            entries with  no  matches  in  the  other  file,  and
            entries  with  more than one match.  For entries with
            exactly one match it includes a difference report.

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

       --VV   prints out the version of the program in use on stan-
            dard error and exit.

       --1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w   changes the output to _w_i_d_t_h characters.


   CChhaannggiinngg DDaattaabbaasseess [[--AA _d_i_r_e_c_t_o_r_y] [-B _d_i_r_e_c_t_o_r_y]
       The location of the compiled tteerrmmiinnffoo  database  is  taken
       from  the environment variable TTEERRMMIINNFFOO .  If the variable
       is not defined, or the terminal is not found in that loca-
       tion,   the   system   tteerrmmiinnffoo   database,   usually   in
       //uussrr//sshhaarree//lliibb//tteerrmmiinnffoo, will be used.  The options --AA and
       --BB  may  be used to override this location.  The --AA option
       will set TTEERRMMIINNFFOO for the first _t_e_r_m_n_a_m_e and the --BB option
       will  set TTEERRMMIINNFFOO for the other _t_e_r_m_n_a_m_e_s.  With this, 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.

FFIILLEESS
       @TERMINFO@          Compiled      terminal     description
                           database.

EEXXTTEENNSSIIOONNSS
       The -F option is not supported in SVr4 curses.

       The --rr option's notion of `termcap'  capabilities  is  BSD



                                                                4





infocmp(1M)                                           infocmp(1M)


       4.4's.  Older versions may have a more restricted set.

SSEEEE AALLSSOO
       ccuurrsseess(3X), tteerrmmiinnffoo(5), ttiicc(1M)

AAUUTTHHOORR
       Eric S. Raymond <esr@nark.thyrsus.com>


















































                                                                5


