X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Ftic.1m;fp=man%2Ftic.1m;h=07111e897daad3004ecdd06242b652e86d4344a0;hp=5295b39049ecb13d92a0bcfbe5871dd8396c7564;hb=a8dfaf0998c91b39c5c0a4913987cd67ca622bff;hpb=9193d076200365eeb5ff932acdbbdcc5e452292c diff --git a/man/tic.1m b/man/tic.1m index 5295b390..07111e89 100644 --- a/man/tic.1m +++ b/man/tic.1m @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: tic.1m,v 1.69 2019/05/18 22:48:40 tom Exp $ +.\" $Id: tic.1m,v 1.74 2019/07/20 17:57:09 tom Exp $ .TH @TIC@ 1M "" .ie \n(.g .ds `` \(lq .el .ds `` `` @@ -402,14 +402,98 @@ 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 +.SH HISTORY +.PP +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. +This implementation adapts several features from ncurses, +including \fB@TIC@\fP's \fB\-x\fP option. +.PP +The \fB\-c\fP option tells \fB@TIC@\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' \fB@TIC@\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 +.PP +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. +.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 \fB@TIC@\fR implementations treated description fields with no whitespace in them as additional aliases or short names. This \fB@TIC@\fR does not do that, but it does warn when description fields may be treated that way and check them for dangerous characters. -.SH EXTENSIONS +.SS EXTENSIONS Unlike the SVr4 \fB@TIC@\fR command, this implementation can actually compile termcap sources. In fact, entries in terminfo and termcap syntax can @@ -451,7 +535,7 @@ The \fB\-x\fR options are not supported under SVr4. -The SVr4 \fB\-c\fR mode does not report bad use links. +The SVr4 \fB\-c\fR mode does not report bad \*(``use=\*('' links. .PP System V does not compile entries to or read entries from your \fI$HOME/.terminfo\fR database unless TERMINFO is explicitly set to it.