HELP VEDNOTABS                                       A. Sloman June 1991
(and VEDHARDTABS, VEDREADINTABS)

    <boolean> -> vednotabs
    <boolean> -> vedhardtabs
    <boolean> -> vedreadintabs


         CONTENTS - (Use <ENTER> g to access required sections)

 -- Introduction
 -- vednotabs
 -- vedhardtabs
 -- vedreadintabs
 -- Setting the value of vednotabs for each file
 -- See also:

-- Introduction -------------------------------------------------------

The facilities described here enable users to control the way VED
handles tab characters. (I.e. ascii 9). There are three main variables
that are involved in determining whether tabs are preserved or deleted
in files: vednotabs, vedhardtabs and vedreadintabs.

The variable vedindentstep determines the spacing of "tab stops" in the
file.


-- vednotabs true -----------------------------------------------------

If VEDNOTABS is TRUE (default) then when an attempt is made to insert a
tab character into the VED buffer (either via the keyboard, or via VED
procedures such as * vedcharinsert and * vedinsertstring), then the tab
is immediately converted into an appropriate number of spaces, up to
the next tab column.

The integer valued variable * VEDINDENTSTEP defines how far apart the
'tab' columns are in the file.

Also, if VEDNOTABS is TRUE, then tabs are converted to spaces when the
file is read in or written to disc.

-- vednotabs false ----------------------------------------------------

If it is FALSE, then tabs are inserted when the TAB key is pressed, and
tabs in files read from disc are preserved. The tabs are actually
represented within the VED buffer as a number of tab characters
corresponding to the number of screen locations filled by the tab, and
this can sometimes cause confusion when user programs manipulate strings
of text in VED's buffer. (See REF * veddecodetabs).

-- vedhardtabs: controls insertion or deletion in a tab ---------------

If VEDNOTABS is FALSE, i.e. if tabs are to be preserved, then it is
ambiguous what should happen if you try to insert or delete a character
in the middle of a tab. This ambiguity is resoved by VEDHARDTABS.

If VEDHARDTABS is TRUE (the default) then if you try to insert or delete
a character while the cursor is in the middle of the screen space
corresponding to a tab, then the bell will ring, and the change will not
be allowed. If VEDHARDTABS is FALSE, then the tab will be immediately
converted to spaces and the appropriate insertion or deletion will be
done without your noticing.  If VEDNOTABS is TRUE, then VEDHARDTABS
has no effect.

-- vedreadintabs: controls preservation of tabs in disk files ---------

Because many people wish to use VEDNOTABS set TRUE as their default, but
wish to preserve tabs in files read from the disc, there is an
additional variable, VEDREADINTABS, which if set TRUE, has the following
effect: whenever a file is read in, if it contains any tabs, then the
variable VEDNOTABS is set FALSE for that file, so that TABS are
preserved. The default value of VEDREADINTABS is now TRUE, to minimise
unwanted loss of tabs. Make it false in your vedinit.p file if you don't
ever want to have tabs in files.

-- Setting the value of vednotabs for each file -----------------------

Unlike the other variables, vednotabs is one of the variables associated
with a file, which can be set differently for each file. For more
information on such variables see REF * VEDVARS.

It is possible to control the value of VEDNOTABS for individual files
EITHER
    by redefining the procedure *VEDVEDDEFAULTS
OR
    by setting up appropriate associations between different kinds of
    files and their VED variable settings, as described in
        HELP *VEDFILETYPES

Note that the default value of the list -vedfiletypes- has an initial
default condition that makes -vednotabs- true for all files. This can
easily be overridden for certain files by adding an extra sublist.
See HELP * VEDFILETYPES.


-- See also: ----------------------------------------------------------


HELP * VEDINDENTSTEP - controlling the effect of tabs

The following give information on setting VED defaults
HELP * VEDFILETYPES
HELP * VEDVEDDEFAULTS
HELP * VEDINITIALISE
    (Changing state after file read in)

HELP * INITIAL
    (Gives an overview of procedures for initialising your VED
    environment.)

REF * vedinitialise
    For tailoring files on the basis of their contents.

--- C.all/help/vednotabs
--- Copyright University of Sussex 1991. All rights reserved. ----------
