1  EVE_EDT

EVE_EDT is an editing interface to VAX TPU which does what DIGITAL ***
SHOULD *** have done:

EVE_EDT creates an ACCURATE EDT KEYPAD emulator ON TOP OF Digital's TPU
"EVE" interface. The keypad editing functions work EXACTLY like they do
in EDT. NONE of EVE's command mode functionality or extensibility is
lost (like multiple windows on screen).

2  BENEFITS

VAX TPU ( EVE_EDT ) is significantly more efficient than EDT, and makes
significantly smaller demands on system resources that EDT.  Users of
EVE_EDT will notice significant editing performance increases,
particularly for functions like FIND ( search ). Because VAX TPU is
significately more efficient than EDT, as users begin to use it, we will
see ( in proportion to the number of users ) reduced VAX CPU loading.


2 EDT_COMMAND_MODE

The EDT command or line mode has NOT be implemented.  The EVE command
mode has MUCH more functionality and is "extensible".  The user will be
payed in spades if he studies the EVE commands. These are available ON
LINE in help by typing the DO key on the EVE keypad or the GOLD--7 keys
on the EDT keypad, and typing "HELP".


2 EXTENDING-CUSTOMIZING

EVE_EDT can be extended, keys defined, procedure behaviors modified, by
defining and INCLUDING additional procedure definitions in your TPU
startup file:  ( using the /command=<your_startup_tpu_file> option )

The procedures EE$INCLUDE_FOR_COMPILATION  ( file_name ) and
EE$COMPILE_COMPILATION_BUFFER are intended to allow users to include
various tpu extensions written as tpu procedures which are in separate
files, and then compile them.

Effectively, by using these procedures, the user will be able to include
multiple TPU command files at TPU startup.


3  EE$INCLUDE_FOR_COMPILATION

EE$INCLUDE_FOR_COMPILATION includes the file passed to it in the
buffer EE$COMPILATION_BUFFER.  On the first call this buffer is
created, and on subsequent calls the passed file is included at the
end of this buffer.


3  EE$COMPILE_COMPILATION_BUFFER

EE$COMPILE_COMPILATION_BUFFER compiles the EE$COMPILATION_BUFFER if
it exists, then deletes it ( so that user will not have to deal with
it in the rest of his editing session ).


3  Example

A user's tpu startup command file could look like this:

  EE$include_for_compilation ( "VAX$LIB:uneven_windows.tpu" );
  EE$include_for_compilation ( "VAX$LIB:buffer_edit.tpu" );
  EE$include_for_compilation ( "vax$lib:auto_indent.tpu" );

  ! the above includes the specified files in the compilation
  ! buffer the following line compiles this buffer then deletes it.

  EE$compile_compilation_buffer;

  ! after this, all your executable statements and procedure calls
  ! may be made.

  eve_set_auto_indent;
  eve_init_buffer_edit;

  define_key ( "eve_exit", ctrl_e_key, "exit" );
  ! etc...

3  KEY_DEFINITIONS

An number of usefull key definitions have been made in a file called
SAMPLE_STARTUP.TPU.  This file can be copied to your directory,
modified to your purposes, and then used with the /command=XXX.tpu
DCL command switch.

2  MORE_INFORMATION

For more information see VAX$LIB:EVE_EDT.DOC, VAX$LIB:THE_WORKS.COMMANDS
and in VMS help with the DCL command "$ HELP EDIT /TPU"

or talk to

Lincoln A. Baxter or Steven B. Lipshutz
GE AStro Space Division
Valley Forge PA
dialcom: 8-747-1137
VAXMAIL:  SCOVCB::BAXTER_LA   SCOVCB::LIPSHUTZ_SB


2  CONFLICTS-between-EVE-and-EDT

EVE and EDT had some conflicting behaviors.  In the case of the keypad
these were always resolved in favor of the EDT behaviors.   In the case
of the command mode they were resolved in favor of the EVE standard.


3  CURSOR_behavior

In EVE the cursor moves where-ever you put it.  If you start typing,
eve fills in blanks and lines if necessary to the current cursor
location. In EDT the cursor follows the text.  The BEHAVIOR of the
cursor can be toggled with control '~' (tilde) key combination.
EVE_EDT notifies the user that the cursor behavior has been toggled
when these keys are struck.  By default, EVE_EDT trims blanks off
any buffer that is written.

The COMMANDS:

            SET EDT CURSOR
            SET EVE CURSOR

allow the user to change this behavior at the "Command:" prompt.


3  CONTROL_Z

IN EDT, this takes the user to the command line, in EVE this by
default writes the main buffer and prompts to write other modified
buffers before it exits. If there are no other modified buffers this
command writes the file and exits. FOR compatibility with EDT's
control_z, control_z in EVE_EDT will get the user the EVE command
prompt.  At this point the user can type EXIT or QUIT as s/he
pleases. VT100 issues:


3  KEYPAD

EVE uses the same keypad as EDT, but defines it differantly.
Fortunately both EVE and EDT on the VT100 use the same key for
keypad help: PF2. EVE_EDT by default on VT100 terminals will provide
the user with the EDT keypad.  The keypad may be toggled to the EVE
mode and BACK with the control '\' ( back slash ) key combination.
EVE_EDT notifies the user that the keypad has been toggled when
these keys are struck. ( This keypad toggle only does its function
on VT100 terminals. )

The COMMANDS:

            SET EDT KEYPAD
            SET EVE KEYPAD

allow the user to change this behavior at the "Command:" prompt.

3  EDT_fill_key

This key ( gold - Keypad-8 ) works as it does in EDT except that the
fill is done to the margin settings of the current tpu buffer. These
can be changed with the EVE SET LEFT MARGIN and SET RIGHT MARGIN
commands.

3  CONTROL_KEYS

The control keys that set tabs in EDT have not been implemented
since the EVE functions for this are superior, and there were
control key conflicts. Also, the EVE funtionality allows for the
addition of such features as auto_indent.

Control_x and control_u ( DEL to begin of Line into line buffer),
control_w (screen refresh),
control_l (insert form feed) all work as in EDT.

control_k (define key) execute the EVE define key command which
expects the definition in EVE syntax.

control_r Does NOT do a screen refresh as in EDT, but rather,
retains its EVE definition:   REMEMBER.


2  TERMINAL_TYPE

VAX TPU requires at least a VT100 terminal. ( If you are using a VT52
you're out  of luck ).  EVE_EDT figures out what kind of terminal you
are using as sets up the key pads appropriately.


3  VT200

BOTH the EVE and the EDT keypads are defined, since they are
distinct. However, since the BS ( F12 ) and Linefeed ( F13 ) keys
are needed for accurate EDT emulation control '\' will toggle the
these keys between there edt and eve functions.  The default
functions are the EDT functions.


3  SETTING

It is possible to make EVE_EDT think you have a terminal type other
than the default you came in with.  ( This is usefull if you are
running on a PC, your terminal emulation Software the answers back
to the VAX with VT100 codes, but you are capable of programing the
extended keyboard... two commands are provided:

	SET TERMINAL VT100
	
	   and

	SET TERMINAL VT200


2  RUNNING_EVE_EDT

EVE_EDT can be run by defining a symbol in one's login.com file as
follows:

      $ EVE_EDT :== EDIT/TPU/SECTION=VAX$LIB:eve_edt_secini

After executing this, typing EVE_EDT at the $ prompt will run the
EVE_EDT editor.

VMS help with the DCL command "$ HELP EDIT /TPU" will provide more
information of the various DCL TPU command options.

2  THE_WORKS

There are MANY tpu files in VAX$LIB.

These files can be included in your TPU startup command file as decribed
above or they can all be included automatically by using the SECTION
file called "THE_WORKS" instead of "EVE_EDT_SECINI."  THE_WORKS takes as
its starting point EVE_EDT and adds most of the extensions defined in
the other tpu files in VAX$LIB.

The file VAX$LIB:THE_WORKS.COMMANDS contains a summary of the commands
that this section file adds to EVE_EDT.

