1 Eve_Utility
 Eve_Utility

 Eve_Utility is a library of Eve routines that was built up in the
 days of Eve Version 1.0.  These routines come from Eve_EDT Version
 1.0, and have been separated to their own library with the advent of
 the Eve Build procedures.  The primary purpose of this library is to
 support the Eve_EDT package.

 Unfortunately the Eve HELP routines aren't perfected yet... so you
 have to type HELP Eve_Utility before getting help on any of the
 routines in Eve_Utility.  Type COMMANDS and press RETURN for a list
 of commands.

1 Eve_EDT
 Eve_EDT

 Eve_EDT is an interactive text editor built using the VAX Text
 Processing Utility.  Eve_EDT is more or less Eve with an EDT keypad
 added to it.  It is not intended to emulate EDT completely, where it
 made sence to do things the Eve way instead of the EDT way, the Eve
 was was chosen.

1 Author
 Author

 Both Eve_EDT and Eve_Utility come from Eve_EDT (Chris Yoder and R.
 Kevin Oberman), both modules were adapted from this original source
 by Chris Yoder (chris@ymir.bitnet).

1 Commands
 List of Topics

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

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

 TEXT-EDITING COMMANDS

    Capitalize Word     Erase Word         Quote            Restore Sentence
    Change Mode         Find               Remove           Restore Word
    Delete              Insert Here        Replace          Select
    Erase Character     Insert Mode        Restore          Store Text
    Erase Line          Lowercase Word     Restore Charac   Uppercase Word
    Erase Prev Word     Overstrike Mode    Restore Line     Wildcard Find
    Erase Start of Line

 CURSOR MOVEMENT AND SCROLLING

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

 GENERAL-PURPOSE COMMANDS

    @      Exit     Quit       Refresh     Reset     Show
    Do     Help     Recall     Repeat      Return    Show Wildcards

 FILE, BUFFER, AND WINDOW COMMANDS

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

 TEXT-FORMATTING COMMANDS

    Center Line           Insert Page Break        Set Right Margin
    Fill                  Set Left Margin          Set Tabs
    Fill Paragraph        Set Nowrap               Set Wrap
    Fill Range                                     Tab

 KEY-DEFINITION COMMANDS

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

 CUSTOMIZING AND ADVANCED FEATURES

    Attach                Set Cursor Bound         Set Wildcard VMS
    DCL                   Set Cursor Free          Show Defaults Buffer
    Extend All            Set Find Nowhitespace    Show Summary
    Extend EVE            Set Find Whitespace      Spawn
    Extend This           Set Scroll Margins       Spell
    Save Extended EVE     Set Wildcard Ultrix      TPU

 INFORMATIONAL TOPICS

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

 Note that the following commands are defined only in the Eve_Utility
 package.  They are used in Eve_EDT.

     File and Buffer Commands

 Current Line     List Buffers    Read File    Write Modified
 Write Selected   Set Read Only   Set Write

     Advanced Commands

 Background     Comment Text   Pad Buffer   Pad Line
 Pad Selected   Ruler          Sort         Spell
 Trim Buffer    Trim Line
 
     Rectangle Manipulation Routines

 Overlay Rectangle      Mark Corner            Insert Rectangle      
 Extract Rectangle      Copy Rectangle        

1 BACKGROUND
 BACKGROUND

 This command is the equivalent of the DCL command, with the
 exception that the BACKGROUND does not map the DCL buffer into a
 window on the screen if the DCL buffer is not already being
 displayed.  The BACKGROUND and DCL commands share the same output
 buffer and subprocess and behave identically in all other ways.

1 COMMENT_TEXT
 COMMENT TEXT

 COMMENT TEXT inserts a comment string either at the beginning of
 each line that is selected or if nothing is selected at the
 beginning of each line in the entire buffer.  This comment string
 can be any length or combination of characters that the user
 specifies within the limitations of the Eve parse routines.

 If the user does not specify a comment string either on the
 command line, or after being prompted for it, the comment string
 used will be the value of the variable Eve$x_comment_string.  The
 default comment string will be shown within a pair of square
 brackets (e.g. [>] ) when the user is prompted for a comment
 string.  In the version of Eve_EDT distributed by Chris Yoder,
 Eve$x_comment_string is set to a single greater than symbol.  If
 the user changes the value of Eve$x_comment_string in their own
 tpu$local_init procedure, COMMENT TEXT will display this new
 default within the square brackets.

1 COPY_RECTANGLE
 COPY RECTANGLE

 COPY RECTANGLE will copy the text enclosed in the rectangle
 delimited by the MARK CORNER routine and the current cursor
 position into the EXTRACT buffer.  In order for COPY RECTANGLE to
 be used, the user must have used the MARK CORNER routine to
 specify the corner of the rectangle diagonally across the
 rectangle from the current cursor position.

 COPY RECTANGLE will not remove or change any text in the current
 buffer.  If the user wishes to remove the selected rectangle from
 the current buffer, then the routine EXTRACT RECTANGLE must be
 used.

 Whenever COPY RECTANGLE or EXTRACT RECTANGLE are used, whatEver
 is currently in the EXTRACT buffer will be wiped away and
 replaced by the selected text.  A rectangle cannot be selected
 if a tab spans either edge.

 The COPY RECTANGLE key (SHIFT_() invokes this command.

1 CURRENT_LINE
 CURRENT LINE

 CURRENT LINE will display the current line of the buffer that the
 user is on as well as the total number of lines in the current
 buffer.  It is a synonym for the command WHAT LINE.

1 EXTRACT_RECTANGLE
 EXTRACT RECTANGLE

 EXTRACT RECTANGLE will extract the text enclosed in the rectangle
 delimited by the MARK CORNER routine and the current cursor
 position into the EXTRACT buffer.  In order for EXTRACT RECTANGLE
 to be used, the user must have used the MARK CORNER routine to
 specify the corner of the rectangle diagonally across the
 rectangle from the current cursor position.

 EXTRACT RECTANGLE will remove any text in the current buffer that
 falls within the selected rectangle.  If the user wishes to keep
 the selected rectangle in the current buffer, then the routine
 COPY RECTANGLE must be used.

 WhenEver EXTRACT RECTANGLE or COPY RECTANGLE are used, whatEver
 is currently in the EXTRACT buffer will be wiped away and
 replaced by the selected text.  A rectangle cannot be selected
 if a tab spans either edge.

 The EXTRACT RECTANGLE key (SHIFT_<) invokes this command.

1 INSERT_RECTANGLE
 INSERT RECTANGLE

 INSERT RECTANGLE will insert the text currently in the EXTRACT
 buffer into the current buffer.  The current cursor position will
 be used as the upper left hand corner of the inserted rectangle.

 Regardless of the current buffer mode of insert or overstrike,
 the INSERT RECTANGLE routine will not overwrite any text in the
 current buffer, but will move text in the way out of the way and
 will pad any short lines to meet the left edge of the newly
 inserted rectangle.  If the user would like to overwrite the text
 that the new rectangle would cover instead of move it, then the
 routine OVERLAY RECTANGLE must be used.

 Both INSERT RECTANGLE and OVERLAY RECTANGLE do not affect the
 contents of the EXTRACT buffer.  Either or both routines may be
 used multiple times and in any order and will output the
 rectangle that is in the EXTRACT buffer.

 The INSERT RECTANGLE key (SHIFT_>) invokes this command.

1 LIST_BUFFERS
 LIST BUFFERS

 LIST BUFFERS is a synonym for the command SHOW BUFFERS.  It is
 defined for compatability with Eve_EDT Version 1.0. 

1 MARK_CORNER
 MARK CORNER

 The MARK CORNER routine is used before using either COPY
 RECTANGLE or EXTRACT RECTANGLE.  It marks the corner diagonally
 across the rectangle from the corner that the cursor is on when
 the rectangle is COPYed or EXTRACTed.

 The MARK CORNER key (SHIFT_.) invokes this command.

1 OVERLAY_RECTANGLE
 OVERLAY RECTANGLE

 OVERLAY RECTANGLE will overlay the text currently in the EXTRACT
 buffer over the text in the current buffer.  The current cursor
 position will be used as the upper left hand corner of the
 overlayed rectangle.

 Regardless of the current buffer mode of insert or overstrike,
 the OVERLAY RECTANGLE routine will not preserve any of the text
 that lies in the area where the rectangle to be overlayed
 rectangle, howEver short lines will be padded to meet it's left
 edge.  If the user would like to preserve the text that the new
 rectangle would cover instead of overwrite it, then the routine
 INSERT RECTANGLE must be used.

 Both OVERLAY RECTANGLE and INSERT RECTANGLE do not affect the
 contents of the EXTRACT buffer.  Either or both routines may be
 used multiple times and in any order and will output the
 rectangle that is in the EXTRACT buffer.

 The OVERLAY RECTANGLE key (SHIFT_)) invokes this command.

1 PAD_BUFFER
 PAD BUFFER

 The PAD BUFFER command will pad the current buffer out to the
 column that is passed to it.  If no right column parameter is
 passed to the routine, then the buffer is padded out to the
 length of the longest line in the buffer.  Note: Tabs are treated
 as one character by Eve. 

 If the right column parameter is specified, and there are lines
 longer than that amount, the longer lines will not be modified
 and all of the shorter lines will be padded out to that amount.

1 PAD_LINE
 PAD LINE

 The PAD LINE command will pad the current line to the length
 requested by the user.  If the line is already longer than the
 the length that the user requested, then the line is left alone.

1 PAD_SELECTED
 PAD SELECTED

 The PAD SELECTED command will pad the current selected region out
 to the column that is passed to it.  If no right column parameter
 is passed to the routine, then the selected region is padded out
 to the length of the longest line in the region.  Please note
 that tabs are treated as one character by Eve.

 If the right column parameter is specified, and there are lines
 longer than that amount, the longer lines will not be modified and
 all of the shorter lines will be padded out to that amount.

1 READ_FILE
 READ FILE

 READ FILE performs the same functions as GET FILE, with the
 exception that READ FILE automatically sets the file into
 read_only mode.

1 RULER
 RULER

 This command will tell you how many characters you've selected.
 The select region is not affected by using the RULER function.
 This is useful for figuring out how long a particular string or
 paragraph is.

 Please note that a tab only Ever takes up one character, and this
 command does not take into account how many screen characters the
 expanded tab takes up.

1 SET_READ_ONLY
 SET READ ONLY

 Set the current buffer to be a read only buffer.  If the buffer
 is modified during a session, Eve_EDT will not attempt to save
 the buffer upon exit from the editor.  The user may still use the
 WRITE FILE command on the buffer to explicitly force Eve_EDT to
 save the current buffer.

1 SET_WRITE
 SET WRITE

 Set the current buffer to be write buffer.  If the buffer is
 modified during a session, Eve_EDT will attempt to save the buffer
 upon exit from the editor.  The user may still use the WRITE FILE
 command on the buffer to explicitly force Eve_EDT to save the
 current buffer.

1 SORT
 SORT

 SORT will sort either the currently selected text or if nothing
 is selected the text of entire buffer is used.  SORT writes out
 the text into a temporary file, spawns off a VMS SORT command,
 and then reads the sorted file back in.  All temporary files are
 created in sys$scratch and are deleted after SORT is done with
 them.

1 SPELL
 SPELL

 SPELL will run a spell checking utility either on the currently
 selected text or if nothing is selected the text of the entire
 buffer is used.  In order for the SPELL to work, the user must
 be able to use the command SPELL <filename> from a DCL prompt.

 It assumes that whatever spell checking utility you have will
 write the results into a file that is a higher version number
 than the input file.  There have been several good spelling
 checkers on several of the DECUS VAX SIG tapes.

 The SPELL command will write out the selected text to a temporary
 file, then it will SPAWN the command SPELL <temporary-file>, and
 finally it will read the temporary file back in.  All temporary
 files are created in sys$scratch and are deleted after SPELL is
 done with them.

1 TRIM_BUFFER
 TRIM BUFFER

 The TRIM BUFFER command trims all of the spaces off of the end
 of each line in the current buffer.

1 TRIM_LINE
 TRIM LINE

 The TRIM LINE command trims all of the spaces off of the end of
 the current line.

1 WRITE_MODIFIED
 WRITE MODIFIED

 The WRITE MODIFIED command finds all modified Read/Write buffers and attempts
 to write out each one.  This is useful if you spawn off an editing process.

 The editing session will not end until you use either the EXIT or QUIT
 commands.  You may also suspend the current editing session and return to your
 main process with the ATTACH command.

 The WRITE MODIFIED key (F19) invokes this command.

1 WRITE_SELECTED
 WRITE SELECTED

 The WRITE SELECTED command writes out the region currently selected out to a
 file.  It takes a filename as a parameter.  The current buffer will not be
 affected in any way.
