ncurses 5.5
[ncurses.git] / man / tic.1m
index 95f806970829014961cef53cfe4d4df7c95e673f..08de74aa90498b8cb97859e9ac34ab2e0ea76447 100644 (file)
@@ -1,16 +1,63 @@
-.\" $Id: tic.1m,v 1.18 1998/01/17 21:11:30 tom Exp $
+.\"***************************************************************************
+.\" Copyright (c) 1998-2004,2005 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.38 2005/04/30 19:39:28 tom Exp $
 .TH tic 1M ""
 .ds n 5
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
 .SH NAME
 \fBtic\fR - the \fIterminfo\fR entry-description compiler
 .SH SYNOPSIS
 \fBtic\fR
+[\fB-\
+1\
+C\
+G\
+I\
+L\
+N\
+T\
+V\
+a\
+c\
+f\
+g\
+r\
+s\
+t\
+x\
+\fR]
+[\fB-e\fR \fInames\fR]
+[\fB-o\fR \fIdir\fR]
+[\fB-R\fR \fIsubset\fR]
 [\fB-v\fR[\fIn\fR]]
 [\fB-w\fR[\fIn\fR]]
-[\fB-1hcpICNRrsTu\fR]
-[\fB-e\fR \fInames\fR]
-[\fB-o\fR \fIdir\fR] \fIfile\fR
+\fIfile\fR
 .br
 .SH DESCRIPTION
 The command \fBtic\fR translates a \fBterminfo\fR file from source
@@ -31,39 +78,53 @@ Libraries that read terminfo entries are expected to check for a TERMINFO
 directory first, look at \fI$HOME/.terminfo\fR if TERMINFO is not set, and
 finally look in \fI\*d\fR.
 .TP
-\fB-h\fR
-Print help message and exit.
+\fB-1\fR
+restricts the output to a single column
+.TP
+\fB-a\fR
+tells \fBtic\fP to retain commented-out capabilities rather than discarding
+them.  Capabilities are commented by prefixing them with a period.
+This sets the \fB-x\fR 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.
+.TP
+\fB-C\fR
+Force source translation to termcap format.  Note: this differs from the \fB-C\fR
+option of \fIinfocmp\fR(1M) 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.
 .TP
 \fB-c\fR
-specifies to only check \fIfile\fR for errors, including syntax problems and
+tells \fBtic\fP to only check \fIfile\fR for errors, including syntax problems and
 bad use links.  If you specify \fB-C\fR (\fB-I\fR) 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.
 .TP
-\fB-v\fR\fIn\fR
-specifies that (verbose) output be written to standard error trace
-information showing \fBtic\fR's progress.  The optional integer
-\fIn\fR is a number from 1 to 10, inclusive, indicating the desired
-level of detail of information.  If \fIn\fR is omitted, the default
-level is 1.  If \fIn\fR is specified and greater than 1, the level of
-detail is increased.
+\fB-e \fR\fInames\fR
+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 \fB-I\fR or \fB-C\fR.)
 .TP
-\fB-o\fR\fIdir\fR
-Write compiled entries to given directory.  Overrides the TERMINFO environment
-variable.
+\fB-f\fR
+Display complex terminfo strings which contain if/then/else/endif expressions
+indented for readability.
 .TP
-\fB-w\fR\fIn\fR
-specifies the width of the output.
+\fB-G\fR
+Display constant literals in decimal form
+rather than their character equivalents.
 .TP
-\fB-1\fR
-restricts the output to a single column
-.TP
-\fB-T\fR
-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).
+\fB-g\fR
+Display constant character literals in quoted form
+rather than their decimal equivalents.
 .TP
 \fB-I\fR
 Force source translation to terminfo format.
@@ -72,18 +133,11 @@ Force source translation to terminfo format.
 Force source translation to terminfo format
 using the long C variable names listed in <\fBterm.h\fR>
 .TP
-\fB-C\fR
-Force source translation to termcap format.  Note: this differs from the -C
-option of \fIinfocmp\fR(1M) 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.
-.TP
 \fB-N\fR
-Disable smart defaults.  
-Normally, when translating from termcap to terminfo, the compiler makes 
+Disable smart defaults. 
+Normally, when translating from termcap to terminfo, the compiler makes
 a number of assumptions about the defaults of string capabilities
-\fBreset1_string\fR, \fBcarriage_return\fR, \fBcursor_left\fR, 
+\fBreset1_string\fR, \fBcarriage_return\fR, \fBcursor_left\fR,
 \fBcursor_down\fR, \fBscroll_forward\fR, \fBtab\fR, \fBnewline\fR,
 \fBkey_backspace\fR, \fBkey_left\fR, and \fBkey_down\fR, then attempts
 to use obsolete termcap capabilities to deduce correct values.  It also
@@ -91,33 +145,59 @@ normally suppresses output of obsolete termcap capabilities such as \fBbs\fR.
 This option forces a more literal translation that also preserves the
 obsolete capabilities.
 .TP
+\fB-o\fR\fIdir\fR
+Write compiled entries to given directory.  Overrides the TERMINFO environment
+variable.
+.TP
 \fB-R\fR\fIsubset\fR
 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 outright broken ports like AIX
+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 \fBterminfo\fR(\*n) for details.
 .TP
-\fI-r\fR
+\fB-r\fR
 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
+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.
 .TP
-\fI-s\fR
+\fB-s\fR
 Summarize the compile by showing the directory into which entries
 are written, and the number of entries which are compiled.
 .TP
-\fI-e\fR
-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.)
+\fB-T\fR
+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).
+.TP
+\fB-t\fR
+tells \fBtic\fP to discard commented-out capabilities.
+Normally when translating from terminfo to termcap,
+untranslatable capabilities are commented-out.
+.TP
+\fB-V\fR
+reports the version of ncurses which was used in this program, and exits.
+.TP
+\fB-v\fR\fIn\fR
+specifies that (verbose) output be written to standard error trace
+information showing \fBtic\fR's progress.  The optional integer
+\fIn\fR is a number from 1 to 10, inclusive, indicating the desired
+level of detail of information.  If \fIn\fR is omitted, the default
+level is 1.  If \fIn\fR is specified and greater than 1, the level of
+detail is increased.
+.TP
+\fB-w\fR\fIn\fR
+specifies the width of the output.
+.TP
+\fB-x\fR
+Treat unknown capabilities as user-defined.
+That is, if you supply a capability name which \fBtic\fP 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.
 .TP
 \fIfile\fR
 contains one or more \fBterminfo\fR terminal descriptions in source
@@ -147,7 +227,7 @@ List of tokens encountered by scanner
 9
 All values computed in construction of the hash table
 .LP
-If n is not given, it is taken to be one.
+If the debug level \fIn\fR is not given, it is taken to be one.
 .PP
 All but one of the capabilities recognized by \fBtic\fR are documented
 in \fBterminfo\fR(\*n).  The exception is the \fBuse\fR capability.
@@ -171,8 +251,9 @@ If the environment variable \fBTERMINFO\fR is set, the compiled
 results are placed there instead of \fB\*d\fR.
 
 Total compiled entries cannot exceed 4096 bytes.  The name field cannot
-exceed 128 bytes.  Terminal names exceeding 14 characters will be
-truncated to 14 characters and a warning message will be printed.
+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.
 .SH COMPATIBILITY
 There is some evidence that historic \fBtic\fR implementations treated
 description fields with no whitespace in them as additional aliases or
@@ -196,9 +277,26 @@ compiled entries.
 The error messages from this \fBtic\fR have the same format as GNU C
 error messages, and can be parsed by GNU Emacs's compile facility.
 
-The -o, -I, -C, -N, -R, -h, -e, -T, -r and -s options
+The
+\fB-C\fR,
+\fB-G\fR,
+\fB-I\fR,
+\fB-N\fR,
+\fB-R\fR,
+\fB-T\fR,
+\fB-V\fR,
+\fB-a\fR,
+\fB-e\fR,
+\fB-f\fR,
+\fB-g\fR,
+\fB-o\fR,
+\fB-r\fR,
+\fB-s\fR,
+\fB-t\fR and
+\fB-x\fR
+options
 are not supported under SVr4.
-The SVr4 -c mode does not report bad use links.
+The SVr4 \fB-c\fR mode does not report bad use links.
 
 System V does not compile entries to or read entries from your
 \fI$HOME/.terminfo\fR directory unless TERMINFO is explicitly set to it.
@@ -207,8 +305,8 @@ System V does not compile entries to or read entries from your
 \fB\*d/?/*\fR
 Compiled terminal description database.
 .SH SEE ALSO
-\fBinfocmp\fR(1M), \fBcaptoinfo\fR(1M), \fBinfotocap\fR(1M), \fBtoe\fR(1M),
-\fBcurses\fR(3X), \fBterminfo\fR(\*n).
+\fB@INFOCMP@\fR(1M), \fB@CAPTOINFO@\fR(1M), \fB@INFOTOCAP@\fR(1M),
+\fB@TOE@\fR(1M), \fBcurses\fR(3X), \fBterminfo\fR(\*n).
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables: