* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tabs.1,v 1.52 2023/12/23 16:08:25 tom Exp @
+ * @Id: tabs.1,v 1.54 2024/01/20 16:54:03 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tabs 1 2023-12-23 ncurses 6.4 User commands</TITLE>
+<TITLE>tabs 1 2024-01-20 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tabs 1 2023-12-23 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tabs 1 2024-01-20 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> User commands <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
</PRE><H3><a name="h3-Margins">Margins</a></H3><PRE>
- 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. <STRONG>tabs</STRONG> supports this feature with an option.
<STRONG>+m</STRONG> <EM>margin</EM>
The effect depends on whether the terminal has the margin
capabilities:
<STRONG>o</STRONG> If the terminal provides the capability for setting the left
- margin, tabs uses this, and adjusts the available width for
- tab-stops.
+ margin, <STRONG>tabs</STRONG> uses this, and adjusts the available tab stop
+ widths.
- <STRONG>o</STRONG> 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.
+ <STRONG>o</STRONG> If the terminal does not provide the margin capabilities, <STRONG>tabs</STRONG>
+ imitates their effect, putting tab stops at appropriate places
+ on each line. The terminal's left margin is not modified.
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.
+ reset the left margin, that is, to make it the left edge of the
+ terminal's display. Before setting a left margin, <STRONG>tabs</STRONG> resets the
+ margin to reduce problems that might arise from moving the cursor
+ to the left of the current left margin.
- When setting or resetting the left-margin, tabs may reset the right-
- margin.
+ When setting or resetting the left margin, <STRONG>tabs</STRONG> may also reset the
+ right margin.
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
</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
+ IEEE Std 1003.1/The Open Group Base Specifications Issue 7
+ (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> 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>set_left_margin</STRONG> (<STRONG>smgl</STRONG>) or <STRONG>set_left_margin_parm</STRONG> (<STRONG>smglp</STRONG>)
+ capabilities needed to support the feature.
- <STRONG>o</STRONG> There is no counterpart in X/Open Curses Issue 7 for this utility,
+ <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.
+ The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are <EM>ncurses</EM> extensions not
+ provided by other implementations.
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
- A <STRONG>tabs</STRONG> utility appeared in PWB/Unix 1.0 (1977). A reduced version
- shipped in Seventh Edition Unix (early 1979) and in 3BSD (later the
+ A <STRONG>tabs</STRONG> utility appeared in PWB/Unix 1.0 (1977). A reduced version
+ shipped in Seventh Edition Unix (early 1979) and in 3BSD (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.
- The PWB/Unix <STRONG>tabs</STRONG> utility returned in System III (1980), and used
- built-in tables rather than the terminal database, to support a half-
+ The PWB/Unix <STRONG>tabs</STRONG> 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 setting the left margin, as well as a feature for copying the
+ support setting the left margin, as well as a feature for copying the
tab settings from a file.
- Versions of the program in later releases of AT&T Unix, such as SVr4,
- 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 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> (1982), and incorporated into
- <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> uses the terminal database,
-
- The <STRONG>+m</STRONG> 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 <EM>"and</EM> <EM>optionally</EM> <EM>adjusts</EM> <EM>the</EM>
- <EM>margin"</EM> remains, overlooked in the removal. The <STRONG>tabs</STRONG> utility
- documented in Issues 6 and later has no mechanism for setting margins.
- The <STRONG>+m</STRONG> option in <EM>ncurses</EM> <STRONG>tabs</STRONG> differs from the SVr4 feature by using
+ Versions of the program in later releases of AT&T Unix, such as SVr4,
+ added support for the terminal database, but retained the tables to
+ support the printers. By this time, System V <STRONG>tput</STRONG> had incorporated the
+ tab stop initialization feature of BSD's <STRONG>tset</STRONG> from 1982, but employed
+ the <EM>terminfo</EM> database to do so.
+
+ The <STRONG>+m</STRONG> 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 "and optionally adjusts the
+ margin" remains, overlooked in the removal. The <STRONG>tabs</STRONG> utility
+ documented in Issues 6 and later has no mechanism for setting margins.
+ The <STRONG>+m</STRONG> option in <EM>ncurses</EM> <STRONG>tabs</STRONG> differs from the SVr4 feature by using
terminal capabilities rather than built-in tables.
- POSIX documents no limit on the number of tab stops. Other
+ POSIX documents no limit on the number of tab stops. Other
implementations impose one; the limit is 20 in PWB/Unix's <STRONG>tabs</STRONG> utility.
- While some terminals may not accept an arbitrary number of tab stops,
- <EM>ncurses</EM> <STRONG>tabs</STRONG> attempts to set tab stops up to the right margin if the
+ While some terminals may not accept an arbitrary number of tab stops,
+ <EM>ncurses</EM> <STRONG>tabs</STRONG> attempts to set tab stops up to the right margin if the
list thereof is sufficiently long.
- The "Rationale" section of the Issue 6 <STRONG>tabs</STRONG> reference page details how
- the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG> utilities,
+ The "Rationale" section of the Issue 6 <STRONG>tabs</STRONG> reference page details how
+ the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG> utilities,
without settling on an improved solution. It claims that
- no known historical version of tabs supports the capability of
- setting arbitrary tab stops.
+ "no known historical version of <EM>tabs</EM> supports the capability of
+ setting arbitrary tab stops."
- Nevertheless, the feature described in subsection "Explicit Lists"
- above was implemented in PWB/Unix, and permits the setting of abitrary
- tab stops.
+ The feature described in subsection "Explicit Lists" above was
+ implemented in PWB/Unix, and permitted the setting of abitrary tab
+ stops nevertheless.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+ncurses 6.4 2024-01-20 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>