+ If the <EM>margin</EM> parameter is omitted, the default is 10. Use <STRONG>+m0</STRONG> 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.
+
+ When setting or resetting the left-margin, tabs may reset the right-
+ margin.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ <EM>IEEE</EM> <EM>Std</EM> <EM>1003.1/The</EM> <EM>Open</EM> <EM>Group</EM> <EM>Base</EM> <EM>Specifications</EM> <EM>Issue</EM> <EM>7</EM>
+ (POSIX.1-2008) describes a <STRONG>tabs</STRONG> utility. However
+
+ <STRONG>o</STRONG> This standard describes a <STRONG>+m</STRONG> option, to set a terminal's left-
+ margin. Very few of the entries in the terminal database provide
+ the <STRONG>smgl</STRONG> (<STRONG>set_left_margin</STRONG>) or <STRONG>smglp</STRONG> (<STRONG>set_left_margin_parm</STRONG>)
+ capability needed to support the feature.
+
+ <STRONG>o</STRONG> There is no counterpart in X/Open Curses Issue 7 for this utility,
+ unlike <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>.
+
+ The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are extensions not provided by
+ other implementations.
+
+ A <STRONG>tabs</STRONG> utility appeared in PWB/Unix 1.0 (1977). There was a reduced
+ version of the <STRONG>tabs</STRONG> 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). That option is not documented by POSIX.
+
+ The PWB/Unix <STRONG>tabs</STRONG> utility, which was included in System III (1980),
+ 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, as well as a feature for copying the
+ tab settings from a file.
+
+ Later versions of Unix, e.g., SVr4, 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 <STRONG>tset</STRONG> (1982)
+ and incorporated into <STRONG>tput</STRONG> uses the terminal database,
+
+ The <STRONG>+m</STRONG> 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 <EM>"and</EM>
+ <EM>optionally</EM> <EM>adjusts</EM> <EM>the</EM> <EM>margin"</EM> remains, overlooked in the removal. The
+ documented <STRONG>tabs</STRONG> utility in Issues 6 and later has no mechanism for
+ setting margins. The <STRONG>+m</STRONG> option in this implementation differs from the
+ feature in SVr4 by using terminal capabilities rather than built-in
+ tables.
+
+ 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 <STRONG>tabs</STRONG> 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.
+
+ The <EM>Rationale</EM> section of the POSIX documentation goes into some detail
+ about the ways the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG>
+ utilities, without proposing an improved solution. It comments that
+
+ no known historical version of tabs supports the capability of
+ setting arbitrary tab stops.
+
+ However, the <EM>Explicit</EM> <EM>Lists</EM> described in this manual page were
+ implemented in PWB/Unix. Those provide the capability of setting
+ abitrary tab stops.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.