X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=man%2Ftabs.1;fp=man%2Ftabs.1;h=4bcb457ec0db71ad734a490ee87af9982868b170;hb=d90067f9008bb8338a77c1ed519bc108c275ed04;hp=a13fd24099c38b9c448ab726ca4ee8c773dbd926;hpb=b97ea58e03d5faebed2166faa4e0e590f2cdea34;p=ncurses.git diff --git a/man/tabs.1 b/man/tabs.1 index a13fd240..4bcb457e 100644 --- a/man/tabs.1 +++ b/man/tabs.1 @@ -27,8 +27,8 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: tabs.1,v 1.50 2023/11/25 14:32:36 tom Exp $ -.TH @TABS@ 1 2023-11-25 "ncurses 6.4" "User commands" +.\" $Id: tabs.1,v 1.51 2023/12/17 00:13:57 tom Exp $ +.TH @TABS@ 1 2023-12-16 "ncurses 6.4" "User commands" .ie \n(.g \{\ .ds `` \(lq .ds '' \(rq @@ -104,7 +104,8 @@ This option tells \fB@TABS@\fP to check the options and run any debugging option, but not to modify the terminal settings. .TP \fB\-V\fP -reports the version of ncurses which was used in this program, and exits. +reports the version of \fI\%ncurses\fP which was used in this program, +and exits. .PP The \fB@TABS@\fP program processes a single list of tab stops. The last option to be processed which defines a list is the one that @@ -236,60 +237,76 @@ unlike \fB@TPUT@\fP(1). .PP The \fB\-d\fP (debug) and \fB\-n\fP (no-op) options are extensions not provided by other implementations. -.PP +.SH HISTORY A \fBtabs\fP utility appeared in PWB/Unix 1.0 (1977). -There was a reduced version of the \fBtabs\fP utility -in Unix 7th edition and in 3BSD (1979). -The latter supported a single \*(``\-n\*('' option -(to cause the first tab stop to be set on the left margin). +.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=PWB1/sys/source/s2/\ +.\" tabs.c +A reduced version shipped in Seventh Edition Unix +(early 1979) +.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/tabs.c +and in 3BSD +.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/src/cmd/\ +.\" tabs.c +(later the same year); +it supported a \*(``\-n\*('' option to set the first tab stop at the +left margin. That option is not documented by POSIX. .PP -The PWB/Unix \fBtabs\fP utility, which was included in System III (1980), -used built-in tables rather than the terminal database, +The PWB/Unix \fBtabs\fP utility returned in System III (1980), +and used built-in tables rather than the terminal database, to support a half-dozen hardcopy terminal (printer) types. -It also had built-in logic to support the left-margin, +It also had built-in logic to support setting the left margin, as well as a feature for copying the tab settings from a file. .PP -Later versions of Unix, e.g., SVr4, +Versions of the program in later releases of AT&T Unix, +such as SVr4, +.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=SysVR4/cmd/tabs/tabs.c added support for the terminal database, -but kept the tables to support the printers. +but retained the tables to support the printers. In an earlier development effort, -the tab-stop initialization provided by \fBtset\fP (1982) -and incorporated into \fBtput\fP uses the terminal database, +the tab stop initialization provided by \fBtset\fP(1) (1982), +and incorporated into \fBtput\fP(1) uses the terminal database, .PP -The \fB+m\fP option was documented -in the Base Specifications Issue 5 (Unix98, 1997), -and omitted in Issue 6 (Unix03, 2004) without documenting the rationale, +The \fB+m\fP option was documented in the POSIX +Base Specifications Issue 5 +(Unix98, 1997), +then omitted in Issue 6 +(Unix03, 2004) +without express motivation, though an introductory comment \fI\*(``and optionally adjusts the margin\*(''\fP remains, overlooked in the removal. -The documented \fBtabs\fP utility in Issues 6 and later has no mechanism +The \fBtabs\fP utility documented in Issues 6 and later has no mechanism for setting margins. -The \fB+m\fP option in this implementation differs from the feature -in SVr4 by using terminal capabilities rather than built-in tables. +The \fB+m\fP option in +.I \%ncurses +\fBtabs\fP differs from the SVr4 feature by using terminal capabilities +rather than built-in tables. .PP -POSIX documents no limits on the number of tab stops. -Documentation for other implementations states that there is a limit on the -number of tab stops -(e.g., 20 in PWB/Unix's \fBtabs\fP utility). -While some terminals may not accept an arbitrary number -of tab stops, this implementation will attempt to set tab stops up to the -right margin of the screen, if the given list happens to be that long. +POSIX documents no limit on the number of tab stops. +Other implementations impose one; +the limit is 20 in PWB/Unix's \fBtabs\fP utility. +While some terminals may not accept an arbitrary number of tab stops, +.I \%ncurses +\fBtabs\fP attempts to set tab stops up to the right margin if the list +thereof is sufficiently long. .PP -The \fIRationale\fP section of the POSIX documentation goes into some -detail about the ways the committee considered redesigning the -\fBtabs\fP and \fBtput\fP utilities, -without proposing an improved solution. -It comments that +The \*(``Rationale\*('' section of the Issue 6 \fBtabs\fP reference page +.\" https://pubs.opengroup.org/onlinepubs/009604499/utilities/tabs.html +details how the committee considered redesigning the \fBtabs\fP and +\fBtput\fP utilities, +without settling on an improved solution. +It claims that .RS 5 .PP no known historical version of tabs supports the capability of setting arbitrary tab stops. .RE .PP -However, the \fIExplicit Lists\fP described in this manual page -were implemented in PWB/Unix. -Those provide the capability of setting abitrary tab stops. +Nevertheless, +the feature described in subsection \*(``Explicit Lists\*('' above was +implemented in PWB/Unix, +and permits the setting of abitrary tab stops. .SH SEE ALSO \fB\%@INFOCMP@\fP(1M), \fB\%@TSET@\fP(1),