TECO - Text Editor and Corrector ================================ TECO is the a very comprehensive Text Editor and COrrector, that is capable of doing just about any editing job you can think of. It is not supported by DEC, but never seems to go wrong so that does not really matter. Type HELP TECO COMMANDLINE for help on TECO's commandline. Type HELP TECO LIST for a list of the .TEC files on the system. Type HELP TECO for help on a given .TEC file. Type HELP TECO CHANGES for a list of the variations from V35. Type HELP MUNG for help on using the MUNG form of TECO. Type HELP MUNG LIST for a list of the .MUN files on the system. Type HELP MUNG for help on a given .MUN file. 2 COMMANDLINE The allowable forms of TECO commands will vary from system to system as they are defined by the combination of the files TECO.TEC. Currently the following command forms are recognised:- TECO Re-edit last edited file (getting file name from memory file); effective EBfile$Y$$. TECO file Edit file "file"; effective EBfile$Y$$. TECO file2=file1 Create file "file2" from file "file1"; effective ERfile1$EWfile2$Y$$. TECO @file Use file "file" as an indirect command string; effective EIfile$$. MAKE file Create file "file"; effective EWfile$Y$$. MUNG file Use file "file" as an indirect command string; effective EIfile$$. MUNG file,text Use file "file" as an indirect command string passing the argument "text"; effective Itext$EIfile$$. TECO automatically remembers the file being edited. The file's name is stored in a process logical called TEC$MEMORY. If you invoke TECO without specifying a file-spec, TECO will read its memory logical and re-edit the last edited file. TECO's memory feature is completely inhibited by the /NOMEMORY qualifier. *Qualifiers For a list of allowable switches type HELP TEC SWITCHES 2 SWITCHES /FIND Initially position to (find) the last marked position in the input file. Position is marked with the VTEDIT ESCape-F commands or the macro MZ. /INSPECT Simply read the file-spec, don't create a new edited copy. /NOCREATE Do not automatically create a new file if the file specified by a TECO command doesn't already exist. /NOINI Do not attempt to find or use TECO's private initialization logical TECO.INI. /NOMEMORY Do not read, create, or use TECO's memory logical TECF00.TMP. /SCROLL Automatically enter split screen scrolling mode. The bottom 1/4 of the screen's lines are scrolled. /SCROLL:n sets the number of lines to scroll to n. /VTEDIT Automatically invoke the TECO keypad editor VTEDIT. /VTEDIT:HOLD Set the VTEDIT keypad editor into hold screen mode. /VTEDIT:SEEALL Set the VTEDIT keypad editor into SEEALL mode. /VTEDIT:HOLD:SEEALL Set the VTEDIT keypad editor into both hold screen and SEEALL modes. /B2 Handle a BASIC-PLUS-2 file correctly /NOLC Disable Lowe-case 2 CHANGES The following changes have been made to version 35 of TECO as supplied on the DECUS tape:- 1. On startup TECO will look for TECO.TEC first in the current account and then in LB:[1,2] before giving up and using the inbuilt one. 2. If the inbuilt TECO.TEC is used it will look for TECO.INI first in the current account and then kin LB:[1,2]. 3. If TECO is invoked with the MUN command then it will use a default extension of .MUN and will look for the specified file first in the current account and then (if a UIC was not specified) in LB:[1,2]. 4. TECO.INI has been modified so that it does not automatically invoke VTEDIT. 5. TECO.INI has been modified to output the day as well as the date. 6. TECO.INI has been modified to fill in Q-registers H and Z as follows:- MH$ will give help during TECO operation MZ$ will mark your current point in the file (such that /FIND will find it next time) and then do an EX. 7. If the inbuilt TECO.TEC is used it will look for VTEDIT.TEC and GTEDIT.TEC first in the current account and then in LB:[1,2]. 8. TECO.INI has been modified to set up Q-register 1 and 8 as needed for the linkage in the MUN files - see the description of BOILER.MUN for details. 2 LIST The following .TEC files are current supplied in [1,2]:- DATE - Print out the current day, date & time HELP - Provide help during TECO's operation LOCAL - Reorder MACRO-11 local symbols MACROS - Odd useful macros QSINUSE - Print out which Q-registers are in use STATUS - Print out the status of TECO's flags TECV29 - A simple TECO.TEC (from V29) TTIN - Code to get single line from keyboard VTEDIT - The large VT52 screen editor VT52 - The small VT52 screen editor Type HELP TEC for more information 2 DATE DATE.TEC - Date calculation macro Within TECO if you do an EILB:[1,2]DATE$$ the file will print out the current day, date and time. More generally by copying the code you can use the date in various contexts. 2 HELP HELP.TEC - Help macro HELP.TEC facilitates a help facility within TECO by reading LB:[1,2]TECO.HLP and printing any given page for the user. This help file is simply Chapter 5 of the (large) TECO document file. To execute the macro type EILB:[1,2]HELP$$, or just type MH$$ if TECO was invoked through the standard TECO.INI. 2 LOCAL LOCAL.TEC - the MACRO local symbol reordering macro This macro will reorder local symbol blocks in MACRO-11 (.MAC) or MACRO/VAX (.MAR) programs. LOCAL.TEC is loaded into Q-register L by using EI (e.g., EILOCAL$). Saying ML$$ will reorder the local symbol block in the text buffer setting the first local symbol to 10$ and going up in increments of 10. Saying nML$$ will reorder starting at n (the increment stays 10). The increment can be changed by nUL. It seems necessary to bracket the relevant section of code with a .ENABLE LSB and a .DISABLE LSB and to position the cursor just after the .ENABLE before executing this macro. 2 MACROS MACROS.TEC - useful TECO macros This file just contains odd useful TECO macros. Currently the ones included are merely those to help formatting a document to have aligned right-margins. The file should be read and the macros stored by hand. 2 QSINUSE QSINUSE.TEC - report on Q-registers in use Within TECO typing EILB:[1,2]QSINUSE$$ will produce a report on your terminal of which Q-registers currently contain text, and how many characters are in each of them. 2 STATUS STATUS.TEC - report on TECO's current status Within TECO typing EILB:[1,2]STATUS$$ will produce a report on your terminal of the status of the various flags used by TECO, and will also invoke QSINUSE to report on Q-register usage. 2 TECV29 TECV29.TEC - simply start up file The full-blown TECO.TEC within TECO supports a large number of switches and, as such, takes a while to start up. In addition it invokes TECO.INI which does pretty things on a VT52/SYSCOPE and supports further switches, which take even longer. If you prefer a fast TECO start up, this file should be renamed to TECO.TEC and will then be automatically used by TECO. It recognises, and handles, the TEC, MUN and MAK commands, and loads up MH for help, and sets flags in a useful manner, but does not support memory & such-like. 2 TTIN TTIN.TEC - read a line of text from the keyboard This is a teco macro to read a line of input from the terminal. Copy it into your TECO program (macro). It reads one line from the terminal, just like an "I.....$$" command. It returns a value of success/fail. Fail means CTRL/Z was typed. 2 VTEDIT VTEDIT.TEC - large VT52 screen editor VTEDIT is an interactive keypad editor used in conjunction with the TECO text editor on VT52 and VT100 terminals. It is invoked by:- TECO/VT file-spec to edit an existing file TECO/VT out-file-spec=in-file-spec to edit from one file to another MAKE/VT file-spec to create a new file Complete documentation on VTEDIT will be found in the document VTEDIT.DOC. If you modify TECO.INI, it can indicate to TECO that you wish VTEDIT automatically invoked. TECO provides a flag saying whether your terminal is a scope type terminal capable of being used by VTEDIT. By testing this flag, you can use VTEDIT whenever you are using a scope terminal. The TECO.INI logical's equivalence string should be: ET&512"N 1+ ' 0 to invoke VTEDIT in normal mode ET&512"N 1+16+ ' 0 to invoke VTEDIT in SEEALL mode ET&512"N 1+32+ ' 0 to invoke VTEDIT in hold screen mode ET&512"N 1+16+32+ ' 0 to invoke VTEDIT in SEEALL and hold modes You may either use a private version of VTEDIT or the system version as TECO will look first for a file called VTEDIT.TEC in your account, and then for VTEDIT.TEC in LB:[1,2]. 2 VT52 VT52.TEC - small VT52 screen editor VT52 is a TECO macro to make use of the VT52 display terminal; it implements an interactive keypad editor. The keys on the VT52 keypad are used for such functions as cursor movement, character deletion and space expansion, and the delimiting of search strings and TECO commands. Most characters, when typed on the keyboard, are simply inserted into the text buffer at the current cursor position. The terminal screen is continuously maintained as a display of the text buffer around the cursor. Executing the TECO command EIVT52$$ causes the macro to be loaded into Q-register I. Executing Q-register I then starts the macro, operating on whatever text is in the buffer. Starting the macro with an argument of -1 (i.e., -1MI$$) causes the macro to display a picture of the keypad with descriptions of the functions. Needless to say, VT52 is more demanding on system resources than conventional TECO; executing the macro uses a substantial amount of CPU time. It will run well on a single user system, but may well be too soggy to use on a loaded multi-user system.