=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tic/tic.1,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- src/usr.bin/tic/tic.1 2013/03/24 00:09:30 1.16 +++ src/usr.bin/tic/tic.1 2023/10/17 09:52:10 1.17 @@ -1,7 +1,8 @@ -.\" $OpenBSD: tic.1,v 1.16 2013/03/24 00:09:30 nicm Exp $ +.\" $OpenBSD: tic.1,v 1.17 2023/10/17 09:52:10 nicm Exp $ .\" .\"*************************************************************************** -.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * +.\" Copyright 2018-2022,2023 Thomas E. Dickey * +.\" Copyright 1998-2016,2017 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 * @@ -28,86 +29,184 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: tic.1,v 1.16 2013/03/24 00:09:30 nicm Exp $ -.TH tic 1 "" +.\" $Id: tic.1,v 1.17 2023/10/17 09:52:10 nicm Exp $ +.TH tic 1 2023-08-19 "ncurses 6.4" "User commands" +.ie \n(.g .ds `` \(lq +.el .ds `` `` +.ie \n(.g .ds '' \(rq +.el .ds '' '' .ds n 5 .ds d /usr/share/terminfo +.de bP +.ie n .IP \(bu 4 +.el .IP \(bu 2 +.. .SH NAME -\fBtic\fR - the \fIterminfo\fR entry-description compiler +\fBtic\fP \- the \fIterminfo\fP entry-description compiler .SH SYNOPSIS -\fBtic\fR -[\fB-\ +\fBtic\fP +[\fB\-\ +0\ 1\ C\ +D\ G\ I\ +K\ L\ N\ T\ U\ V\ +W\ a\ c\ f\ g\ +q\ 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]] -\fIfile\fR -.br +\fP] +[\fB\-e\fP \fInames\fP] +[\fB\-o\fP \fIdir\fP] +[\fB\-Q\fP[\fIn\fP]] +[\fB\-R\fP \fIsubset\fP] +[\fB\-v\fP[\fIn\fP]] +[\fB\-w\fP[\fIn\fP]] +\fIfile\fP .SH DESCRIPTION -The command \fBtic\fR translates a \fBterminfo\fR file from source -format into compiled format. The compiled format is necessary for use with -the library routines in \fBncurses\fR(3X). +The \fBtic\fP command translates a \fBterminfo\fP file from source +format into compiled format. +The compiled format is necessary for use with +the library routines in \fBncurses\fP(3). .PP -The results are normally placed in the system terminfo -directory \fB\*d\fR. There are two ways to change this behavior. +As described in \fBterm\fP(\*n), the database may be either a directory +tree (one file per terminal entry) or a hashed database (one record per entry). +The \fBtic\fP 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. +.bP +For hashed databases, a filename is needed. +If the given file is not found by that name, +but can be found by adding the suffix ".db", +then that is used. +.IP +The default name for the hashed database is the same as the +default directory name (only adding a ".db" suffix). .PP -First, you may override the system default by setting the variable -\fBTERMINFO\fR in your shell environment to a valid (existing) directory name. +In either case (directory or hashed database), +\fBtic\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 -Secondly, if \fBtic\fR cannot get access to \fI\*d\fR or your TERMINFO -directory, it looks for the directory \fI$HOME/.terminfo\fR; if that directory -exists, the entry is placed there. +The results are normally placed in the system terminfo database \fB\*d\fP. +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 either by +using the \fB\-o\fP option, +or by setting the variable \fBTERMINFO\fP +in your shell environment to a valid database location. +.bP +Secondly, if \fBtic\fP cannot write in \fI\*d\fP +or the location specified using your TERMINFO variable, +it looks for the directory \fI$HOME/.terminfo\fP +(or hashed database \fI$HOME/.terminfo.db)\fP; +if that location exists, the entry is placed there. .PP -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. +Libraries that read terminfo entries are expected to check in succession +.bP +a location specified with the TERMINFO environment variable, +.bP +\fI$HOME/.terminfo\fP, +.bP +directories listed in the TERMINFO_DIRS environment variable, +.bP +a compiled-in list of directories (?), and +.bP +the system terminfo database (\fI\*d\fP). +.SS ALIASES +This is the same program as infotocap and captoinfo; +usually those are linked to, or copied from this program: +.bP +When invoked as infotocap, tic sets the \fB\-I\fP option. +.bP +When invoked as captoinfo, tic sets the \fB\-C\fP option. +.SS OPTIONS .TP -\fB-1\fR +\fB\-0\fP +restricts the output to a single line +.TP +\fB\-1\fP restricts the output to a single column .TP -\fB-a\fR +\fB\-a\fP 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 +them. +Capabilities are commented by prefixing them with a period. +This sets the \fB\-x\fP 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 \fBinfocmp\fR(1M) in that it does not merely translate capability -names, but also translates terminfo strings to termcap format. Capabilities +\fB\-C\fP +Force source translation to termcap format. +Note: this differs from the \fB\-C\fP +option of \fBinfocmp\fP(1) 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. +The actual format used incorporates some improvements for escaped characters +from terminfo format. +For a stricter BSD-compatible translation, add the \fB\-K\fP option. +.IP +If this is combined with \fB\-c\fP, \fBtic\fP 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 \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 +\fB\-c\fP +tells \fBtic\fP to only check \fIfile\fP for errors, +including syntax problems and bad use-links. +If you specify \fB\-C\fP (\fB\-I\fP) 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. +1023 (4096) bytes long. +Due to a fixed buffer length in older termcap libraries, +as well as buggy checking for the buffer length +(and a documented limit in terminfo), +these entries may cause core +dumps with other implementations. +.IP +\fBtic\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-e \fR\fInames\fR +\fB\-D\fP +tells \fBtic\fP to print the database locations that it knows about, and exit. +The first location shown is the one to which it would write compiled +terminal descriptions. +If \fBtic\fP is not able to find a writable database location +according to the rules summarized above, +it will print a diagnostic and exit with an error rather than +printing a list of database locations. +.TP +\fB\-e \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 @@ -115,120 +214,154 @@ 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.) +(Note: depending on how tic was compiled, +this option may require \fB\-I\fP or \fB\-C\fP.) .TP -\fB-f\fR +\fB\-f\fP Display complex terminfo strings which contain if/then/else/endif expressions indented for readability. .TP -\fB-G\fR +\fB\-G\fP Display constant literals in decimal form rather than their character equivalents. .TP -\fB-g\fR +\fB\-g\fP Display constant character literals in quoted form rather than their decimal equivalents. .TP -\fB-I\fR +\fB\-I\fP Force source translation to terminfo format. .TP -\fB-L\fR +\fB\-K\fP +Suppress some longstanding ncurses extensions to termcap format, +e.g., "\\s" for space. +.TP +\fB\-L\fP Force source translation to terminfo format -using the long C variable names listed in <\fBterm.h\fR> +using the long C variable names listed in <\fBterm.h\fP> .TP -\fB-N\fR +\fB\-N\fP 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, -\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 -normally suppresses output of obsolete termcap capabilities such as \fBbs\fR. +\fBreset1_string\fP, \fBcarriage_return\fP, \fBcursor_left\fP, +\fBcursor_down\fP, \fBscroll_forward\fP, \fBtab\fP, \fBnewline\fP, +\fBkey_backspace\fP, \fBkey_left\fP, and \fBkey_down\fP, then attempts +to use obsolete termcap capabilities to deduce correct values. +It also +normally suppresses output of obsolete termcap capabilities such as \fBbs\fP. 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. +\fB\-o\fIdir\fR +Write compiled entries to given database location. +Overrides the TERMINFO environment variable. .TP -\fB-R\fR\fIsubset\fR -Restrict output to a given subset. This option is for use with archaic +\fB\-Q\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\fP +Suppress comments and blank lines when showing translated source. +.TP +\fB\-R\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 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. +that have their own extensions incompatible with SVr4/XSI. +.IP +Available subsets are +.RS +\*(``SVr1\*('', +\*(``Ultrix\*('', +\*(``HP\*('', +\*(``BSD\*('', and +\*(``AIX\*('' +.RE +.IP +See \fBterminfo\fP(\*n) for details. .TP -\fB-r\fR +\fB\-r\fP Force entry resolution (so there are no remaining tc capabilities) even -when doing translation to termcap format. This may be needed if you are +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 through version 1.3 or BSD termcap through 4.3BSD) that does not handle multiple tc capabilities per entry. .TP -\fB-s\fR -Summarize the compile by showing the directory into which entries +\fB\-s\fP +Summarize the compile by showing the database location into which entries are written, and the number of entries which are compiled. .TP -\fB-T\fR +\fB\-T\fP 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 +\fB\-t\fP tells \fBtic\fP to discard commented-out capabilities. Normally when translating from terminfo to termcap, untranslatable capabilities are commented-out. .TP 5 -\fB-U\fR +\fB\-U\fP tells \fBtic\fP 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 termcaps. .TP -\fB-V\fR +\fB\-V\fP reports the version of ncurses which was used in this program, and exits. .TP -\fB-v\fR\fIn\fR +\fB\-v\fIn\fR specifies that (verbose) output be written to standard error trace -information showing \fBtic\fR's progress. -The optional parameter \fIn\fR is a number from 1 to 10, inclusive, +information showing \fBtic\fP's progress. +.IP +The optional parameter \fIn\fP is a number from 1 to 9, 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. -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 \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 -format [see \fBterminfo\fR(\*n)]. Each description in the file -describes the capabilities of a particular terminal. +.RS +.bP +If ncurses is built without tracing support, the optional parameter is ignored. +.bP +If \fIn\fP is omitted, the default level is 1. +.bP +If \fIn\fP is specified and greater than 1, the level of +detail is increased, and the output is written (with tracing information) +to the \*(``trace\*('' file. +.RE +.RS .PP The debug flag levels are as follows: -.TP +.TP 4 1 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 .TP +4 +Details of extended capabilities +.TP 5 -String-table memory allocations +(unused) .TP +6 +(unused) +.TP 7 Entries into the string-table .TP @@ -237,96 +370,237 @@ .TP 9 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\fP +By itself, the \fB\-w\fP option will not force long strings to be wrapped. +Use the \fB\-W\fP option to do this. +.IP +If you specify both \fB\-f\fP and \fB\-W\fP options, +the latter is ignored when \fB\-f\fP has already split the line. +.TP +\fB\-w\fIn\fR +specifies the width of the output. +The parameter is optional. +If it is omitted, it defaults to 60. +.TP +\fB\-x\fP +Treat unknown capabilities as user-defined (see \fBuser_caps(\*n)\fP). +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. +.SS PARAMETERS +.TP +\fIfile\fP +contains one or more \fBterminfo\fP terminal descriptions in source +format [see \fBterminfo\fP(\*n)]. +Each description in the file +describes the capabilities of a particular terminal. +.IP +If \fIfile\fP is \*(``-\*('', then the data is read from the standard input. +The \fIfile\fP parameter may also be the path of a character-device. +.SS PROCESSING +All but one of the capabilities recognized by \fBtic\fP are documented +in \fBterminfo\fP(\*n). +The exception is the \fBuse\fP capability. .PP -All but one of the capabilities recognized by \fBtic\fR are documented -in \fBterminfo\fR(\*n). The exception is the \fBuse\fR capability. -.PP -When a \fBuse\fR=\fIentry\fR-\fIname\fR field is discovered in a -terminal entry currently being compiled, \fBtic\fR reads in the binary -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 directory is searched instead of -\fB\*d\fR.) \fBtic\fR duplicates the capabilities in -\fIentry\fR-\fIname\fR for the current entry, with the exception of +When a \fBuse\fP=\fIentry\fP\-\fIname\fP field is discovered in a +terminal entry currently being compiled, \fBtic\fP reads in the binary +from \fB\*d\fP to complete the entry. +(Entries created from +\fIfile\fP will be used first. +\fBtic\fP duplicates the capabilities in +\fIentry\fP\-\fIname\fP for the current entry, with the exception of those capabilities that explicitly are defined in the current entry. .PP -When an entry, e.g., \fBentry_name_1\fR, contains a -\fBuse=\fR\fIentry\fR_\fIname\fR_\fI2\fR field, any canceled -capabilities in \fIentry\fR_\fIname\fR_\fI2\fR must also appear in -\fBentry_name_1\fR before \fBuse=\fR for these capabilities to be -canceled in \fBentry_name_1\fR. +When an entry, e.g., \fBentry_name_1\fP, contains a +\fBuse=\fIentry\fR_\fIname\fR_\fI2\fR field, any canceled +capabilities in \fIentry\fR_\fIname\fR_\fI2\fP must also appear in +\fBentry_name_1\fP before \fBuse=\fP for these capabilities to be +canceled in \fBentry_name_1\fP. .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. Terminal names exceeding the maximum alias length +Total compiled entries cannot exceed 4096 bytes. +The name field cannot +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 +will be truncated to the maximum alias length +and a warning message will be printed. +.SH HISTORY +System V Release 2 provided a \fBtic\fP utility. +It accepted a single option: \fB\-v\fP (optionally followed by a number). +According to Ross Ridge's comment in \fImytinfo\fP, +this version of \fBtic\fP was +unable to represent cancelled capabilities. +.PP +System V Release 3 provided a different \fBtic\fP utility, +written by Pavel Curtis, +(originally named \*(``compile\*('' in \fIpcurses\fP). +This added an option \fB\-c\fP to check the file for +errors, with the caveat that errors in \*(``use=\*('' links +would not be reported. +System V Release 3 documented a few warning messages which +did not appear in \fIpcurses\fP. +While the program itself was changed little as development +continued with System V Release 4, +the table of capabilities grew from 180 (\fIpcurses\fP) to 464 (Solaris). +.PP +In early development of ncurses (1993), +Zeyd Ben-Halim used the table from \fImytinfo\fP to +extend the \fIpcurses\fP table to 469 capabilities +(456 matched SVr4, 8 were only in SVr4, 13 were not in SVr4). +Of those 13, 11 were ultimately discarded +(perhaps to match the draft of X/Open Curses). +The exceptions were +\fBmemory_lock_above\fP and +\fBmemory_unlock\fP (see \fBuser_caps\fP(5)). +.PP +Eric Raymond incorporated parts of \fImytinfo\fP into ncurses +to implement the termcap-to-terminfo source conversion, +and extended that to begin development of +the corresponding terminfo-to-termcap source conversion, +Thomas Dickey completed that development over the course of several years. +.PP +In 1999, Thomas Dickey added the \fB\-x\fP option +to support user-defined capabilities. +.PP +In 2010, Roy Marples provided a \fBtic\fP program +and terminfo library for NetBSD. +That implementation adapts several features from ncurses, +including \fBtic\fP's \fB\-x\fP option. +.PP +The \fB\-c\fP option tells \fBtic\fP to check for problems in the +terminfo source file. +Continued development provides additional checks: +.bP +\fIpcurses\fP had 8 warnings +.bP +ncurses in 1996 had 16 warnings +.bP +Solaris (SVr4) curses has 28 warnings +.bP +NetBSD tic in 2019 has 19 warnings. +.bP +ncurses in 2019 has 96 warnings +.PP +The checking done in ncurses' \fBtic\fP helps with the conversion to +termcap, as well as pointing out errors and inconsistencies. +It is also used to ensure consistency with the user-defined capabilities. +There are 527 distinct capabilities in ncurses' terminal database; +128 of those are user-defined. +.SH PORTABILITY +X/Open Curses, Issue 7 (2009) provides a brief description of \fBtic\fP. +It lists one option: \fB\-c\fP. +The omission of \fB\-v\fP is unexpected. +The change history states that the description is derived from True64 UNIX. +According to its manual pages, that system also supported the \fB\-v\fP option. +.PP +Shortly after Issue 7 was released, Tru64 was discontinued. +As of 2019, the surviving implementations of \fBtic\fP +are SVr4 (AIX, HP-UX and Solaris), +ncurses +and NetBSD curses. +The SVr4 \fBtic\fP programs all support the \fB\-v\fP option. +The NetBSD \fBtic\fP program follows X/Open's documentation, +omitting the \fB\-v\fP option. +.PP +The X/Open rationale states that some implementations of \fBtic\fP +read terminal descriptions from the standard input if the \fIfile\fP +parameter is omitted. +None of these implementations do that. +Further, it comments that some may choose to read from \*(''./terminfo.src\*('' +but that is obsolescent behavior from SVr2, +and is not (for example) a documented feature of SVr3. +.SS COMPATIBILITY +There is some evidence that historic \fBtic\fP implementations treated description fields with no whitespace in them as additional aliases or -short names. This \fBtic\fR does not do that, but it does warn when +short names. +This \fBtic\fP does not do that, but it does warn when description fields may be treated that way and check them for dangerous characters. -.SH EXTENSIONS -Unlike the stock SVr4 \fBtic\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. See \fBterminfo\fR(\*n) for the list of +.SS EXTENSIONS +Unlike the SVr4 \fBtic\fP 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 \fBterminfo\fP(\*n) for the list of termcap names taken to be equivalent to terminfo names. .PP -The SVr4 manual pages are not clear on the resolution rules for \fBuse\fR +The SVr4 manual pages are not clear on the resolution rules for \fBuse\fP capabilities. -This implementation of \fBtic\fR will find \fBuse\fR targets anywhere -in the source file, or anywhere in the file tree rooted at \fBTERMINFO\fR (if -\fBTERMINFO\fR is defined), or in the user's \fI$HOME/.terminfo\fR directory -(if it exists), or (finally) anywhere in the system's file tree of +This implementation of \fBtic\fP will find \fBuse\fP targets anywhere +in the source file, or anywhere in the file tree rooted at \fBTERMINFO\fP (if +\fBTERMINFO\fP is defined), +or in the user's \fI$HOME/.terminfo\fP database +(if it exists), +or (finally) anywhere in the system's file tree of compiled entries. .PP -The error messages from this \fBtic\fR have the same format as GNU C +The error messages from this \fBtic\fP have the same format as GNU C error messages, and can be parsed by GNU Emacs's compile facility. .PP -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 \fB-c\fR mode does not report bad use links. +Aside from \fB\-c\fP and \fB\-v\fP, options are not portable: +.bP +Most of tic's options +are not supported by SVr4 \fBtic\fP: +.sp +.RS +\fB\-0\fP +\fB\-1\fP +\fB\-C\fP +\fB\-G\fP +\fB\-I\fP +\fB\-N\fP +\fB\-R\fP +\fB\-T\fP +\fB\-V\fP +\fB\-a\fP +\fB\-e\fP +\fB\-f\fP +\fB\-g\fP +\fB\-o\fP +\fB\-r\fP +\fB\-s\fP +\fB\-t\fP +\fB\-x\fP +.RE +.bP +The NetBSD \fBtic\fP supports a few of the ncurses options +.sp +.RS +\fB\-a\fP +\fB\-o\fP +\fB\-x\fP +.RE +.IP +and adds \fB\-S\fP +(a feature which does the same thing +as infocmp's \fB\-e\fP and \fB\-E\fP options). .PP +The SVr4 \fB\-c\fP mode does not report bad \*(``use=\*('' links. +.PP System V does not compile entries to or read entries from your -\fI$HOME/.terminfo\fR directory unless TERMINFO is explicitly set to it. +\fI$HOME/.terminfo\fP database unless TERMINFO is explicitly set to it. .SH FILES .TP 5 -\fB\*d/?/*\fR +\fB\*d/?/*\fP Compiled terminal description database. .SH SEE ALSO -\fBinfocmp\fR(1), -\fBcaptoinfo\fR(1), -\fBinfotocap\fR(1), -\fBcurses\fR(3), -\fBterminfo\fR(\*n). +\fBcaptoinfo\fP(1), +\fBinfocmp\fP(1), +\fBinfotocap\fP(1), +\fBtoe\fP(1), +\fBcurses\fP(3), +\fBterm\fP(\*n). +\fBterminfo\fP(\*n). +\fBuser_caps\fP(\*n). .PP -This describes \fBncurses\fR -version 5.7. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: +This describes \fBncurses\fP +version 6.4 (patch 20230826). +.SH AUTHOR +Eric S. Raymond +and +.br +Thomas E. Dickey