		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 <name> 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 <name> 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 <name> 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.
