X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Ftabs.1;h=c6a21275acb606435756a1d53a626afb30f3390d;hp=56d49358564ddf96f3c97ec190fb0174b8782187;hb=95bcbd4bb8e933c86e6fc4aba9ea1c7fd3d30e3d;hpb=fe43d506ce08d1deef9e9e5a6d5fd4f9c9c32e1d;ds=sidebyside diff --git a/man/tabs.1 b/man/tabs.1 index 56d49358..c6a21275 100644 --- a/man/tabs.1 +++ b/man/tabs.1 @@ -1,5 +1,6 @@ .\"*************************************************************************** -.\" Copyright (c) 2008-2018,2019 Free Software Foundation, Inc. * +.\" Copyright 2018-2020,2021 Thomas E. Dickey * +.\" Copyright 2008-2016,2017 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * @@ -26,7 +27,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: tabs.1,v 1.26 2019/06/23 21:01:12 tom Exp $ +.\" $Id: tabs.1,v 1.32 2021/10/16 13:37:43 tom Exp $ .TH @TABS@ 1 "" .ds n 5 .ie \n(.g .ds `` \(lq @@ -139,34 +140,78 @@ tabs 1,+5,+5,+5,+5 .PP which is equivalent to the 1,6,11,16,21 example. .SS Predefined Tab-Stops -X/Open defines several predefined lists of tab stops. +POSIX defines several predefined lists of tab stops. .TP 5 .B \-a Assembler, IBM S/370, first format +.br +1,10,16,36,72 .TP 5 .B \-a2 Assembler, IBM S/370, second format +.br +1,10,16,40,72 .TP 5 .B \-c COBOL, normal format +.br +1,8,12,16,20,55 .TP 5 .B \-c2 COBOL compact format +.br +1,6,10,14,49 .TP 5 .B \-c3 COBOL compact format extended +.br +1,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,67 .TP 5 .B \-f FORTRAN +.br +1,7,11,15,19,23 .TP 5 .B \-p PL/I +.br +1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61 .TP 5 .B \-s SNOBOL +.br +1,10,55 .TP 5 .B \-u 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: +.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. +.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. +.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. +.PP +When setting or resetting the left-margin, +@TABS@ may reset the right-margin. .SH PORTABILITY .PP \fIIEEE Std 1003.1/The Open Group Base Specifications Issue 7\fP (POSIX.1-2008) @@ -180,7 +225,7 @@ Very few of the entries in the terminal database provide the capability needed to support the feature. .bP There is no counterpart in X/Open Curses Issue 7 for this utility, -unlike \fB@TPUT@(1)\fP. +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. @@ -194,17 +239,28 @@ 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, -to support a half-dozen terminal types. +to support a half-dozen hardcopy terminal (printer) types. It also had built-in logic to support the left-margin, as well as a feature for copying the tab settings from a file. .PP Later versions of Unix, e.g., SVr4, added support for the terminal database, -but kept the tables, as a fallback. +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, .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, +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 +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. +.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 @@ -228,8 +284,8 @@ However, the \fIExplicit Lists\fP described in this manual page were implemented in PWB/Unix. Those provide the capability of setting abitrary tab stops. .SH SEE ALSO -\fB@TSET@\fR(1), \fB@INFOCMP@\fR(1M), +\fB@TSET@\fR(1), \fBcurses\fR(3X), \fBterminfo\fR(\*n). .PP