.\"***************************************************************************
-.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2012,2013 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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tic.1m,v 1.53 2011/12/17 23:13:19 tom Exp $
+.\" $Id: tic.1m,v 1.58 2013/07/20 19:31:25 tom Exp $
.TH @TIC@ 1M ""
+.ie \n(.g .ds `` \(lq
+.el .ds `` ``
+.ie \n(.g .ds '' \(rq
+.el .ds '' ''
.ds n 5
.ds d @TERMINFO@
.de bP
.PP
As described in \fBterm\fR(\*n), the database may be either a directory
tree (one file per terminal entry) or a hashed database (one record per entry).
-The \fB@TIC@\fR writes only one type of entry, depending on how it was built:
+The \fB@TIC@\fR command writes only one type of entry,
+depending on how it was built:
.bP
For directory trees, the top-level directory, e.g., /usr/share/terminfo,
specifies the location of the database.
The default name for the hashed database is the same as the
default directory name (only adding a ".db" suffix).
.PP
+In either case (directory or hashed database),
+\fB@TIC@\fP will create the container if it does not exist.
+For a directory, this would be the "terminfo" leaf,
+versus a "terminfo.db" file.
+.PP
The results are normally placed in the system terminfo database \fB\*d\fR.
-The compiled terminal description can be placed in a different terminfo database.
+The compiled terminal description can be placed
+in a different terminfo database.
There are two ways to achieve this:
.bP
-First, you may override the system default by setting the variable
-\fBTERMINFO\fR in your shell environment to a valid database
-location, e.g., an existing directory (for directory trees) or
-valid location for a hashed database.
+First, you may override the system default either by
+using the \fB\-o\fP option,
+or by setting the variable \fBTERMINFO\fR
+in your shell environment to a valid database location.
.bP
Secondly, if \fB@TIC@\fR cannot write in \fI\*d\fR
or the location specified using your TERMINFO variable,
(or hashed database \fI$HOME/.terminfo.db)\fR;
if that location exists, the entry is placed there.
.PP
-Libraries that read terminfo entries are expected to check for
-a location specified with the TERMINFO variable first,
-look at \fI$HOME/.terminfo\fR if TERMINFO is not set, and
-finally look in \fI\*d\fR.
+Libraries that read terminfo entries are expected to check in succession
+.bP
+a location specified with the TERMINFO environment variable,
+.bP
+\fI$HOME/.terminfo\fR,
+.bP
+directories listed in the TERMINFO_DIRS environment variable,
+.bP
+a compiled-in list of directories (@TERMINFO_DIRS@), and
+.bP
+the system terminfo database (\fI\*d\fR).
+.SS OPTIONS
.TP
\fB\-0\fR
restricts the output to a single line
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.
-The parameter is optional.
-If it is omitted, it defaults to 60.
-.TP
-\fB\-x\fR
-Treat unknown capabilities as user-defined.
-That is, if you supply a capability name which \fB@TIC@\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
-format [see \fBterminfo\fR(\*n)].
-Each description in the file
-describes the capabilities of a particular terminal.
+.RS
.PP
The debug flag levels are as follows:
.TP
Names of files created and linked
.TP
2
-Information related to the ``use'' facility
+Information related to the \*(``use\*('' facility
.TP
3
Statistics from the hashing algorithm
All values computed in construction of the hash table
.LP
If the debug level \fIn\fR is not given, it is taken to be one.
+.RE
+.TP
+\fB\-w\fR\fIn\fR
+specifies the width of the output.
+The parameter is optional.
+If it is omitted, it defaults to 60.
+.TP
+\fB\-x\fR
+Treat unknown capabilities as user-defined.
+That is, if you supply a capability name which \fB@TIC@\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.
+.SS PARAMETERS
+.TP
+\fIfile\fR
+contains one or more \fBterminfo\fR terminal descriptions in source
+format [see \fBterminfo\fR(\*n)].
+Each description in the file
+describes the capabilities of a particular terminal.
+.IP
+If \fIfile\fR is \*(``-\*('', then the data is read from the standard input.
+The \fIfile\fR parameter may also be the path of a character-device.
+.SS PROCESSING
.PP
All but one of the capabilities recognized by \fB@TIC@\fR are documented
in \fBterminfo\fR(\*n).
from \fB\*d\fR to complete the entry.
(Entries created from
\fIfile\fR will be used first.
-If the environment variable
-\fBTERMINFO\fR is set, that database location is searched instead of
-\fB\*d\fR.) \fB@TIC@\fR duplicates the capabilities in
+\fB@TIC@\fR duplicates the capabilities in
\fIentry\fR\-\fIname\fR for the current entry, with the exception of
those capabilities that explicitly are defined in the current entry.
.PP
\fBentry_name_1\fR before \fBuse=\fR for these capabilities to be
canceled in \fBentry_name_1\fR.
.PP
-If the environment variable \fBTERMINFO\fR is set, the compiled
-results are placed there instead of \fB\*d\fR.
-.PP
Total compiled entries cannot exceed 4096 bytes.
The name field cannot
exceed 512 bytes.
description fields may be treated that way and check them for dangerous
characters.
.SH EXTENSIONS
-Unlike the stock SVr4 \fB@TIC@\fR command, this implementation can actually
+Unlike the SVr4 \fB@TIC@\fR command, this implementation can actually
compile termcap sources.
In fact, entries in terminfo and termcap syntax can
be mixed in a single source file.