User's Guide to EVEPlus None Revision/Update Information: Revision/Update Information: Revision/Update Information: A-15 - DECUS Edition EVE Editor called EVEPlus. There are instructions on installing, customizing, and using the EVEPlus editor. ling, customizing, and using the EVEPlus editor. Operating System and Version: Operating System and Version: Operating System and Version: VAX/VMS V4.2 Software Version: Software Version: Software Version: E1.0 July, 1985 and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. s no responsibility for any errors that may appear in this document. and may be used or copied only in accordance with the terms of such license. be used or copied only in accordance with the terms of such license. equipment that is not supplied by Digital Equipment Corporation or its affiliated companies. upplied by Digital Equipment Corporation or its affiliated companies. All Rights Reserved. t Corporation All Rights Reserved. Printed in U.S.A. requests the user's critical evaluation to assist in preparing future documentation. er's critical evaluation to assist in preparing future documentation. The following are trademarks of Digital Equipment Corporation: DEC/CMS EduSystem UNIBU DEC/MMS IAS VAX S DECnet MASSBUS VMS DECsystem-10 PDP VT DECSYSTEM-20 PDT DECUS RSTS DECwriter DECwriter PREFACE PREFACE PREFACE INTENDED AUDIENCE INTENDED AUDIENCE INTENDED AUDIENCE have additional capabilities beyond what EVE itself provides. ish to have additional capabilities beyond what EVE itself provides. CONVENTIONS USED IN THIS DOCUMENT CONVENTIONS USED IN THIS DOCUMENT CONVENTIONS USED IN THIS DOCUMENT Convention Meaning Convention Meaning Convention Meaning press the key labeled CTRL whily you simultaneously press another key. whily you simultaneously press another key. item is optional. (Square brackets are not, however, optional in the syntax of a directory name in a file specification). a directory name in a file specification). the enclosed items. you must choose one of the enclosed items. ASSOCIATED DOCUMENTS ASSOCIATED DOCUMENTS ASSOCIATED DOCUMENTS ___ ___ ______ _____ miliar with the EVE text editor described in VAX EVE User's Guide. described in VAX EVE User's Guide. iii CHAPTER 1 CHAPTER 1 CHAPTER 1 EVEPLUS COMMANDS EVEPLUS COMMANDS EVEPLUS COMMANDS 1.1 DESCRIBE KEY 1.1 DESCRIBE KEY 1.1 DESCRIBE KEY the key (if one exists). y and then returns a one-line description of the key (if one exists). Format Format Format Describe Key Steps Steps Steps 1. Press . 2. Enter the DESCRIBE KEY command. 3. Press . described. ill ask you to press the key that you wish described. window. e description of the key is displayed in the message window. 1.2 DESTROY BUFFER 1.2 DESTROY BUFFER 1.2 DESTROY BUFFER itself. If the buffer you are destroying has been modified or is a system buffer, you will be asked to confirm the operation. ed or is a system buffer, you will be asked to confirm the operation. 1-1 EVEPLUS COMMANDS EVEPLUS COMMANDS DESTROY BUFFER S DESTROY BUFFER DESTROY BUFFER DESTROY BUFFER buffer in your editing session. ful when you no longer wish to have a buffer in your editing session. Format Format Format Destroy Buffer buffer-name Steps Steps Steps 1. Press . 2. Enter the DESTROY BUFFER command followed by a buffer name. 3. Press . editing session. If the buffer was mapped to a visible window, another buffer is substituted. mapped to a visible window, another buffer is substituted. 1.3 DISPLAY CHARACTER 1.3 DISPLAY CHARACTER 1.3 DISPLAY CHARACTER 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. ut the character includes its octal, decimal, and hexidecimal values. Format Format Format Display Character Steps Steps Steps 1. Press . 2. Enter the DISPLAY CHARACTER command. 3. Press . 1-2 EVEPLUS COMMANDS EVEPLUS COMMANDS DISPLAY CHARACTER DISPLAY CHARACTER DISPLAY CHARACTER DISPLAY CHARACTER message window. n of the character is displayed in the message window. 1.4 ELIMINATE TABS 1.4 ELIMINATE TABS 1.4 ELIMINATE TABS number of spaces to keep the appearance of the document the same. The ELIMINATE TABS command assumes tabs are set every 8 positions. . The ELIMINATE TABS command assumes tabs are set every 8 positions. Format Format Format Eliminate Tabs Steps Steps Steps 1. Press . 2. Enter the ELIMINATE TABS command. 3. Press . 4. All tabs are removed from the buffer and replaced by spaces. 1.5 FIX CRLFS 1.5 FIX CRLFS 1.5 FIX CRLFS (e.g., if you are reading a file generated by Runoff). from buffers (e.g., if you are reading a file generated by Runoff). Format Format Format Fix CRLFs Steps Steps Steps 1. Press . 1-3 EVEPLUS COMMANDS EVEPLUS COMMANDS FIX CRLFS MMANDS FIX CRLFS FIX CRLFS FIX CRLFS 2. Enter the FIX CRLFS command. 3. Press . 4. All carriage-return linefeed sequences are removed. 1.6 LIST BUFFERS 1.6 LIST BUFFERS 1.6 LIST BUFFERS specify ALL buffers, then both system and user buffers are listed, otherwise only user buffers are listed. The LIST BUFFERS command produces the following display: listed. The LIST BUFFERS command produces the following display: es Attributes $LOCAL$INI$ 4 CHOICES 0 Modified No-write System COMMANDS 5 Modified No-write System DCL 0 No-write System HELP 0 No-write System INSERT HERE 0 No-write System LIST BUFFER 12 Modified No-write System MAIL_20E00748.TMP 17 Modified No-write System MESSAGES 11 Modified PROMPTS 0 No-write System SHOW 0 No-write System 0 No-write System function (see table below). When you leave the buffer containing the buffer listing (e.g., via the BUFFER, GET FILE, or GOTO commands) the keys are restored to their original function. or GOTO commands) the keys are restored to their original function. Function Key Operation Function Key Operation Function Key Operation in the current line. mand for the buffer listed in the current line. listed in the current line. mmand for the buffer listed in the current line. 1-4 EVEPLUS COMMANDS EVEPLUS COMMANDS LIST BUFFERS LIST BUFFERS LIST BUFFERS LIST BUFFERS Format Format Format List [All] Buffers Steps Steps Steps 1. Press . 2. Enter the LIST BUFFERS command. 3. Press . created during the current editing session. that have been created during the current editing session. 1.7 LIST COMMANDS 1.7 LIST COMMANDS 1.7 LIST COMMANDS there are a large number of commands, the LIST COMMANDS command will not be instantaneous. ber of commands, the LIST COMMANDS command will not be instantaneous. Format Format Format List Commands Steps Steps Steps 1. Press . 2. Enter the LIST COMMANDS command. 3. Press . displayed. t of the currently available commands will be displayed. 5. Press to return to your original edit session. 1-5 EVEPLUS COMMANDS EVEPLUS COMMANDS NUMBER LINES NDS NUMBER LINES NUMBER LINES NUMBER LINES 1.8 NUMBER LINES 1.8 NUMBER LINES 1.8 NUMBER LINES the current editing buffer (a 6-digit number followed by 2 spaces). f the current editing buffer (a 6-digit number followed by 2 spaces). Warning Warning Warning EVEPlus procedure to remove the line numbers that this command inserts into the buffer. ne numbers that this command inserts into the buffer. Format Format Format Number Lines Steps Steps Steps 1. Press . 2. Enter the NUMBER LINES command. 3. Press . 4. The buffer is modified with line numbers. 1.9 PRINT BUFFER 1.9 PRINT BUFFER 1.9 PRINT BUFFER printer queue (default is Sys$Print). Embedded control characters are translated to a readable form (e.g., the BEL character will be printed BEL ed to a readable form (e.g., the BEL character will be printed BEL as as ). Format Format Format Print Buffer 1-6 EVEPLUS COMMANDS EVEPLUS COMMANDS PRINT BUFFER PRINT BUFFER PRINT BUFFER PRINT BUFFER Steps Steps Steps 1. Press . 2. Enter the PRINT BUFFER command. 3. Press . 1.10 PRINT FILE 1.10 PRINT FILE 1.10 PRINT FILE terminal. specified file on a printer attached to the user's terminal. Format Format Format Print File [filename] Steps Steps Steps 1. Press . specification. T FILE command followed by a file specification. 3. Press . 1.11 PRINT FF 1.11 PRINT FF 1.11 PRINT FF will cause the printer to place the paper at the top of a page. This will cause the printer to place the paper at the top of a page. Format Format Format Print FF 1-7 EVEPLUS COMMANDS EVEPLUS COMMANDS PRINT FF OMMANDS PRINT FF PRINT FF PRINT FF Steps Steps Steps 1. Press . 2. Enter the PRINT FF command. 3. Press . 1.12 PRINT RANGE 1.12 PRINT RANGE 1.12 PRINT RANGE 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. the command, the contents of the entire current buffer are printed. Format Format Format Print Range Steps Steps Steps printed. ursor to the one end of the range of text you want printed. 2. Press . Then move the cursor to where the lower-right corner should be. Press . he cursor to where the lower-right corner should be. Press . positioning the cursor to where the upper-lefthand corner is to appear and pressing . re the upper-lefthand corner is to appear and pressing . forming a rectangle, press and enter the command: DRAW BOX followed by . A box (formed with ASCII characters) will surround the imaginary rectangle you have formed. If you plan on drawing a lot of boxes, you might consider binding the DRAW BOX command to a key. xes, you might consider binding the DRAW BOX command to a key. Format Format Format Set [No]Rectangular Steps Steps Steps 1. Press . 2. Enter the SET RECTANGULAR command. 3. Press . 1.22 SET VMS LINE EDITING 1.22 SET VMS LINE EDITING 1.22 SET VMS LINE EDITING You can reverse this condition by using the SET NO VMS LINE EDITING. The keys that this command changes are described in the table below: The keys that this command changes are described in the table below: Function Key New Operation Function Key New Operation Function Key New Operation Move cursor to start of line. Move cursor to start of line. Move cursor to start of line. Toggle between Insert and Overstrike mode. 1-15 EVEPLUS COMMANDS EVEPLUS COMMANDS SET VMS LINE EDITI SET VMS LINE EDITING SET VMS LINE EDITING SET VMS LINE EDITING Move cursor left 1 position. Move cursor right 1 position. Format Format Format Set [No]VMS Line Editing Steps Steps Steps 1. Press . 2. Enter the SET VMS LINE EDITING command. 3. Press . 4. The editor is now set to use VMS line editing keys. 1.23 SORT BUFFER 1.23 SORT BUFFER 1.23 SORT BUFFER The sort algorithm is implemented entirely in TPU. , line by line. The sort algorithm is implemented entirely in TPU. Format Format Format Sort Buffer buffer-name Steps Steps Steps 1. Press . sort. he SORT BUFFER command followed by the buffer name to sort. 3. Press . 1.24 STATUS LINE 1.24 STATUS LINE 1.24 STATUS LINE 1-16 EVEPLUS COMMANDS EVEPLUS COMMANDS STATUS LINE STATUS LINE STATUS LINE STATUS LINE This command is useful if you are making slides with EVE. tatus line. This command is useful if you are making slides with EVE. Format Format Format Status Line {On|Off} Steps Steps Steps 1. Press . 2. Enter the STATUS LINE command. 3. Press . 1.25 TRIM BUFFER 1.25 TRIM BUFFER 1.25 TRIM BUFFER each line in the current editing buffer. tespace (spaces/tabs) from each line in the current editing buffer. Format Format Format Trim Buffer Steps Steps Steps 1. Press . 2. Enter the TRIM BUFFER command. 3. Press . 4. All lines with trailing spaces are trimmed. 1.26 WHAT LINE 1.26 WHAT LINE 1.26 WHAT LINE 1-17 EVEPLUS COMMANDS EVEPLUS COMMANDS WHAT LINE MMANDS WHAT LINE WHAT LINE WHAT LINE buffer. Line number, total, and percentage is displayed. he current buffer. Line number, total, and percentage is displayed. Format Format Format What Line Steps Steps Steps 1. Press . 2. Enter the WHAT LINE command. 3. Press . 4. The message window displays what line you are on. 1-18 CHAPTER 2 CHAPTER 2 CHAPTER 2 BUILDING EVEPLUS BUILDING EVEPLUS BUILDING EVEPLUS to build customized, powerful extensions to the TPU EVE interface. It does this by creating a custom TPU section file based on EVE. ce. It does this by creating a custom TPU section file based on EVE. EVEPLUS_BUILD.TPU, which processes your own set of commands and custom features to produce the section file. It follows your directions on the inclusion of other TPU source files into your section file. This file and other EVEPlus files can be found in the directory pointed to by the logical TPU$EVEPLUS. can be found in the directory pointed to by the logical TPU$EVEPLUS. called EVEPLUS_INPUT.TPU, which you can edit to create your own set of customization commands. Other files implement the various additional functions of EVEPlus. These source files are what you can "include" from your "eveplus_include" commands which form the major part of your customization input file. You should be able to use the features these files provide without any edits to them. le to use the features these files provide without any edits to them. preferences, you will have your own customization input file which you may then use to create your custom TPU section file. The following commands will create the section file: ection file. The following commands will create the section file: $ EDIT/TPU/COMMAND=TPU$EVEPLUS:EVEPLUS_BUILD your $ EDIT/TPU/COMMAND=TPU$EVEPLUS:EVEPLUS_BUILD your_input.tpu "template" file. ructions may be found in the comments in the "template" file. contains procedures that are used by more than one EVEPlus module. The routines in this file are a part of every EVEPlus section file regardless of how the template file was edited. We recommend that you not change this file or EVEPLUS_BUILD.TPU. ed. We recommend that you not change this file or EVEPLUS_BUILD.TPU. 2-1 BUILDING EVEPLUS BUILDING EVEPLUS BUILDING EVEPLUS default TPU editor with the following commands to your LOGIN.COM file: default TPU editor with the following commands to your LOGIN.COM file: $ EVE == "EDIT/TPU" ! Optional LUS.GBL $ EVE == "EDIT/TPU" ! Optional 2.1 SUGGESTIONS FOR WRITING YOUR OWN EVEPLUS INCLUDE FILES 2.1 SUGGESTIONS FOR WRITING YOUR OWN EVEPLUS INCLUDE FILES 2.1 SUGGESTIONS FOR WRITING YOUR OWN EVEPLUS INCLUDE FILES EVEPlus include file and a set of suggestions: format of a typical EVEPlus include file and a set of suggestions: 2-2 BUILDING EVEPLUS BUILDING EVEPLUS Suggestions for Writing Your Own EVEPlus Include Files Suggestions for Writing Your Own EVEPlus Include Files Suggestions for Writing Your Own EVEPlus Include Files Suggestions for Writing Your Own EVEPlus Include Files Example 2-1: Sample EVEPlus Template File Example 2-1: Sample EVEPlus Template File Example 2-1: Sample EVEPlus Template File ! Title of file, author, etc. ! file is doing and/or pointing to further documentation or the ! associated files. If you make your extensions available to ! others, they can use this abstract to figure out if they want ! use your file and how to use it. to figure out if they want to ! use your file and how to use it. ! Edit History procedure EVE_new_eve_command ! See EVE Users' guide for conventions ! definitions of their own choice if they wish. This means your ! file is less likely to need editing for most people to use it. ! file is less likely to need editing for most people to use it. ! EVEPlus kit. Be sure that your commands don't conflict with those ! commands already written, or with current EVE commands. th those . ands already written, or with current EVE commands. . . endpro endprocedure . ure EVE_SET_feature ! Enable your custom feature . . endpro endprocedure procedure EVE_SET_NOfeature ! Disable your custom feature ! enable and disable your feature by typing 'set feature' or 'set n ! nofeature' respectively. This is handy for section files which ! provide 'modes' of operation which you might want to enable and ! then later disable. ration which you might want to enable and ! then later disable. xample: Rectangular cut and paste. ! I ! procedure pair like this to turn those definitions on and off ! saving and restoring the user's keys which your feature uses. ! saving and restoring the user's keys which your feature uses. 2-3 BUILDING EVEPLUS BUILDING EVEPLUS Suggestions for Wr Suggestions for Writing Your Own EVEPlus Include Files Suggestions for Writing Your Own EVEPlus Include Files Suggestions for Writing Your Own EVEPlus Include Files ! key function to save and restore the users shift key: lus shift ey function to save and restore the users shift key: ! D ! During save of user's keys: ! current_shift_key := EVEPLUS_SET_SHIFT_KEY ( your_new_shift_key ); ! During restore of user's keys: ! EVEPLUS_SET_SHIFT_KEY ( users_shift_key ); ! keys. The save routine allows the writer of an EVEPlus format fi ! to: The save routine allows the writer of an EVEPlus format file ! o: ! ! users' previous definitions upon exit from that function. e ! users' previous definitions upon exit from that function. ! ! reassigning functions to keys, or totally disabling t ! EVEPlus file writer's keys without resorting to editing t ! EVEPlus file. ter's keys without resorting to editing the ! EVEPlus file. ! F ! builtin format to facilitate conversion of source files: y ! ! EVEplus_key({string|program|buffer|range}, key, 'comment', 'keyname') ! VEplus_key({string|program|buffer|range}, key, 'comment', 'keyname'); ! T ! which the user of the EVEPlus procedure may define to override the ! key parameter in the call should the user desire a different key ! to be assigned the specified function. The user may issue an ey ! assignment statement assigning any key to the keyname to redir ! the key. The user may also assign ctrl_y_key to the keyname, ct ! which has the effect of no key definition at all. keyname, ! hich has the effect of no key definition at all. ! T ! EVEplus_key. eter should be enclosed in quotes when passed to ! VEplus_key. ! T ! single parameter identical to the last parameter of EVEplus_key: ! ingle parameter identical to the last parameter of EVEplus_key: ! E ! VEplus_restore_key ( 'keyname' ); ! T ! was to whatever key (default or user re-defined) was assigned the ! EVEPlus function. (default or user re-defined) was assigned the ! VEPlus function. ! T ! which implement functions which are pretty much useless without ! binding keys somewhere. which are pretty much useless without ! binding keys somewhere. 2-4 BUILDING EVEPLUS BUILDING EVEPLUS Suggestions for Writing Your Own EVEPlus Include Files Suggestions for Writing Your Own EVEPlus Include Files Suggestions for Writing Your Own EVEPlus Include Files Suggestions for Writing Your Own EVEPlus Include Files ! T ! key bindings aren't necessary, or the choice of a key is entirely ! arbitrary. An example of this type of file would be 'list irely ! commands', where the EVE command line implementation is enou ! most people, and there is no obvious logical place to put the key. ! st people, and there is no obvious logical place to put the key. . . . endpro endprocedure procedure PREFIX_procedure_called_internally . ix your procedures with your own prefix. . . endpro endprocedure procedure TPU$LOCAL_INIT ! Your initialization logic goes here ! name. EVEPlus will look for a procedure with this name during ! section file build and will gather all such logic from each ! include file. When it writes out the custom section file it ! place all the initialization logic from all files into one will ! intialization procedure which is executed as a standard part ! EVE startup. rocedure which is executed as a standard part of ! EVE startup. ! start in column 1. If they don't start in column 1, EVEPlus won't ! find them. mn 1. If they don't start in column 1, EVEPlus won't . them. . . endpro endprocedure ! executed each time your custom section file starts up, don't put ! any initialization logic here. The ONLY thing we can think of ! which you might want to put here is: Y thing we can think of ! which you might want to put here is: ! reads your file into a buffer and executes the buffer, your ! reads your file into a buffer and executes the buffer, your 2-5 BUILDING EVEPLUS BUILDING EVEPLUS Suggestions for Wr Suggestions for Writing Your Own EVEPlus Include Files Suggestions for Writing Your Own EVEPlus Include Files Suggestions for Writing Your Own EVEPlus Include Files ! file will initialize properly. ! impossible for people to use your code with their own key ke it ! definitions; they'll have to go in and change your code. ! definitions; they'll have to go in and change your code.