.page size 60,80 .layout 2,7 .date .headers on .no autosubtitle .autoparagraph .paragraph 0,1,5 .no number .lm 10 .rm 75 .literal .end literal .center; User's guide to TPUPlus .b .center; Operating System/version: VAX/VMS V4.7 .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) .end literal .number chapter 1 .chapter .Title ##########User's Guide to TPUPlus .subtitle ##########Introduction .number page .lm10 .rm80 .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 either VT1xx or VT2xx type of terminals (including Rainbows). For installation documentation see the files, BUILD___*.COM files. The EDTPlus portion of this editor is an emulation of EDT 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 withe the EVE version of the editor, increasing ease of use though similar key definitions. Also, there is on-line help available from the PF2 (HELP) key. EDTPlus was designed such that common commands and special added features are easy to use and follow a set pattern. For a complete list of the special key defintions see EDTP KEYPAD__FUNCTIONS under the help (GOLD PF2). One of the special features of EDTPlus is the ability to read in user intialization files from both the login directory and the current default directory. .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 (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 SHIFT unless otherwise noted refers to the PF1 key GOLD unless otherwise noted refers to the PF1 key indicates the key labeled as "key" e.g. = the return key .end literal All commands, except TPU 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 the editor 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. 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 SHIFT key mean the PF1 key. .literal |--------+--------+--------+--------| | SHIFT | TOP |GOTO LIN|DCL DIR | | KEY | BOTTOM |SH LINE#|COB TABS| | PF1 | PF2 | PF3 | PF4 | |--------+--------+--------+--------| |SET RECT|CC RANGE|CC CHAR |FOR TABS| |SET NORE| |CC LINE |STD TABS| | 7 | 8 | 9 | - | |--------+--------+--------+--------| |SCRL UP1|SCRL DN1|TYPE ALL|NEXT PG | | CENTER | REPLACE|COL XCHG| | | 4 | 5 | 6 | , | |--------+--------+--------+--------| | WID 80 |SHO COLS|THIS MSG|UNDELETE| | WID 132|SHO RECL| |RESTORE | | 1 | 2 | 3 | | |--------+--------+--------+ | | ANY TMP USER KEY|DEL CHAR| | | DEFINITION |DEL LINE| | | 0 | . | ENTER | |-----------------+--------+--------| .end literal .page .page size 64 .header level 1 Control / SHIFT / SHIFT-Control key sequences .x EVE > defined keys .x defined keys .literal key | plain | ctrl-key | SHIFT+key | SHIFT+ctrl-key --------+------------+------------+------------+--------------- A | A | | APPEND FILE| B | B | RECALL | | C | C | ABORT CMD | | D | D | | | DCL WINDOW E | E | MOVE TO EOL| CHG EDITOR | 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 | | | 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| | TRANS. BUFR 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 | | PERFORM | F10 | EXIT | | | F11 | FWD/REV | | | F12 | WORD MOVE | | LINE MOVE | F13 | DELETE WORD| | | F14 | INS/OVR | | | HELP | HELP KEYPAD| | | 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 size 60 .page .header level 1 EDT VT200 Keypad Diagram .x EDT > 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. .literal |--------+--------+--------+--------| | GOLD |THIS MSG| FNDNXT | DEL L | | | BOTTOM |SH LINE#| UND L | | PF1 | PF2 | PF3 | PF4 | |--------+--------+--------+--------| | PAGE | SECT | APPEND | DEL W | | CMD | FILL | REPLACE| UND W | | 7 | 8 | 9 | - | |--------+--------+--------+--------| | ADVANCE| BACKUP | CUT | DEL C | | BOTTOM | TOP | PASTE | UND C | | 4 | 5 | 6 | , | |--------+--------+--------+--------| |WORD FWD| EOL |WORD REV| SUBS | |CHG CASE| DEL EOL| SPECINS| | | 1 | 2 | 3 | | |--------+--------+--------+ | | LINE | SELECT | | | OPEN LINE | RESET | | | 0 | . | ENTER | |-----------------+--------+--------| .end literal .page size 64 .page .header level 1 EDT Control / GOLD / GOLD-Control key sequences\ .x EDT > defined keys .x defined keys .literal key | plain | ctrl-key | GOLD+key | GOLD+ctrl-key --------+------------+------------+------------+--------------- A | A | | APPEND FILE| B | B | RECALL | | C | C | ABORT CMD | | D | D | | | DCL WINDOW E | E | MOVE TO EOL| CHG EDITOR | F | F | | | G | G | | GET FILE | H | H | MOVE TO BOL| AUTO SHIFT | I | I | TAB | INCL. FILE | INS. PG MKS J | J | | | K | K | LEARN | | L | L | GO TO LINE#| SHOW LINE #| M | M | RETURN | | N | N | | | 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 | | CMD FILE | F10 | EXIT | | | F11 | FWD/REV | | | F12 | WORD MOVE | | LINE MOVE | F13 | DELETE WORD| | | F14 | INS/OVR | | | HELP | HELP KEYPAD| | | 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 size 60 .page .chapter .Title ##########User's Guide to TPUPlus .subtitle ##########EDTPlus Macros (EDT line mode commands) .lm 10 .rm 75 .header level 1 EDTPlus Macros (EDT line mode commands) .x EDT > commands On this and the following pages of this chapter, the macros used for the supported line mode commands for the EDTPlus version of this editor are described. When used in conjunction with the VT200 keypad definition file, EDTP__INIT.TPU, included with this package the following macros will function as defined. All keystroke sequences denoted on the following pages refer to VT2xx defined keys. 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 or followed by the command, unless otherwise stated. .header level 2 = (equal sign) .x = .x EDT > commands > = = buffer_name This command will cause the editor to change to the buffer specified. Example: =NEW_BUFFER, will select buffer NEW_BUFFER and map it to the screen. .header level 2 CHANGE .x CHANGE .x EDT > commands > CHANGE Changes modes. .header level 2 CONTINUE .x CONTINUE .x EDT > commands > CONTINUE When GOLD is pressed the editor will stay in line mode until this command is given. There is no abbreviation, the entire command word must be typed. .header level 2 DELETE .x DELETE .x EDT > commands > DELETE DELETE range_specifier This command will delete a range as specified by the user from the following list: .lm15 .literal SELECTed range WHOLE - deletes the entire contents of the current buffer REST - deletes from the current cursor position to the end of the current buffer BEFORE - deletes from the current cursor position to the beginning of the current buffer =buffer - deletes the entire buffer .end literal .lm10 .header level 2 EVE .x EDT > commands > EVE EVE eve_cmd This command grants the user access to all of the EVE commands. Press the key and type EVE followed by the eve command you wish to execute. .header level 2 EXIT .x EXIT .x EDT > commands > EXIT This command will exit from the editing session, saving files. .header level 2 FILL .x FILL .x EDT > commands > FILL Fill the current paragraph between the current left and right margins. See SET command for information on changing the margin settings. .header level 2 HELP .x HELP .x EDT > commands > HELP HELP topic Grants access to the TPUPlus help file. .header level 2 INCLUDE .x INCLUDE .x EDT > commands > INCLUDE INCLUDE file_name INCLUDE's the specified file into the user's current buffer preceeding the current cursor position. .header level 2 LINE .x LINE .x EDT > commands > LINE LINE n Go to the line number (EVE style line numbers) specified. .header level 2 QUIT .x QUIT .x EDT > commands > QUIT Exit the editor, don't save the file(s). .header level 2 SET .x SET .x EDT > commands > SET SET set_option set_option_value The currently available set options are as follows: .lm 15 .lit ARROWS FORWARD REVERSE TAB BUFFER MARGINS SCREEN WRAP CURSOR NOWRAP SEARCH .end literal .lm 10 .header level 3 ARROWS SET ARROWS [EVE or EDT] (default EVE) Use set arrows EDT to have the cursor keys act like the standard EDT cursor keys. Use set arrows EVE to use the EVE-like cursor movement routines. .header level 3 BUFFER SET BUFFER buffer_name This command is the same as the line mode '=' command; selects a buffer to be edited. .header level 3 CURSOR SET CURSOR top:bottom (default 7:14) Sets the scrolling region on the user's terminal. .header level 3 FORWARD Sets the current direction to FORWARD. .header level 3 MARGINS SET MARGINS left:right (default 1:80) Sets the margins to the values specified by the user. Example: SET MARGINS 1,80 -- sets the lm to 10 and rm to 80 .header level 3 [NO]WRAP SET WRAP N SET NOWRAP (default) Sets the editor to either wrap each line at the column specified by the user or turns wrapping off. .header level 3 REVERSE Sets the current direction to REVERSE. .header level 3 SCREEN SET SCREEN n Changes the width of the user's screen to either 80 or 132 or whatever the user specifies (if terminal supports it). .header level 3 SEARCH SET SEARCH search_value Sets the matching level for searches (finds) to one of the following: .lm 15 .literal GENERAL - case of search string is unimportant (DEFAULT) EXACT - case of search string determines match BEGIN - leaves the cursor positioned at the beginning (DEFAULT) of the search pattern END - leaves the cursor positioned at the end of the search pattern .end literal .lm 10 .header level 3 TAB SET TAB t1,t2,t3,...,tn Sets tabs to columns specified by the user. .header level 2 SHOW .x SHOW .x EDT > commands > SHOW SHOW show_option The currently available show options are as follows: .lm 15 .literal BUFFER SCREEN CURSOR SEARCH MARGINS WRAP .end literal .lm 10 .header level 3 BUFFER Displays information about the current buffer. .header level 3 CURSOR Displays information about the scroll settings. .header level 3 MARGINS Displays information about current margin settings. .header level 3 SCREEN Displays current screen width setting. .header level 3 SEARCH Displays the current search string. .header level 3 WRAP Displays the current wrap setting. .header level 2 SPAWN .x SPAWN .x EDT > commands > SPAWN SPAWN [DCL cmd] Spawns a subprocess from the current editing session. .header level 2 SUBSTITUTE .x SUBSTITUTE .x EDT > commands > SUBSTITUTE .literal SUBSTITUTE /old_string/new_string/ [whole] [/type] ^ [rest] ^-- space is req'd. [before] .end literal Exchanges one string for another in the current buffer. Slashes must be used as delimiters. This command uses the EVE style of prompting to find out whether to substitute each found string when /WHOLE is not used. .header level 2 TRIM .x TRIM .x EDT > commands > TRIM Trims trailing whitespace (spaces) from the current buffer. .header level 2 TYPE .x TYPE .x EDT > commands > TYPE Performs an EDT like 'type all' command, but uses the wildcard search routine, PCE_TYPE_ALL, for greater flexibility. .header level 2 WRITE .x WRITE .x EDT > commands > WRITE Writes the current buffer to the associated file. .page .chapter .Title ##########User's Guide to TPUPlus .subtitle ##########Extended__EVE macros (EVE commands) .lm 10 .rm 75 .header level 1 Extended__EVE macros (EVE commands) .x EVE > commands On this and the following pages are descriptions of the macros utilized as EVE commands as contained in the Extended__EVE 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. All keystroke sequences denoted on the following pages refer to VT2xx defined keys. Please note: Unless otherwise stated on the following pages of this chapter all references to the SHIFT key mean the PF1 key. Additionally, all commands listed in this chapter are accessed by first pressing followed by the command, unless otherwise stated. .header level 2 APPEND##########################SHIFT .x APPEND .x EVE > commands > APPEND APPEND file_name This command is accessed by pressing the key and typing APPEND file__name__specs or APPEND or if the PCE defined VT200 keypad is being used hit 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 CUT LEADING#####################SHIFT .x CUT LEADING .x EVE > commands > CUT LEADING This command will cut all LEADING whitespace from the current line. .header level 2 DESCRIBE KEY .x DESCRIBE KEY .x EVE > commands > DESCRIBE KEY This command requests the user press a key and then returns a 1 line description of the key (if one exists). .header level 2 DESTROY BUFFER .x DESTROY BUFFER .x EVE > commands > DESTROY BUFFER DESTROY BUFFER buffer_name This command will destroy the contents of a buffer, and the buffer itself. If the buffer you are destroying has been modified or is a system buffer, you will be asked to confirm the operation. .header level 2 DIRECTORY####################### .x DIRECTORY .x EVE > commands > DIRECTORY DIRECTORY [dev:[dir]file_specs] To execute this command press the key and type DIRECTORY[qualifiers] [file__specs]. The resulting listing will be output in the DCL BUFFER. .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 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 EXCHANGE .x EXCHANGE .x EVE > commands > EXCHANGE EXCHANGE 'old_string' 'new_string' Same as the standard EVE REPLACE command except that 1st parameter can be wildcarded. Meta characters are the same as for SEARCH command. .x meta characters .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 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 TIME .x INSERT TIME .x EVE > commands > INSERT TIME Inserts the current time (hh:mm:ss.hhh) at the current cursor. .header level 2 LIST [ALL] BUFFERS .x LIST BUFFERS .x LIST ALL BUFFERS .x EVE > commands > LIST BUFFERS .x EVE > commands > LIST ALL BUFFERS This command will produce a list of buffers currently in use. If you specify ALL, then both system and user buffers are listed, otherwise only user buffers are listed. After you issue the command, the Performs a BUFFER command for the buffer listed on the current line. Performs a DESTROY BUFFER command for the buffer listed on the current line. .end literal .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. exits to the buffer the user was previously editing before issuing this command. .header level 2 MAIL .x MAIL .x EVE > commands > MAIL Press and type MAIL to access the MAIL utility. .header level 2 MOVE BY LINE####################SHIFT .x MOVE BY LINE .x EVE > commands > MOVE BY LINE The action of this command is very similar to the EDT move by line command. Press to move by line. .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 PERFORM .x PERFORM .x EVE > commands > PERFORM PERFORM cmd_file The perform command allows the user to take TPU commands that have been put into a command file and execute them over and over within an editing session by pressing and typing "PERFORM file__name", where file__name is the name of the TPU command file. .header level 2 PHONE .x PHONE .x EVE > commands > PHONE Press and type PHONE to access the PHONE utility. .header level 2 PRINT BUFFER .x PRINT .x EVE > commands > PRINT BUFFER The contents of the current buffer will be sent to the SYS$PRINT printer queue. Embedded control characters are translated to a readable form. .header level 2 PRINT FILE .x PRINT .x EVE > commands > PRINT FILE Prints the specified file 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 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 RELEASE BUFFERS .x RELEASE BUFFERS .x EVE > commands > RELEASE BUFFERS This command writes out all writable, modified user buffers and deletes all remaining user buffers for the session. This command is useful if you run EVE as a "kept" editor and wish to "clean house". .header level 2 SEARCH##########################SHIFT .x SEARCH .x EVE > commands > SEARCH This command is an enhanced version of the default searching mechanism built into EVE (FIND command). The SEARCH command allows for wildcard searches. The meta characters used are as follows: .x meta characters .literal meta char description of use ----------------------------------------------------------------- * multi-char wildcard, does not cross record boundaries % single-char wildcard, " « beginning of line wildcard match » end of line wildcard match # multi-char wildcard, crosses record boundaries \ Quote next character ^ Control next character ----------------------------------------------------------------- .end literal .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. 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. The status line will indicate buffers that have been marked "no write", by bolding and underlining, when the buffer is mapped to a window. If the SET NO... form is this command is used then this feature will be turned off. .header level 2 SET [NO]RECTANGULAR#############/SHIFT .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 . Then move the cursor to where the lower-right corner should be and press . Rectangular pasting is accomplished (after a cut) by positioning the cursor to where the upper-lefthand corner is to appear and pressing . Rectangular mode also lets you draw boxes very quickly and and easily. After forming a rectangle (before you press ), press , 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 SORT BUFFER .x SORT BUFFER .x EVE > commands > SORT BUFFER SORT BUFFER buffer_name This command sorts the contents of the names buffer, line-by-line. The sort algorithm is implemented entirely in TPU. .header level 2 SPELL commands .x SPELL .x EVE > commands > SPELL See the chapter in this document covering the Spelling Checker. .header level 2 STATUS LINE .x STATUS LINE .x EVE > commands > STATUS LINE This command allows you to toggle the presence of the EVE status line. .header level 2 TEST COMPILE .x TEST COMPILE .x EVE > commands > TEST COMPILE If the current buffer is a FORTRAN, COBOL, or MACRO program then this procedure will compile /LIST the code contained within the buffer. .header level 2 TRIM .x TRIM .x EVE > commands > TRIM Trailing whitespace (spaces) will be removed from each line in the current buffer. .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 WHAT LINE .x WHAT LINE .x EVE > commands > WHAT LINE Displays the line number of the line you are on. In EVE (TPU) the editor always counts the [End of file] message as the last line, therefore subtract 1 from the total lines to get the actual number of lines in your file. .header level 2 WHICH COLUMN .x WHICH COLUMN .x EVE > commands > WHICH COLUMN Displays which column number the cursor is current positioned on. .page .chapter .Title ##########User's Guide to TPUPlus .subtitle ##########Using the Spelling Checker .lm 10 .rm 75 .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 > versions 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 > versions 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 > versions 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 > versions 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 > versions 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 MACRO .x Spell command > versions 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 > versions 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. .lm 15 .header level 3 AAAREADME.MEM A brief description of the spelling checker(s). generated by RUNOFF. .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. .page .lm 10 .chapter .Title ##########User's Guide to TPUPlus .subtitle ##########Extended__EVE macros (TPU commands) .lm 10 .rm 75 .header level 1 Extended__EVE macros (TPU commands) .x TPU commands .x TPU macros On this and the following pages are descriptions of the macros contained in the Extended__EVE 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 SHIFT key mean the PF1 key. Following the name of each procedure is the applicable key stroke sequence for VT200 terminal access to the procedure. .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__INITIALIZE routine. Should you wish to change key definitions, add keys, or delete certain keys, make the changes in this routine (see also the files *__INIT.TPU). .header level 2 PCE__CAPITALIZE__WORD############# .x TPU macros > PCE__CAPITALIZE__WORD Changes the case of the first character of the current word to upper case and lowers the case of all remaining characters in the word. .header level 2 PCE__CC__LINE#####################SHIFT .x TPU macros > PCE__CC__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 (SHIFT ) The line now appears as: This Is A Test! Try It You'll Like It. TEST test TEST ... .header level 2 PCE__CC__RANGE#################### .x TPU macros > PCE__CC__RANGE Changes the case of every character in the cut/past buffer. Use