X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Ftabs.1.html;h=15ab648b0abc7034af89f89fe43c551d69ce3dfe;hp=725f26a12c8e0e32ad3b382a5adfd59bb06b66f4;hb=89730563d0a660d4ddd83d28660dc23c6d3f0bed;hpb=2560bc3dae7f4919060c02c91a593566c908091c diff --git a/doc/html/man/tabs.1.html b/doc/html/man/tabs.1.html index 725f26a1..15ab648b 100644 --- a/doc/html/man/tabs.1.html +++ b/doc/html/man/tabs.1.html @@ -1,6 +1,7 @@ - + tabs 1 - +

tabs 1

-tabs(1)                                                                tabs(1)
+tabs(1)                     General Commands Manual                    tabs(1)
 
 
 
@@ -59,13 +60,25 @@
        absent,  tabs is unable to clear/set tab-stops.  The terminal should be
        configured to use hard tabs, e.g.,
 
-         stty tab0
+           stty tab0
 
        Like clear(1), tabs writes to the standard output.   You  can  redirect
        the standard output to a file (which prevents tabs from actually chang-
        ing the tabstops), and later cat the file to the screen,  setting  tab-
        stops at that point.
 
+       These  are  hardware  tabs, which cannot be queried rapidly by applica-
+       tions running in the terminal, if at all.  Curses and other full-screen
+       applications  may  use  hardware tabs in optimizing their output to the
+       terminal.  If the hardware tabstops differ from the information in  the
+       terminal  database, the result is unpredictable.  Before running curses
+       programs, you should either reset tab-stops to the standard interval
+
+           tabs -8
+
+       or use the reset program, since the normal initialization sequences  do
+       not ensure that tab-stops are reset.
+
 
 

OPTIONS

 
@@ -107,13 +120,13 @@
        greater than zero.  They are separated by a comma or a blank, for exam-
        ple,
 
-         tabs 1,6,11,16,21
-         tabs 1 6 11 16 21
+           tabs 1,6,11,16,21
+           tabs 1 6 11 16 21
 
        Use  a  "+"  to treat a number as an increment relative to the previous
        value, e.g.,
 
-         tabs 1,+5,+5,+5,+5
+           tabs 1,+5,+5,+5,+5
 
        which is equivalent to the 1,6,11,16,21 example.
 
@@ -141,30 +154,59 @@
 
 
 

PORTABILITY

-       IEEE  Std  1003.1/The  Open  Group    Base   Specifications   Issue   7
+       IEEE  Std  1003.1/The  Open   Group   Base   Specifications   Issue   7
        (POSIX.1-2008) describes a tabs utility.  However
 
        o   This  standard describes a +m option, to set a terminal's left-mar-
-           gin.  Very few of the entries in the terminal database provide this
-           capability.
+           gin.  Very few of the entries in the terminal database provide  the
+           smgl  (set_left_margin)  or smglp (set_left_margin_parm) capability
+           needed to support the feature.
 
-       o   There  is no counterpart in X/Open Curses Issue 7 for this utility,
+       o   There is no counterpart in X/Open Curses Issue 7 for this  utility,
            unlike tput(1).
 
-       The -d (debug) and -n (no-op) options are extensions  not  provided  by
+       The  -d  (debug)  and -n (no-op) options are extensions not provided by
        other implementations.
 
-       Documentation for other implementations states that there is a limit on
-       the number of tab stops.  While some terminals may not accept an  arbi-
-       trary  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.
+       A tabs utility appeared in PWB/Unix 1.0 (1977).  There  was  a  reduced
+       version  of  the  tabs  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  tabs  utility,  which was included in System III (1980),
+       used built-in tables rather than the terminal database,  to  support  a
+       half-dozen  terminal  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, as a fallback.  In an  earlier  develop-
+       ment  effort,  the  tab-stop initialization provided by tset (1982) and
+       incorporated into tput uses the terminal database,
+
+       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 tabs 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  Rationale section of the POSIX documentation goes into some detail
+       about the ways the committee considered redesigning the tabs  and  tput
+       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 Explicit Lists described in this manual page  were  imple-
+       mented  in  PWB/Unix.  Those provide the capability of setting abitrary
+       tab stops.
 
 
 

SEE ALSO

        tset(1), infocmp(1m), curses(3x), terminfo(5).
 
-       This describes ncurses version 6.0 (patch 20170603).
+       This describes ncurses version 6.2 (patch 20200425).