+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!--
+ ****************************************************************************
+ * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+ * "Software"), to deal in the Software without restriction, including *
+ * without limitation the rights to use, copy, modify, merge, publish, *
+ * distribute, distribute with modifications, sublicense, and/or sell *
+ * copies of the Software, and to permit persons to whom the Software is *
+ * furnished to do so, subject to the following conditions: *
+ * *
+ * The above copyright notice and this permission notice shall be included *
+ * in all copies or substantial portions of the Software. *
+ * *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+ * *
+ * Except as contained in this notice, the name(s) of the above copyright *
+ * holders shall not be used in advertising or otherwise to promote the *
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+ * @Id: tic.1m,v 1.44 2006/12/24 17:59:11 tom Exp @
+-->
<HTML>
+<HEAD>
+<TITLE>tic 1m</TITLE>
+<link rev=made href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
<BODY>
+<H1>tic 1m</H1>
+<HR>
<PRE>
<!-- Manpage converted by man2html 3.0.1 -->
+<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+
+
+
</PRE>
<H2>NAME</H2><PRE>
- <B>tic</B> - the <I>terminfo</I> entry-description compiler
+ <STRONG>tic</STRONG> - the <EM>terminfo</EM> entry-description compiler
</PRE>
<H2>SYNOPSIS</H2><PRE>
- <B>tic</B> [<B>-1CINRTacfrsx</B>] [<B>-e</B> <I>names</I>] [<B>-o</B> <I>dir</I>] [<B>-v</B>[<I>n</I>]] [<B>-w</B>[<I>n</I>]]
- <I>file</I>
+ <STRONG>tic</STRONG> [<STRONG>-1CGILNTUVacfgrstx</STRONG>] [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-R</STRONG> <EM>subset</EM>]
+ [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM>
</PRE>
<H2>DESCRIPTION</H2><PRE>
- The command <B>tic</B> translates a <B>terminfo</B> file from source
+ The command <STRONG>tic</STRONG> translates a <STRONG>terminfo</STRONG> file from source
format into compiled format. The compiled format is nec-
- essary for use with the library routines in <B><A HREF="ncurses.3x.html">ncurses(3x)</A></B>.
+ essary for use with the library routines in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
The results are normally placed in the system terminfo
- directory <B>@DATADIR@/terminfo</B>. There are two ways to
+ directory <STRONG>/usr/share/terminfo</STRONG>. There are two ways to
change this behavior.
First, you may override the system default by setting the
- variable <B>TERMINFO</B> in your shell environment to a valid
+ variable <STRONG>TERMINFO</STRONG> in your shell environment to a valid
(existing) directory name.
- Secondly, if <B>tic</B> cannot get access to <I>@DATADIR@/terminfo</I>
+ Secondly, if <STRONG>tic</STRONG> cannot get access to <EM>/usr/share/terminfo</EM>
or your TERMINFO directory, it looks for the directory
- <I>$HOME/.terminfo</I>; if that directory exists, the entry is
+ <EM>$HOME/.terminfo</EM>; 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 <I>$HOME/.terminfo</I> if
- TERMINFO is not set, and finally look in <I>@DATADIR@/ter-</I>
- <I>minfo</I>.
+ for a TERMINFO directory first, look at <EM>$HOME/.terminfo</EM> if
+ TERMINFO is not set, and finally look in <EM>/usr/share/ter-</EM>
+ <EM>minfo</EM>.
+
+ <STRONG>-1</STRONG> restricts the output to a single column
- <B>-a</B> tells <B>tic</B> to retain commented-out capabilities
+ <STRONG>-a</STRONG> tells <STRONG>tic</STRONG> to retain commented-out capabilities
rather than discarding them. Capabilities are com-
mented by prefixing them with a period. This sets
- the <B>-x</B> option, because it treats the commented-out
- entries as user-defined names.
+ the <STRONG>-x</STRONG> 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.
+
+ <STRONG>-C</STRONG> Force source translation to termcap format. Note:
+ this differs from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> 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.
- <B>-c</B> tells <B>tic</B> to only check <I>file</I> for errors, including
+ <STRONG>-c</STRONG> tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including
syntax problems and bad use links. If you specify
- <B>-C</B> (<B>-I</B>) with this option, the code will print warn-
+ <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this option, the code will print warn-
ings 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.
- <B>-v</B><I>n</I> specifies that (verbose) output be written to stan-
- dard error trace information showing <B>tic</B>'s
- progress. The optional integer <I>n</I> is a number from
- 1 to 10, inclusive, indicating the desired level of
- detail of information. If <I>n</I> is omitted, the
- default level is 1. If <I>n</I> is specified and greater
- than 1, the level of detail is increased.
-
- <B>-o</B><I>dir</I> Write compiled entries to given directory.
- Overrides the TERMINFO environment variable.
-
- <B>-w</B><I>n</I> specifies the width of the output.
-
- <B>-1</B> restricts the output to a single column
+ <STRONG>-e</STRONG> <EM>names</EM>
+ 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 con-
+ taining the list if it contains a '/'. (Note:
+ depending on how tic was compiled, this option may
+ require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
- <B>-C</B> Force source translation to termcap format. Note:
- this differs from the -C option of <B><A HREF="infocmp.1m.html">infocmp(1m)</A></B> 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.
+ <STRONG>-f</STRONG> Display complex terminfo strings which contain
+ if/then/else/endif expressions indented for read-
+ ability.
- <B>-G</B> Display constant literals in decimal form rather
+ <STRONG>-G</STRONG> Display constant literals in decimal form rather
than their character equivalents.
- <B>-I</B> Force source translation to terminfo format.
+ <STRONG>-g</STRONG> Display constant character literals in quoted form
+ rather than their decimal equivalents.
- <B>-L</B> Force source translation to terminfo format using
- the long C variable names listed in <<B>term.h</B>>
+ <STRONG>-I</STRONG> Force source translation to terminfo format.
- <B>-N</B> Disable smart defaults. Normally, when translating
+ <STRONG>-L</STRONG> Force source translation to terminfo format using
+ the long C variable names listed in <<STRONG>term.h</STRONG>>
+
+ <STRONG>-N</STRONG> Disable smart defaults. Normally, when translating
from termcap to terminfo, the compiler makes a num-
ber of assumptions about the defaults of string
- capabilities <B>reset1_string</B>, <B>carriage_return</B>, <B>cur-</B>
- <B>sor_left</B>, <B>cursor_down</B>, <B>scroll_forward</B>, <B>tab</B>, <B>new-</B>
- <B>line</B>, <B>key_backspace</B>, <B>key_left</B>, and <B>key_down</B>, then
+ capabilities <STRONG>reset1_string</STRONG>, <STRONG>carriage_return</STRONG>, <STRONG>cur-</STRONG>
+ <STRONG>sor_left</STRONG>, <STRONG>cursor_down</STRONG>, <STRONG>scroll_forward</STRONG>, <STRONG>tab</STRONG>, <STRONG>new-</STRONG>
+ <STRONG>line</STRONG>, <STRONG>key_backspace</STRONG>, <STRONG>key_left</STRONG>, and <STRONG>key_down</STRONG>, then
attempts to use obsolete termcap capabilities to
deduce correct values. It also normally suppresses
- output of obsolete termcap capabilities such as <B>bs</B>.
+ output of obsolete termcap capabilities such as <STRONG>bs</STRONG>.
This option forces a more literal translation that
also preserves the obsolete capabilities.
- <B>-R</B><I>subset</I>
- 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 don't support
- the full set of SVR4/XSI Curses terminfo; and out-
+ <STRONG>-o</STRONG><EM>dir</EM> Write compiled entries to given directory. Over-
+ rides the TERMINFO environment variable.
+
+ <STRONG>-R</STRONG><EM>subset</EM>
+ 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 out-
right broken ports like AIX 3.x that have their own
- extensions incompatible with SVr4/XSI. Available
+ extensions incompatible with SVr4/XSI. Available
subsets are "SVr1", "Ultrix", "HP", "BSD" and
- "AIX"; see <B><A HREF="terminfo.5.html">terminfo(5)</A></B> for details.
-
- <B>-T</B> 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).
+ "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
- <B>-r</B> Force entry resolution (so there are no remaining
+ <STRONG>-r</STRONG> 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 up to version 1.3 or BSD
- termcap up to 4.3BSD) that doesn't handle multiple
- tc capabilities per entry.
+ (such as GNU termcap through version 1.3 or BSD
+ termcap through 4.3BSD) that does not handle multi-
+ ple tc capabilities per entry.
- <B>-e</B> 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 con-
- taining the list if it contains a '/'. (Note:
- depending on how tic was compiled, this option may
- require -I or -C.)
-
- <B>-f</B> Display complex terminfo strings which contain
- if/then/else/endif expressions indented for read-
- ability.
-
- <B>-g</B> Display constant character literals in quoted form
- rather than their decimal equivalents.
-
- <B>-s</B> Summarize the compile by showing the directory into
+ <STRONG>-s</STRONG> Summarize the compile by showing the directory into
which entries are written, and the number of
entries which are compiled.
- <B>-x</B> Treat unknown capabilities as user-defined. That
- is, if you supply a capability name which <B>tic</B> does
- not recognize, it will infer its type (boolean,
- number or string) from the syntax and make an
- extended table entry for that.
+ <STRONG>-T</STRONG> 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).
- <I>file</I> contains one or more <B>terminfo</B> terminal descriptions
- in source format [see <B><A HREF="terminfo.5.html">terminfo(5)</A></B>]. Each descrip-
- tion in the file describes the capabilities of a
- particular terminal.
+ <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities.
+ Normally when translating from terminfo to termcap,
+ untranslatable capabilities are commented-out.
+
+ <STRONG>-U</STRONG> tells <STRONG>tic</STRONG> 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 term-
+ caps.
+
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this
+ program, and exits.
+
+ <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to stan-
+ dard error trace information showing <STRONG>tic</STRONG>'s progress.
+ The optional parameter <EM>n</EM> is a number from 1 to 10,
+ inclusive, indicating the desired level of detail of
+ information. If <EM>n</EM> is omitted, the default level is
+ 1. If <EM>n</EM> is specified and greater than 1, the level
+ of detail is increased.
+
+ <STRONG>-w</STRONG><EM>n</EM> specifies the width of the output. The parameter is
+ optional. If it is omitted, it defaults to 60.
+
+ <STRONG>-x</STRONG> Treat unknown capabilities as user-defined. That is,
+ if you supply a capability name which <STRONG>tic</STRONG> 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.
+
+ <EM>file</EM> contains one or more <STRONG>terminfo</STRONG> terminal descriptions
+ in source format [see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>]. Each description
+ in the file describes the capabilities of a particu-
+ lar terminal.
The debug flag levels are as follows:
8 List of tokens encountered by scanner
- 9 All values computed in construction of the hash
- table
+ 9 All values computed in construction of the hash ta-
+ ble
- If n is not given, it is taken to be one.
+ If the debug level <EM>n</EM> is not given, it is taken to be one.
- All but one of the capabilities recognized by <B>tic</B> are doc-
- umented in <B><A HREF="terminfo.5.html">terminfo(5)</A></B>. The exception is the <B>use</B> capabil-
+ All but one of the capabilities recognized by <STRONG>tic</STRONG> are doc-
+ umented in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. The exception is the <STRONG>use</STRONG> capabil-
ity.
- When a <B>use</B>=<I>entry</I>-<I>name</I> field is discovered in a terminal
- entry currently being compiled, <B>tic</B> reads in the binary
- from <B>@DATADIR@/terminfo</B> to complete the entry. (Entries
- created from <I>file</I> will be used first. If the environment
- variable <B>TERMINFO</B> is set, that directory is searched
- instead of <B>@DATADIR@/terminfo</B>.) <B>tic</B> duplicates the capa-
- bilities in <I>entry</I>-<I>name</I> for the current entry, with the
+ When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered in a terminal
+ entry currently being compiled, <STRONG>tic</STRONG> reads in the binary
+ from <STRONG>/usr/share/terminfo</STRONG> to complete the entry. (Entries
+ created from <EM>file</EM> will be used first. If the environment
+ variable <STRONG>TERMINFO</STRONG> is set, that directory is searched
+ instead of <STRONG>/usr/share/terminfo</STRONG>.) <STRONG>tic</STRONG> duplicates the capa-
+ bilities in <EM>entry</EM>-<EM>name</EM> for the current entry, with the
exception of those capabilities that explicitly are
defined in the current entry.
- When an entry, e.g., <B>entry_name_1</B>, contains a
- <B>use=</B><I>entry</I>_<I>name</I>_<I>2</I> field, any canceled capabilities in
- <I>entry</I>_<I>name</I>_<I>2</I> must also appear in <B>entry_name_1</B> before <B>use=</B>
- for these capabilities to be canceled in <B>entry_name_1</B>.
+ When an entry, e.g., <STRONG>entry_name_1</STRONG>, contains a
+ <STRONG>use=</STRONG><EM>entry</EM>_<EM>name</EM>_<EM>2</EM> field, any canceled capabilities in
+ <EM>entry</EM>_<EM>name</EM>_<EM>2</EM> must also appear in <STRONG>entry_name_1</STRONG> before <STRONG>use=</STRONG>
+ for these capabilities to be canceled in <STRONG>entry_name_1</STRONG>.
- If the environment variable <B>TERMINFO</B> is set, the compiled
- results are placed there instead of <B>@DATADIR@/terminfo</B>.
+ If the environment variable <STRONG>TERMINFO</STRONG> is set, the compiled
+ results are placed there instead of <STRONG>/usr/share/terminfo</STRONG>.
Total compiled entries cannot exceed 4096 bytes. The name
field cannot exceed 512 bytes. Terminal names exceeding
</PRE>
<H2>COMPATIBILITY</H2><PRE>
- There is some evidence that historic <B>tic</B> implementations
+ There is some evidence that historic <STRONG>tic</STRONG> implementations
treated description fields with no whitespace in them as
- additional aliases or short names. This <B>tic</B> does not do
+ additional aliases or short names. This <STRONG>tic</STRONG> does not do
that, but it does warn when description fields may be
treated that way and check them for dangerous characters.
</PRE>
<H2>EXTENSIONS</H2><PRE>
- Unlike the stock SVr4 <B>tic</B> command, this implementation can
+ Unlike the stock SVr4 <STRONG>tic</STRONG> 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 <B><A HREF="terminfo.5.html">terminfo(5)</A></B> for the list of termcap
+ source file. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> 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 <B>use</B> capabilities. This implementation of <B>tic</B>
- will find <B>use</B> targets anywhere in the source file, or any-
- where in the file tree rooted at <B>TERMINFO</B> (if <B>TERMINFO</B> is
- defined), or in the user's <I>$HOME/.terminfo</I> directory (if
+ rules for <STRONG>use</STRONG> capabilities. This implementation of <STRONG>tic</STRONG>
+ will find <STRONG>use</STRONG> targets anywhere in the source file, or any-
+ where in the file tree rooted at <STRONG>TERMINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is
+ defined), or in the user's <EM>$HOME/.terminfo</EM> directory (if
it exists), or (finally) anywhere in the system's file
tree of compiled entries.
- The error messages from this <B>tic</B> have the same format as
+ The error messages from this <STRONG>tic</STRONG> have the same format as
GNU C error messages, and can be parsed by GNU Emacs's
compile facility.
- The <B>-C</B>, <B>-G</B>, <B>-I</B>, <B>-N</B>, <B>-R</B>, <B>-T</B>, <B>-a</B>, <B>-e</B>, <B>-f</B>, <B>-g</B>, <B>-o</B>, <B>-r</B>, <B>-s</B> and
- <B>-x</B> options are not supported under SVr4. The SVr4 -c mode
- does not report bad use links.
+
+ The <STRONG>-C</STRONG>, <STRONG>-G</STRONG>, <STRONG>-I</STRONG>, <STRONG>-N</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-o</STRONG>, <STRONG>-r</STRONG>,
+ <STRONG>-s</STRONG>, <STRONG>-t</STRONG> and <STRONG>-x</STRONG> options are not supported under SVr4. The
+ SVr4 <STRONG>-c</STRONG> mode does not report bad use links.
System V does not compile entries to or read entries from
- your <I>$HOME/.terminfo</I> directory unless TERMINFO is explic-
+ your <EM>$HOME/.terminfo</EM> directory unless TERMINFO is explic-
itly set to it.
</PRE>
<H2>FILES</H2><PRE>
- <B>@DATADIR@/terminfo/?/*</B>
+ <STRONG>/usr/share/terminfo/?/*</STRONG>
Compiled terminal description database.
</PRE>
<H2>SEE ALSO</H2><PRE>
- <B><A HREF="infocmp.1m.html">infocmp(1m)</A></B>, <B><A HREF="captoinfo.1m.html">captoinfo(1m)</A></B>, <B><A HREF="infotocap.1m.html">infotocap(1m)</A></B>, <B><A HREF="toe.1m.html">toe(1m)</A></B>,
- <B><A HREF="ncurses.3x.html">curses(3x)</A></B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20081011).
+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
</PRE>
<HR>
<ADDRESS>