.page size 64,70
.layout 2,2
.date
.headers on
.no autosubtitle
.autoparagraph
.paragraph 0,1,5
.no number
.lm 10
.rm 70
.literal





.end literal
.center; TPUPlus Reference Manual
.b
.center; Operating System/version:  VAX/VMS V5.2
.b7
.center; as implemented at
.b1
.center; Arkansas Department of Pollution Control _& Ecology
.center; 8001 National Drive
.center; Little Rock, Arkansas 72209
.center; (501) 562-7444
.b2
.center; by
.b1
.center; Rickey H. Stacks
.center; Senior Programmer Analyst

.page
.center; Revision History
           
.literal

rev. 860626-RHS Ver.  1.0
rev. 870708-RHS Ver.  2.0
rev. 870810-RHS Ver.  3.0
rev. 870813-RHS Ver.  4.0
    includes EVEPlus and Spell Checker documentation
rev. 871002-RHS Ver.  4.1
rev. 880201-RHS Ver.  4.2
rev. 880203-RHS Ver.  4.3
rev. 880318-RHS Ver.  5.0
    includes EDTPlus documentation (combined pkg)
rev. 880407-RHS Ver.  5.1
rev. 880422-RHS Ver.  5.2
rev. 880715-RHS Ver.  5.3
    minor changes in EVE keypad definitions
rev. 881202-RHS Ver.  6.0
    updated to VMS V5.0-02
rev. 881215-RHS Ver.  6.1
    updated to include ALL EVE and TPUPlus commands
rev. 890504-RHS Ver.  6.2
    added documentation for EVE cmds: PAD LINES, COUNT, and SET CASE
rev. 890705-RHS Ver.  6.3
    upgraded to VMS V5.1 (DEC Windows version of TPU)
rev. 891005-RHS Ver.  6.4
    verified operation on VMS V5.2, includes bug fixes to
    DECUS submission VAX-387
rev. 891005-RHS Ver.  6.4-1
    operation of PCE_CHANGE_WIDTH routine changed and documented
rev. 891115-RHS Ver.  6.5
    replaced DIRECTORY command with DIR (modified DIRED)
rev. 900323-RHS Ver.  6.6
    added line drawing routines, added SET_ENTITY_WORD routine

.end literal

.chapter Introduction
.Title    ##########TPUPlus Reference Manual
.subtitle ##########Introduction
.number page
.lm 10
.rm 70

.header level 1 Acknowledgement
.x Acknowledgement

 I wish to thank several people for their help, assistance, and
contributions that have made this version of TPUPlus possible:

 Robert Gage of the Arkansas Department of Pollution Control _& Ecology
(my supervisor) for putting up with me and my many, many compiles of
TPUPlus and allowing me the time to work on this project.

 Tom Wolfe of the Jet Propulsion Lab in California for suppling the
latest version of the Spelling Checker software and for spending the
time and energy on the phone with me.

 Many thanks to Paul McIlfatrick and Steve Graham of British Telecom in
Belfast, Northern Ireland for supplying the line drawing code.

 And to DECUS and the contributors that have supplied software -- Thanks
and keep up the great work folks...

 Last, but definitely not the least, I thank the Lord that He has given
me the ability to do some work that might help someone else in some
small way.

.header level 1 Intended Audience
.x Intended Audience

 This guide is intended for users familiar with the VMS operating system
and have a working knowledge of any of the TPU-based editors.  This is
not intended to be a teaching tool but rather a reference tool of what
is available and how it is set up for use on the hardware available to
users of the ADPC_&E VAXes.

.page
.header level 1 Introduction / General information
.x Introduction

 This manual is an attempt to explain the various functions of the TPUPlus
procedures and keypad as implemented at the Arkansas Department of Pollution
Control and Ecology.

 As currently implemented TPUPlus will work on any VTxxx
type of terminal (including Rainbows).  A note to the users of
Rainbows:  This editor will work best if you are using the LCTERM
communication program (available on another contribution to DECUS). If
you do not use LCTERM, then the EVE keypad will not be available to you.

.x EDT
 The EDT portion of this editor is an emulation of DEC's EDT editor with
many special added features that increases the productivity of the user
once the user becomes familiar with the editor commands.  The user can
become aquainted with these special functions and how to use them in the
span of a couple hours.  Most of the special functions share key
definitions with the EVE version of the editor, increasing ease of use
through similar key definitions.  Also, there is on-line help available
from the PF2 (HELP) key for the keypad and from the HELP key for general
help.

.x Disclaimer
 Please note that all features/macros/procedures as described in this and any
other documentation are presented "as is".  They have been tested as completely
as possible but be advised that ^*NO WARRANTY, EITHER EXPRESSED OR IMPLIED, IS
CONVEYED WITH THIS SOFTWARE.  THIS SOFTWARE WAS WRITTEN AND SHOULD REMAIN IN THE
PUBLIC DOMAIN, ALTHOUGH A MODEST REPRODUCTION FEE MAY BE CHARGED\*. I 
will attempt to answer all questions concerning this package and will attempt to
correct all "bugs" found in my code. This means I will not attempt to correct
problems arising from modified versions of this software.  If modifications
are sent to me I will be happy to consider including them in future releases.
Please debug your submissions first before sending them. I can be reached at the
following:

.literal

Rick Stacks
Senior Programmer Analyst
Arkansas Department of Pollution Control and Ecology
8001 National Dr. / POB 9583
Little Rock, AR. 72219
U.S.A.
(501) 562-7444

.end literal

 In-house users may send comments/suggestions/gripes via VAX Mail to username
RICK__SYS.

.header level 2 Conventions used in this document
.x Convention definitions

.literal

Ctrl-key      indicates you must press the CTRL key while
              you simultaneously press another key
[option]      square brackets indicate that the enclosed
              item is optional
{a/b/c/d}     braces indicate that you must choose one
              of the enclosed items
GOLD          unless otherwise noted refers to the PF1 key
<key>         indicates the key labeled as "key" e.g.
              <RETURN> = the return key
whitespace    a term that represents any amount of contiguous
              spaces, tabs, etc. (any 'blank' character)
.end literal

 All commands, except TPU level commands, can be abbreviated to the least
number of unique characters for that command.  An example:  SET REC for SET
RECTANGULAR. 

 A note to the implementers of this editor, this version of TPUPlus contains
replacements to some of the DEC-supplied procedures (I know... DEC says this is
a no-no).  These procedures can be found in the file REPLACEMENTS.TPU.  You
should be aware that if DEC ever changes/deletes these routines you will need to
take appropriate action.  I will; but the revised software will probably not
reach the DECUS library in time to help in the (un)likely event DEC does change
the affected routines (as they did in VMS V5.0-02). Good luck...

.page
.header level 1 VT200 Keypad Diagram
.x EVE > VT200 Keypad
.x VT200 Keypad

 Please note:  Unless otherwise stated on the following pages of this
Guide all references to the GOLD key mean the PF1 key.

 For a complete description and diagram of the current EVE (TPUPlus)
keypad press <KP3> while in the editor.  The editor will build a
diagram of the current keypad definitions.

 Additionally, the definitions shown on the next page are subject to
change, please use the GOLD <HELP> keystroke to list the current key
definitions.

.page
.header level 1 Control / GOLD / GOLD-Control key sequences
.x EVE > defined keys
.x defined keys
.literal
key     | plain      | ctrl-key   |  GOLD+key  | GOLD+ctrl-key
--------+------------+------------+------------+---------------
A       | A          |            | APPEND FILE|
B       | B          | RECALL     |            | SHOW BUFFERS
C       | C          | ABORT CMD  |            |
D       | D          |            |            | DCL WINDOW
E       | E          | MOVE TO EOL|            |
F       | F          |            |            |
G       | G          |            | GET FILE   |
H       | H          | MOVE TO BOL|            |
I       | I          | TAB        | INCL. FILE | INS. PG MKS
J       | J          |            |            |
K       | K          | LEARN      | AUTO SHIFT |
L       | L          | GO TO LINE#| SHOW LINE #|
M       | M          | RETURN     |            |
N       | N          | NEXT LINE  |            |
O       | O          | DISP OFF/ON|            |
P       | P          | PREV. EOL  |            |
Q       | Q          | SCROLL ON  |            |
R       | R          | REMEMBER   | REPEAT CMD | REM. PG MKS
S       | S          | SCROLL OFF | CHG SCROLL |
T       | T          | PROC STATUS|            |
U       | U          | BOL ERASE  |            |
V       | V          | QUOTE      |            |
W       | W          | REFRESH    | WRITE FILE | CHG WIDTH
Y       | Y          | INTERRUPT  |            |
Z       | Z          | EXIT       |            |
        |            |            |            |
<       | CURSOR L   |            | SHFT L 25  |
>       | CURSOR R   |            | SHFT R 25  |
        |            |            |            |
F6      |            |            |            |
F7      |            |            |            |
F8      | CAP. WORD  |            | FILL       |
F9      | LEARN      |            |            |
F10     | EXIT       |            |            |
F11     | FWD/REV    |            |            |
F12     | RECT/NOREC |            |            |
F13     | CHG WIDTH  |            | CHG SHIFT  |
F14     | INS/OVR    |            | CHG SCROLL |
HELP    | HELP       |            | LIST KEYS  |
DO      | EVE COMMAND|            | TPU COMMAND|
F17     | BOL ERASE  |            | BOB ERASE  |
F18     | EOL ERASE  |            | EOB ERASE  |
F19     | BUFR TOGGLE|            | SPLT/UNSPLT|
F20     | QUIT       |            |            |
--------+------------+------------+------------+---------------
BOB = Beginning of buffer
BOL = Beginning of line
EOB = End of buffer
EOL = End of line
.end literal

.page
.header level 1 EDT VT200 Keypad Diagram
.x EDT > VT200 Keypad
.x VT200 Keypad

 For a complete description of the EDT keypad please refer to the VAX Text
Processing Utility Manual.

 All EDT keys that do not conflict with a TPUPlus key definition will use the
TPUPlus key definition shown on the previous pages.

.page
.chapter EVE commands
.Title    ##########TPUPlus Reference Manual
.subtitle ##########EVE commands
.lm 10
.rm 70

.header level 1 EVE commands
.x EVE > commands

 On the following pages are descriptions of the macros utilized
as EVE commands as contained in the TPUPlus package as written and
implemented at the Arkansas Department of Pollution Control and Ecology. 
All EVE commands may be accessed by the EDT emulator by first pressing
the <DO> key or by pressing <GOLD KP7>.

 There are certain edt line mode commands that are available by using GOLD
<KP7> that are not available otherwise.  These commands are SET ENTITY
WORD, SET SEARCH EXACT, SET SEARCH GENERAL, SET SEARCH OFF, line #, SET
WRAP, SET NOWRAP, CONTINUE, DELETE BEFORE, DELETE REST, DELETE WHOLE,
SUBSTITUTE, _& TYPE. These commands function the same as their EDIT
counterparts.

 All key definitions listed on the following pages refer to the EVE
keypad and to the EDT keypad when there is no conflict with an already
existing EDT key definition.

 Some of the commands listed in this manual are what I refer to as
'dependant' commands.  They are dependant upon the setting of other
commands (e.g. the CENTER LINE command is dependant upon the setting of the
right margin, SET RIGHT MARGIN nnn).  Should a command do wierd things or
not act quite like you would expect, check the settings of the editor to
see if a condition such as described above exists.  If such a condition
does not exist, contact the Computer Section for assistance.

 Please note:  Unless otherwise stated on the following pages of this
chapter all references to the GOLD key mean the PF1 key. Additionally,
all commands listed in this chapter are accessed by first pressing <DO>
followed by the command, unless otherwise stated.

.page
.header level 2 @
.x @
.x EVE > commands > @

 @ file__name

 The @ command executes a file containing EVE commands during your
editing session.  This lets you set or change the values of several
editing attributes at the same time.

 See Chapter 5 of the VAX Text Processing Manual and also the Guide to
VMS Text Processing for more information concerning command files.

.header level 2 APPEND FILE
.x APPEND
.x EVE > commands > APPEND FILE

 APPEND FILE file__name

 This command is accessed by pressing the <DO> key and typing APPEND
file__name__specs <RETURN> or APPEND <RETURN> or if the PCE defined VT200 keypad
is being used hit GOLD <A>.  This command will append the specified file to the
end of the current buffer, regardless of where the cursor is currently
positioned.

.header level 2 ASCII REPLACE
.x ASCII REPLACE
.x EVE > commands > ASCII REPLACE

 ASCII REPLACE

 Replaces a symbolic string representing any of the control characters
(ASCII 0 thru 31) with its actual value.  See also CONTROL REPLACE.

.header level 2 ATTACH
.x ATTACH
.x EVE > commands > ATTACH

 ATTACH process-name

 Suspends the current editing session and connects the terminal to
another process or sub-process that already exists.

.header level 2 BOTTOM
.x BOTTOM
.x EVE > commands > BOTTOM

 BOTTOM

 Moves the cursor to the bottom of the current editing buffer.

.header level 2 BUFFER
.x BUFFER
.x EVE > commands > BUFFER

 BUFFER buffer-name

 Puts the named buffer in the current window and positions the cursor to
your last position in that buffer.  If the buffer does not exist, EVE
creates a new buffer and puts the cursor at the top of that buffer.

.header level 2 BULLET
.x BULLET
.x EVE > commands > BULLET

 BULLET [[[arg1] arg2] arg3]

 This command formats a paragraph into bulleted type form.  The first
non-blank word is the bullet item.  All other text makes up the bullet
text.
.lit

    BULLET              Format a bullet using the defined
                        margins.
    BULLET x            Display the bullet margins that are
                        currently set (x is any non-numeric
                        string).
    BULLET 10           Redefine the bullet item space to
                        10 and then format a bullet.
    BULLET 2 4 60       Redefine the item left margin to 2,
                        the text margins to 4 and 60, and
                        then format a bullet.
.end literal

.header level 2 CAPITALIZE WORD
.x CAPITALIZE WORD
.x EVE > commands > CAPITALIZE WORD

 CAPITALIZE WORD

 Capitalizes each word in the currently selected text, or capitalizes
the current word, making the first letter uppercase and the remaining
letters lowercase.

.header level 2 CENTER LINE
.x CENTER LINE
.x EVE > commands > CENTER LINE

 CENTER LINE

 Centers the current line between the left and right margins of the
current buffer.

.header level 2 CHANGE CASE
.x CHANGE CASE
.x EVE > commands > CHANGE CASE

 CHANGE CASE [{CHARACTER/LINE/range/buffer}]

 Changes the case of every character in the current select range, the
character the cursor is currently on (default), the line the cursor is
currently on, or the entire current buffer.

 CHANGE CASE [CHARACTER]

 Inverts the case of the current character and the cursor will be moved to the
next character on the line.  If you are currently positioned at the end of a
line then the cursor will move to the beginning of the following line.

 CHANGE CASE LINE

 Changes the case of every character on the line the cursor is currently
positioned on (current__line).  For example, let's suppose you are positioned on
the following line:

 tHIS iS a tEST!  tRY iT yOU'LL lIKE iT.  test TEST test ...

 Press <PF1><KP9>  (GOLD <KP9>) The line now appears as:

 This Is A Test!  Try It You'll Like It.  TEST test TEST ...

 CHANGE CASE range

 Changes the case of every character in the cut/paste buffer.  Use
<SELECT> and the cursor to select the range, then press <KP8> to change
the case.

 CHANGE CASE buffer

 Changes the case of every character in the current buffer.

.header level 2 CHANGE DIRECTION
.x CHANGE DIRECTION
.x EVE > commands > CHANGE DIRECTION

 CHANGE DIRECTION

 Changes the direction of the current buffer from forward to reverse or
back.  Current direction is shown on the status line.

.header level 2 CHANGE MODE
.x CHANGE MODE
.x EVE > commands > CHANGE MODE

 CHANGE MODE

 Changes the mode of the current buffer from insert to overstrike or
vixe versa.  The status line shows the current mode.

.header level 2 COLUMN SEARCH
.x COLUMN SEARCH
.x EVE > commands > COLUMN SEARCH

 COLUMN SEARCH 'target-string'

 Performs a search on the user's specified columns.  See SET WC.

.header level 2 COLUMN XCHG
.x COLUMN XCHG
.x EVE > commands > COLUMN XCHG

 COLUMN XCHG (old-string, new_string)

 Method of insertion/deletion is dependant upon the mode
(INSERT/OVERSTRIKE) specified by the user.

.header level 2 COMPRESS LINE
.x COMPRESS LINE
.x EVE > commands > COMPRESS LINE

 COMPRESS LINE

 Removes all leading, trailing, and multiple whitespace on the current
line and left justifies the line (opposite of FILL).

.header level 2 CONTROL REPLACE
.x CONTROL REPLACE
.x EVE > commands > CONTROL REPLACE

 CONTROL REPLACE

 Replaces all control characters (ASCII 0 thru 31) with a symbolic
string in the current buffer.  Very handy when you wish to see what all
those big backwards question marks represent.

.header level 2 COUNT
.x COUNT
.x EVE > commands > COUNT

 COUNT 'string_to_search_for'

 COUNT will count the number of occurrences of the user supplied string and
display the count in the message buffer.  Counting begins at the current
cursor location and continues to the end of the buffer in the current
direction.

.header level 2 CUT LEADING
.x CUT LEADING
.x EVE > commands > CUT LEADING

 This command will cut all LEADING whitespace from the current line.

.header level 2 DCL
.x DCL
.x EVE > commands > DCL

 DCL dcl-command

 Executes a DCL command from within your editing session.  EVE spawns a
subprocess for the DCL command you specify and creates a buffer named
DCL to contain the output from the command.  This command is useful for
creating files containing directories, compiling source code, etc.

.header level 2 DEFINE KEY
.x DEFINE KEY
.x EVE > commands > DEFINE KEY

 DEFINE KEY [=key-name] eve-command

 Defines a key to execute a single EVE command or an EDT or WPS keypad
function.  You can type the key name on the command line or let EVE
prompt you to press the key you want to define.

.header level 2 DELETE
.x DELETE
.x EVE > commands > DELETE

 DELETE

 Deletes the character left of the cursor.  In insert mode, the rest of
the line moves left one character to close the space.  In overstrike
mode, the deleted character is replaced by a space.  See also RESTORE
CHARACTER.

.header level 2 DELETE BUFFER
.x DELETE BUFFER
.x EVE > commands > DELETE BUFFER

 DELETE BUFFER buffer-name

 Deletes the buffer you specify.  If you are viewing that buffer, EVE
deletes the buffer.  EVE then displays another buffer (usually the first
buffer viewed in the editing session).

.header level 2 DELETE WINDOW
.x DELETE WINDOW
.x EVE > commands > DELETE WINDOW

 DELETE WINDOW

 Deletes the window in which the sursor is located (if you are using
more than one window.

.header level 2 DESCRIBE KEY
.x DESCRIBE KEY
.x EVE > commands > DESCRIBE KEY

 This command requests the user to press a key and then returns a 1 line
description of the key (if one exists). 

.header level 2 DIR
.x DIR
.x EVE > commands > DIR

 DIR [node::[dev:[dir]file__specs]]

 To execute this command press the <DO> key and type DIR [file__specs]. 
Output from this command will be displayed on the user's screen.  Should
the user wish to edit any of the files named, position the cursor on the
name of the file and press <GOLD-G>.  The display has the cursor initially
positioned on the line beginning with "[-]".  To back up one level in the
directory tree (e.g. [WATER.NPDES.PARKS] to [WATER.NPDES]) press <GOLD-G>.
To fall down to a lower level of the current directory tree, position the
cursor on the name of the directory and press <GOLD-G>.  To cancel the
directory search and return to the previous buffer, position the cursor on
the line beginning with "<EXIT>" and press <GOLD-G>.

.header level 2 DISPLAY CHARACTER
.x DISPLAY CHARACTER
.x EVE > commands > DISPLAY CHARACTER

 When the editor cannot display a character (e.g., a control character) it
substitutes a reverse question mark in its place. This command will interpret
the character the cursor is on, and produce a readable version.  Information
about the character includes its octal, decimal, and hexadecimal values.

.header level 2 DO
.x DO
.x EVE > commands > DO

 DO

 Allows the user to enter an EVE command.

.header level 2 DRAW BOX
.x DRAW BOX
.x EVE > commands > DRAW BOX

 DRAW BOX

 Used with rectangular mode of cut and paste to draw a box around the
selected area in the current buffer.

 SELECT the upper left corner and then move to the lower right corner,
press <DO>, and type DRAW BOX <RETURN>.  A box will be formed AROUND the
area you have marked.

.header level 2 ELIMINATE TABS
.x ELIMINATE TABS
.x EVE > commands > ELIMINATE TABS

 This command will remove hard tabs from your file and substitute eight (8)
spaces (assumes hard tabs are set every 8 positions).

.header level 2 END OF LINE
.x END OF LINE
.x EVE > commands > END OF LINE

 END OF LINE

 Moves the cursor to the end of the current line.

.header level 2 ENLARGE WINDOW
.x ENLARGE WINDOW
.x EVE > commands > ENLARGE WINDOW

 ENLARGE WINDOW n

 Enlarges the current window (if you are using more than one window) by
the amount 'n' you have specified.

.header level 2 ERASE CHARACTER
.x ERASE CHARACTER
.x EVE > commands > ERASE CHARACTER

 ERASE CHARACTER

 Erases the character that the cursor is on.

.header level 2 ERASE END OF LINE
.x ERASE END OF LINE
.x EVE > commands > ERASE END OF LINE

 ERASE END OF LINE

 Erases text, starting at the current cursor location and continuing to
the end of the current line.  This does NOT erase the carriage return at
the end of the line (the next line does not move up).

.header level 2 ERASE LINE
.x ERASE LINE
.x EVE > commands > ERASE LINE

 ERASE LINE

 Erases the line that the cursor is currently on and moves the line
below up to take its place.

.header level 2 ERASE PREVIOUS WORD
.x ERASE PREVIOUS WORD
.x EVE > commands > ERASE PREVIOUS WORD

 ERASE PREVIOUS WORD

 Erases the previous word or the word the cursor is on.  Between words
on on the first character of a word, you erase the previous word.  In
the middle of a word, you erase all of that word and the trailing spaces
(same as ERASE WORD).

.header level 2 ERASE START OF LINE
.x ERASE START OF LINE
.x EVE > commands > ERASE START OF LINE

 ERASE START OF LINE

 Erases all characters between the cursor and the start of the current
line.  Any text to the right of the cursor shifts to the left.

.header level 2 ERASE WORD
.x ERASE WORD
.x EVE > commands > ERASE WORD

 ERASE WORD

 Erases the word the cursor is on or the next word if you are between
words.  Spaces before the current word or after the next word are also
erased.

.header level 2 EXIT
.x EXIT
.x EVE > commands > EXIT

 EXIT

 Exits from the editor and saves all changes.

.header level 2 EXTEND ALL
.x EXTEND ALL
.x EVE > commands > EXTEND ALL

 EXTEND ALL

 Compiles all procedures and VAXTPU statements in the current buffer.

.header level 2 EXTEND EVE
.x EXTEND EVE
.x EVE > commands > EXTEND EVE
.lit

 EXTEND EVE {procedure-name}
            {*}
.end literal

 Compiles one or more VAXTPU procedures to extend EVE.

.header level 2 EXTEND THIS
.x EXTEND THIS
.x EVE > commands > EXTEND THIS

 EXTEND THIS

 Compiles the VAXTPU procedure in which the cursor is located.

.header level 2 EXTEND TPU
.x EXTEND TPU
.x EVE > commands > EXTEND TPU
.lit

 EXTEND TPU {procedure-name}
            {*}
.end literal

 Compiles one or more VAXTPU procedures to extend EVE.  This is a
synonym for the EXTEND EVE command.

.header level 2 FILL
.x FILL
.x EVE > commands > FILL

 FILL

 Reformats the current paragraph or select range according to the
margins of the buffer, so that the maximum number of words fits on a
line.

 Fill leaves a ragged right margin.

.header level 2 FILL PARAGRAPH
.x FILL PARAGRAPH
.x EVE > commands > FILL PARAGRAPH

 FILL PARAGRAPH n

 Fills (reformats) the current paragraph according to the margins of the
buffer.  If the user specifies a parameter to this command then the
beginning of the paragraph is indented by the amount specified.

.header level 2 FILL RANGE
.x FILL RANGE
.x EVE > commands > FILL RANGE

 FILL RANGE n

 Fills (reformats) the selected range according to the margins of the
buffer.  If the user specifies a parameter to this command then the
beginning of each paragraph is indented by the amount specified.


.header level 2 FIND
.x FIND
.x EVE > commands > FIND

 FIND [search-string]

 Searches the current buffer for the text string you specify (or for one
already entered).  If the string is found, EVE highlights the text and
places the cursor at the beginning of the string.  See also WILDCARD
FIND.

.header level 2 FIX CRLFS
.x FIX CRLFS
.x EVE > commands > FIX CRLFS

 This command removes carriage returns and linefeeds from your current buffer
(e.g. Runoff generated .MEM and .LNI files).

.header level 2 FORWARD
.x FORWARD
.x EVE > commands > FORWARD

 FORWARD

 Sets the cursor direction in the curtrent buffer to forward (toward the
right and down).

.header level 2 GET FILE
.x GET FILE
.x EVE > commands > GET FILE

 GET FILE file-name

 Puts a file or files into the current window, creating new buffer(s) as
needed.  Wildcard file names are allowed.  EVE will GET all files
matching the user's specified file-name.

.header level 2 GO TO
.x GO TO
.x EVE > commands > GO TO

 GO TO marker-name

 Moves the cursor to the location previously labeld with the MARK
command.  See MARK.

.header level 2 HELP
.x HELP
.x EVE > commands > HELP

 HELP [topic-name]

 Displays on-line help about an EVE, TPU, and/or TPUPlus command,
defined-key, or information about other topics, including VAXTPU
built-in procedures.

.header level 2 INCLUDE FILE
.x INCLUDE FILE
.x EVE > commands > INCLUDE FILE

 INCLUDE FILE file-name

 Copies the specified file(s) into the current buffer, inserting each
file(s) contents into the buffer before the current line.  The buffer
name does not change.

.header level 2 INSERT DATE
.x INSERT DATE
.x EVE > commands > INSERT DATE

 Inserts the current date (dd-mmm-yyyy) at the current cursor.

.header level 2 INSERT HERE
.x INSERT HERE
.x EVE > commands > INSERT HERE

 INSERT HERE

 Inserts (pastes) the text you previously stored or removed at the
current position.  

.header level 2 INSERT MODE
.x INSERT MODE
.x EVE > commands > INSERT MODE

 INSERT MODE

 Sets the mode of the current buffer to insert.  The current mode is
shown on the status line.  In insert mode, each character you enter is
entered at the current position, pushing existing characters to the
right.

.header level 2 INSERT PAGE BREAK
.x INSERT PAGE BREAK
.x EVE > commands > INSERT PAGE BREAK

 INSERT PAGE BREAK

 Inserts a 'hard' page break (a form feed character) on a line by
itself.

.header level 2 INSERT RULER
.x INSERT RULER
.x EVE > commands > INSERT RULER

 Inserts a columnar ruler into the user's buffer at the current
position.  The ruler shows the current tab stops for the buffer by
placing a 'T' at the position of each tab stop.

.header level 2 INSERT TIME
.x INSERT TIME
.x EVE > commands > INSERT TIME

 Inserts the current time (hh:mm:ss.hhh) at the current cursor.

.header level 2 LEARN
.x LEARN
.x EVE > commands > LEARN

 LEARN

 Learns a sequence of keystrokes and remembers them as a single key. 
See REMEMBER.

.header level 2 LINE
.x LINE
.x EVE > commands > LINE

 LINE [n [procedure-name]

 Go to the line number specified in the VAXTPU procedure (if specified). 
EVE/TPU line numbering is dynamic rather than static like DEC EDIT;
therefore as lines are added and deleted the line numbers change.

.header level 2 LIST COMMANDS
.x EVE > commands > LIST COMMANDS

 Lists all the available EVE commands for this version of the editor in
alphabetical order.  <DO> exits to the buffer the user was previously editing
before issuing this command.

.header level 2 LOAD USER DICTIONARY
.x LOAD USER DICTIONARY
.x EVE > commands > LOAD USER DICTIONARY

 LOAD USER DICTIONARY

 This is used with the SPELL checker that has been added to TPUPlus. 
For more information see the chapter on the spelling checker.

.header level 2 LOWERCASE WORD
.x LOWERCASE WORD
.x EVE > commands > LOWERCASE WORD

 LOWERCASE WORD

 Makes the current word or selected text all lowercase.

.header level 2 MAIL
.x MAIL
.x EVE > commands > MAIL

 Press <DO> and type MAIL to access the MAIL utility.

.header level 2 MAP BUFFER
.x MAP BUFFER
.x EVE > commands > MAP BUFFER

 MAP BUFFER 'n'

 Used when the user sets the mapping feature on.  Usually this command
is not executed at command level but is mapped to the number typing keys
using a GOLD keystroke.  Allows quick and easy access to multiple user
buffers.  See SET MAPPING.

.header level 2 MARK
.x MARK
.x EVE > commands > MARK

 MARK marker-name

 Puts an invisible mark at the current position.  Later, using the GO TO
command and the marker name, you can return to the marked location.

.header level 2 MOVE BY LINE
.x MOVE BY LINE
.x EVE > commands > MOVE BY LINE

 MOVE BY LINE

 Moves the cursor to the start or end of a line depending upon the
direction setting.

.header level 2 MOVE BY PAGE
.x MOVE BY PAGE
.x EVE > commands > MOVE BY PAGE

 MOVE BY PAGE

 Moves the cursor to the next 'hard' page break in the current
direction.

.header level 2 MOVE BY WORD
.x MOVE BY WORD
.x EVE > commands > MOVE BY WORD

 MOVE BY WORD

 Move to the beginning of the next word in the current direction.

.header level 2 MOVE DOWN
.x MOVE DOWN
.x EVE > commands > MOVE DOWN

 MOVE DOWN

 Moves the cursor down a line at a time.

.header level 2 MOVE LEFT
.x MOVE LEFT
.x EVE > commands > MOVE LEFT

 MOVE LEFT

 Moves the cursor left on the current line a character at a time.

.header level 2 MOVE RIGHT
.x MOVE RIGHT
.x EVE > commands > MOVE RIGHT

 MOVE RIGHT

 Moves the cursor right on the current line a character at a time.

.header level 2 MOVE UP
.x MOVE UP
.x EVE > commands > MOVE UP

 MOVE UP

 Moves the cursor up a line at a time.

.header level 2 NEXT SCREEN
.x NEXT SCREEN
.x EVE > commands > NEXT SCREEN

 NEXT SCREEN

 Scrolls down to show the next screen's worth of text (if any).

.header level 2 NEXT WINDOW
.x NEXT WINDOW
.x EVE > commands > NEXT WINDOW

 NEXT WINDOW

 Moves the cursor to the next window (if you are using multiple
windows).

.header level 2 [UN]NUMBER LINES
.x NUMBER LINES
.x UNNUMBER LINES
.x EVE > commands > NUMBER LINES
.x EVE > commands > UNNUMBER LINES

 This command will insert line numbers at the beginning of each line of the
current editing buffer (6 digit number followed by 2 spaces).  If you specify
UNNUMBER LINES then any action taken by the NUMBER LINES command is reversed.

.header level 2 ONE WINDOW
.x ONE WINDOW
.x EVE > commands > ONE WINDOW

 ONE WINDOW

 Restores the screen to a single large window (when you are using
multiple windows).

.header level 2 OTHER WINDOW
.x OTHER WINDOW
.x EVE > commands > OTHER WINDOW

 OTHER WINDOW

 Moves the cursor to the previous window (if you are using multiple
windows).

.header level 2 OVERSTRIKE MODE
.x OVERSTRIKE MODE
.x EVE > commands > OVERSTRIKE MODE

 OVERSTRIKE MODE

 Sets the current mode of the current buffer to overstrike.

.header level 2 PAD LINES
.x PAD LINES
.x EVE > commands > PAD LINES

 PAD LINES n

 This command will pad all lines in the current buffer from the current
line to the end of the buffer.  The lines will be padded with blanks out
to the column specified by the user.

.header level 2 PHONE
.x PHONE
.x EVE > commands > PHONE

 Press <DO> and type PHONE to access the PHONE utility.

.header level 2 PREVIOUS SCREEN
.x PREVIOUS SCREEN
.x EVE > commands > PREVIOUS SCREEN

 PREVIOUS SCREEN

 Scrolls up to show the previous screen's worth of text (if any).

.header level 2 PREVIOUS WINDOW
.x PREVIOUS WINDOW
.x EVE > commands > PREVIOUS WINDOW

 PREVIOUS WINDOW

 Moves the cursor to the previous window (if you are using multiple
windows).

.header level 2 PRINT BUFFER
.x PRINT BUFFER
.x EVE > commands > PRINT BUFFER

 PRINT BUFFER

 Prints the current buffer on a printer attached to the user's terminal.

.header level 2 PRINT FF
.x PRINT
.x EVE > commands > PRINT FF

 Sends a formfeed to a printer attached to the user's terminal.

.header level 2 PRINT FILE
.x PRINT
.x EVE > commands > PRINT FILE

 PRINT FILE [file-name]

 Prints the specified file on a printer attached to the user's terminal.

.header level 2 PRINT RANGE
.x PRINT
.x EVE > commands > PRINT RANGE

 Prints the contents of the current select range on a printer attached to the
user's terminal.  If there is no active select range when you issue the command,
the contents of the entire current buffer are printed.

.header level 2 PRINT SCREEN
.x PRINT
.x EVE > commands > PRINT SCREEN

 Prints the contents of the current screen on a printer attached to the user's
terminal.

.header level 2 PRINT SELECT
.x PRINT SELECT
.x EVE > commands > PRINT SELECT

 PRINT SELECT

 Prints the currently selected range on the specified print queue
(default queue is SYS$PRINT).  The user may specify any valid print
command to print the selected text (e.g. LPRINT, APRINT, TPRINT, etc.).

.header level 2 QUIT
.x QUIT
.x EVE > commands > QUIT

 QUIT

 Exits the editor but does not save any changes.  If the user's buffer
has been modified the editor will prompt the user if he/she actually
wishes to continue quitting.

.header level 2 QUOTE
.x QUOTE
.x EVE > commands > QUOTE

 QUOTE

 Allows entry of escape and/or control code characters.

.header level 2 RECALL
.x RECALL
.x EVE > commands > RECALL

 RECALL

 Recalls a previous EVE command, which you can edit (if needed) and
execute again.  See DO.

.header level 2 RECTANGULAR INSERT HERE
.x RECTANGULAR INSERT HERE
.x EVE > commands > RECTANGULAR INSERT HERE

 RECTANGULAR INSERT HERE

 Performs a rectangular paste.  See SET RECTANGULAR.

.header level 2 RECTANGULAR REMOVE
.x RECTANGULAR REMOVE
.x EVE > commands > RECTANGULAR REMOVE

 RECTANGULAR REMOVE

 Performs a rectangular cut.  See SET RECTANGULAR.

.header level 2 RECTANGULAR SELECT
.x RECTANGULAR SELECT
.x EVE > commands > RECTANGULAR SELECT

 RECTANGULAR SELECT

 Begins any rectanular cut/paste operation.  See SET RECTANGULAR.

.header level 2 REFRESH
.x REFRESH
.x EVE > commands > REFRESH

 REFRESH

 Clears and redraws the screen display.

.header level 2 REMEMBER
.x REMEMBER
.x EVE > commands > REMEMBER

 REMEMBER

 Remembers a LEARN key sequence.

.header level 2 REMOVE
.x REMOVE
.x EVE > commands > REMOVE

 REMOVE

 Removes (cuts) the currently highlighted text, which you can insert
elsewhere.

.header level 2 REPEAT
.x REPEAT
.x EVE > commands > REPEAT

 REPEAT 'n'

 Sets the next command up to repeat 'n' times.

.header level 2 REPLACE
.x REPLACE
.x EVE > commands > REPLACE
.lit

 REPLACE {"old-string" "new-string"}
         { old-string   new-string }
.end literal

 Replaces one text string with another.

.header level 2 RESET
.x RESET
.x EVE > commands > RESET

 RESET

 Cancels the following and sets the direction to FORWARD.
.lit

    o    A press of the GOLD key
    o    Current highlighting of text
    o    An incomplete command
    o    Output from SHOW, SHOW DEFAULTS BUFFER, SHOW
         SUMMARY, or SHOW WILDCARD
.end literal

.header level 2 RESTORE
.x RESTORE
.x EVE > commands > RESTORE

 RESTORE

 Restores (or undeletes) what you last erased or deleted with one of the
ERASE commands or keystroke.  Use GOLD <INSERT HERE> or <ENTER>.  This
command does not restore an erased character, see RESTORE CHARACTER.

.header level 2 RESTORE CHARACTER
.x RESTORE CHARACTER
.x EVE > commands > RESTORE CHARACTER

 RESTORE CHARACTER

 Restores (or undeletes) what you last erased or deleted with the
ERASE CHARACTER command.  Use GOLD <ENTER>.

.header level 2 RESTORE LINE
.x RESTORE LINE
.x EVE > commands > RESTORE LINE

 RESTORE LINE

 Restores (or undeletes) the line you last erased or deleted.

.header level 2 RESTORE SENTENCE
.x RESTORE SENTENCE
.x EVE > commands > RESTORE SENTENCE

 RESTORE SENTENCE

 Restores (or undeletes) the sentence you last erased or deleted.

.header level 2 RESTORE WORD
.x RESTORE WORD
.x EVE > commands > RESTORE WORD

 RESTORE WORD

 Restores (or undeletes) the word you last erased or deleted.

.header level 2 RETURN
.x RETURN
.x EVE > commands > RETURN

 RETURN

 Inserts a carriage return at the current editing position, terminates
a typed command or response to a prompt.

.header level 2 REVERSE
.x REVERSE
.x EVE > commands > REVERSE

 REVERSE

 Sets the cursor direction in the current buffer to reverse (shown on
the status line).

.header level 2 SAVE EXTENDED EVE
.x SAVE EXTENDED EVE
.x EVE > commands > SAVE EXTENDED EVE

 SAVE EXTENDED EVE

 Saves your current key definitions and other extensions in a section
file for future editing sessions.

 It is not suggested that the general user population go around saving
section files for their own use.  Section files are rather large
(3000-4000 disk blocks).  It is suggested that if you wish to write your
own VAXTPU routines and procedures, please do.  They can be included
with the main section file for use by all.

.header level 2 SAVE EXTENDED TPU
.x SAVE EXTENDED TPU
.x EVE > commands > SAVE EXTENDED TPU

 SAVE EXTENDED TPU

 This is a synonym for the SAVE EXTENDED EVE command.

.header level 2 SELECT
.x SELECT
.x EVE > commands > SELECT

 SELECT

 Begins the select operation for some editing function, such as STORE
TEXT, REMOVE, or FILL.

.header level 2 SET AUTO INDENT
.x SET AUTO INDENT
.x EVE > commands > SET AUTO INDENT
.x SET NOAUTO INDENT
.x EVE > commands > SET NOAUTO INDENT

 SET [NO]AUTO INDENT

 Turns the auto indention feature on/off.  When auto indent is turned on
the cursor will automatically position itself in line with the beginning
character on the previous line when the RETURN key is pressed.

.header level 2 SET CASE SENSITIVE
.x SET CASE SENSITIVE
.x EVE > commands > SET CASE SENSITIVE
.x SET CASE INSENSITIVE
.x EVE > commands > SET CASE INSENSITIVE
.x SET CASE OFF
.x EVE > commands > SET CASE OFF

 SET CASE {[IN]SENSITIVE, OFF}

 By setting the case sensitivity of the TPU editors to sensitive the user
makes all searches, finds, replaces, etc. case sensitive.  This sets the
editor to match lower to lower, upper to upper, and mixed to mixed only.
Setting case to insensitive tells the editor to ignore case matching.
Setting case off tells the editor to use the default TPU matching rules;
this is the default for the editor, unless otherwise specified in a
start-up file.

.header level 2 SET CURSOR BOUND
.x SET CURSOR BOUND
.x EVE > commands > SET CURSOR BOUND

 SET CURSOR BOUND

 Sets the cursor to a bound state, following the flow of your text. 
Using a bound cursor, you cannot move into an unused portion of the
buffer (or 'whitespace').

.header level 2 SET CURSOR FREE
.x SET CURSOR FREE
.x EVE > commands > SET CURSOR FREE

 SET CURSOR FREE

 Sets the cursor to a free or unbound state.  This is the default
setting.  With a free cursor you can put text anywhere in the buffer,
whether characters are already there or not.

.header level 2 SET FIND WHITESPACE
.x SET FIND WHITESPACE
.x EVE > commands > SET FIND WHITESPACE
.x SET FIND NOWHITESPACE
.x EVE > commands > SET FIND NOWHITESPACE

 SET FIND [NO]WHITESPACE

 Set the FIND command to match spaces and tabs in the search string
exactly and not to find 'whitespace'.  This is the default.

 When turned off, the FIND command will treat spaces and tabs the same
and will span up to one line break.

.header level 2 SET GOLD KEY
.x SET GOLD KEY
.x EVE > commands > SET GOLD KEY
.x SET NOGOLD KEY
.x EVE > commands > SET NOGOLD KEY

 SET [NO]GOLD KEY [key-name]

 Sets the GOLD key for use with other keys or undefines the GOLD key.

.header level 2 SET KEYPAD EDT
.x SET KEYPAD EDT
.x EVE > commands > SET KEYPAD EDT
.x SET KEYPAD NOEDT
.x EVE > commands > SET KEYPAD NOEDT

 SET KEYPAD [NO]EDT

 Sets the keypad up to emulate DEC EDIT.

.header level 2 SET KEYPAD EVE
.x SET KEYPAD EVE
.x EVE > commands > SET KEYPAD EVE

 SET KEYPAD EVE

 Defines the keypad for use with TPUPlus. (default).

.header level 2 SET KEYPAD NUMERIC
.x SET KEYPAD NUMERIC
.x EVE > commands > SET KEYPAD NUMERIC

 SET KEYPAD NUMERIC

 Defines the keypad as a numeric keypad.

.header level 2 SET KEYPAD VT100
.x SET KEYPAD VT100
.x EVE > commands > SET KEYPAD VT100

 SET KEYPAD VT100

 Defines the keypad for use with a VT100 type of terminal.

.header level 2 SET KEYPAD WPS
.x SET KEYPAD WPS
.x EVE > commands > SET KEYPAD WPS
.x SET KEYPAD NOWPS
.x EVE > commands > SET KEYPAD NOWPS

 SET KEYPAD [NO]WPS

 Makes the keypad look like a WPS-style of keypad.

.header level 2 SET LEFT MARGIN
.x SET LEFT MARGIN
.x EVE > commands > SET LEFT MARGIN

 SET LEFT MARGIN 'n'

 Sets the left margin for text in the buffer you are editing.

.header level 2 SET [NO]LINEDRAWING
.x SET LINEDRAWING
.x SET NOLINEDRAWING
.x EVE > commands > SET LINEDRAWING
.x EVE > commands > SET NOLINEDRAWING

 Turns on line drawing mode.  While line drawing is ON the cursor keys will
draw lines on the user's screen using the line drawing character set. 
There are limitations and sometimes this stuff acts funny so be patient
until you get the knack of using the line drawing feature.  For further
information look at the TPU code in the file TPUPLUS_LINE.TPU.

.header level 2 SET [NO]MAPPING
.x SET MAPPING
.x SET NOMAPPING
.x EVE > commands > SET MAPPING
.x EVE > commands > SET NOMAPPING

 When mapping is turned on the user has the ability to access all user
buffers with a GOLD keystroke sequence.  Up to 10 user buffers can be
manipulated using the number keys located on the regular typing key array.

.header level 2 SET [NO]RECTANGULAR
.x SET RECTANGULAR
.x SET NORECTANGULAR
.x EVE > commands > SET RECTANGULAR
.x EVE > commands > SET NORECTANGULAR

 This command turns rectangular cut-and-paste on or off.  When the SET
RECTANGULAR command is issued, the <SELECT>, <REMOVE>, and <INSERT> keys are
redefined to perform rectangular cut and paste operations.

 Rectangles are formed by positioning the cursor to where the upper-left corner
of the rectangle will be and pressing <SELECT>. Then move the cursor to where
the lower-right corner should be and press <REMOVE>.

 Rectangular pasting is accomplished (after a cut) by positioning the cursor to
where the upper-lefthand corner is to appear and pressing <INSERT>.

 Rectangular mode also lets you draw boxes very quickly and and easily.  After
forming a rectangle (before you press <REMOVE>), press <DO>, and type DRAW BOX
followed by a RETURN. A box (formed with ASCII characters) will surround the
imaginary rectangle you have formed.

 If the SET NO... form is this command is used then this feature will be turned
off.

.header level 2 SET RIGHT MARGIN
.x SET RIGHT MARGIN
.x EVE > commands > SET RIGHT MARGIN

 SET RIGHT MARGIN 'n'

 Sets the right margin for text in the buffer you are editing.

.header level 2 SET SCROLL MARGINS
.x SET SCROLL MARGINS
.x EVE > commands > SET SCROLL MARGINS

 SET SCROLL MARGINS top-margin[%] bottom-margin[%]

 Sets the points at the top and bottom of the window at which scrolling
begins automatically as you move the cursor.  Optionally, you may
specify the scroll margins as percentages by appending the '%' to the
value.

.header level 2 SET SHIFT KEY
.x SET SHIFT KEY
.x EVE > commands > SET SHIFT KEY

 SET SHIFT KEY

 This is a synonym for the SET GOLD KEY command.

.header level 2 SET TABS
.x SET TABS
.x EVE > commands > SET TABS
.test page 8
.lit

 SET TABS {AT t1 t2 t3 ...}
          {EVERY n}
          {INSERT}
          {INVISIBLE}
          {MOVEMENT}
          {SPACES}
          {VISIBLE}
.end literal

 SET TABS AT t1 t2 t3 ...

 Set tabs stops at certain columns.

 SET TABS EVERY n

 Set tabs every 'n'th column.

 SET TABS INSERT

 Causes a hard tab (tab character) to be inserted into the user's text.

 SET TABS INVISIBLE

 Causes all tabs to be invisible.

 SET TABS MOVEMENT

 Causes the cursor to move to the next tab stop but does not shift the
text.  This makes the tab a cursor-moving key only.

 SET TABS SPACES

 Causes the cursor to move to the next tab stop and shift all text to
the right of the cursor to the right.  This is the default for TPUPlus.

 SET TABS VISIBLE

 Makes all tab characters visible.

.header level 2 SET WC
.x SET WC
.x EVE > commands > SET WC

 SET WC (value1, value2)

 Sets the window column values for column searching and replacing.  See
COLUMN SEARCH and COLUMN XCHG.

.header level 2 SET WIDTH
.x SET WIDTH
.x EVE > commands > SET WIDTH

 SET WIDTH n

 Sets the visible width of the terminal to the value specified (should
be either 80 or 132, but can be any value from 1 to 983).

.header level 2 SET WILDCARD ULTRIX
.x SET WILDCARD ULTRIX
.x EVE > commands > SET WILDCARD ULTRIX

 SET WILDCARD ULTRIX

 Sets the wildcard feature of EVE to corresponds to ULTRIX-style of
wildcards.

.header level 2 SET WILDCARD VMS
.x SET WILDCARD VMS
.x EVE > commands > SET WILDCARD VMS

 SET WILDCARD VMS

 Sets the wildcard feature of EVE to corresponds to VMS-style of
wildcards (default).

.header level 2 SET WRAP
.x SET WRAP
.x EVE > commands > SET WRAP
.x SET NOWRAP
.x EVE > commands > SET NOWRAP

 SET [NO]WRAP

 Enables wrapping at the right margin of the current buffer.

 If the user is using the EDT keypad then the form of this command is:

 SET WRAP n

 where n is the value for the right margin.

.header level 2 SET [NO]WRITE
.x SET WRITE
.x SET NOWRITE
.x EVE > commands > SET WRITE
.x EVE > commands > SET NOWRITE

 When EVE creates a buffer, it normally considers it writable. Sometimes
it is convenient to mark the buffer as non-writable (shown on the status
line). This lets you change the current buffer's writable status. If you
set the buffer to "no write" EVE will not write out the buffer when you
exit the editing session EVEN IF YOU MODIFY IT.

 If the SET NO... form is this command is used then this feature will be turned
off.

.header level 2 SHIFT LEFT
.x SHIFT LEFT
.x EVE > commands > SHIFT LEFT

 SHIFT LEFT n

 Shifts the current window to the left by the number of columns you
specify.  This allows the user to view parts of lines that are longer
than the screen's current width.

.header level 2 SHIFT RIGHT
.x SHIFT RIGHT
.x EVE > commands > SHIFT RIGHT

 SHIFT RIGHT n

 Shifts the current window right by the number of columns you specify.

.header level 2 SHOW
.x SHOW
.x EVE > commands > SHOW

 SHOW

 Shows information about the buffers created dureing the editing
session.

.header level 2 SHOW BUFFERS
.x SHOW BUFFERS
.x EVE > commands > SHOW BUFFERS

 SHOW BUFFERS

 Lists the user's buffers and puts the cursor in the list so you can
scroll thourgh the list.  The SELECT and REMOVE keys are redefined
during this operation so that the SELECT key will position you into the
buffer you select.  The REMOVE key will delete the buffer the cursor is
currently positioned on.

.header level 2 SHOW DEFAULTS BUFFER
.x SHOW DEFAULTS BUFFER
.x EVE > commands > SHOW DEFAULTS BUFFER

 SHOW DEFAULTS BUFFER

 Shows information about the $DEFAULTS$ buffer.

.header level 2 SHOW KEY
.x SHOW KEY
.x EVE > commands > SHOW KEY

 SHOW KEY [key-name]

 Shows the definition of a key.

.header level 2 SHOW SUMMARY
.x SHOW SUMMARY
.x EVE > commands > SHOW SUMMARY

 SHOW SUMMARY

 Shows statistics and other information about EVE.

.header level 2 SHOW SYSTEM BUFFERS
.x SHOW SYSTEM BUFFERS
.x EVE > commands > SHOW SYSTEM BUFFERS

 SHOW SYSTEM BUFFERS

 Lists the system buffers (buffers created by EVE or buffers defined by
the user as SYSTEM).  The SELECT and REMOVE keys are redefined
during this operation so that the SELECT key will position you into the
buffer you select.  The REMOVE key will delete the buffer the cursor is
currently positioned on.  Do NOT delete system buffers.

.header level 2 SHOW WILDCARD
.x SHOW WILDCARD
.x EVE > commands > SHOW WILDCARD

 SHOW WILDCARD

 Lists the wildcards you can use with the WILDCARD FIND command.

.header level 2 SHRINK WINDOW
.x SHRINK WINDOW
.x EVE > commands > SHRINK WINDOW

 SHRINK WINDOW n

 Shrinks the current window (if you are using more than one window) by
the amount specified.

.header level 2 SORT BUFFER
.x SORT BUFFER
.x EVE > commands > SORT BUFFER

 SORT BUFFER buffer__name

 This command sorts the contents of the named buffer, line-by-line. The sort
algorithm is implemented entirely in TPU.

.header level 2 SPAWN
.x SPAWN
.x EVE > commands > SPAWN

 SPAWN [command-string]

 Suspends (but does not end) the current EVE session and connects the
terminal to a new VMS sub-process.  Optionally, a DCL command that you
want to execute may be specified.

.header level 2 SPECIAL INSERT
.x SPECIAL INSERT
.x EVE > commands > SPECIAL INSERT

 SPECIAL INSERT [n]

 Allows the user the place any ASCII character into the current buffer
by specifying the ASCII decimal value of the character to be inserted
(e.g. § (section symbol) is inserted by pressing <DO> SPEC INS 167
<RETURN>, where 167 is the ASCII decimal value of the symbol).

.header level 2 SPELL commands
.x SPELL
.x EVE > commands > SPELL

 See the chapter in this document covering the Spelling Checker.

.header level 2 SPLIT WINDOW
.x SPLIT WINDOW
.x EVE > commands > SPLIT WINDOW

 SPLIT WINDOW n

 Splits the main (or current) window into two or more windows.

.header level 2 STAMP DATE
.x STAMP DATE
.x EVE > commands > STAMP DATE

 STAMP DATE

 Puts the current date onto the current line either in column 73 or 1
column past the last non-blank character, whichever is less.

.header level 2 START OF LINE
.x START OF LINE
.x EVE > commands > START OF LINE

 START OF LINE

 Moves the cursor to the beginning of the current line.

.header level 2 STATUS LINE
.x STATUS LINE
.x EVE > commands > STATUS LINE

 STATUS LINE [ON] [OFF]

 This command allows you to toggle the presence of the EVE status line.

.header level 2 STORE TEXT
.x STORE TEXT
.x EVE > commands > STORE TEXT

 STORE TEXT

 Copies (not cuts) the currently highlighted text.  This command is
similar to the REMOVE command except the text is not removed but copied
to the CUT/PASTE buffer.

.header level 2 TAB
.x TAB
.x EVE > commands > TAB

 TAB

 Inserts a tab or moves to the next tab stop depending upon the current
tab settings.

.header level 2 TEST COMPILE
.x TEST COMPILE
.x EVE > commands > TEST COMPILE

 TEST COMPILE compiler__switches

 If the current buffer is a FORTRAN, COBOL, or MACRO program then this procedure
will compile the code contained within the buffer.  The user may optionally
specify compiler directives (switches) (e.g. TEST COMPILE /list/debug).  By
default there are no directives issued to the compiler.

.header level 2 TOP
.x TOP
.x EVE > commands > TOP

 TOP

 Moves the cursor to the beginning of the current buffer.

.header level 2 TPU
.x TPU
.x EVE > commands > TPU

 TPU vaxtpu-statement

 Executes a VAXTPU procedure or statement during your editing session.

.header level 2 TRIM
.x TRIM
.x EVE > commands > TRIM

 Trailing whitespace will be removed from each line in the current
buffer.

.header level 2 TRUNCATE LINES
.x TRUNCATE LINES
.x EVE > commands > TRUNCATE LINES

 TRUNCATE LINES (length)

 Truncates ALL lines in the user's current buffer to the length
specified.

.header level 2 TWO WINDOWS
.x TWO WINDOWS
.x EVE > commands > TWO WINDOWS

 TWO WINDOWS

 Splits the main (or current) window into 2 windows.  This is the same
as the GOLD <F19> toggle.

.header level 2 TYPE ALL
.x TYPE ALL
.x EVE > commands > TYPE ALL

 TYPE ALL ['wildcard string to find']

 This command uses the same wildcard characters as the WILDCARD FIND
command to search for and list each line where the search string was
found to the MESSAGE buffer.  This allows the user to cut/paste all
occurances of a string to some other location.

.header level 2 UNDEFINE KEY
.x UNDEFINE KEY
.x EVE > commands > UNDEFINE KEY

 UNDEFINE KEY [key-name]

 Undefines a key you have defined with DEFINE KEY or LEARN.

.header level 2 UNDERLINE THIS LINE
.x UNDERLINE
.x EVE > commands > UNDERLINE

 Sets up the current line to be underlined when the file is printed.

.header level 2 UPDATE USER DICTIONARY
.x UPDATE USER DICTIONARY
.x EVE > commands > UPDATE USER DICTIONARY

 UPDATE USER DICTIONARY

 This is a spell checker command.  See the chapter in this manual that
pertains to the spell checker.

.header level 2 UPPERCASE WORD
.x UPPERCASE WORD
.x EVE > commands > UPPERCASE WORD

 UPPERCASE WORD

 Changes the case of the current word or the highlighted text to all
uppercase.

.header level 2 WHAT LINE
.x WHAT LINE
.x EVE > commands > WHAT LINE

 WHAT LINE

 Shows the current line number, total number of lines in the buffer, and
what percentage of the lines in the buffer are located above the current
line.

.header level 2 WHICH COLUMN
.x WHICH COLUMN
.x EVE > commands > WHICH COLUMN

 Displays which column number the cursor is currently positioned on.

.header level 2 WILDCARD FIND
.x WILDCARD FIND
.x EVE > commands > WILDCARD FIND

 WILDCARD FIND search-string

 Searches the current buffer for a pattern of text, using wildcards, and
highlights the found text.

.header level 2 WILDCARDS
.x WILDCARDS

 WILDCARDS

 The VMS style of wildcards for use by WILDCARD FIND are listed below.
.lit

*             One or more characters of any kind on a line.
**            One or more characters of any kind crossing lines.
%             A single character.
\<            Beginning of a line.
\>            End of a line.
\[set-of-chars] Any character in the specified set.
\[~set-of-chars] Any character NOT in the specified set.
\             Allows you to specify the characters \, *, %, or ]
              within wildcard expressions.
\.            Repeats the previous pattern 0 or more times.
\:            Repeats the previous pattern at least once.
\^            Any control character.
\+            Any character with bit 7 set (ASCII 128 => 255).
\a            Any alphabetic character.
\d            Any decimal digit.
\f            Any formatting characters (backspace, tab, etc.).
\l            Any lowercase letter.
\n            Any alphanumeric character.
\o            Any octal digit.
\p            Any punctuation character.
\s            Any character that can be used in a symbol.
\u            Any uppercase letter.
\w            Any whitespace (space, tabs, etc.).
\x            Any hex digit.
.end literal

.header level 2 WRITE FILE
.x WRITE FILE
.x EVE > commands > WRITE FILE

 WRITE FILE [file-name]

 Writes the current buffer to a file, without ending your editing
session.  Optionally, the user may specifiy a different file name than
what is currently being edited.

.header level 1 List of commands
.x List of commands
.x EVE > List of commands

 The following is a list of the available EVE commands while using
TPUPlus.  This list is grouped according to function (similar to the
list in the Text Processing Utility Manual) and includes all DEC EVE
commands plus all TPUPlus EVE commands.
.lit

   TEXT-EDITING COMMANDS

      Capitalize Word
      Change Case
      Column Search
      Column Xchg
      Change Mode
      Delete
      Eliminate Tabs
      Erase Character
      Erase End of Line
      Erase Line
      Erase Prev Word
      Erase Start of Line
      Erase Word
      Exchange
      Find
      Insert Here
      Insert Mode
      Lowercase Word
      Overstrike Mode
      Quote
      Rectangular Insert Here
      Rectangular Remove
      Rectangular Select
      Remove
      Replace
      Restore
      Restore Character
      Restore Line
      Restore Sentence
      Restore Word
      Search
      Select
      Set WC
      Store Text
      Uppercase Word
      Wildcard Find

    CURSOR MOVEMENT AND SCROLLING

      Bottom
      Change Direction
      End of Line
      Forward
      Go To
      Line
      Mark
      Move by Line
      Move by Page
      Move by Word
      Move Left
      Move Right
      Page
      Next Screen
      Previous Screen
      Reverse
      Start of Line
      Top
      What Line
      Which Column

   GENERAL-PURPOSE COMMANDS

      @
      Directory
      Display Character
      Do
      Exit
      Help
      Mail
      Phone
      Quit
      Recall
      Refresh
      Reset
      Return
      Show
      Show Wildcards

   FILE, BUFFER, AND WINDOW COMMANDS

      Append File
      Buffer
      Delete Buffer
      Delete Window
      Enlarge Window
      Get File
      Include File
      Next Window
      One Window
      Other Window
      Previous Window
      Set Width
      Shift Left
      Shift Right
      Shrink Window
      Show Buffers
      Show System Buffers
      Split Window
      Two Windows
      Write File

   TEXT-FORMATTING COMMANDS

      Bullet
      Center Line
      Compress Line
      Cut Leading
      Draw Box
      Fill
      Fill Paragraph
      Fill Range
      Fix Crlfs
      Insert Date
      Insert Page Break
      Insert Ruler
      Insert Time
      Set Left Margin
      Set Nowrap
      Set Right Margin
      Set Tabs
      Set Wrap
      Stamp Date
      Tab
      Trim
      Underline This Line

   KEY-DEFINITION COMMANDS

      Define Key
      Describe Key
      Learn
      Remember
      Set Gold Key
      Set Keypad EDT
      Set Keypad EVE
      Set Keypad NoEDT
      Set Keypad NoWPS
      Set Keypad Numeric
      Set Keypad VT100
      Set Keypad WPS
      Set Nogold Key
      Show Key
      Undefine Key

   CUSTOMIZING AND ADVANCED FEATURES

      ASCII Replace
      Attach
      Control Replace
      DCL
      Extend All
      Extend EVE
      Extend This
      List Commands
      Load User Dictionary
      Map Buffer
      Number Lines
      Print Buffer
      Print FF
      Print File
      Print Range
      Print Screen
      Print Select
      Save Extended EVE
      Save Extended TPU
      Set Auto Indent
      Set Cursor Bound
      Set Cursor Free
      Set Find Nowhitespace
      Set Find Whitespace
      Set Mapping
      Set Rectangular
      Set Scroll Margins
      Set Wildcard Ultrix
      Set Wildcard VMS
      Set Wrap
      Show Defaults Buffer
      Show Summary
      Sort Buffer
      Spawn
      Spell
      Status Line
      Test Compile
      TPU
      Type All
      Unnumber Lines
      Update User Dictionary
.end literal

 On-line help is available for all of the above topics as well as for
the following subjects:
.lit

   INFORMATIONAL TOPICS

      Abbreviating
      Canceling Commands
      Command Files
      Control Keys
      Defaults
      EDT Conversion
      EDT Differences
      Gold Keys
      Initialization Files
      Journal Files
      Keypad (diagram)
      Keys (list)
      List of Topics
      Message Buffer
      Mouse
      Names for Keys
      New Features
      Position Cursor
      Prompts and Responses
      Ruler Keys
      Section Files
      Typing Keys
      Windows
      WPS Differences
.end literal

.page
.chapter Using the Spelling Checker
.Title    ##########TPUPlus Reference Manual
.subtitle ##########Using the Spelling Checker
.lm 10
.rm 70

.header level 1 Using the Spelling Checker
.x Using the spelling checker

 A spelling checker that is an extension to  the  EVE  editor  is provided.   A
separate  standalone  spelling  checker patterned after the LBL software tools
SPELL utility is also provided.

 Both spelling checkers  user  three  dictionaries  to  test  the spelling  of
words.   A  common  dictionary  (standard  english words), a project dictionary
(acronyms, etc.) and a user defined dictionary.   The user defined dictionary
can be created/updated while in an EVE edit session.  Utilities are provided  to
build all  three  dictionaries from text files containing one word per line.
The source word file for the common dictionary must be in ascending  (lexical)
sort  order.   The project and user source word files do not.

 The common dictionary currently contains 91,000+ words.

 The project dictionary can contain 1,000 words (or 10,000 bytes).

 The user dictionary can contain 200 words (or 2,000 bytes).

 The maximum word size is currently 31 characters.

 The above limits can be modified by changing  a  few  parameters and recompiling
the programs.

.header level 2 System Wide Logical Names
.x Logical names

 The following is an example of  DCL  commands  that  define  the system  wide
logical  names  for the Spelling checker(s).  They point to the  directories
containing  the  common  and  project dictionaries  and  the  shared  image
file  that is part of the extended EVE editor.

.x Logical names > COMMON$DICTIONARY
.x Logical names > TPU$CALLUSER
.literal

$ DEFINE/SYSTEM/EXEC  COMMON$DICTIONARY   PUB:
$!
$ DEFINE/SYSTEM/EXEC  TPU$CALLUSER        PUB:TPU_CALLUSER.EXE
$!
$ CHECKSPELLING       :== $PUB:SPELL.EXE

.end literal

.header level 2 User LOGIN.COM Logical Names and Symbols
.x Logical names

 The following should be added to the user LOGIN.COM  file.   The directory
where  the  user dictionary will reside is defined as well as symbols for the
extended EVE and the standalone spelling checker.

.x Logical names > USER$DICTIONARY
.x Logical names > PROJECT$DICTIONARY
.literal

$ DEFINE        USER$DICTIONARY     SYS$LOGIN:
$!
$ DEFINE/GROUP  PROJECT$DICTIONARY  dev:[dir]
.end literal

.header level 2 Using the standalone Spelling Checker
.x Spelling checker > Standalone version

 To use the standalone spelling checker enter the  command CHECKSPELLING followed
by  the name of the file to be checked. If no file is entered the program
prompts for one.

 Each line in the file will be displayed on the  terminal.   Each word  that  is
not  found  in  any  of the dictionaries will be indicated by a row of asterisks
under it.

.header level 2 SPELL
.x Spell command
.y Spell command > see also EVE commands

 The SPELL  command  will  check  the  spelling  of  words  in  a specified
range  or  type of file.  If a range is specified the file is assumed to be  a
text  file  and  all  word  are  spell checked.   If  a  particular type of file
is specified only some lines/word will be  checked  for  spelling.   For
example,  the spelling  checker  knows a  little about FORTRAN syntax and will
only spell check comments and character constants.

 Note:  only the first character (upper or  lower  case)  of  the BUFFER,
PARAGRAPH, FORTRAN, etc.  parameter needs to be entered.

 The SPELL command notifies the  user  that  it  is  loading  the dictionaries.
A  warning  message  is displayed if the project and/or  the  user  dictionary
is  not  found.    Execution   is terminated if the common dictionary can not be
found.

 Each word is displayed in reverse video as it  is  checked.   If the  word can
not be found in any of the dictionaries the prompt "Enter Replacement Word :" is
displayed.  At this point the user has  several  options.   They  may enter a
carriage return which accepts the current spelling of the word.  They may enter
one or more   characters   (followed   by  a  carriage  return)  to  be
substituted for the word.  They may also  may  enter  a  Ctrl-Z which  stops
the spell checking activity and return back to the normal edit mode.

.header level 2 SPELL or SPELL BUFFER
.x Spell command > spell
.x Spell command > spell buffer

 To spell check the entire buffer enter SPELL,  SPELL  BUFFER  or SPELL B.  Every
word in the buffer will be spell checked.  Words do not span across the end of
line boundary.

.header level 2 SPELL PARAGRAPH
.x Spell command > spell paragraph

 To spell check the current paragraph enter  SPELL  PARAGRAPH  or SPELL  P.
Paragraphs are delimited by blank lines, beginning or end of buffer.  Every
word  in  the  paragraph  will  be  spell checked.  Words do not span across the
end of line boundary.

.header level 2 SPELL C
.x Spell command > spell c

 To spell check a  C  source  code  file  enter  SPELL  C.   Only comments  are
spell  checked.  A comment is everything starting with "/*" and ending with
"*/".

.header level 2 SPELL DCL
.x Spell command > spell dcl

 To spell check a DCL command file enter SPELL DCL  or  SPELL  D. Only  comments
are are spell checked.  A comment is everything after a "!" on a line.

.header level 2 SPELL FORTRAN
.x Spell command > spell fortran

 To spell check a FORTRAN source code file enter SPELL FORTRAN or SPELL F.  Only
comments and character constants will be checked. A comment is any line with a
'C' in  column  one  or  everything after  a '!' on a line.  A string constant
is anything delimited by single quote marks on a line.

 Two passes through the file are made.  The first pass checks comments and the
second pass checks character constants. 

.header level 2 SPELL HERE
.x Spell command > spell here

 Spell checks the current buffer from the current line to the end of the
buffer.

.header level 2 SPELL MACRO
.x Spell command > spell macro

 To spell check a MACRO source code file  enter  SPELL  MACRO  or SPELL  M.
Only  comments  are  spell checked.  A comment is is everything after a ";" on a
single line.

.header level 2 SPELL RNO
.x Spell command > spell rno

 To spell check a RUNOFF source file enter SPELL RUNOFF or  SPELL R.   Spell
checks every line except those with a period in column one.

 A second pass is made through the buffer checking all words following a
";" on a RUNOFF command line.

.header level 2 LOAD
.x Spell command > load

 The LOAD command creates a new buffer  and  fills  it  with  the words  in  the
user dictionary.  If no user dictionary is found the buffer is filled with a
default set of words.  After filling the  new  buffer,  the buffer may be edited
(changed) to reflect the user's current needs.

.header level 2 UPDATE
.x Spell command > update

 The UPDATE command initialize the user dictionary and  fills  it with  the
words  found  in  the  current  buffer.   If  no user dictionary exists one is
created.  If one already exists  it  is over-written.   The  words are inserted
into the user dictionary in lexical sort order.  If the current buffer was
created by the LOAD  command  the user returns back to the previous buffer.  If
an error occurs during the update step the user  dictionary  may be left in an
undefined state.  Stop and correct the problem.

.header level 2 HINTS AND KINKS
.x Spell command > Hints

 The replacement word is  not  checked  for  spelling.   You  can replace a
misspelled word with another misspelled word.

.header level 2 DEFINITION OF A WORD
.x Spell command > word definition

 In the spelling checker(s) a word is  defined  as  one  or  more contiguous
alphabetic characters (case insensitive).  Internally words are stored in 32
byte arrays.  The first byte of the array is the length of the word followed by
the word.

.header level 2 DICTIONARY SEARCH
.x Spell command > dictionary search

 The dictionary files are search in the  following  order:   user dictionary,
project dictionary, common dictionary index and then the common dictionary.  The
first  three  dictionaries  are  in memory  and  a  binary  search  used.   The
common dictionary is searched sequentially starting with the record  number
supplied by searching the common dictionary index.  The common dictionary index
contains every 20th word in the common dictionary file.

.header level 2 SPELLING CHECKER FILES AND DESCRIPTIONS
.x Spelling checker > file descriptions

 The following is a description of the files  that  make  up  the spelling
checker(s).  The source code files are not described.

.header level 3 BUILD__ALL.COM

 A DCL command file that compiles and links all of  the
spelling checker programs.  It also rebuilds all libraries.

.header level 3 BUILD__COMMON__DICT.EXE

 This program builds the common dictionary and index
files  from the text file COMMON__WORDS.DAT.  COMMON__WORDS.DAT is a file that
contains common dictionary source words  (one  per  line).   The first set  of
contiguous  non-blank  characters is used as the word.  COMMON__WORDS.DAT must
be  in  ascending  (lexical) sort order.

.header level 3 BUILD__PROJECT__DICT.EXE

 This program builds the project dictionary file  from
the  text file   PROJECT__WORDS.DAT. PROJECT__WORDS.DAT  is  a  file  that
contains dictionary source words (one per line).  The first  set of contiguous
non-blank characters is used as the word.

.header level 3 BUILD__USER__DICT.EXE

 This program builds the user dictionary file from the
text  file USER__WORDS.DAT. USER__WORDS.DAT   is   a  file  that  contains
dictionary source words  (one  per  line).   The  first  set  of contiguous
non-blank characters is used as the word.

.header level 3 COMMON.DICT

 Common dictionary file created by BUILD__COMMON__DICT.EXE.   This
file  is a VAX/VMS relative file with fixed length records of 32 bytes.

.header level 3 COMMON.INDEX

 Common dictionary index file created by BUILD__COMMON__DICT.EXE.

.header level 3 COMMON__DICT.RPT

 Report file generated by COMMON__DICT__REPORT.

.header level 3 COMMON__DICT__REPORT.EXE

 Generate a report containing all of the  words  in
the  common dictionary.  The report is generated from the file COMMON.DICT.

.page

.header level 3 COMMON__WORDS.DAT

 91,000+ words used to build the  common dictionary  and common dictionary
index.   It is a combination of DICT__1__WORDS.DAT and DICT__2__WORDS.DAT.  The
following statistics describe the file:

.literal

Word size and count        1       3
Word size and count        2      69
Word size and count        3     780
Word size and count        4    2952
Word size and count        5    5872
Word size and count        6    9500
Word size and count        7   12785
Word size and count        8   13800
Word size and count        9   12794
Word size and count       10   10708
Word size and count       11    8148
Word size and count       12    5690
Word size and count       13    3771
Word size and count       14    2249
Word size and count       15    1273
Word size and count       16     673
Word size and count       17     361
Word size and count       18     139
Word size and count       19      80
Word size and count       20      33
Word size and count       21      13
Word size and count       22       9
Word size and count       23       1
Word size and count       24       2
Word size and count       25       1
Word size and count       26       0
Word size and count       27       1
Word size and count       28       0
Word size and count       29       0
Word size and count       30       0
Word size and count       31       0
Word size and count       32       0

Total word count               91707

Average word length             7.75

Common Dictionary Index Statistics
Pointers used                   4587
pointers free                    113
Byte buffer used               44752
Byte buffer free                1248
.end literal

.page
.header level 3 DICT__1__WORDS.DAT

 87,000+ words that could be used to build the common  dictionary and  common
dictionary index if a smaller dictionary is needed. This dictionary originaly
came from an old  LBL  software  tools distribution  on  a  DECUS tape  and was
modified locally.  The following statistics describe the file:

.literal

Word size and count        1       3
Word size and count        2      62
Word size and count        3     711
Word size and count        4    2684
Word size and count        5    5342
Word size and count        6    8730
Word size and count        7   12027
Word size and count        8   13176
Word size and count        9   12287
Word size and count       10   10333
Word size and count       11    7914
Word size and count       12    5561
Word size and count       13    3684
Word size and count       14    2207
Word size and count       15    1256
Word size and count       16     664
Word size and count       17     354
Word size and count       18     139
Word size and count       19      80
Word size and count       20      33
Word size and count       21      13
Word size and count       22       9
Word size and count       23       1
Word size and count       24       2
Word size and count       25       1
Word size and count       26       0
Word size and count       27       1
Word size and count       28       0
Word size and count       29       0
Word size and count       30       0
Word size and count       31       0
Word size and count       32       0

Total word count               87274

Average word length             8.81
.end literal

.page
.header level 3 DICT__2__WORDS.DAT

 45,000+ words that could be used to build the common  dictionary and  common
dictionary index if a smaller dictionary is needed. The following statistics
describe the file:

.literal

Word size and count        1       0
Word size and count        2      48
Word size and count        3     602
Word size and count        4    2332
Word size and count        5    4123
Word size and count        6    6226
Word size and count        7    7503
Word size and count        8    7113
Word size and count        9    6095
Word size and count       10    4698
Word size and count       11    3107
Word size and count       12    1937
Word size and count       13    1129
Word size and count       14     520
Word size and count       15     234
Word size and count       16      80
Word size and count       17      50
Word size and count       18      14
Word size and count       19       3
Word size and count       20       0
Word size and count       21       0
Word size and count       22       0
Word size and count       23       0
Word size and count       24       0
Word size and count       25       0
Word size and count       26       0
Word size and count       27       0
Word size and count       28       0
Word size and count       29       0
Word size and count       30       0
Word size and count       31       0
Word size and count       32       0

Total  word count              45814

Average word length             6.98
.end literal

.page
.header level 3 LINK__TPU__CALLUSER.COM

 DCL command file that links  the TPU  call  user
shared  image TPU__CALLUSER.EXE.   Because of  the  special nature of the link
this command file is provided.  None of the other programs  need a special link
command.

.header level 3 PROJECT.DICT

 Sample project dictionary created by BUILD__PROJECT__DICT.EXE.

.header level 3 PROJECT__WORDS.DAT

 Sample word list for the project dictionary.  This file is
input to BUILD__PROJECT__DICT.EXE.

.header level 3 SPELL.EXE

 Standalone spelling checker.

.header level 3 SPELL__INCLUDE.FOR

 A FORTRAN include file defining  the internal  dictionary
data structures.  Used by almost every routine.

.header level 3 SPELLIB.OLB

 An object  library  containing  spell  checker routines.   This
library must be linked to almost every program.

.header level 3 STATS.EXE

 Generates statistics from the text  word  files used  to  build
dictionaries.    The   information generated   is  useful  for determining the
size of internal data structures that  hold  the dictionaries.

.header level 3 TPU__CALLUSER.EXE

 Routines that access the dictionaries for extended EVE.

.header level 3 TEST__COMMON__DICT.EXE

 A program that test the validity of the dictionary file
built by BUILD__COMMON__DICT.EXE. Currently it does very little.

.header level 3 TEST__COMMON__INDEX.EXE

 A program that test the validity of the  dictionary
index  file built by BUILD__COMMON__DICT.EXE. Currently it does very little.

.header level 3 TEST__PROJECT__DICT.EXE

 A program that test the validity of the dictionary file
built by BUILD__PROJECT__DICT.EXE. Currently it does very little.

.header level 3 TEST__USER__DICT.EXE

 A program that test the validity of the dictionary file
built by BUILD__USER__DICT.EXE.  Currently it does very little.

.header level 3 USER.DICT

 Sample   user   dictionary   built   by extended    EVE    or
BUILD__USER__DICT.EXE.

.header level 3 USER__WORDS.DAT

 Sample word list for the user dictionary. This file is input
to BUILD__USER__DICT.EXE.

.lm 10
.page
.chapter TPUPlus macros (TPU commands)
.Title    ##########TPUPlus Reference Manual
.subtitle ##########TPUPlus macros (TPU commands)
.lm 10
.rm 70

.header level 1 TPUPlus macros (TPU commands)
.x TPU commands
.x TPU macros

 On this and the following pages are descriptions of the macros contained in the
TPUPlus package as written and implemented by the Arkansas Department of
Pollution Control and Ecology.

 When used in conjunction with the VT200 keypad definition file, LOCAL__INIT.TPU,
included with this package the following macros will function as defined.

 Please note:  Unless otherwise stated on the following pages of this chapter all
references to the GOLD key mean the PF1 key. Following the name of each
procedure is the applicable key stroke sequence for VT200 terminal access to the
procedure.

 TPU commands are performed similar to EVE commands but grammar and syntax
rules are more stringent; see the "VAX Text Processing Utility Reference
Manual" for rules regarding these commands. 


.header level 2 PCE$INIT__BUFFER
.x TPU macros > PCE$INIT__BUFFER

 This routine is used by the MAPPING routines to initilize a new buffer
when needed.

.header level 2 PCE$INIT__TABS
.x TPU macros > PCE$INIT__TABS
.x TABS > initilization

 This routine initilizes the tab settings for each file the user 'gets'. 
This routine is called by EVE_GET_FILE.

.header level 2 PCE$PRINT__RANGE
.x TPU macros > PCE$PRINT__RANGE

 This is the workhorse of the EVE_PRINT_SELECT routine.  Printing of the
user's selected range is actually done in this routine.

.header level 2 PCE$STANDARD__KEYS
.x TPU macros > PCE$STANDARD__KEYS
.x Key maps

 This procedure maps all the defined keys to key maps for later use in the
PCE$USER__INIT routine.  Should you wish to change key definitions, add keys,
or delete certain keys, make the changes in this routine.

.header level 2 PCE$KEYPAD__INIT
.x TPU macros > PCE$KEYPAD__INIT

 This routine initilizes the keypad for whichever version of the keypad
that the user has requested upon startup.

.header level 2 PCE$USER__INIT
.x TPU macros > PCE$USER__INIT

 This is the routine that initilizes an editing session for the user.

.header level 2 PCE__CHANGE__SCROLLING
.x TPU macros > PCE__CHANGE__SCROLLING
.x scrolling

 The standard VAXTPU method of 'paging', <NEXT SCREEN>/<PREV SCREEN> keys,
through a file means that each line is scrolled, up or down, depending upon the
current setting for the direction.  Using this procedure will change the
scrolling method to one similar to that found in EDT, in that if the user hits
several 'screen' keys then the editor will realize it is running behind and
will display only the first couple of scrolls and then the last scroll using a
full screen update. 

.header level 2 PCE__CHANGE__WIDTH
.x TPU macros > PCE__CHANGE__WIDTH                      

 Toggles between 80 and 132 column screen width.  When the user is editing
a .RNO (RUNOFF) file in any of the buffers that the user currently has
available in the editing session then the right margin is automatically
toggled between column 75 and column 127.  This only occurs in buffers that
have a file name with an extension of RNO.

.header level 2 PCE__DELETE__CURRENT__BUFFER
.x TPU macros > PCE__DELETE__CURRENT__BUFFER

 Deletes the user's current buffer.  Tied to the GOLD 0 key.

.header level 2 PCE__ERASE__LINE
.x TPU macros > PCE__ERASE__LINE

 Deletes all text from the current cursor position to the end of the
current line, including the carriage return.

.header level 2 PCE__ERASE__TO__END__OF__BUFFER
.x TPU macros > PCE__ERASE__TO__END__OF__BUFFER

 This causes everything from the current character position to the end of the
current buffer to be deleted.

.header level 2 PCE__ERASE__TO__START__OF__BUFFER
.x TPU macros > PCE__ERASE__TO__START__OF__BUFFER

 This causes everything from the beginning of the current buffer to the current
character position to be deleted.  

.header level 2 PCE__INDENT__LINE
.x TPU macros > PCE__INDENT__LINE

 Part of the auto indention routines.  Indents the current line to a
predetermined column.

.header level 2 PCE__INSERT__PAGE__MARKS
.x TPU macros > PCE__INSERT__PAGE__MARKS

 Allows the user the insert page marks, form feed character, into the
file. Automatically calculates where a page should begin/end (every 59
lines).  User may move the cursor up/down from selected location before
inserting mark. The user may change the default page size of 59 by
redefining the variable EDTP$page__size.

.header level 2 PCE__NEXT__SCREEN
.x TPU macros > PCE__NEXT__SCREEN

 Used in conjunction with the PCE__CHANGE__SCROLLING procedure above.  Allows
'jump' scrolling.

.header level 2 PCE__MOVE__BY__LINE
.x TPU macros > PCE__MOVE__BY__LINE

 Moves the cursor to the next line in forward or reverse direction.

.header level 2 PCE__MOVE__BY__WORD__REV
.x TPU macros > PCE__MOVE__BY__WORD__REV

 Used by the EDT keypad to move to the previous word (only moves in
reverse direction).

.header level 2 PCE__RECORD__LENGTH
.x TPU macros > PCE__RECORD__LENGTH

 Returns the length, in characters, of the current line that the cursor is
positioned upon.

.header level 2 PCE__REMOVE__PAGE__MARKS
.x TPU macros > PCE__REMOVE__PAGE__MARKS

 Removes all form feed characters found in column 1 of the current buffer.

.header level 2 PCE__SHOW__COLUMNS
.x TPU macros > PCE__SHOW__COLUMNS

 Toggles the status line to show column numbers for either 80 or 132 column mode.

.header level 2 PCE__SPLIT__SCREEN
.x TPU macros > PCE__SPLIT__SCREEN

 Toggles between 1 or 2 screens on the user's terminal.

.header level 2 PCE__TOGGLE__AUTO__SHIFT__MODE
.x TPU macros > PCE__TOGGLE__AUTO__SHIFT__MODE

 Toggles auto shift mode on/off.

.header level 2 PCE__TOGGLE__RECTANGULAR
.x TPU macros > PCE__TOGGLE__RECTANGULAR

 Toggles rectangular cut/paste on/off.

.page
.chapter Hints and other helpful info
.Title    ##########TPUPlus Reference Manual
.subtitle ##########Hints and other helpful info
.lm 10
.rm 70

.header level 1 Hints and other helpful information
.x Hints

.header level 2 Defining the default editing keypad
.x defining the keypad

 To use (default to) the EVE keypad as your standard editor the following
line should be placed in your LOGIN.COM file:

 $ WPEDITOR :== "EVE"

 Then you may use the following command to start the editor:

 EVE[/switch1][/switch2][etc.] filename.ext

 where EVE is defined as:

 $EVE :== EDIT/TPU

 and TPU$SECTION is defined as follows:

.x Logical names > TPU$SECTION
.literal

$ASSIGN dev:[dir]TPUPLUS.TPU$SECTION  TPU$SECTION

.end literal

 To default to the EDT keypad as your standard editor place the following
command in your LOGIN.COM:

 $ WPEDITOR :== "EDT"

 or as soon as you execute the EVE command press <DO> and type SET KEYPAD
EDT <RETURN>.

.header level 2 Switching KEYPADS while in the editor
.x switching editors

 While you are in the editor, either version, you may switch to the
other version by setting your keypad to either EVE, EDT, WPS, etc..

.header level 2 Auto Shift Mode
.x auto shift mode

 Auto shift mode, shifting the screen left or right to see longer lines than the
screen is wide, is toggled on or off by pressing <PF1><H> (Gold/Shift and then
pressing the H typing key). The default mode is OFF.

.header level 2 Layering code on TPUPlus
.x Layering code on TPUPlus

 A suggestion was received that I supply the TPUPlus code in such a way
that user's within the DECUS community may easily add their own
modifications/code/procedures/etc..  Several methods already exist to make
changes/additions and because there is no feasible way for me to know all
the ways that people have or could implement TPUPlus I will continue to use
the current method of coding and implementation.  For a complete
discussion of coding and implementation notes please see EVE$BUILD.TPU,
DEC's TPU manual, and the TPUPlus code.

.header level 2 Custom Initilization
.x Custom Initilization

 Implementors are urged to look at the code contained in the procedure
PCE$KEYPAD_INIT (TPUPLUS.TPU), paying particular attention to the code
follwing the line 'pce_get_dcl_symbol ("tpulevel");'.  This code is used to
initilize the editor for certain users that have fairly static editing
requirements and do not wish to use a command or init file (which is slower
on editor startup).  Feel free to copy or modify this routine to suit your
particular sites needs.

.!.page
.!.chapter VAXTPU Programming
.!.Title    ##########TPUPlus Reference Manual
.!.subtitle ##########VAXTPU Programming
.!.lm 10
.!.rm 70
.!
.! This chapter will lightly cover programming in VAXTPU.  The "VAX Text
.!Processing Utility Manual" has a fairly complete discussion and simple
.!tutorial regarding programming and that material will not be duplicated
.!here.  Rather than sit here and type in information that has already been
.!covered quite well somewhere else I choose to share some of the do's and
.!dont's that I have run across while writing TPU code.
.!
.!.header level 1 
.!.x 
.!
.!.!***** start

.page
.appendix
.Title    ##########TPUPlus Reference Manual
.subtitle ##########Installation
.lm 10
.rm 70

.header level 1 Installation
.x Installation

 Installation follows DEC recommendations for the building of a section file.
For a complete list of all modules used see the file TPUPLUS__MASTER.FILE.

 DEC uses the following logicals for pointing to section and command files.

.x Logical names
.x Logical names > TPU$SECTION

 $ ASSIGN   dev:[dir]TPUPLUS.TPU$SECTION TPU$SECTION

.x Logical names > TPU$COMMAND

 $ ASSIGN   def:[dir]command__file.ext    TPU$COMMAND

 Now define the symbol EVE (or whatever you wish to use) as the following:

 $ EVE :== EDIT/TPU

 and the symbol EDT as:

 $ EDT :== EDIT/TPU/INIT=dev:[dir]EDT$CMD.TPU

 An alternative method to defining the logicals above is the
following...  Define the symbols EVE and EDT (or whatever you wish to
use) with the following:
.x Logical names

 $ EVE :== EDIT/TPU-
               /SEC=dev:[dir]TPUPLUS-
               /COM=dev:[dir]cmd__file-
               /INIT=EVE$CMD.TPU

 $ EDT :== EDIT/TPU-
               /SEC=dev:[dir]TPUPLUS-
               /COM=dev:[dir]cmd__file-
               /INIT=EDT$CMD.TPU

.x Logical names > MAIL$EDIT
 There is an advantage to using the logical definition method instead of the
second method.  If you have defined the logical MAIL$EDIT to be CALLABLE__TPU
then when you use mail to send a message (MAIL/EDIT) you will automatically
enter the editor of your choice instead of the default editor (EDIT/EDT).  This
also applies to any other system that uses a logical definition for the editing
interface.

 Other information concerning installation and operation of this software can be
found in the .RNO, .DOC, .COM, and .TPU files accompanying this package as well
as the DEC manual, "VAX Text Processing Utility Manual", order _# AA-LA14A-TE.

.page
.appendix 
.Title    ##########TPUPlus Reference Manual
.subtitle ##########Alphbetic list of EVE commands
.lm 10
.rm 70

.header level 1 EVE commands
.x EVE commands

.lit
@                                           
APPEND FILE                                 
ASCII REPLACE                               
ATTACH                                      
BOTTOM                                      
BUFFER                                      
BULLET                                      
CAPITALIZE WORD                             
CENTER LINE                                 
CHANGE CASE                                 
CHANGE DIRECTION                            
CHANGE MODE                                 
COLUMN SEARCH                               
COLUMN XCHG                                 
COMPRESS LINE                               
CONTROL REPLACE                             
CUT LEADING                                 
DCL                                         
DEFINE KEY                                  
DELETE                                      
DELETE BUFFER                               
DELETE WINDOW                               
DESCRIBE KEY                                
DIRECTORY                                   
DISPLAY CHARACTER                           
DO                                          
DRAW BOX                                    
ELIMINATE TABS                              
END OF LINE                                 
ENLARGE WINDOW                              
ERASE CHARACTER                             
ERASE END OF LINE                           
ERASE LINE                                  
ERASE PREVIOUS WORD                         
ERASE START OF LINE                         
ERASE WORD                                  
EXCHANGE                                    
EXIT                                        
EXTEND ALL                                  
EXTEND EVE                                  
EXTEND THIS                                 
EXTEND TPU                                  
FILL                                        
FILL PARAGRAPH                              
FILL RANGE                                  
FIND                                        
FIX CRLFS                                   
FORWARD                                     
GET FILE                                    
GO TO                                       
HELP                                        
INCLUDE FILE                                
INSERT DATE                                 
INSERT HERE                                 
INSERT MODE                                 
INSERT PAGE BREAK                           
INSERT RULER                                
INSERT TIME                                 
LEARN                                       
LINE                                        
LIST COMMANDS                               
LOAD USER DICTIONARY                        
LOWERCASE WORD                              
MAIL                                        
MAP BUFFER                                  
MARK                                        
MOVE BY LINE                                
MOVE BY PAGE                                
MOVE BY WORD                                
MOVE DOWN                                   
MOVE LEFT                                   
MOVE RIGHT                                  
MOVE UP                                     
NEXT SCREEN                                 
NEXT WINDOW                                 
NUMBER LINES                                
UNNUMBER LINES                              
ONE WINDOW                                  
OTHER WINDOW                                
OVERSTRIKE MODE                             
PHONE                                       
PREVIOUS SCREEN                             
PREVIOUS WINDOW                             
PRINT BUFFER                                
PRINT FF                                    
PRINT FILE                                  
PRINT RANGE                                 
PRINT SCREEN                                
PRINT SELECT                                
QUIT                                        
QUOTE                                       
RECALL                                      
RECTANGULAR INSERT HERE                     
RECTANGULAR REMOVE                          
RECTANGULAR SELECT                          
REFRESH                                     
REMEMBER                                    
REMOVE                                      
REPEAT                                      
REPLACE                                     
RESET                                       
RESTORE                                     
RESTORE CHARACTER                           
RESTORE LINE                                
RESTORE SENTENCE                            
RESTORE WORD                                
RETURN                                      
REVERSE                                     
SAVE EXTENDED EVE                           
SAVE EXTENDED TPU                           
SEARCH                                      
SELECT                                      
SET AUTO INDENT                             
SET NOAUTO INDENT                           
SET CURSOR BOUND                            
SET CURSOR FREE                             
SET FIND WHITESPACE                         
SET FIND NOWHITESPACE                       
SET GOLD KEY                                
SET NOGOLD KEY                              
SET KEYPAD EDT                              
SET KEYPAD NOEDT                            
SET KEYPAD EVE                              
SET KEYPAD NUMERIC                          
SET KEYPAD VT100                            
SET KEYPAD WPS                              
SET KEYPAD NOWPS                            
SET LEFT MARGIN                             
SET LINEDRAWING
SET NOLINEDRAWING
SET MAPPING                                 
SET NOMAPPING                               
SET RECTANGULAR                             
SET NORECTANGULAR                           
SET RIGHT MARGIN                            
SET SCROLL MARGINS                          
SET SHIFT KEY                               
SET TABS                                    
SET WC                                      
SET WIDTH                                   
SET WILDCARD ULTRIX                         
SET WILDCARD VMS                            
SET WRAP                                    
SET NOWRAP                                  
SET WRITE                                   
SET NOWRITE                                 
SHIFT LEFT                                  
SHIFT RIGHT                                 
SHOW                                        
SHOW BUFFERS                                
SHOW DEFAULTS BUFFER                        
SHOW KEY                                    
SHOW SUMMARY                                
SHOW SYSTEM BUFFERS                         
SHOW WILDCARD                               
SHRINK WINDOW                               
SORT BUFFER                                 
SPAWN                                       
SPELL                                       
SPLIT WINDOW                                
STAMP DATE                                  
START OF LINE                               
STATUS LINE                                 
STORE TEXT                                  
TAB                                         
TEST COMPILE                                
TOP                                         
TPU                                         
TRIM                                        
TRUNCATE LINES                              
TWO WINDOWS                                 
TYPE ALL                                    
UNDEFINE KEY                                
UNDERLINE                                   
UPDATE USER DICTIONARY                      
UPPERCASE WORD                              
WHAT LINE                                   
WHICH COLUMN                                
WILDCARD FIND                               
WRITE FILE                                  
.end lit

.page
.appendix
.Title    ##########TPUPlus Reference Manual
.subtitle ##########Alphbetic list of TPU commands
.lm 10
.rm 70

.header level 1 TPU commands
.x TPU commands

.lit
PCE$INIT_BUFFER
PCE$INIT_TABS                                    
PCE$PRINT_RANGE                                  
PCE$STANDARD_KEYS                                
PCE$KEYPAD_INIT
PCE$USER_INIT                                    
PCE_CHANGE_SCROLLING                            
PCE_CHANGE_WIDTH                                      
PCE_DELETE_CURRENT_BUFFER                      
PCE_ERASE_LINE                                  
PCE_ERASE_TO_END_OF_BUFFER                   
PCE_ERASE_TO_START_OF_BUFFER                 
PCE_INDENT_LINE                                 
PCE_INSERT_PAGE_MARKS                          
PCE_NEXT_SCREEN                                 
PCE_MOVE_BY_LINE                               
PCE_MOVE_BY_WORD_REV                          
PCE_RECORD_LENGTH                               
PCE_REMOVE_PAGE_MARKS                          
PCE_SHOW_COLUMNS                                
PCE_SPLIT_SCREEN                                
PCE_TOGGLE_AUTO_SHIFT_MODE                    
PCE_TOGGLE_RECTANGULAR                          
.end lit
