Provided by: ncurses-bin_5.9-4_amd64 bug

NAME

       tic - the terminfo entry-description compiler

SYNOPSIS

       tic [-1CGILNTUVacfgrstx] [-e names] [-o dir] [-R subset] [-v[n]] [-w[n]] file

DESCRIPTION

       The  command  tic translates a terminfo file from source format into compiled format.  The
       compiled format is necessary for use with the library routines in ncurses(3NCURSES).

       The results are normally placed in  the  system  terminfo  directory  /usr/share/terminfo.
       There are two ways to change this behavior.

       First,  you may override the system default by setting the variable TERMINFO in your shell
       environment to a valid (existing) directory name.

       Secondly, if tic cannot get access to /usr/share/terminfo or your TERMINFO  directory,  it
       looks  for  the  directory  $HOME/.terminfo; if that directory exists, the entry is placed
       there.

       Libraries that read terminfo entries are expected to check for a TERMINFO directory first,
       look at $HOME/.terminfo if TERMINFO is not set, and finally look in /usr/share/terminfo.

       -1     restricts the output to a single column

       -a     tells  tic  to  retain  commented-out  capabilities  rather  than  discarding them.
              Capabilities are commented by prefixing them with  a  period.   This  sets  the  -x
              option,  because it treats the commented-out entries as user-defined names.  If the
              source is termcap, accept the 2-character names required by version  6.   Otherwise
              these are ignored.

       -C     Force  source translation to termcap format.  Note: this differs from the -C option
              of infocmp(1) in that it does not  merely  translate  capability  names,  but  also
              translates   terminfo  strings  to  termcap  format.   Capabilities  that  are  not
              translatable are left in the entry under their terminfo  names  but  commented  out
              with two preceding dots.

       -c     tells  tic  to  only  check  file for errors, including syntax problems and bad use
              links.  If you specify -C (-I) with this option, the code will print warnings about
              entries  which, after use resolution, are more than 1023 (4096) bytes long.  Due to
              a fixed buffer length in  older  termcap  libraries  (and  a  documented  limit  in
              terminfo), these entries may cause core dumps.

       -e names
              Limit  writes  and translations to the following comma-separated list of terminals.
              If any name or alias of a terminal matches one of the names in the list, the  entry
              will be written or translated as normal.  Otherwise no output will be generated for
              it.  The option value is interpreted as a file containing the list if it contains a
              '/'.  (Note: depending on how tic was compiled, this option may require -I or -C.)

       -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 character equivalents.

       -g     Display constant character literals  in  quoted  form  rather  than  their  decimal
              equivalents.

       -I     Force source translation to terminfo format.

       -L     Force  source translation to terminfo format using the long C variable names listed
              in <term.h>

       -N     Disable smart defaults.  Normally, when translating from termcap to  terminfo,  the
              compiler  makes  a  number of assumptions about the defaults of string capabilities
              reset1_string,  carriage_return,  cursor_left,  cursor_down,  scroll_forward,  tab,
              newline,  key_backspace,  key_left,  and  key_down,  then  attempts to use obsolete
              termcap capabilities to deduce correct values.  It also normally suppresses  output
              of  obsolete  termcap  capabilities  such as bs.  This option forces a more literal
              translation that also preserves the obsolete capabilities.

       -odir  Write compiled entries to given  directory.   Overrides  the  TERMINFO  environment
              variable.

       -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 that do not support the full  set  of
              SVR4/XSI  Curses  terminfo;  and outright broken ports like AIX 3.x that have their
              own extensions incompatible with SVr4/XSI.  Available subsets are "SVr1", "Ultrix",
              "HP", "BSD" and "AIX"; see terminfo(5) for details.

       -r     Force  entry resolution (so there are no remaining tc capabilities) even when doing
              translation to termcap format.  This may be needed if you are preparing  a  termcap
              file  for a termcap library (such as GNU termcap through version 1.3 or BSD termcap
              through 4.3BSD) that does not handle multiple tc capabilities per entry.

       -s     Summarize the compile by showing the directory into which entries are written,  and
              the number of entries which are compiled.

       -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 terminfo).

       -t     tells  tic  to  discard commented-out capabilities.  Normally when translating from
              terminfo to termcap, untranslatable capabilities are commented-out.

       -U   tells tic to not post-process the data after parsing the source file.   Normally,  it
            infers data which is commonly missing in older terminfo data, or in termcaps.

       -V   reports the version of ncurses which was used in this program, and exits.

       -vn  specifies  that  (verbose)  output  be  written  to  standard error trace information
            showing tic's progress.  The  optional  parameter  n  is  a  number  from  1  to  10,
            inclusive,  indicating  the desired level of detail of information.  If n is omitted,
            the default level is 1.  If n is specified and greater than 1, the level of detail is
            increased.

       -wn  specifies  the width of the output.  The parameter is optional.  If it is omitted, it
            defaults to 60.

       -x   Treat unknown capabilities as user-defined.  That is, if you supply a capability name
            which tic does not recognize, it will infer its type (boolean, number or string) from
            the syntax and make an  extended  table  entry  for  that.   User-defined  capability
            strings whose name begins with ``k'' are treated as function keys.

       file contains   one   or  more  terminfo  terminal  descriptions  in  source  format  [see
            terminfo(5)].   Each  description  in  the  file  describes  the  capabilities  of  a
            particular terminal.

       The debug flag levels are as follows:

       1      Names of files created and linked

       2      Information related to the ``use'' facility

       3      Statistics from the hashing algorithm

       5      String-table memory allocations

       7      Entries into the string-table

       8      List of tokens encountered by scanner

       9      All values computed in construction of the hash table

       If the debug level n is not given, it is taken to be one.

       All  but  one  of  the  capabilities recognized by tic are documented in terminfo(5).  The
       exception is the use capability.

       When a use=entry-name field is discovered in a terminal entry  currently  being  compiled,
       tic  reads in the binary from /usr/share/terminfo to complete the entry.  (Entries created
       from file will be used first.  If the environment variable TERMINFO is set, that directory
       is   searched  instead  of  /usr/share/terminfo.)   tic  duplicates  the  capabilities  in
       entry-name for the current entry, with the exception of those capabilities that explicitly
       are defined in the current entry.

       When  an  entry,  e.g.,  entry_name_1,  contains  a  use=entry_name_2  field, any canceled
       capabilities in entry_name_2 must also  appear  in  entry_name_1  before  use=  for  these
       capabilities to be canceled in entry_name_1.

       If the environment variable TERMINFO is set, the compiled results are placed there instead
       of /usr/share/terminfo.

       Total compiled entries cannot exceed 4096 bytes.  The name field cannot exceed 512  bytes.
       Terminal  names  exceeding  the  maximum  alias length (32 characters on systems with long
       filenames, 14 characters otherwise) will be truncated to the maximum alias  length  and  a
       warning message will be printed.

COMPATIBILITY

       There  is  some evidence that historic tic implementations treated description fields with
       no whitespace in them as additional aliases or short names.  This tic does  not  do  that,
       but  it  does  warn  when  description  fields  may be treated that way and check them for
       dangerous characters.

EXTENSIONS

       Unlike the stock SVr4 tic  command,  this  implementation  can  actually  compile  termcap
       sources.   In fact, entries in terminfo and termcap syntax can be mixed in a single source
       file.  See terminfo(5) for the list of termcap names taken to be  equivalent  to  terminfo
       names.

       The  SVr4  manual  pages are not clear on the resolution rules for use capabilities.  This
       implementation of tic will find use targets anywhere in the source file,  or  anywhere  in
       the   file   tree  rooted  at  TERMINFO  (if  TERMINFO  is  defined),  or  in  the  user's
       $HOME/.terminfo directory (if it exists), or (finally) anywhere in the system's file  tree
       of compiled entries.

       The  error messages from this tic have the same format as GNU C error messages, and can be
       parsed by GNU Emacs's compile facility.

       The -C, -G, -I, -N, -R, -T, -V, -a, -e, -f, -g, -o, -r, -s, -t  and  -x  options  are  not
       supported under SVr4.  The SVr4 -c mode does not report bad use links.

       System  V  does not compile entries to or read entries from your $HOME/.terminfo directory
       unless TERMINFO is explicitly set to it.

FILES

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

SEE ALSO

       infocmp(1), captoinfo(1), infotocap(1), toe(1), ncurses(3NCURSES), terminfo(5).

       This describes ncurses version 5.9 (patch 20110404).

AUTHOR

       Eric S. Raymond <esr@snark.thyrsus.com> and
       Thomas E. Dickey <dickey@invisible-island.net>

                                                                                           tic(1)