[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 41/42] man/tabs.1: Split history into "HISTORY" section and revis
From: |
G. Branden Robinson |
Subject: |
[PATCH 41/42] man/tabs.1: Split history into "HISTORY" section and revise. |
Date: |
Sat, 16 Dec 2023 11:49:24 -0600 |
The "PORTABILITY" section had copious historical detail. Also revise
and expand this history.
Content:
* Replace paragraphing macro with sectioning macro, titled "HISTORY".
* Add dates to various Unix releases.
* Say "ncurses" instead of "this implementation".
* Identify the POSIX standard (in general) by name where not clear.
* Recast.
Style:
* Prefer English phrases to Latin abbreviations.
* Quote (sub)section titles in cross references instead of italicizing
them.
Markup:
* Break input lines after commas and around multi-word parentheticals.
* Add annotations cross referencing source code for tabs(1)
implementations from PWB/Unix 1.0, Seventh Edition Unix, and 3BSD.
* Annotate cross reference to POSIX Issue 6 reference page.
---
man/tabs.1 | 87 +++++++++++++++++++++++++++++++++---------------------
1 file changed, 53 insertions(+), 34 deletions(-)
diff --git a/man/tabs.1 b/man/tabs.1
index caa31445f..f9a935b6b 100644
--- a/man/tabs.1
+++ b/man/tabs.1
@@ -237,60 +237,79 @@ .SH PORTABILITY
.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,
+Version 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.
-In an earlier development effort,
-the tab-stop initialization provided by \fBtset\fP (1982)
-and incorporated into \fBtput\fP uses the terminal database,
+but retained the tables to support the printers.
+.\" XXX: not strictly on topic
+.\" In an earlier development effort,
+.\" the tab stop initialization provided by \fBtset\fP (1982),
+.\" XXX: What code released in 1982? 4.1{a,b}BSD?
+.\" and incorporated into \fBtput\fP,
+.\" 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),
--
2.30.2
signature.asc
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH 41/42] man/tabs.1: Split history into "HISTORY" section and revise.,
G. Branden Robinson <=