]> ncurses.scripts.mit.edu Git - ncurses.git/blob - doc/html/man/tic.1m.html
ncurses 6.4 - patch 20230819
[ncurses.git] / doc / html / man / tic.1m.html
1 <!--
2   ****************************************************************************
3   * Copyright 2018-2022,2023 Thomas E. Dickey                                *
4   * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
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   * @Id: tic.1m,v 1.88 2023/08/19 20:02:20 tom Exp @
31 -->
32 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
33 <HTML>
34 <HEAD>
35 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
36 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
37 <TITLE>tic 1m 2023-08-19 ncurses 6.4 User commands</TITLE>
38 <link rel="author" href="mailto:bug-ncurses@gnu.org">
39
40 </HEAD>
41 <BODY>
42 <H1 class="no-header">tic 1m 2023-08-19 ncurses 6.4 User commands</H1>
43 <PRE>
44 <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>                          User commands                         <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
45
46
47
48
49 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
50        <STRONG>tic</STRONG> - the <EM>terminfo</EM> entry-description compiler
51
52
53 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
54        <STRONG>tic</STRONG>  [<STRONG>-01CDGIKLNTUVWacfgqrstx</STRONG>]  [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-Q</STRONG>[<EM>n</EM>]] [<STRONG>-R</STRONG> <EM>subset</EM>]
55        [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM>
56
57
58 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
59        The <STRONG>tic</STRONG> command translates a <STRONG>terminfo</STRONG>  file  from  source  format  into
60        compiled  format.   The  compiled  format is necessary for use with the
61        library routines in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
62
63        As described in <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, the database may be either  a  directory  tree
64        (one  file  per  terminal  entry)  or a hashed database (one record per
65        entry).  The <STRONG>tic</STRONG> command writes only one type of  entry,  depending  on
66        how it was built:
67
68        <STRONG>o</STRONG>   For    directory    trees,    the    top-level   directory,   e.g.,
69            /usr/share/terminfo, specifies the location of the database.
70
71        <STRONG>o</STRONG>   For hashed databases, a filename is needed.  If the given  file  is
72            not  found  by  that  name,  but  can be found by adding the suffix
73            ".db", then that is used.
74
75            The default name for the hashed database is the same as the default
76            directory name (only adding a ".db" suffix).
77
78        In  either  case  (directory  or  hashed database), <STRONG>tic</STRONG> will create the
79        container if it does not exist.  For a directory,  this  would  be  the
80        "terminfo" leaf, versus a "terminfo.db" file.
81
82        The  results  are  normally  placed  in  the  system  terminfo database
83        <STRONG>/usr/share/terminfo</STRONG>.  The compiled terminal description can  be  placed
84        in a different terminfo database.  There are two ways to achieve this:
85
86        <STRONG>o</STRONG>   First,  you  may override the system default either by using the <STRONG>-o</STRONG>
87            option,  or  by  setting  the  variable  <STRONG>TERMINFO</STRONG>  in  your   shell
88            environment to a valid database location.
89
90        <STRONG>o</STRONG>   Secondly,  if  <STRONG>tic</STRONG>  cannot  write  in  <EM>/usr/share/terminfo</EM>  or  the
91            location specified using your TERMINFO variable, it looks  for  the
92            directory  <EM>$HOME/.terminfo</EM> (or hashed database <EM>$HOME/.terminfo.db)</EM>;
93            if that location exists, the entry is placed there.
94
95        Libraries  that  read  terminfo  entries  are  expected  to  check   in
96        succession
97
98        <STRONG>o</STRONG>   a location specified with the TERMINFO environment variable,
99
100        <STRONG>o</STRONG>   <EM>$HOME/.terminfo</EM>,
101
102        <STRONG>o</STRONG>   directories listed in the TERMINFO_DIRS environment variable,
103
104        <STRONG>o</STRONG>   a compiled-in list of directories (/usr/share/terminfo), and
105
106        <STRONG>o</STRONG>   the system terminfo database (<EM>/usr/share/terminfo</EM>).
107
108
109 </PRE><H3><a name="h3-ALIASES">ALIASES</a></H3><PRE>
110        This  is the same program as infotocap and captoinfo; usually those are
111        linked to, or copied from this program:
112
113        <STRONG>o</STRONG>   When invoked as infotocap, tic sets the <STRONG>-I</STRONG> option.
114
115        <STRONG>o</STRONG>   When invoked as captoinfo, tic sets the <STRONG>-C</STRONG> option.
116
117
118 </PRE><H3><a name="h3-OPTIONS">OPTIONS</a></H3><PRE>
119        <STRONG>-0</STRONG>     restricts the output to a single line
120
121        <STRONG>-1</STRONG>     restricts the output to a single column
122
123        <STRONG>-a</STRONG>     tells <STRONG>tic</STRONG>  to  retain  commented-out  capabilities  rather  than
124               discarding  them.   Capabilities are commented by prefixing them
125               with a period.  This sets the <STRONG>-x</STRONG> option, because it  treats  the
126               commented-out  entries  as user-defined names.  If the source is
127               termcap, accept the 2-character names  required  by  version  6.
128               Otherwise these are ignored.
129
130        <STRONG>-C</STRONG>     Force  source translation to termcap format.  Note: this differs
131               from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in that  it  does  not  merely
132               translate capability names, but also translates terminfo strings
133               to termcap format.  Capabilities that are not  translatable  are
134               left  in  the entry under their terminfo names but commented out
135               with two preceding dots.  The actual  format  used  incorporates
136               some  improvements  for escaped characters from terminfo format.
137               For a stricter BSD-compatible translation, add the <STRONG>-K</STRONG> option.
138
139               If this is combined with <STRONG>-c</STRONG>,  <STRONG>tic</STRONG>  makes  additional  checks  to
140               report  cases  where  the  terminfo  values do not have an exact
141               equivalent in termcap form.  For example:
142
143               <STRONG>o</STRONG>   <STRONG>sgr</STRONG> usually will not  convert,  because  termcap  lacks  the
144                   ability  to  work with more than two parameters, and because
145                   termcap lacks many of the arithmetic/logical operators  used
146                   in terminfo.
147
148               <STRONG>o</STRONG>   capabilities  with more than one delay or with delays before
149                   the end of the string will not convert completely.
150
151        <STRONG>-c</STRONG>     tells <STRONG>tic</STRONG> to  only  check  <EM>file</EM>  for  errors,  including  syntax
152               problems  and  bad  use-links.  If you specify <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this
153               option, the code will print warnings about entries which,  after
154               use  resolution, are more than 1023 (4096) bytes long.  Due to a
155               fixed buffer length in older termcap libraries, as well as buggy
156               checking  for  the  buffer  length  (and  a  documented limit in
157               terminfo),  these  entries  may  cause  core  dumps  with  other
158               implementations.
159
160               <STRONG>tic</STRONG>  checks  string  capabilities  to  ensure  that  those  with
161               parameters will be valid expressions.  It does this  check  only
162               for  the predefined string capabilities; those which are defined
163               with the <STRONG>-x</STRONG> option are ignored.
164
165        <STRONG>-D</STRONG>     tells <STRONG>tic</STRONG> to print the database locations that it  knows  about,
166               and exit.  The first location shown is the one to which it would
167               write compiled terminal descriptions.  If <STRONG>tic</STRONG>  is  not  able  to
168               find  a  writable  database  location  according  to  the  rules
169               summarized above, it will print a diagnostic and  exit  with  an
170               error rather than printing a list of database locations.
171
172        <STRONG>-e</STRONG> <EM>names</EM>
173               Limit  writes  and translations to the following comma-separated
174               list of terminals.  If any name or alias of a  terminal  matches
175               one  of  the  names  in  the  list, the entry will be written or
176               translated as normal.  Otherwise no output will be generated for
177               it.   The  option  value is interpreted as a file containing the
178               list if it contains a '/'.  (Note:  depending  on  how  tic  was
179               compiled, this option may require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
180
181        <STRONG>-f</STRONG>     Display     complex     terminfo     strings    which    contain
182               if/then/else/endif expressions indented for readability.
183
184        <STRONG>-G</STRONG>     Display constant literals in  decimal  form  rather  than  their
185               character equivalents.
186
187        <STRONG>-g</STRONG>     Display  constant  character literals in quoted form rather than
188               their decimal equivalents.
189
190        <STRONG>-I</STRONG>     Force source translation to terminfo format.
191
192        <STRONG>-K</STRONG>     Suppress some longstanding ncurses extensions to termcap format,
193               e.g., "\s" for space.
194
195        <STRONG>-L</STRONG>     Force  source  translation  to  terminfo format using the long C
196               variable names listed in &lt;<STRONG>term.h</STRONG>&gt;
197
198        <STRONG>-N</STRONG>     Disable smart defaults.  Normally, when translating from termcap
199               to  terminfo,  the  compiler makes a number of assumptions about
200               the   defaults    of    string    capabilities    <STRONG>reset1_string</STRONG>,
201               <STRONG>carriage_return</STRONG>,  <STRONG>cursor_left</STRONG>, <STRONG>cursor_down</STRONG>, <STRONG>scroll_forward</STRONG>, <STRONG>tab</STRONG>,
202               <STRONG>newline</STRONG>, <STRONG>key_backspace</STRONG>, <STRONG>key_left</STRONG>, and <STRONG>key_down</STRONG>, then attempts to
203               use  obsolete termcap capabilities to deduce correct values.  It
204               also normally suppresses output of obsolete termcap capabilities
205               such  as <STRONG>bs</STRONG>.  This option forces a more literal translation that
206               also preserves the obsolete capabilities.
207
208        <STRONG>-o</STRONG><EM>dir</EM>  Write compiled entries to given  database  location.   Overrides
209               the TERMINFO environment variable.
210
211        <STRONG>-Q</STRONG><EM>n</EM>    Rather  than  show  source  in terminfo (text) format, print the
212               compiled  (binary)  format  in  hexadecimal  or   base64   form,
213               depending on the option's value:
214
215                1  hexadecimal
216
217                2  base64
218
219                3  hexadecimal and base64
220
221        <STRONG>-q</STRONG>     Suppress  comments  and  blank  lines  when  showing  translated
222               source.
223
224        <STRONG>-R</STRONG><EM>subset</EM>
225               Restrict output to a given subset.  This option is for use  with
226               archaic  versions of terminfo like those on SVr1, Ultrix, or HP-
227               UX that do not support the full set of SVR4/XSI Curses terminfo;
228               and  outright  broken  ports  like  AIX  3.x that have their own
229               extensions incompatible with SVr4/XSI.
230
231               Available subsets are
232               "SVr1", "Ultrix", "HP", "BSD", and "AIX"
233
234               See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
235
236        <STRONG>-r</STRONG>     Force  entry  resolution  (so  there   are   no   remaining   tc
237               capabilities)  even  when  doing  translation to termcap format.
238               This may be needed if you are preparing a  termcap  file  for  a
239               termcap  library (such as GNU termcap through version 1.3 or BSD
240               termcap  through  4.3BSD)  that  does  not  handle  multiple  tc
241               capabilities per entry.
242
243        <STRONG>-s</STRONG>     Summarize  the  compile  by  showing  the database location into
244               which entries are written, and the number of entries  which  are
245               compiled.
246
247        <STRONG>-T</STRONG>     eliminates  size-restrictions  on  the  generated text.  This is
248               mainly useful for  testing  and  analysis,  since  the  compiled
249               descriptions  are  limited  (e.g.,  1023  for  termcap, 4096 for
250               terminfo).
251
252        <STRONG>-t</STRONG>     tells <STRONG>tic</STRONG> to discard commented-out capabilities.  Normally  when
253               translating    from    terminfo   to   termcap,   untranslatable
254               capabilities are commented-out.
255
256        <STRONG>-U</STRONG>   tells <STRONG>tic</STRONG> to not post-process the data after  parsing  the  source
257             file.  Normally, it infers data which is commonly missing in older
258             terminfo data, or in termcaps.
259
260        <STRONG>-V</STRONG>   reports the version of ncurses which was used in this program, and
261             exits.
262
263        <STRONG>-v</STRONG><EM>n</EM>  specifies that (verbose) output be written to standard error trace
264             information showing <STRONG>tic</STRONG>'s progress.
265
266             The optional parameter <EM>n</EM> is a  number  from  1  to  9,  inclusive,
267             indicating the desired level of detail of information.
268
269             <STRONG>o</STRONG>   If  ncurses  is  built  without  tracing support, the optional
270                 parameter is ignored.
271
272             <STRONG>o</STRONG>   If <EM>n</EM> is omitted, the default level is 1.
273
274             <STRONG>o</STRONG>   If <EM>n</EM> is specified and greater than 1, the level of  detail  is
275                 increased,   and   the   output   is   written  (with  tracing
276                 information) to the "trace" file.
277
278             The debug flag levels are as follows:
279
280             1   Names of files created and linked
281
282             2   Information related to the "use" facility
283
284             3   Statistics from the hashing algorithm
285
286             4   Details of extended capabilities
287
288             5   (unused)
289
290             6   (unused)
291
292             7   Entries into the string-table
293
294             8   List of tokens encountered by scanner
295
296             9   All values computed in construction of the hash table
297
298        <STRONG>-W</STRONG>   By itself, the <STRONG>-w</STRONG>  option  will  not  force  long  strings  to  be
299             wrapped.  Use the <STRONG>-W</STRONG> option to do this.
300
301             If  you specify both <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options, the latter is ignored when
302             <STRONG>-f</STRONG> has already split the line.
303
304        <STRONG>-w</STRONG><EM>n</EM>  specifies the width of the output.  The parameter is optional.  If
305             it is omitted, it defaults to 60.
306
307        <STRONG>-x</STRONG>   Treat  unknown  capabilities  as  user-defined (see <STRONG>user_caps(5)</STRONG>).
308             That is, if you supply  a  capability  name  which  <STRONG>tic</STRONG>  does  not
309             recognize, it will infer its type (boolean, number or string) from
310             the syntax and make an  extended  table  entry  for  that.   User-
311             defined  capability strings whose name begins with "k" are treated
312             as function keys.
313
314
315 </PRE><H3><a name="h3-PARAMETERS">PARAMETERS</a></H3><PRE>
316        <EM>file</EM>   contains one or more <STRONG>terminfo</STRONG> terminal  descriptions  in  source
317               format   [see   <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].   Each  description  in  the  file
318               describes the capabilities of a particular terminal.
319
320               If <EM>file</EM> is "-", then the data is read from the  standard  input.
321               The <EM>file</EM> parameter may also be the path of a character-device.
322
323
324 </PRE><H3><a name="h3-PROCESSING">PROCESSING</a></H3><PRE>
325        All  but  one  of  the capabilities recognized by <STRONG>tic</STRONG> are documented in
326        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  The exception is the <STRONG>use</STRONG> capability.
327
328        When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered in a terminal entry currently
329        being  compiled,  <STRONG>tic</STRONG>  reads  in the binary from <STRONG>/usr/share/terminfo</STRONG> to
330        complete the entry.  (Entries created from <EM>file</EM>  will  be  used  first.
331        <STRONG>tic</STRONG>  duplicates  the  capabilities in <EM>entry</EM>-<EM>name</EM> for the current entry,
332        with the exception of those capabilities that explicitly are defined in
333        the current entry.
334
335        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,
336        any  canceled  capabilities  in  <EM>entry</EM>_<EM>name</EM>_<EM>2</EM>  must  also   appear   in
337        <STRONG>entry_name_1</STRONG>  before  <STRONG>use=</STRONG>  for  these  capabilities  to be canceled in
338        <STRONG>entry_name_1</STRONG>.
339
340        Total compiled entries cannot exceed 4096 bytes.  The name field cannot
341        exceed  512  bytes.   Terminal names exceeding the maximum alias length
342        (32 characters on systems with long filenames, 14 characters otherwise)
343        will  be  truncated  to  the maximum alias length and a warning message
344        will be printed.
345
346
347 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
348        System V Release 2 provided  a  <STRONG>tic</STRONG>  utility.   It  accepted  a  single
349        option:  <STRONG>-v</STRONG>  (optionally  followed  by  a  number).   According to Ross
350        Ridge's comment in <EM>mytinfo</EM>, this version of <STRONG>tic</STRONG> was unable to represent
351        cancelled capabilities.
352
353        System  V  Release 3 provided a different <STRONG>tic</STRONG> utility, written by Pavel
354        Curtis, (originally named "compile" in <EM>pcurses</EM>).  This added an  option
355        <STRONG>-c</STRONG>  to check the file for errors, with the caveat that errors in "use="
356        links would not be reported.  System  V  Release  3  documented  a  few
357        warning  messages  which  did not appear in <EM>pcurses</EM>.  While the program
358        itself was changed  little  as  development  continued  with  System  V
359        Release  4,  the  table  of capabilities grew from 180 (<EM>pcurses</EM>) to 464
360        (Solaris).
361
362        In early development of ncurses (1993), Zeyd Ben-Halim used  the  table
363        from  <EM>mytinfo</EM>  to  extend  the  <EM>pcurses</EM>  table to 469 capabilities (456
364        matched SVr4, 8 were only in SVr4, 13 were not in SVr4).  Of those  13,
365        11  were  ultimately  discarded  (perhaps  to match the draft of X/Open
366        Curses).  The exceptions were <STRONG>memory_lock_above</STRONG> and <STRONG>memory_unlock</STRONG>  (see
367        <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>).
368
369        Eric  Raymond  incorporated  parts of <EM>mytinfo</EM> into ncurses to implement
370        the termcap-to-terminfo source conversion, and extended that  to  begin
371        development of the corresponding terminfo-to-termcap source conversion,
372        Thomas Dickey completed that development over  the  course  of  several
373        years.
374
375        In  1999,  Thomas  Dickey  added  the <STRONG>-x</STRONG> option to support user-defined
376        capabilities.
377
378        In 2010, Roy Marples provided a <STRONG>tic</STRONG> program and  terminfo  library  for
379        NetBSD.   That  implementation  adapts  several  features from ncurses,
380        including <STRONG>tic</STRONG>'s <STRONG>-x</STRONG> option.
381
382        The <STRONG>-c</STRONG> option tells <STRONG>tic</STRONG> to check for problems in  the  terminfo  source
383        file.  Continued development provides additional checks:
384
385        <STRONG>o</STRONG>   <EM>pcurses</EM> had 8 warnings
386
387        <STRONG>o</STRONG>   ncurses in 1996 had 16 warnings
388
389        <STRONG>o</STRONG>   Solaris (SVr4) curses has 28 warnings
390
391        <STRONG>o</STRONG>   NetBSD tic in 2019 has 19 warnings.
392
393        <STRONG>o</STRONG>   ncurses in 2019 has 96 warnings
394
395        The checking done in ncurses' <STRONG>tic</STRONG> helps with the conversion to termcap,
396        as well as pointing out errors and inconsistencies.  It is also used to
397        ensure  consistency  with the user-defined capabilities.  There are 527
398        distinct capabilities in ncurses' terminal database; 128 of  those  are
399        user-defined.
400
401
402 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
403        X/Open  Curses, Issue 7 (2009) provides a brief description of <STRONG>tic</STRONG>.  It
404        lists one option: <STRONG>-c</STRONG>.  The omission of <STRONG>-v</STRONG> is  unexpected.   The  change
405        history  states  that  the  description  is  derived  from True64 UNIX.
406        According to its manual  pages,  that  system  also  supported  the  <STRONG>-v</STRONG>
407        option.
408
409        Shortly  after  Issue  7  was  released, Tru64 was discontinued.  As of
410        2019, the surviving implementations of <STRONG>tic</STRONG> are  SVr4  (AIX,  HP-UX  and
411        Solaris), ncurses and NetBSD curses.  The SVr4 <STRONG>tic</STRONG> programs all support
412        the <STRONG>-v</STRONG> option.  The NetBSD <STRONG>tic</STRONG> program follows X/Open's  documentation,
413        omitting the <STRONG>-v</STRONG> option.
414
415        The  X/Open  rationale  states  that  some  implementations of <STRONG>tic</STRONG> read
416        terminal descriptions from the standard input if the <EM>file</EM> parameter  is
417        omitted.   None of these implementations do that.  Further, it comments
418        that some  may  choose  to  read  from  "./terminfo.src"  but  that  is
419        obsolescent  behavior  from SVr2, and is not (for example) a documented
420        feature of SVr3.
421
422
423 </PRE><H3><a name="h3-COMPATIBILITY">COMPATIBILITY</a></H3><PRE>
424        There is  some  evidence  that  historic  <STRONG>tic</STRONG>  implementations  treated
425        description  fields with no whitespace in them as additional aliases or
426        short names.  This <STRONG>tic</STRONG>  does  not  do  that,  but  it  does  warn  when
427        description fields may be treated that way and check them for dangerous
428        characters.
429
430
431 </PRE><H3><a name="h3-EXTENSIONS">EXTENSIONS</a></H3><PRE>
432        Unlike the SVr4 <STRONG>tic</STRONG> command, this implementation can  actually  compile
433        termcap  sources.   In fact, entries in terminfo and termcap syntax can
434        be mixed in a single source file.  See  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  for  the  list  of
435        termcap names taken to be equivalent to terminfo names.
436
437        The  SVr4  manual  pages  are not clear on the resolution rules for <STRONG>use</STRONG>
438        capabilities.   This  implementation  of  <STRONG>tic</STRONG>  will  find  <STRONG>use</STRONG>  targets
439        anywhere  in  the  source  file, or anywhere in the file tree rooted at
440        <STRONG>TERMINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is defined), or  in  the  user's  <EM>$HOME/.terminfo</EM>
441        database  (if  it  exists),  or (finally) anywhere in the system's file
442        tree of compiled entries.
443
444        The error messages from this <STRONG>tic</STRONG> have the same format as  GNU  C  error
445        messages, and can be parsed by GNU Emacs's compile facility.
446
447        Aside from <STRONG>-c</STRONG> and <STRONG>-v</STRONG>, options are not portable:
448
449        <STRONG>o</STRONG>   Most of tic's options are not supported by SVr4 <STRONG>tic</STRONG>:
450
451            <STRONG>-0</STRONG> <STRONG>-1</STRONG> <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> <STRONG>-x</STRONG>
452
453        <STRONG>o</STRONG>   The NetBSD <STRONG>tic</STRONG>  supports a few of the ncurses options
454
455            <STRONG>-a</STRONG> <STRONG>-o</STRONG> <STRONG>-x</STRONG>
456
457            and  adds  <STRONG>-S</STRONG>  (a feature which does the same thing as infocmp's <STRONG>-e</STRONG>
458            and <STRONG>-E</STRONG> options).
459
460        The SVr4 <STRONG>-c</STRONG> mode does not report bad "use=" links.
461
462        System V does  not  compile  entries  to  or  read  entries  from  your
463        <EM>$HOME/.terminfo</EM> database unless TERMINFO is explicitly set to it.
464
465
466 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
467        <STRONG>/usr/share/terminfo/?/*</STRONG>
468             Compiled terminal description database.
469
470
471 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
472        <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infocmp.1m.html">infocmp(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>,
473        <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
474
475        This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230819).
476
477
478 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
479        Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
480        Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
481
482
483
484 ncurses 6.4                       2023-08-19                           <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
485 </PRE>
486 <div class="nav">
487 <ul>
488 <li><a href="#h2-NAME">NAME</a></li>
489 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
490 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
491 <ul>
492 <li><a href="#h3-ALIASES">ALIASES</a></li>
493 <li><a href="#h3-OPTIONS">OPTIONS</a></li>
494 <li><a href="#h3-PARAMETERS">PARAMETERS</a></li>
495 <li><a href="#h3-PROCESSING">PROCESSING</a></li>
496 </ul>
497 </li>
498 <li><a href="#h2-HISTORY">HISTORY</a></li>
499 <li><a href="#h2-PORTABILITY">PORTABILITY</a>
500 <ul>
501 <li><a href="#h3-COMPATIBILITY">COMPATIBILITY</a></li>
502 <li><a href="#h3-EXTENSIONS">EXTENSIONS</a></li>
503 </ul>
504 </li>
505 <li><a href="#h2-FILES">FILES</a></li>
506 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
507 <li><a href="#h2-AUTHOR">AUTHOR</a></li>
508 </ul>
509 </div>
510 </BODY>
511 </HTML>