[BACK]Return to tic.1 CVS log [TXT][DIR] Up to [local] / src / usr.bin / tic

Annotation of src/usr.bin/tic/tic.1, Revision 1.9

1.9     ! millert     1: .\" $OpenBSD: tic.1,v 1.8 1999/12/12 04:49:19 millert Exp $
1.1       millert     2: .\"
                      3: .\"***************************************************************************
1.4       millert     4: .\" Copyright (c) 1998,1999 Free Software Foundation, Inc.                   *
1.1       millert     5: .\"                                                                          *
                      6: .\" Permission is hereby granted, free of charge, to any person obtaining a  *
                      7: .\" copy of this software and associated documentation files (the            *
                      8: .\" "Software"), to deal in the Software without restriction, including      *
                      9: .\" without limitation the rights to use, copy, modify, merge, publish,      *
                     10: .\" distribute, distribute with modifications, sublicense, and/or sell       *
                     11: .\" copies of the Software, and to permit persons to whom the Software is    *
                     12: .\" furnished to do so, subject to the following conditions:                 *
                     13: .\"                                                                          *
                     14: .\" The above copyright notice and this permission notice shall be included  *
                     15: .\" in all copies or substantial portions of the Software.                   *
                     16: .\"                                                                          *
                     17: .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
                     18: .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
                     19: .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
                     20: .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
                     21: .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
                     22: .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
                     23: .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
                     24: .\"                                                                          *
                     25: .\" Except as contained in this notice, the name(s) of the above copyright   *
                     26: .\" holders shall not be used in advertising or otherwise to promote the     *
                     27: .\" sale, use or other dealings in this Software without prior written       *
                     28: .\" authorization.                                                           *
                     29: .\"***************************************************************************
                     30: .\"
1.6       millert    31: .\" $From: tic.1m,v 1.25 1999/03/07 02:07:06 tom Exp $
1.1       millert    32: .TH tic 1 ""
                     33: .ds n 5
                     34: .ds d /usr/share/terminfo
                     35: .SH NAME
                     36: \fBtic\fR - the \fIterminfo\fR entry-description compiler
                     37: .SH SYNOPSIS
                     38: \fBtic\fR
1.3       millert    39: [\fB\-\
1.1       millert    40: 1\
                     41: C\
                     42: I\
                     43: N\
                     44: R\
                     45: T\
                     46: c\
                     47: f\
                     48: r\
                     49: s\
1.9     ! millert    50: x\
1.1       millert    51: \fR]
                     52: [\fB-e\fR \fInames\fR]
                     53: [\fB-o\fR \fIdir\fR]
                     54: [\fB-v\fR[\fIn\fR]]
                     55: [\fB-w\fR[\fIn\fR]]
                     56: \fIfile\fR
                     57: .br
                     58: .SH DESCRIPTION
                     59: The command \fBtic\fR translates a \fBterminfo\fR file from source
                     60: format into compiled format.  The compiled format is necessary for use with
                     61: the library routines in \fBcurses\fR(3).
                     62: .PP
                     63: The results are normally placed in the system terminfo
                     64: directory \fB\*d\fR.  There are two ways to change this behavior.
                     65: .PP
                     66: First, you may override the system default by setting the variable
                     67: \fBTERMINFO\fR in your shell environment to a valid (existing) directory name.
                     68: .PP
                     69: Secondly, if \fBtic\fR cannot get access to \fI\*d\fR or your TERMINFO
                     70: directory, it looks for the directory \fI$HOME/.terminfo\fR; if that directory
                     71: exists, the entry is placed there.
                     72: .PP
                     73: Libraries that read terminfo entries are expected to check for a TERMINFO
                     74: directory first, look at \fI$HOME/.terminfo\fR if TERMINFO is not set, and
                     75: finally look in \fI\*d\fR.
                     76: .TP
                     77: \fB-c\fR
                     78: specifies to only check \fIfile\fR for errors, including syntax problems and
                     79: bad use links.  If you specify \fB-C\fR (\fB-I\fR) with this option, the code
                     80: will print warnings about entries which, after use resolution, are more than
                     81: 1023 (4096) bytes long.  Due to a fixed buffer length in older termcap
                     82: libraries (and a documented limit in terminfo), these entries may cause core
                     83: dumps.
                     84: .TP
                     85: \fB-v\fR\fIn\fR
                     86: specifies that (verbose) output be written to standard error trace
                     87: information showing \fBtic\fR's progress.  The optional integer
                     88: \fIn\fR is a number from 1 to 10, inclusive, indicating the desired
                     89: level of detail of information.  If \fIn\fR is omitted, the default
                     90: level is 1.  If \fIn\fR is specified and greater than 1, the level of
                     91: detail is increased.
                     92: .TP
                     93: \fB-o\fR\fIdir\fR
                     94: Write compiled entries to given directory.  Overrides the TERMINFO environment
                     95: variable.
                     96: .TP
                     97: \fB-w\fR\fIn\fR
                     98: specifies the width of the output.
                     99: .TP
                    100: \fB-1\fR
                    101: restricts the output to a single column
                    102: .TP
                    103: \fB-C\fR
                    104: Force source translation to termcap format.  Note: this differs from the -C
                    105: option of \fIinfocmp\fR(1) in that it does not merely translate capability
                    106: names, but also translates terminfo strings to termcap format.  Capabilities
                    107: that are not translatable are left in the entry under their terminfo names
                    108: but commented out with two preceding dots.
                    109: .TP
1.6       millert   110: \fB-G\fR
                    111: Display constant literals in decimal form
                    112: rather than their character equivalents.
                    113: .TP
1.1       millert   114: \fB-I\fR
                    115: Force source translation to terminfo format.
                    116: .TP
                    117: \fB-L\fR
                    118: Force source translation to terminfo format
                    119: using the long C variable names listed in <\fBterm.h\fR>
                    120: .TP
                    121: \fB-N\fR
1.7       aaron     122: Disable smart defaults.
                    123: Normally, when translating from termcap to terminfo, the compiler makes
1.1       millert   124: a number of assumptions about the defaults of string capabilities
1.7       aaron     125: \fBreset1_string\fR, \fBcarriage_return\fR, \fBcursor_left\fR,
1.1       millert   126: \fBcursor_down\fR, \fBscroll_forward\fR, \fBtab\fR, \fBnewline\fR,
                    127: \fBkey_backspace\fR, \fBkey_left\fR, and \fBkey_down\fR, then attempts
                    128: to use obsolete termcap capabilities to deduce correct values.  It also
                    129: normally suppresses output of obsolete termcap capabilities such as \fBbs\fR.
                    130: This option forces a more literal translation that also preserves the
                    131: obsolete capabilities.
                    132: .TP
                    133: \fB-R\fR\fIsubset\fR
                    134: Restrict output to a given subset.  This option is for use with archaic
                    135: versions of terminfo like those on SVr1, Ultrix, or HP/UX that don't support
                    136: the full set of SVR4/XSI Curses terminfo; and outright broken ports like AIX 3.x
                    137: that have their own extensions incompatible with SVr4/XSI.  Available subsets
                    138: are "SVr1", "Ultrix", "HP", "BSD" and "AIX"; see \fBterminfo\fR(\*n) for details.
                    139: .TP
                    140: \fB-T\fR
                    141: eliminates size-restrictions on the generated text.
                    142: This is mainly useful for testing and analysis, since the compiled
                    143: descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
                    144: .TP
                    145: \fB-r\fR
                    146: Force entry resolution (so there are no remaining tc capabilities) even
                    147: when doing translation to termcap format.  This may be needed if you are
                    148: preparing a termcap file for a termcap library (such as GNU termcap up
                    149: to version 1.3 or BSD termcap up to 4.3BSD) that doesn't handle multiple
                    150: tc capabilities per entry.
                    151: .TP
                    152: \fB-e\fR
                    153: Limit writes and translations to the following comma-separated list of
                    154: terminals.
                    155: If any name or alias of a terminal matches one of the names in
                    156: the list, the entry will be written or translated as normal.
                    157: Otherwise no output will be generated for it.
                    158: The option value is interpreted as a file containing the list if it
                    159: contains a '/'.
                    160: (Note: depending on how tic was compiled, this option may require -I or -C.)
                    161: .TP
                    162: \fB-f\fR
                    163: Display complex terminfo strings which contain if/then/else/endif expressions
                    164: indented for readability.
                    165: .TP
1.3       millert   166: \fB-g\fR
                    167: Display constant character literals in quoted form
                    168: rather than their decimal equivalents.
                    169: .TP
1.1       millert   170: \fB-s\fR
                    171: Summarize the compile by showing the directory into which entries
                    172: are written, and the number of entries which are compiled.
                    173: .TP
1.9     ! millert   174: \fB-x\fR
        !           175: Treat unknown capabilities as user-defined.
        !           176: .TP
1.1       millert   177: \fIfile\fR
                    178: contains one or more \fBterminfo\fR terminal descriptions in source
                    179: format [see \fBterminfo\fR(\*n)].  Each description in the file
                    180: describes the capabilities of a particular terminal.
                    181: .PP
                    182: The debug flag levels are as follows:
                    183: .TP
                    184: 1
                    185: Names of files created and linked
                    186: .TP
                    187: 2
                    188: Information related to the ``use'' facility
                    189: .TP
                    190: 3
                    191: Statistics from the hashing algorithm
                    192: .TP
                    193: 5
                    194: String-table memory allocations
                    195: .TP
                    196: 7
                    197: Entries into the string-table
                    198: .TP
                    199: 8
                    200: List of tokens encountered by scanner
                    201: .TP
                    202: 9
                    203: All values computed in construction of the hash table
                    204: .LP
                    205: If n is not given, it is taken to be one.
                    206: .PP
                    207: All but one of the capabilities recognized by \fBtic\fR are documented
                    208: in \fBterminfo\fR(\*n).  The exception is the \fBuse\fR capability.
                    209:
                    210: When a \fBuse\fR=\fIentry\fR-\fIname\fR field is discovered in a
                    211: terminal entry currently being compiled, \fBtic\fR reads in the binary
                    212: from \fB\*d\fR to complete the entry.  (Entries created from
                    213: \fIfile\fR will be used first.  If the environment variable
                    214: \fBTERMINFO\fR is set, that directory is searched instead of
                    215: \fB\*d\fR.)  \fBtic\fR duplicates the capabilities in
                    216: \fIentry\fR-\fIname\fR for the current entry, with the exception of
                    217: those capabilities that explicitly are defined in the current entry.
                    218:
                    219: When an entry, e.g., \fBentry_name_1\fR, contains a
                    220: \fBuse=\fR\fIentry\fR_\fIname\fR_\fI2\fR field, any canceled
                    221: capabilities in \fIentry\fR_\fIname\fR_\fI2\fR must also appear in
                    222: \fBentry_name_1\fR before \fBuse=\fR for these capabilities to be
                    223: canceled in \fBentry_name_1\fR.
                    224:
                    225: If the environment variable \fBTERMINFO\fR is set, the compiled
                    226: results are placed there instead of \fB\*d\fR.
                    227:
                    228: Total compiled entries cannot exceed 4096 bytes.  The name field cannot
                    229: exceed 512 bytes.  Terminal names exceeding the maximum alias length
                    230: (32 characters on systems with long filenames, 14 characters otherwise)
                    231: will be truncated to the maximum alias length and a warning message will be printed.
                    232: .SH COMPATIBILITY
                    233: There is some evidence that historic \fBtic\fR implementations treated
                    234: description fields with no whitespace in them as additional aliases or
                    235: short names.  This \fBtic\fR does not do that, but it does warn when
                    236: description fields may be treated that way and check them for dangerous
                    237: characters.
                    238: .SH EXTENSIONS
                    239: Unlike the stock SVr4 \fBtic\fR command, this implementation can actually
                    240: compile termcap sources.  In fact, entries in terminfo and termcap syntax can
                    241: be mixed in a single source file.  See \fBterminfo\fR(\*n) for the list of
                    242: termcap names taken to be equivalent to terminfo names.
                    243:
                    244: The SVr4 manual pages are not clear on the resolution rules for \fBuse\fR
                    245: capabilities.
                    246: This implementation of \fBtic\fR will find \fBuse\fR targets anywhere
                    247: in the source file, or anywhere in the file tree rooted at \fBTERMINFO\fR (if
                    248: \fBTERMINFO\fR is defined), or in the user's \fI$HOME/.terminfo\fR directory
                    249: (if it exists), or (finally) anywhere in the system's file tree of
                    250: compiled entries.
                    251:
                    252: The error messages from this \fBtic\fR have the same format as GNU C
                    253: error messages, and can be parsed by GNU Emacs's compile facility.
                    254:
1.3       millert   255: The
                    256: \fB-o\fR,
1.6       millert   257: \fB-G\fR,
1.3       millert   258: \fB-I\fR,
                    259: \fB-C\fR,
                    260: \fB-N\fR,
                    261: \fB-R\fR,
                    262: \fB-e\fR,
                    263: \fB-f\fR,
                    264: \fB-g\fR,
                    265: \fB-T\fR,
1.9     ! millert   266: \fB-r\fR,
        !           267: \fB-s\fR and
        !           268: \fB-x\fR
1.3       millert   269: options
1.1       millert   270: are not supported under SVr4.
                    271: The SVr4 -c mode does not report bad use links.
                    272:
                    273: System V does not compile entries to or read entries from your
                    274: \fI$HOME/.terminfo\fR directory unless TERMINFO is explicitly set to it.
                    275: .SH FILES
                    276: .TP 5
                    277: \fB\*d/?/*\fR
                    278: Compiled terminal description database.
                    279: .SH SEE ALSO
1.9     ! millert   280: \fBcaptoinfo\fR(1), \fBinfocmp\fR(1), \fBinfotocap\fR(1),
        !           281: \fBcurses\fR(3), \fBterminfo\fR(\*n).
1.1       millert   282: .\"#
                    283: .\"# The following sets edit modes for GNU EMACS
                    284: .\"# Local Variables:
                    285: .\"# mode:nroff
                    286: .\"# fill-column:79
                    287: .\"# End: