.\" 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
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
.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),