X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=man%2Ftabs.1;h=84c6b22e880c2d0b24f8d249d441bed34772619c;hb=HEAD;hp=01ed44e4ad62aedf7db219625b72fef0e3545c22;hpb=159cd0555e0efc14be66c9c3a1548f58908b6a1d;p=ncurses.git diff --git a/man/tabs.1 b/man/tabs.1 index 01ed44e4..30df4dd6 100644 --- a/man/tabs.1 +++ b/man/tabs.1 @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright 2018-2021,2023 Thomas E. Dickey * +.\" Copyright 2018-2023,2024 Thomas E. Dickey * .\" Copyright 2008-2016,2017 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,8 +27,8 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: tabs.1,v 1.52 2023/12/23 16:08:25 tom Exp $ -.TH @TABS@ 1 2023-12-23 "ncurses 6.4" "User commands" +.\" $Id: tabs.1,v 1.65 2024/09/21 18:04:07 tom Exp $ +.TH @TABS@ 1 2024-09-21 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands" .ie \n(.g \{\ .ds `` \(lq .ds '' \(rq @@ -78,7 +78,7 @@ you should either reset tab-stops to the standard interval .PP .RS 4 .EX -tabs \-8 +@TABS@ \-8 .EE .RE .PP @@ -128,8 +128,8 @@ They are separated by a comma or a blank, for example, .PP .RS 4 .EX -tabs 1,6,11,16,21 -tabs 1 6 11 16 21 +@TABS@ 1,6,11,16,21 +@TABS@ 1 6 11 16 21 .EE .RE .PP @@ -139,7 +139,7 @@ e.g., .PP .RS 4 .EX -tabs 1,+5,+5,+5,+5 +@TABS@ 1,+5,+5,+5,+5 .EE .RE .PP @@ -192,53 +192,77 @@ UNIVAC 1100 Assembler .br 1,12,20,44 .SS Margins -A few terminals provide the capability for changing their left/right margins. -The @TABS@ program has an option to use this feature: +A few terminals expose a means of changing their left and right margins. +\fB@TABS@\fP supports this feature with an option. .TP 5 .BI +m \ margin The effect depends on whether the terminal has the margin capabilities: .RS .bP If the terminal provides the capability for setting the left margin, -@TABS@ uses this, and adjusts the available width for tab-stops. +\fB@TABS@\fP uses this, +and adjusts the available tab stop widths. .bP If the terminal does not provide the margin capabilities, -@TABS@ imitates the effect, putting the tab stops at the appropriate -place on each line. -The terminal's left-margin is not modified. +\fB@TABS@\fP imitates their effect, +putting tab stops at appropriate places on each line. +The terminal's left margin is not modified. .RE .IP -If the \fImargin\fP parameter is omitted, the default is 10. -Use \fB+m0\fP to reset the left margin, -i.e., to the left edge of the terminal's display. -Before setting a left-margin, -@TABS@ resets the margin to reduce problems which might arise -on moving the cursor before the current left-margin. +If the +.I margin +parameter is omitted, +the default is 10. +Use +.B +m0 +to reset the left margin, +that is, +to make it the left edge of the terminal's display. +Before setting a left margin, +\fB@TABS@\fP resets the margin to reduce problems that might arise +from moving the cursor to the left of the current left margin. .PP -When setting or resetting the left-margin, -@TABS@ may reset the right-margin. +When setting or resetting the left margin, +\fB@TABS@\fP may also reset the right margin. .SH FILES .TP .I @DATADIR@/tabset tab stop initialization database .SH PORTABILITY -\fIIEEE Std 1003.1/The Open Group Base Specifications Issue 7\fP (POSIX.1-2008) -describes a \fBtabs\fP utility. -However +IEEE Std 1003.1/The Open Group Base Specifications Issue\ 7 +(POSIX.1-2008) +describes a +.I tabs +utility. +However, .bP -This standard describes a \fB+m\fP option, to set a terminal's left-margin. +this standard describes a +.B +m +option to set a terminal's left margin. Very few of the entries in the terminal database provide the -\fBsmgl\fP (\fBset_left_margin\fP) or -\fBsmglp\fP (\fBset_left_margin_parm\fP) -capability needed to support the feature. +.B \%set_left_margin +.RB ( smgl ) +or +.B \%set_left_margin_parm +.RB \%( smglp ) +capabilities needed to support the feature. .bP -There is no counterpart in X/Open Curses Issue 7 for this utility, -unlike \fB@TPUT@\fP(1). +Unlike +.IR tput , +.I tabs +has no specification in X/Open Curses Issue\ 7. .PP -The \fB\-d\fP (debug) and \fB\-n\fP (no-op) options are extensions not provided -by other implementations. +The +.B \-d +(debug) and +.B \-n +(no-op) options are +.I \%ncurses +extensions not provided by other implementations. .SH HISTORY -A \fBtabs\fP utility appeared in PWB/Unix 1.0 (1977). +A +.I tabs +utility appeared in PWB/Unix 1.0 (1977). .\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=PWB1/sys/source/s2/\ .\" tabs.c A reduced version shipped in Seventh Edition Unix @@ -248,14 +272,16 @@ 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 +it supported an option \*(``\-n\*('' to set the first tab stop at the left margin. -That option is not documented by POSIX. +That option is not specified by POSIX. .PP -The PWB/Unix \fBtabs\fP utility returned in System III (1980), -and used built-in tables rather than the terminal database, +The PWB/Unix +.I tabs +utility returned in System III (1980), +and used built-in tables to support a half-dozen hardcopy terminal (printer) types. -It also had built-in logic to support setting the left margin, +It also had logic to support setting the left margin, as well as a feature for copying the tab settings from a file. .PP Versions of the program in later releases of AT&T Unix, @@ -263,50 +289,70 @@ such as SVr4, .\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=SysVR4/cmd/tabs/tabs.c added support for the terminal database, but retained the tables to support the printers. -In an earlier development effort, -the tab stop initialization provided by \fBtset\fP(1) (1982), -and incorporated into \fBtput\fP(1) uses the terminal database, +By this time, +System\ V +.I tput +had incorporated the tab stop initialization feature of BSD's +.I tset +from 1982, +but employed the +.I \%term\%info +database to do so. .PP -The \fB+m\fP option was documented in the POSIX -Base Specifications Issue 5 +The +.B +m +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, +\*(``and optionally adjusts the margin\*('' remains, overlooked in the removal. -The \fBtabs\fP utility documented in Issues 6 and later has no mechanism -for setting margins. -The \fB+m\fP option in -.I \%ncurses -\fBtabs\fP differs from the SVr4 feature by using terminal capabilities +The +.I tabs +utility documented in Issues 6 and later has no mechanism for setting +margins. +The +.B +m +option in +.IR \%ncurses 's +implementation +differs from the SVr4 feature by using terminal capabilities rather than built-in tables. .PP 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. +the limit is 20 in PWB/Unix's +.I tabs +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. +attempts to set tab stops up to the right margin +if the list thereof is sufficiently long. .PP -The \*(``Rationale\*('' section of the Issue 6 \fBtabs\fP reference page +The \*(``Rationale\*('' section of the Issue 6 +.I tabs +reference page .\" https://pubs.opengroup.org/onlinepubs/009604499/utilities/tabs.html -details how the committee considered redesigning the \fBtabs\fP and -\fBtput\fP utilities, +details how the committee considered redesigning the +.I tabs +and +.I tput +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. +.RS 4 +no known historical version of +.I tabs +supports the capability of setting arbitrary tab stops. .RE .PP -Nevertheless, -the feature described in subsection \*(``Explicit Lists\*('' above was +The feature described in subsection \*(``Explicit Lists\*('' above was implemented in PWB/Unix, -and permits the setting of abitrary tab stops. +.\" see URL above +and permitted the setting of abitrary tab stops nevertheless. .SH SEE ALSO \fB\%@INFOCMP@\fP(1M), \fB\%@TSET@\fP(1),