.\"***************************************************************************
-.\" Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2014,2015 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.54 2012/02/04 23:09:43 tom Exp $
+.\" $Id: tic.1m,v 1.61 2015/09/05 20:45:49 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
c\
f\
g\
+q\
r\
s\
t\
\fR]
[\fB\-e\fR \fInames\fR]
[\fB\-o\fR \fIdir\fR]
+[\fB\-Q\fR[\fIn\fR]]
[\fB\-R\fR \fIsubset\fR]
[\fB\-v\fR[\fIn\fR]]
[\fB\-w\fR[\fIn\fR]]
(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
+Libraries that read terminfo entries are expected to check in succession
.bP
-a location specified with the TERMINFO variable first,
+a location specified with the TERMINFO environment variable,
.bP
-look in \fI$HOME/.terminfo\fR if TERMINFO is not set, next
+\fI$HOME/.terminfo\fR,
.bP
-directories listed in the TERMINFO_DIRS symbol, and
+directories listed in the TERMINFO_DIRS environment variable,
.bP
-finally look in the system terminfo database (\fI\*d\fR).
+a compiled-in list of directories (@TERMINFO_DIRS@), and
+.bP
+the system terminfo database (\fI\*d\fR).
.SS OPTIONS
.TP
\fB\-0\fR
The actual format used incorporates some improvements for escaped characters
from terminfo format.
For a stricter BSD-compatible translation, add the \fB\-K\fR option.
+.IP
+If this is combined with \fB\-c\fR, \fB@TIC@\fR makes additional checks
+to report cases where the terminfo values do not have an exact equivalent
+in termcap form.
+For example:
+.RS
+.bP
+\fBsgr\fP usually will not convert, because termcap lacks the ability to
+work with more than two parameters, and because termcap lacks many of
+the arithmetic/logical operators used in terminfo.
+.bP
+capabilities with more than one delay or with delays before the end of
+the string will not convert completely.
+.RE
.TP
\fB\-c\fR
tells \fB@TIC@\fP to only check \fIfile\fR for errors, including syntax problems and
(and a documented limit in terminfo),
these entries may cause core
dumps with other implementations.
+.IP
+\fB@TIC@\fP checks string capabilities to ensure that those with parameters
+will be valid expressions.
+It does this check only for the predefined string capabilities;
+those which are defined with the \fB\-x\fP option are ignored.
.TP
\fB\-D\fR
tells \fB@TIC@\fP to print the database locations that it knows about, and exit.
Write compiled entries to given database location.
Overrides the TERMINFO environment variable.
.TP
+\fB\-Q\fR\fIn\fR
+Rather than show source in terminfo (text) format,
+print the compiled (binary) format in hexadecimal or base64 form,
+depending on the option's value:
+.RS 8
+.TP 3
+1
+hexadecimal
+.TP 3
+2
+base64
+.TP 3
+3
+hexadecimal and base64
+.RE
+.TP
+\fB\-q\fR
+Suppress comments and blank lines when showing translated source.
+.TP
\fB\-R\fR\fIsubset\fR
Restrict output to a given subset.
This option is for use with archaic
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.
-.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.
+.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
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
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.