1 TPUPlus
 TPUPlus

    TPUPlus commands are non-DEC commands that have been implemented
    to enhance TPU/EVE/EDT.  Some of the commands are available from the
    keypad, some from the EVE/EDT command (line mode) level, and others
    are only available from the TPU command level.  For more information
    on TPU commands and programming in TPU refer to the VAX Text
    Processing  Utility Manual (DEC part # AA-LA14A-TE).  For more
    information on TPUPlus commands see the TPUPlus Reference Manual.

1 Commands
 List Of Topics (Commands)

 For help on TPUPlus topics, type the name of a topic and press RETURN.

    ~I~
    o  To exit from help and resume editing, press RETURN.

    TPUPlus commands and related topics:

APPEND FILE               ASCII REPLACE             BULLET                    
CHANGE CASE               CHANGE GRAPHIC            COLUMN SEARCH             
COLUMN XCHG               COMPRESS LINE             CONTROL REPLACE           
COUNT                     CUT LEADING               DESCRIBE KEY              
DIRECTORY                 DISPLAY CHARACTER         DISPLAY MAP               
Enhanced EVE commands     ERASE END OF LINE         FIX CRLFS                 
INSERT DATE               INSERT RULER              INSERT TIME               
Internal Routines         LIST COMMANDS             LOAD USER DICTIONARY      
MAIL                      MAP BUFFER                MENU                      
NUMBER LINES              PAD LINES                 PHONE                     
PRINT BUFFER              PRINT FF                  PRINT FILE                
PRINT RANGE               PRINT SCREEN              PRINT SELECT              
RUN                       SET AUTO INDENT           SET CASE INSENSITIVE      
SET CASE OFF              SET CASE SENSITIVE        SET ENTITY WORD           
SET KEYPAD EVE            SET LINEDRAWING           SET MAPPING               
SET WC                    SET WRITE                 SORT BUFFER               
SPECIAL INSERT            SPELL                     STAMP DATE                
STATUS LINE               TEST COMPILE              TRIM                      
TRUNCATE LINES            TYPE ALL                  UNDERLINE THIS LINE       
UNNUMBER LINES            UPDATE USER DICTIONARY    WHICH COLUMN              

1 APPEND_FILE
    APPEND FILE 'file-to-append'

    This command either accepts a file name or prompts for a file name
    to append to the end of the current buffer.

1 ASCII_REPLACE
    ASCII REPLACE

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

    Related topics:

    CONTROL REPLACE

1 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.

   o     BULLET              Format a bullet using the defined margins.

   o     BULLET x            Display the bullet margins that are
                             currently set (x is any non-numeric string).

   o     BULLET 10           Redefine the bullet item space to
                             10 and then format a bullet.

   o     BULLET 2 4 60       Redefine the item left margin to 2, the
                             text margins to 4 and 60, and then
                             format a bullet.

    Related topics:

    SET LEFT MARGIN     SET RIGHT MARGIN    FILL

1 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.

1 CHANGE_GRAPHIC
    CHANGE_GRAPHIC

    This command will convert a 'hand-drawn' graphic file (using + - |)
    to a graphic using the line drawing character set.  For more
    information see the documentation on the line drawing utilities.

1 COLUMN_SEARCH
    COLUMN_SEARCH 'target-string'

    Performs a search on the user's specified columns.

    Related topics:

    SET WC    COLUMN XCHG

1 COLUMN_XCHG
    COLUMN XCHG "old-string" "new-string"
         or
    COLUMN XCHG  old-string   new-string

    Performs a columnar exchange on the user's specified strings.  The
    method of insertion is dependant upon the mode (insert/overstrike)
    specified by the user.

    Related topics:

    SET WC    COLUMN SEARCH

1 COMPRESS_LINE
    COMPRESS LINE

    Removes all leading, trailing, and multiple whitespace on the
    current line and left justifies the line.

    Related topics:

    FILL

1 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.

    Related topics:

    ASCII REPLACE

1 COUNT
    COUNT "target_string"

    COUNT will count the number of occurrences of the user's target-string
    is found in the current direction and display that value in the message
    buffer.

1 CUT_LEADING
    CUT LEADING

    This command will cut (trim) all leading blanks (spaces) from the
    current line.

1 DESCRIBE_KEY
    DESCRIBE KEY

    This command requests a key and then returns a one_line
    description of the key (if one exists).

1 DIRECTORY
    DIRECTORY 'dev:[dir]filename.ext'

    Display a directory listing of the current or specified directory.
    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] to
    [WATER])  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>.

1 DISPLAY_CHARACTER
    DISPLAY CHARACTER

    When the EVE 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 hexidecimal values.

1 DISPLAY_MAP
    DISPLAY_MAP

    This command is used by the mapping routines to display the names
    of all the current user buffers in use.

1 EDTP$LINE_MODE
    EDTP$LINE_MODE

    This routine is tied to the EDT GOLD-KP7 keypad key as a limited
    EDT line mode interface.  A few of the EDT line mode commands have
    been implemented using this interface.  Additionally, all EVE commands
    are available thru this routine.  For a listing of all EDT line mode
    commands available see the TPUPlus User's Guide or consult the
    Computer Section personnel.

1 Enhanced_EVE_Commands
    Enhanced EVE Commands

    The following are EVE command or EVE command support routines that have
    been modified to support enhanced functions within TPUPlus.  
    PLEASE NOTE:  THESE ROUTINES ARE DIRECT REPLACEMENTS FOR THE DEC 
    SUPPLIED VERSIONS AND AS SUCH THEY MAY OR MAY NOT PERFORM AS DOCUMENTED
    BY DEC.  Please refer to the TPUPlus Users Guide and/or the source code
    for more information.

EVE_BUFFER                EVE_CHANGE_MODE           EVE_DCL                   
EVE_ERASE_CHARACTER       EVE_GET_FILE              EVE_INCLUDE_FILE          
EVE_MOVE_BY_PAGE          EVE_ONE_WINDOW            EVE_REFRESH               
EVE_TWO_WINDOWS           

EVE$$REMEMBER             EVE$EDT_DELETE_CHAR       EVE$INIT_DO_KEY           
EVE$POSITION_IN_MIDDLE    EVE$PRINT_RANGE           EVE$WPS_PARAGRAPH         
EVE$WPS_SENTENCE          

1 ERASE_END_OF_LINE
    ERASE END OF LINE

    This command will delete all characters between the current cursor 
    position and the end of the current line, does not delete the <CR><LF> 
    at the end of the line.

1 FIX_CRLFS
    FIX CRLFS

    This command removes  carriage  returns  and  linefeeds  from
    buffers (e.g., if you are reading a file generated by Runoff).

1 INSERT_DATE
    INSERT DATE

    Inserts the current date into the current buffer at the current
    cursor position.

1 INSERT_RULER
    INSERT RULER

    Inserts a columnar ruler into the current buffer.

1 INSERT_TIME
    INSERT TIME

    Inserts the current time into the current buffer at the current
    cursor position.

1 Internal_Routines

    Internal routines are used as non-EVE (TPU) commands to the editor.
    As designed for TPUPlus, they are not normally called by the user 
    directly but are usually assigned to a key or keystroke.

2   CHECK_FOR_PARAGRAPH_BREAK

    CHECK_FOR_PARAGRAPH_BREAK

    This routine checks the current line as a paragraph break, returns 1
    if true, 0 if not.

2   PCE_AUTO_SHIFT_LEFT

    PCE_AUTO_SHIFT_LEFT

    This routine is used when horizontal scrolling is turned on.  When
    the cursor is positioned to the right side of the screen and the
    right cursor key is pressed the user's screen is automatically shifted
    to the left by 1 character.

2   PCE_AUTO_SHIFT_RIGHT

    PCE_AUTO_SHIFT_RIGHT

    This routine is used when horizontal scrolling is turned on.  When
    the cursor is positioned to the left side of the screen and the
    left cursor key is pressed the user's screen is automatically shifted
    to the right by 1 character.

2   PCE_BUFFER

    PCE_BUFFER ("new_buffer")

    Positions the user into the buffer named.

2   PCE_CHANGE_SCROLLING

    PCE_CHANGE_SCROLLING

    Toggles scrolling mode between the standard default for EVE and
    scrolling mode which emulates the EDT method of scrolling.

2   PCE_CHANGE_WIDTH

    PCE_CHANGE_WIDTH

    Toggles the screen width of all the user's windows.

2   PCE_DELETE_CURRENT_BUFFER

    PCE_DELETE_CURRENT_BUFFER

    Deletes the user's current buffer.  Uses EVE_DELETE_BUFFER.

2   PCE_ERASE_LINE

    PCE_ERASE_LINE

    Erases the entire current line from column 1 thru the EOL, including
    the EOL character.

2   PCE_ERASE_TO_END_OF_BUFFER

    PCE_ERASE_TO_END_OF_BUFFER

    Erases everything from below the current line to the end of the user's
    current buffer.  CAREFUL... There is NO restoring from this action.

2   PCE_ERASE_TO_START_OF_BUFFER

    PCE_ERASE_TO_START_OF_BUFFER

    Erases everything from above the current line to the beginning of the
    user's current buffer.  CAREFUL... There is NO restoring from this action.

2   PCE_GET_DCL_LOGICAL

    PCE_GET_DCL_LOGICAL ("logical_name")

    Retrieves and returns the value of the named DCL logical.

2   PCE_GET_DCL_SYMBOL

    PCE_GET_DCL_SYMBOL ("symbol_name")

    Retireves and returns the value of the named DCL symbol.

2   PCE_INDENT_LINE

    PCE_INDENT_LINE

    Indents the current line to match the previous line's indention.

2   PCE_INSERT_PAGE_MARKS

    PCE_INSERT_PAGE_MARKS

    Inserts page marks (form feeds) into the user's buffer at the end of
    each page.  Page settings are determined by the variable PCE_PAGE_SIZE.
    Currently this defaults to 59 lines.

2   PCE_LOOK_AT_MESSAGES

    PCE_LOOK_AT_MESSAGES

    Toggles the screen between the current buffer and the message
    buffer so the user may read any messages contained within the
    message buffer.

2   PCE_MOVE_BY_LINE

    PCE_MOVE_BY_LINE

    Similar to the routine EVE_MOVE_BY_LINE except action is a bit more
    logical.

2   PCE_MOVE_BY_WORD_REV

    PCE_MOVE_BY_WORD_REV

    Move to the beginning of the next word in the reverse direction,
    regardless of the direction setting.

2   PCE_NEXT_SCREEN (THIS_DIRECTION)

    PCE_NEXT_SCREEN (THIS_DIRECTION)

    Handles the scrolling for the EDT scrolling emulation.

2   PCE_PREV_BUF

    PCE_PREV_BUF

    This routine will automatically retrieve the previous user buffer
    without having to specify the name of it.  If no previous buffer
    exists, ask for the new buffer's name.

2   PCE_RECORD_LENGTH

    PCE_RECORD_LENGTH

    Displays the length of the current line.

2   PCE_REMOVE_PAGE_MARKS

    PCE_REMOVE_PAGE_MARKS

    Removes page marks (form feed) characters from the user's buffer.

2   PCE_SHOW_COLUMNS

    PCE_SHOW_COLUMNS

    Displays a ruler on the status line.

2   PCE_SHIFT_SCREEN

    PCE_SHIFT_SCREEN (direction-to-shift)

    This routine will shift the user's screen, in the direction specified,
    a distance equal to ½ of the width of the current width setting of the
    user's screen.  If the user's terminal is in 80 column mode then
    screen shifts will be 40 character/columns each.

2   PCE_TOGGLE_AUTO_SHIFT_MODE

    PCE_TOGGLE_AUTO_SHIFT_MODE

    Toggles the setting for automatically shifting the window left and right.
    See PCE_AUTO_SHIFT_LEFT and PCE_AUTO_SHIFT_RIGHT.

2   PCE_TOGGLE_LINEDRAW

    PCE_TOGGLE_LINEDRAW

    Toggles the linedrawing set on and off.

2   PCE_TOGGLE_MAPPING

    PCE_TOGGLE_MAPPING

    Toggles buffer mapping on and off.

2   PCE_TOGGLE_RECTANGULAR

    PCE_TOGGLE_RECTANGULAR

    Toggles the setting for retangular (box) cut/paste mode.

2   PCE_UNCONDITIONAL_REPLACE

    PCE_UNCONDITIONAL_REPLACE (old_string, new_string)

    Utility procedure to replace, without asking, the first occurance
    found of the old string.

2   PCE_UNCONDITIONAL_REPLACE_ALL

    PCE_UNCONDITIONAL_REPLACE_ALL (old_string, new_string)

    Utility procedure to replace, without asking, all occurances
    found of the old string.

1 LIST_COMMANDS
    LIST COMMANDS

    Lists all the EVE (and Extended_EVEPlus) commands in  alphabetical
    order. If there  are  a large number of commands, the LIST
    COMMANDS command will not be instantaneous.

1 LOAD_USER_DICTIONARY
    LOAD USER DICTIONARY

    This command loads the user's dictionary file into a buffer so that
    words may be added/deleted.  The dictionary file is located in
    either SYS$LOGIN: or the directory defined in the logical
    USER$DICTIONARY.

    Related topics:

    SPELL     UPDATE USER DICTIONARY

1 MAIL
    MAIL

    Runs the MAIL utility in a sub-process.

1 MAP_BUFFER
    MAP_BUFFER n

    Used when the user has set the mapping feature 'on'.  Usually this
    command is not executed at the command level but is mapped to
    the number typing keys using a GOLD keystroke.  This command allows
    the user quick and easy access to multiple user buffers.

    Related topics:

    SET MAPPING

1 MENU
    MENU

    Displays the custom menu to the user's screen.  For more
    information see the documentation and/or the code in the
    file TPUPLUS_MENU.TPU.

1 NUMBER_LINES
    NUMBER LINES

    This command will insert line numbers at the beginning of each
    line of the current editing buffer (a 6-digit number followed by 2
    spaces).

    To reverse the action of this command use UNNUMBER LINES.

1 PAD_LINES
    PAD LINES pad-length

    This command allows the user the pad the lines in the current buffer
    to the length specified by pad-length.  Spaces (octal 40) are used to
    pad the lines.

    Related topics:

    TRIM

1 PHONE
    PHONE

    Runs the PHONE utility in a sub-process.

1 PRINT_BUFFER
    PRINT_BUFFER

    Prints the contents of the current buffer onto the queue
    specified by the user (default = SYS$PRINT).

1 PRINT_FILE
    PRINT FILE

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

1 PRINT_FF
    PRINT FF

    Prints a form feed on a printer attached to the user's terminal.
    This will cause the printer to place the paper at the top of a
    page.

1 PRINT_RANGE
    PRINT RANGE

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

1 PRINT_SCREEN
    PRINT SCREEN

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

1 PRINT_SELECT
    PRINT SELECT

    Prints the current 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.)

1 RUN
    RUN pgm_name

    Simple DCL run command.  Currently only works with .EXE files,
    allows the user to run a program from within the editor.

1 SEL2RNO
    SEL2RNO

    Converts Rainbow SELECT word processing files to RUNOFF format.

1 SET_AUTO_INDENT
    SET AUTO INDENT
    SET NOAUTO INDENT

    Sets the terminal to automatically indent the next line even with
    the first non-blank character in the preceeding line.

1 SET_CASE_SENSITIVE
    SET CASE SENSITIVE

    Sets the mode for finds, searches, replaces, etc. to be case sensitive.
    This mode overrides the TPU default.

1 SET_CASE_INSENSITIVE
    SET CASE INSENSITIVE

    Sets the mode for finds, searches, replaces, etc. to be totally case
    insensitive.  This mode overrides the TPU default.

1 SET_CASE_OFF
    SET CASE OFF

    Sets the mode for finds, searches, replaces, etc. to use the TPU mode
    of case sensitivity.  This is the default mode.

1 SET_ENTITY_WORD
    SET_ENTITY_WORD

    This routine is a utility to define word separators and follows
    the same conventions as the EDT version of the same command.
    This has been added to aid EDT users in converting to EVE/TPU.

1 SET_KEYPAD_EVE
    SET KEYPAD EVE

    Sets the keypad to be the ADPCE TPUPlus key definitions.

1 SET_LINEDRAWING
    SET_LINEDRAWING

    Turns the linedrawing utility on.

1 SET_MAPPING
    SET MAPPING
    SET NOMAPPING

    This command sets the editor to automatically track and 'map' each
    buffer to a keystroke so that the user can access a buffer by pressing
    GOLD followed by the typing '1' '2' '3' '4' '5' '6' '7' '8' '9' '0'.

    A list of the user's current buffers is maintained at the bottom of
    the screen below the status line.

1 SET_WC
    SET WC value1 value2

    Sets the window column values for column searching and replacing.

    Related topics:

    COLUMN SEARCH       COLUMN XCHG

1 SET_WRITE
    SET WRITE
    SET NOWRITE

    When  EVE  creates  a  buffer,  it  normally  considers  it
    writable. Sometimes,  it is convenient to mark the buffer as
    non-writable.  This command lets you change current buffer's
    writable status.  If you  set the  buffer  to  "No  Write"  EVE
    will not automatically write out the buffer when you exit the
    editing session even if you modify  it.   The status  line  will
    indicate buffers that have been marked NO WRITE (by bolding and
    underlining) when the buffer is mapped to a window.

1 SORT_BUFFER
    SORT BUFFER [buffer-to-sort]

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

1 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).

1 SPELL
    SPELL [{BUFFER/PARAGRAPH/C/DCL/FORTRAN/HERE/MACRO/RNO}]

    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 words are spell checked.  If a particular
    type of file is specified, only some lines/words will be checked
    for spelling.

1 STAMP_DATE
    STAMP DATE

    This will date stamp the current line which is useful in marking updated
    lines of code within a source file.

1 STATUS_LINE
    STATUS LINE ON
    STATUS LINE OFF

    This command allows you to toggle the presence of the EVE status
    line. This command is useful if you are making slides with EVE.

1 TEST_COMPILE
    TEST COMPILE

    When the user is editing a FORTRAN, COBOL, or MACRO source file,
    this command can be used to write the current buffer to the file
    and compile the file with a nolist option.  NOTE:  This is useful
    ONLY for small programs.  It is suggested that larger programs be
    sent through a batch compile.

1 TRIM
    TRIM

    This command will remove all trailing  whitespace  (spaces/tabs)
    from each line in the current editing buffer.

    Related topics:

    PAD LINES

1 TRUNCATE_LINES
    TRUNCATE_LINES n

    Turncates all lines from the current position to the end of
    the current buffer to the length, in characters, as specified
    by the user.

1 TYPE_ALL
    TYPE ALL 'string_to_search_for'

    Searches for all occurances of the user's specified search string
    and places a copy of the line where the string occurs into the
    message buffer.

1 UNDERLINE_THIS_LINE
    UNDERLINE THIS LINE

    Sets up the current line to be underlined on printing.

    Example:

    Underline this line
    ___________________

1 UNNUMBER_LINES
    UNNUMBER LINES

    This command will undo what the NUMBER LINES command did.

1 UPDATE_USER_DICTIONARY
    UPDATE USER DICTIONARY

    This command will take the user's dictionary buffer and update
    and/or create the user's dictionary file.

1 WHICH_COLUMN
    WHICH COLUMN

    Display the number of the current cursor column on the user's
    screen.

