]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - man/tabs.1
ncurses 6.4 - patch 20231217
[ncurses.git] / man / tabs.1
index a13fd24099c38b9c448ab726ca4ee8c773dbd926..4bcb457ec0db71ad734a490ee87af9982868b170 100644 (file)
@@ -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),