.PAGE SIZE 58,78 .SKIP 9 .CENTER;APPENDIX .SKIP 3 .LEFT MARGIN 9 .RIGHT MARGIN 69 .PARAGRAPH Supplementary information (in the form of listings) describing the implementation of extensions to EDT at the Borg-Warner Research Center The key definitions and macros which follow should provide assistance to others in tailoring EDT to meet their specific needs. .PARAGRAPH This information is also available on the DECUS tape. .APPENDIX EDT KEYBOARD MACRO .DISPLAY APPENDIX LU .CONTROL CHARACTERS .FILL .LEFT MARGIN 9 .RIGHT MARGIN 69 .PARAGRAPH This macro defines the Borg-Warner Standard Keyboard Extensions to EDT Keypad mode. It references additional macros which can be found in Appendix B. .PAGE .LEFT MARGIN 0 .RIGHT MARGIN 82 .NOFILL;.PAGE SIZE 58,78 .SKIP 2 .CENTER;** EDT KEYBOARD FUNCTIONS ** .SKIP 3 ! ! EDT MACRO: KEYBOARD__EDT ! ! ******************************************************************* ! ******************************************************************* ! * * ! * Borg-Warner Research Center * ! * Standard EDT Keyboard Editor Enhancement * ! * * ! * BWRCIRC Sept. 1982 * ! * * ! * additional ideas from: * ! * "EDT Extended with an Initializer File (Part 1) * ! * by David Spenser, Infinity Software Corp. * ! * "The DEC Professional" Vol. 1 No. 3 Nov. 1982 * ! * * ! ******************************************************************* ! ******************************************************************* ! ! ! EDT Keyboard enhancement of Keypad Editor ! ! key definitions ! DEFINE KEY 10 AS "." ! ! screen manipulation enhancements ! DEFINE KEY GOLD 12 AS "(-21V)." DEFINE KEY GOLD 13 AS "(+21V)." DEFINE KEY GOLD T AS "TOP." DEFINE KEY GOLD W AS "EXT WIDTH__80." ! ! place marker enhancements ! DEFINE KEY GOLD K AS "EXT FIND BEGIN; CHANGE; (S%~~/\~~%%)." DEFINE KEY GOLD CONTROL K AS "I~~/\~~_^Z -6C." ! ! text manipulation enhancements ! DEFINE KEY GOLD CONTROL H AS "(-C D-C +C UNDC)." DEFINE KEY GOLD } AS "(C SEL W CHGCSR)." DEFINE KEY GOLD { AS "(-W C SEL W CHGCSR)." DEFINE KEY GOLD ] AS "(SEL W CHGCSR)." DEFINE KEY GOLD [ AS "(-W SEL W CHGCSR)." DEFINE KEY GOLD _^ AS "^?'Ctrl: '." ! ! buffer control enhancements ! DEFINE KEY GOLD DEL AS "EXT CLEAR ?'Clear buffer: '." DEFINE KEY GOLD C AS "CUTSR=?'Cut buffer: '." DEFINE KEY GOLD X AS "CUTSR=COPY PASTE=COPY EXT COPY =COPY WHOLE TO =?'Copy to buffer: '; DELETE REST; FIND LAST." DEFINE KEY GOLD P AS "PASTE=?'Put buffer: '." DEFINE KEY GOLD A AS "APPENDSR=?'Append to buffer: '." DEFINE KEY GOLD CONTROL A AS "CUTSR=COPY PASTE=COPY EXT COPY =COPY WHOLE TO =?'Copy append to buffer: ' END; FIND LAST." DEFINE KEY GOLD R AS "CUTSR=DELETE PASTE= ?'Replace with buffer: '." ! ! line mode command enhancements ! DEFINE KEY GOLD B AS "EXT SHOW BUFFER." DEFINE KEY GOLD M AS "EXT FIND =MAIN.." DEFINE KEY GOLD CONTROL M AS "EXT FIND =PASTE.." DEFINE KEY GOLD F AS "EXT FIND =?'Find Buffer: '.." DEFINE KEY GOLD CONTROL F AS "EXT FIND LAST." DEFINE KEY GOLD I AS "EXT INCLUDE ?'Include input file: ' =?' Buffer: '." DEFINE KEY GOLD CONTROL I AS "EXT INCLUDE ?'Input input file: '." DEFINE KEY GOLD J AS "EXT SCR__JUMP." DEFINE KEY GOLD L AS "EXT WRITE ?'List in output file: ' =?' Buffer: '." DEFINE KEY GOLD CONTROL L AS "EXT WRITE ?'List in output file: '." DEFINE KEY GOLD N AS "EXT NUMBERS." DEFINE KEY GOLD CONTROL N AS "EXT RESEQUENCE WHOLE /SEQUENCE:10:10." DEFINE KEY GOLD S AS "EXT SUBSTITUTE @?'Search string: '@ ?' Replace string: '@ ?' Range: '." DEFINE KEY GOLD V AS "EXT TYPE WHOLE /STAY." DEFINE KEY GOLD CONTROL V AS "EXT TYPE ?'View Range: ' /STAY." DEFINE KEY GOLD Q AS "EXT QUIT." DEFINE KEY GOLD E AS "EXT EXIT." ! ! user functions ! DEFINE KEY GOLD CONTROL J AS "EXT USER__FUNCTION." DEFINE KEY GOLD U AS "EXT USER__FUNCTION__1." DEFINE KEY GOLD CONTROL U AS "EXT USER__FUNCTION__2." ! DEFINE MACRO USER__FUNCTION DEFINE MACRO USER__FUNCTION__1 DEFINE MACRO USER__FUNCTION__2 ! ! help functions ! DEFINE KEY GOLD ? AS "EXT HELP ?'Subject: '." DEFINE KEY GOLD H AS "EXT HELP KEYBOARD EDT DIAGRAM." DEFINE KEY GOLD G AS "EXT HELP KEYBOARD EDT KEYS ?'Type a key and press for help on that key: '." DEFINE KEY GOLD CONTROL G AS "EXT SHOW KEY GOLD ?'Type a key and press to see definition for that key: '." DEFINE KEY GOLD | AS "EXT HELP KEYBOARD ASCII_CODES." ! ! screen width macros ! INCLUDE EDT$DEFAULT:WIDTH132.EDT BUFFER WIDTH__132 INCLUDE EDT$DEFAULT:WIDTH80.EDT BUFFER WIDTH__80 DEFINE MACRO WIDTH__132 DEFINE MACRO WIDTH__80 ! ! set default screen width ! ! WIDTH__132 ! ! screen scroll macros ! INCLUDE EDT$DEFAULT:SCRJUMP.EDT BUFFER SCR__JUMP INCLUDE EDT$DEFAULT:SCRSMOT.EDT BUFFER SCR__SMOOTH DEFINE MACRO SCR__JUMP DEFINE MACRO SCR__SMOOTH ! ! set default screen scroll ! ! SCR__JUMP ! ! numbers macros ! INCLUDE EDT$DEFAULT:NUMBERS.EDT BUFFER NUMBERS INCLUDE EDT$DEFAULT:NONUMBERS.EDT BUFFER NONUMBERS DEFINE MACRO NUMBERS DEFINE MACRO NONUMBERS ! ! set default numbers ! NONUMBERS ! FIND =MAIN. .SKIP 2 .CENTER;****** END ****** .APPENDIX EDT KEYBOARD AUXILLIARY MACROS .FILL;.PAGE SIZE 58,78 .LEFT MARGIN 9 .RIGHT MARGIN 69 .PARAGRAPH These macros are referenced by the EDT Keyboard Macro, they are used to perform "toggling" functions. Toggling of the VT100 Scrolling Control is done through EDT's HELP Facility, this is the only way we found to pass escape sequences to the terminal without EDT interference. .PAGE .LEFT MARGIN 0 .RIGHT MARGIN 82 .NOFILL;.PAGE SIZE 58,78 .SKIP 3 .CENTER;** SCREEN WIDTH CONTROL ** .SKIP 3 ! ! EDT MACRO: WIDTH__80 ! ! narrow screen macro for edt ! DEFINE KEY GOLD W AS "EXT WIDTH__132." SET SCREEN 80 SET WRAP 79 .SKIP 2 .CENTER;****** END ****** .SKIP 10 ! ! EDT MACRO: WIDTH__132 ! ! wide screen macro for edt ! DEFINE KEY GOLD W AS "EXT WIDTH__80." SET SCREEN 132 SET WRAP 131 .SKIP 2 .CENTER;****** END ****** .PAGE .SKIP 3 .CENTER;** SCREEN SCROLLING CONTROL ** .SKIP 3 ! ! EDT MACRO: SCR__SMOOTH ! ! screen smooth scroll macro for edt ! DEFINE KEY GOLD J AS "EXT SCR__JUMP." HELP KEYBOARD EDT SCROLL SMOOTH .SKIP 2 .CENTER;****** END ****** .SKIP 10 ! ! EDT MACRO: SCR__JUMP ! ! screen jump scroll macro for edt ! DEFINE KEY GOLD J AS "EXT SCR__SMOOTH." HELP KEYBOARD EDT SCROLL JUMP .SKIP 2 .CENTER;****** END ****** .PAGE .SKIP 3 .CENTER;** LINE NUMBERING CONTROL ** .SKIP 3 ! ! EDT MACRO: NUMBERS ! ! numbers macro for edt ! DEFINE KEY GOLD N AS "EXT NONUMBERS." SET NUMBERS .SKIP 2 .CENTER;****** END ****** .SKIP 10 ! ! EDT MACRO: NONUMBERS ! ! nonumbers macro for edt ! DEFINE KEY GOLD N AS "EXT NUMBERS." SET NONUMBERS .SKIP 2 .CENTER;****** END ****** .APPENDIX KEYPAD MACROS .FILL;.PAGE SIZE 58,78 .LEFT MARGIN 9 .RIGHT MARGIN 69 .PARAGRAPH The following pair of macros control the VT100 Keypad key function definitions. The first enables the numeric keypad to be used and the second restores the default EDT keypad functions. .PAGE .LEFT MARGIN 0 .RIGHT MARGIN 82 .NOFILL;.PAGE SIZE 58,78 .SKIP 2 .CENTER;** ENABLE NUMBERIC KEYPAD ENTRY ** .SKIP 3 ! ! EDT MACRO: KEYPAD__NOS ! ! EDT Keypad Mode Keypad Numbers ! DEFINE KEY 0 AS "I0_^Z." DEFINE KEY 1 AS "I1_^Z." DEFINE KEY 2 AS "I2_^Z." DEFINE KEY 3 AS "I3_^Z." DEFINE KEY 4 AS "I4_^Z." DEFINE KEY 5 AS "I5_^Z." DEFINE KEY 6 AS "I6_^Z." DEFINE KEY 7 AS "I7_^Z." DEFINE KEY 8 AS "I8_^Z." DEFINE KEY 9 AS "I9_^Z." DEFINE KEY 16 AS "I._^Z." .SKIP 2 .CENTER;****** END ****** .PAGE .SKIP 3 .CENTER;** ENABLE EDT DEFAULT KEYPAD FUNCTIONS ** .SKIP 3 ! ! EDT MACRO: KEYPAD__EDT ! ! Standard EDT Keypad Definitions ! DEFINE KEY 0 AS "L." DEFINE KEY 1 AS "W." DEFINE KEY 2 AS "EL." DEFINE KEY 3 AS "C." DEFINE KEY 4 AS "ADV." DEFINE KEY 5 AS "BACK." DEFINE KEY 6 AS "CUTSR." DEFINE KEY 7 AS "PAGETOP." DEFINE KEY 8 AS "(16L)." DEFINE KEY 9 AS "APPENDSR." DEFINE KEY 10 AS "HELP." DEFINE KEY 11 AS """." DEFINE KEY 12 AS "-V." DEFINE KEY 13 AS "+V." DEFINE KEY 14 AS "+C." DEFINE KEY 15 AS "-C." DEFINE KEY 16 AS "SEL." DEFINE KEY 17 AS "D+NL." DEFINE KEY 18 AS "DEW." DEFINE KEY 19 AS "D+C." .SKIP 2 .CENTER;****** END ****** .APPENDIX DSR KEYBOARD MACRO .FILL;.PAGE SIZE 58,78 .LEFT MARGIN 9 .RIGHT MARGIN 69 .PARAGRAPH This macro defines the Borg-Warner Standard DSR Keyboard Extensions to EDT Keypad mode. .PAGE .LEFT MARGIN 0 .RIGHT MARGIN 82 .NOFILL;.PAGE SIZE 58,78 .SKIP 2 .CENTER;** DSR KEYBOARD FUNCTIONS ** .SKIP 3 ! ! EDT MACRO: KEYBOARD__DSR ! ! EDT Keyboard enhancement of Keypad Editor ! Runoff Commands ! ! key definitions ! DEFINE KEY 10 AS "." DEFINE KEY GOLD < AS "I.LEFT MARGIN _^ZKS+C." DEFINE KEY GOLD > AS "I.RIGHT MARGIN _^ZKS+C." DEFINE KEY GOLD A AS "I.APPENDIX _^ZKS+C." DEFINE KEY GOLD B AS "I.BLANK _^ZKS+C." DEFINE KEY CONT B AS "I.SKIP _^ZKS+C." DEFINE KEY GOLD CONTROL B AS "I.SPACING _^ZKS+C." DEFINE KEY GOLD C AS "I.CENTER;_^ZKS+C." DEFINE KEY GOLD D AS "I.DISPLAY _^ZKS+C." DEFINE KEY GOLD CONTROL D AS "I.DISABLE _^ZKS+C." DEFINE KEY GOLD E AS "I.END _^ZKS+C." DEFINE KEY GOLD CONTROL E AS "I.ENABLE _^ZKS+C." DEFINE KEY GOLD F AS "I.FOOTNOTE _^ZKS+C." DEFINE KEY GOLD CONTROL F AS "I.END FOOTNOTE _^ZKS+C." DEFINE KEY GOLD I AS "I.INDENT _^ZKS+C." DEFINE KEY GOLD J AS "I.JUSTIFY _^ZKS+C." DEFINE KEY GOLD CONTROL J AS "I.NOJUSTIFY _^ZKS+C." DEFINE KEY GOLD L AS "I.LAYOUT _^ZKS+C." DEFINE KEY GOLD N AS "I.NOTE _^ZKS+C." DEFINE KEY GOLD CONTROL N AS "I.END NOTE _^ZKS+C." DEFINE KEY GOLD T AS "I.TITLE _^ZKS+C." DEFINE KEY CONT T AS "I.HEADER LEVEL _^ZKS+C." DEFINE KEY GOLD CONTROL T AS "I.CHAPTER _^ZKS+C." ! ! ! help functions ! DEFINE KEY GOLD ? AS "EXT HELP ?'Subject: '." DEFINE KEY GOLD H AS "EXT HELP KEYBOARD RUNOFF DIAGRAM." DEFINE KEY GOLD G AS "EXT HELP KEYBOARD RUNOFF KEYS ?'Type a key and press for help on that key: '." DEFINE KEY GOLD CONTROL G AS "EXT SHOW KEY GOLD ?'Type a key and press to see definition for that key: '." ! FIND =MAIN. .SKIP 2 .CENTER;****** END ****** .APPENDIX FORTRAN PROGRAMMING KEYBOARD MACRO .FILL;.PAGE SIZE 58,78 .LEFT MARGIN 9 .RIGHT MARGIN 69 .PARAGRAPH This macro illustrates how EDT key definitions can be used to simplify FORTRAN programming. .PAGE .LEFT MARGIN 0 .RIGHT MARGIN 82 .NOFILL;.PAGE SIZE 58,78 .SKIP 2 .CENTER;** FORTRAN PROGRAMMING KEYBOARD FUNCTIONS ** .SKIP 3 ! ! EDT MACRO: KEYBOARD__FOR ! ! ! FORTRAN Keyboard enhancement of Keypad Editor ! ! key definitions ! DEFINE KEY 10 AS "." ! ! screen manipulation enhancements ! DEFINE KEY GOLD B AS "I_^IIF () THEN_^M_^IELSE_^M _^IEND IF_^M_^Z-2L-C-W-2C." DEFINE KEY GOLD CONTROL B AS "I_^IELSE IF () THEN_^M_^Z.-C-W-2C" DEFINE KEY GOLD C AS "I_^ICONTINUE_^M_^Z." DEFINE KEY GOLD CONTROL C AS "I_^ICALL _^M_^Z-C." DEFINE KEY GOLD D AS "I_^IDO _^M_^ICONTINUE_^M_^Z-L-C." DEFINE KEY GOLD CONTROL D AS "I_^IDIMENSION _^M_^Z-C." DEFINE KEY GOLD CONTROL E AS "I_^IENTRY _^M_^Z-C." DEFINE KEY GOLD V AS "I_^IDO WHILE (_^M_^IEND DO_^M_^Z-L-C." DEFINE KEY GOLD F AS "I_^IFORMAT (_^M_^Z-C." DEFINE KEY GOLD CONTROL F AS "I_^IFUNCTION _^M_^Z-C." DEFINE KEY GOLD I AS "I_^IINCLUDE '_^M_^Z-C." DEFINE KEY GOLD O AS "I_^IOPEN (UNIT=_^M_^Z-C." DEFINE KEY GOLD CONTROL O AS "I_^ICLOSE (UNIT=_^M_^Z-C." DEFINE KEY GOLD P AS "I_^IPARAMETER (_^M_^Z-C." DEFINE KEY GOLD CONTROL P AS "I_^IPROGRAM _^M_^ISTOP_^M_^IEND_^M_^Z-2L-C." DEFINE KEY GOLD R AS "I_^IREAD _^M_^Z-C." DEFINE KEY GOLD CONTROL R AS "I_^IRETURN_^M_^Z." DEFINE KEY GOLD S AS "I_^ISUBROUTINE _^M_^IRETURN_^M_^IEND_^M -2L-C." DEFINE KEY GOLD T AS "I_^ITYPE _^M_^Z-C." DEFINE KEY GOLD W AS "I_^IWRITE _^M_^Z-C." ! ! help functions ! DEFINE KEY GOLD ? AS "EXT HELP ?'Subject: '." DEFINE KEY GOLD H AS "EXT HELP KEYBOARD FORTRAN DIAGRAM." DEFINE KEY GOLD G AS "EXT HELP KEYBOARD FORTRAN KEYS ?'Type a key and press for help on that key: '." DEFINE KEY GOLD CONTROL G AS "EXT SHOW KEY GOLD ?'Type a key and press to see definition for that key: '." ! FIND =MAIN. .SKIP 2 .CENTER;****** END ****** .APPENDIX SYSTEM-WIDE IMPLEMENTATION .FILL;.PAGE SIZE 58,78 .LEFT MARGIN 9 .RIGHT MARGIN 69 .PARAGRAPH Implementation of a System EDT startup file can be accomplished by defining the logical name EDTINI as a system logical name. To provide the user with the mechanism of a personal EDT initialization file, another logical name (for example, EDT$STARTUP) can be used. The system initialization file can then include this file into a buffer and execute it as a macro. This section provides examples of how this can be done. .PARAGRAPH Note that a dummy user initialization file is provided for users who don't specify one, this suppresses any error messages from EDT. At our site, we still execute the user's LOGIN.COM file out of the system login file (SYS$SYLOGIN), therefore, we can check whether or not the user wants the system EDT startup (in VMS Version 3, you can use the SEARCH command to interrogate the user's LGICMD file). .PAGE .LEFT MARGIN 0 .RIGHT MARGIN 82 .NOFILL;.PAGE SIZE 58,78 .SKIP 3 .CENTER;** SYSTEM-WIDE EDT INITIALIZATION FILE ** .SKIP 3 ! ! BORG-WARNER RESEARCH CENTER ! ! System-wide EDT startup command file ! DEFINE KEY GOLD Z AS "EXT KEYBOARD__?'Select keyboard: '." DEFINE KEY GOLD CONTROL Z AS "EXT KEYPAD__?'Select keypad: '." ! ! keyboard definition macros ! INCLUDE EDT$DEFAULT:KEYBRDEDT.EDT BUFFER KEYBOARD__EDT INCLUDE EDT$DEFAULT:KEYBRDDSR.EDT BUFFER KEYBOARD__DSR INCLUDE EDT$DEFAULT:KEYBRDFOR.EDT BUFFER KEYBOARD__FOR INCLUDE EDT$DEFAULT:KEYPADSTD.EDT BUFFER KEYPAD__STD INCLUDE EDT$DEFAULT:KEYPADEDT.EDT BUFFER KEYPAD__EDT INCLUDE EDT$DEFAULT:KEYPADNOS.EDT BUFFER KEYPAD__NOS DEFINE MACRO KEYBOARD__EDT DEFINE MACRO KEYBOARD__DSR DEFINE MACRO KEYBOARD__FOR DEFINE MACRO KEYPAD__STD DEFINE MACRO KEYPAD__EDT DEFINE MACRO KEYPAD__NOS ! ! and execute user startup ! DEFINE MACRO USER__STARTUP INCLUDE EDT$STARTUP BUFFER USER__STARTUP USER__STARTUP .SKIP 2 .CENTER;****** END ****** .SKIP 3 .CENTER;** DUMMY USER INITIALIZATION FILE ** .SKIP 3 ! ! set buffer to MAIN and start ! FIND =MAIN. .SKIP 2 .CENTER;****** END ****** .PAGE .SKIP 3 .CENTER;** SYSTEM-WIDE LOGIN.COM ADDITIONS ** .SKIP 3 .CENTER;****** preceding code irrelevant ****** $! $USER_LOGIN: $ OPEN/ERR=EXIT LOGIN LOGIN.COM.1 $ CLOSE LOGIN $ @LOGIN.COM.1 $EXIT: $ SET PROCESS/PRIORITY=4 $ IF "''F$MODE()'".EQS."INTERACTIVE" THEN GOTO INT_PROC $ SHOW PROCESS $ EXIT $! $! $INT_PROC: $! SYSTEM WIDE EDT EDITOR STARTUP $! Check if VT100 Terminal (keyboard editor requires keypad editor) $! $ dev_type == F$GETDVI(F$GETJPI("","TERMINAL"),"DEVTYPE") $ IF dev_type .LT. %x60 .OR. dev_type .GT. %x66 THEN GOTO FINISH $! $! Check if user has a EDT Startup file assigned $! System-wide startup pointer $! $ IF "''F$LOGICAL("EDT$STARTUP")'" .NES. "" - THEN DEFINE EDTINI EDT$DEFAULT:EDTSTRTUP.EDT $! $FINISH: $! .CENTER;****** succeeding code irrelevant ****** .APPENDIX USER EDT STARTUP FILES .FILL;.PAGE SIZE 58,78 .LEFT MARGIN 9 .RIGHT MARGIN 69 .PARAGRAPH This section contains some ideas for user-specified EDT startup files and how edt macros can be specified externally to the Editor. The user's LOGIN.COM determines if the terminal is local or remote and assigns a logical name accordingly to a file containing a EDT macro with appropriate SET commands to limit the viewing screen. The macro is automatically loaded and executed by the user's EDt initialization file. .PAGE .LEFT MARGIN 0 .RIGHT MARGIN 82 .NOFILL;.PAGE SIZE 58,78 .SKIP 3 .CENTER;** SAMPLE USER INITIALIZATION FILE ** .SKIP 3 ! ! User Startup File 25-Jun-82 ! ! key definitions ! ! default is keyboard extended EDT editor ! KEYBOARD__EDT ! ! screen manipulation enhancements ! DEFINE KEY GOLD 14 AS "(+W)." DEFINE KEY GOLD 15 AS "(-W)." DEFINE KEY GOLD > AS "(5SHL +40C)." DEFINE KEY GOLD < AS "(5SHR -40C)." DEFINE KEY GOLD . AS "(SHL)." DEFINE KEY GOLD , AS "(SHR)." ! ! text editing enhancements ! DEFINE KEY CONTROL B AS "BSEN." DEFINE KEY CONTROL F AS "ESEN." DEFINE KEY CONTROL P AS "PAR." ! DEFINE KEY GOLD CONTROL F AS "(SEL PAR FILLSR)." ! ! documentation support ! standard document header file is places a beginning of main buffer ! various formats of the header are designated with different file ! extensions. ! DEFINE KEY GOLD CONTROL D AS "EXT FIND BEGIN; INCLUDE USR$EDTLIB:DOCHEADER. ?'Document header extension: '." ! ! DEFINE KEY GOLD / AS "EXT HELP CHANGE SUBCOMMANDS ?'Nokeypad Subject: '." DEFINE KEY GOLD CONTROL B AS "EXT WRITE ?'Backup filename: ' =MAIN WHOLE." DEFINE KEY GOLD \ AS "EXT CHANGE; ?'Nokeypad command: '." ! ! ! set default screen width ! WIDTH_132 ! ! set default numbers ! NONUMBERS ! ! load user functions ! ! INCLUDE filename BUFFER USER_FUNCTION ! ! Next is a little macro to set screen charcateristics (LINES and CURSOR) ! automatically depending on whether or not terminal is on a dialup line. ! The process logical name EDT$TERMINAL (assigned at login) points to the ! appropriate file containing characteristics as follows. ! LOCAL (9600 BAUD) DIALUP (1200 BAUD or less) ! LINES: 22 LINES: 11 ! CURSOR: 1:21 CURSOR: 1:10 ! INCLUDE EDT$TERMINAL BUFFER TERMINAL_SETUP DEFINE MACRO TERMINAL_SETUP TERMINAL_SETUP ! ! set buffer to MAIN and start ! FIND =MAIN. SET MODE CHANGE .SKIP 2 .CENTER;****** END ****** .PAGE .SKIP 3 .CENTER;** LOCAL TERMINAL CHARACTERISTICS ** .SKIP 3 ! ! local terminal screen characteristics for edt ! (9600 Baud) ! SET LINES 21 SET CURSOR 0:21 ! ! set to main buffer for start ! FIND =MAIN. .SKIP 2 .CENTER;****** END ****** .SKIP 3 .CENTER;** REMOTE TERMINAL CHARACTERISTICS ** .SKIP 3 ! ! remote (dial-up) terminal screen characteristics for EDT ! (up to 1200 Baud) ! SET LINES 11 SET CURSOR 0:11 ! ! redefine a few keys for smaller screen ! DEFINE KEY GOLD 12 AS "(-11V)." DEFINE KEY GOLD 13 AS "(+11V)." ! ! set to main buffer for start ! FIND =MAIN. .SKIP 2 .CENTER;****** END ****** .PAGE .SKIP 3 .CENTER;** USER'S LOGIN FILE ADDITIONS ** .SKIP 3 .CENTER;****** preceding code irrelevant ****** $! $ IF "''F$MODE()'" .NES. "INTERACTIVE" THEN $EXIT $ DEFINE USR$EDTLIB USR$DEVICE:[CZADOWSKI.COM.EDT] $! DEFINE EDTINI USR$DEVICE:[CZADOWSKI.COM.EDT]EDTINT.EDT $ DEFINE EDT$STARTUP USR$DEVICE:[CZADOWSKI.COM.EDT]EDTINT.EDT $ DEFINE EDT$TERMINAL USR$EDTLIB:TRMLOCAL.EDT $! $! ** determine terminal characteristics ** $! $ escps = "NUL" $ dev_type = F$GETDVI(F$GETJPI("","TERMINAL"),"DEVTYPE") $! $! ** check if terminal is on a dialup line ** $! $ IF dev_type .NE. %x00 THEN GOTO LOCAL $! $DIAL_UP: $! $ INQUIRE ans "using VT100 terminal (Y/N)" $ IF "''ans'" .EQS. "Y" THEN escps = "VT100" $! $ IF "''ans'" .EQS. "N" THEN GOTO SETUP $! $! ** set terminal driver ** $! $ SET TERM/VT100/WIDTH=132 $! $! ** change logical name for EDT terminal characteristics $! $ DEASSIGN EDT$TERMINAL $ DEFINE EDT$TERMINAL USR$EDTLIB:TRMREMOTE.EDT $! $LOCAL: $! .CENTER;****** succeeding code irrelevant ****** .APPENDIX GUIDE TO THE DECUS TAPE .FILL;.PAGE SIZE 58,78 .LEFT MARGIN 9 .RIGHT MARGIN 69 .PARAGRAPH Files with all of the EDT macros (.EDT files), Command file changes (.COM files), and HELP file additions (.HLP files) are available on the DECUS tape. In addition, this paper as well as some installation hints are also found on the tape. Files are organized in subdirectories by function for clarity.