*
1 Arithmetic
      TECOC  supports  integer   arithmetic.    Expressions   can   be
 constructed  using  numbers,  operators,  variables (q-registers) and
 values maintained by TECO.  Expressions are used  to  supply  numeric
 values  to TECO commands.  The = command simply displays the value of
 it's numeric argument.  Using it gives the TECO user a simple integer
 calculator.  Radix control is provided to allow the user to input and
 output constants in octal, decimal or hexadecimal.   Expressions  are
 evaluated  left  to  right  unless  parentheses are used to alter the
 order of execution.  Parentheses may be nested.  If  parentheses  are
 used, the expression within innermost parentheses is evaluated first,
 left to right.  There is no operator precedence.
2 Examples
  256*4=$$        will display 1024 on the screen

  10*(4+3)ua$$    will put 70 into q-register a

  qa=$$           will display the value stored in q-register a

  qa*20=$$        will display the value of q-register a, times 20

  z=$$            will display the number of characters in the edit buffer

  0a==$$          will display the ASCII value of the character following
                 the character pointer,  in octal
2 Operators
      The following operators are recognized by TECO in expressions

      OPERATOR   EXAMPLE        FUNCTION

         +       +2=2       Unary plus,  not meaningful,  but legal
         +       2+2=4      Addition
         -       -2=-2      Unary minus,  negation
         -       8-6=2      Subtraction
         *       2*3=6      Multiplication
         /       8/3=2      Division with truncated result
         &       12&10=8    Logical AND
         #       12#10=14   Logical OR
         ^_      5^_=-6     Logical complement
2 Q-registers
      Q-registers provide TECO with variables.   Each  q-register  can
 contain text and a numeric value.  See "Q-REGISTERS" for more help.
2 Radix_control
      TECO  allows  the  user  to  operate  in   octal,   decimal   or
 hexadecimal.   A current radix is maintained by TECO.  Decimal is the
 default radix.  Numbers in command strings are interpreted  according
 to  the  current  radix.   The  following  commands alter the current
 radix.

      ^D     change the current radix to decimal

      ^O     change the current radix to octal

      ^R     return the value of the current radix

      n^R    set the radix.  n must be 8, 10 or 16
2 Special_values
      The following commands return  some  kind  of  value.   Help  is
 available on these commands individually.

    nA    next character            ^F    console switches
    B     0                         n^F   terminal number
    ED    edit level flag           ^H    current time of day
    EH    help level flag           ^N    end-of-file flag
    EO    TECO version number       ^R    current radix
    ES    search verify flag        ^S    neg. size of last insert
    ET    type-out flag             ^T    next typed char
    EU    case flag                 ^X    search mode flag
    EV    edit verify flag          ^Y    m,n of last insert
    Mq    macro return value        ^Z    q-register memory used
    Qq    value in q                ^^x   ASCII value of x
    Z     number chars in buffer    :Qq   number chars in q
    ^B    current date              \     digit string in buffer
    ^E    form feed flag            .     position in buffer
2 Type-out
      Type-out of the value of an expression is provided through the =
 command.  See "COMMANDS =" for help about the = command.
1 Branching
      TECO provides conditional and unconditional branching in command
 strings.  This capability provides much of the real power of the TECO
 language.  The  following  commands  branch  within  a  TECO  command
 string:

     n"x     if-then            <       begin loop
     |       else               >       end loop
     '       end if             F<      goto same-level <
     $$      exit macro         F>      goto same-level >
     n$$     exit macro         F|      goto same-level |
     m,n$$   exit macro         F'      goto same-level '
     ;       leave loop         O       goto tag
     n;      leave loop         nO      computed goto
     :;      leave loop         ^C      stop now, give prompt
     n:;     leave loop         ^C^C    terminate TECO
1 Commands
      Almost  all  TECO  commands  are  terminated  with  two   escape
 characters.
2 ^A
      The ^A command displays a string on the terminal.  Text  between
 two ^A's is displayed.  The ^A command can be @-sign modified.

 Examples:

 ^APrompt^A$$     would display Prompt on the terminal screen
 @^A:hello:$$     would display hello on the terminal screen
2 ^B
      The ^B command  returns  the  current  date  via  the  following
 equations:

 OS/8:          ^B = (((month*32)+day)*8)+((year-1970)&7)+k
                     where k = 4096 if year>1977
                     and k=0 otherwise
 RT-11:         ^B = (((month*32)+day)*32)+year-1972
 RSTS/E:        ^B = ((year-1970)*1000)+day within year
 RSX-11:        ^B = ((year-1900)*16+month)*32+day
 VAX/VMS:       ^B = ((year-1900)*16+month)*32+day
 TOPS-10:       ^B = (((year-1964)*12+month-1)*31+day-1)
2 ^C
      The ^C command stops execution of TECO.  It interrupts TECO  and
 returns  control  to  the user.  This command is usually used to stop
 TECO when it is erroneously placed into an infinite  loop.   If  this
 command  is  entered  while  a  search  is in progress, the character
 pointer's position is not well defined.
2 ^D
      The ^D command sets the  radix  to  decimal.   This  command  is
 equivalent  to  a 10^R command, when the curent radix is 10.  See the
 documentation of the ^R command for a description of the radix.
2 ^E
      The ^E flag is the form feed flag.  It is equivalent  to  -1  if
 the  last page which was input was terminated by a form feed.  If the
 last page read was not terminated by a form feed (if it was the  last
 page  in  the  file or if the edit buffer filled up before the entire
 page was read) then ^E is equivalent to 0.  The ^E flag is tested  by
 the  P command to determine whether a form feed should be appended to
 the edit buffer when it is output.

 ^E is also the prefix character for  match  control  characters  used
 within  search  strings.   For  help on match control characters, the
 help key is "SEARCHING MATCH_CONTROL_CHARACTERS".
2 ^G^G
      The ^G^G immediate command is actually  an  aid  to  type-in  of
 command  strings.   When you type ^G^G, the command string is cleared
 and you are given another prompt.  When you type in a command  string
 that  has  a  mistake  in  it,  and you notice the mistake before you
 strike the  ESCAPE-ESCAPE  sequence  that  starts  execution  of  the
 command  string, this aid can be used to clear the string so that you
 can re-type it.  This aid works a little differently than the ^U  and
 ^X aids.  They clear only the current line of the command string, not
 the whole command string.
2 ^G<SPACE>
      The ^G<SPACE> immediate command is actually an aid to type-in of
 command strings.  When you type ^G and then a space, the current line
 of the command string is displayed.  This is useful when you are on a
 terminal  that  doesn't erase characters when the DELETE key is used.
 On such a terminal, typing in a command string and  using  DELETE  to
 fix  it  can  leave the command string in an un-readable state on the
 terminal.  In such a case, ^G<SPACE> will re-display the current line
 of the command string.
2 ^G*
      The ^G* immediate command is  actually  an  aid  to  type-in  of
 command  strings.   When you type ^G and then an asterisk, the entire
 current command string is displayed.  This is useful when you are  on
 a terminal that doesn't erase characters when the DELETE key is used.
 On such a terminal, typing in a command string and  using  DELETE  to
 fix  it  can  leave the command string in an un-readable state on the
 terminal.  In such a case, ^G* will re-display  the  current  command
 string.
2 ^H
      The ^H (or BACKSPACE) command has two different functions.

      When used as a normal  command  in  a  command  string,  the  ^H
 command returns the time of day via the following equations:

 OS/8:          ^H = 0
 RT-11:         ^H = (seconds since midnight)/2
 RSTS/E:        ^H = minutes until midnight
 RSX-11:        ^H = (seconds since midnight)/2
 VAX/VMS:       ^H = (seconds since midnight)/2
 TOPS-10:       ^H = 60ths of a second since midnight or 50ths of
                     a second where 50 Hz power is used

      When used as an  immediate-mode  command  (the  first  character
 typed after a TECO prompt) a BACKSPACE will cause TECO to immediately
 move to the front of the previous line and  type  the  line  (like  a
 -1L1T).   The  BACKSPACE  immediate  mode  command  together with the
 LINE-FEED immediate mode command (which is like a  1L1T)  provides  a
 convenient way to step from line to line within the edit buffer.
2 ^I
      The ^I (or TAB) command is the same as  the  I  command,  except
 that  the  tab  character  is  inserted along with the tab character.
 This command is a useful alternative to the I command when a  FORTRAN
 or assembly language program is being edited.
2 ^J
      The ^J (or LINE-FEED) command has two different functions.

      When used as a normal command in a command string, the LINE-FEED
 character  has  no  effect.  It is meant to be used together with the
 RETURN and SPACE commands to provide the TECO programmer with  a  way
 to indent and format TECO programs and macros.

      When used as an  immediate-mode  command  (the  first  character
 typed after a TECO prompt) a LINE-FEED will cause TECO to immediately
 move to the front of the next line and type the line (like  a  1L1T).
 The  LINE-FEED  immediate  mode  command  together with the BACKSPACE
 immediate mode command (which is like a -1L1T) provides a  convenient
 way to step from line to line within the edit buffer.
2 ^L
      The ^L (or FORM-FEED) command performs no function in TECO.   It
 echoes  as a form feed and can be used to format command strings used
 in macros.

      Form feed are what split pages in files.  When TECO reads  in  a
 page  from  an  input  file, a form feed defines the end of the page.
 Form feeds can be inserted into files like  other  characters.   When
 inserted,  they  reside  in the edit buffer.  When the file is output
 and TECO is used to edit the file  later,  the  inserted  form  feeds
 terminate pages.
2 ^M
      The ^M (or RETURN) command performs no function in TECO.  It can
 be used to format command strings in macros.
2 ^O
      The ^O command  sets  the  radix  to  octal.   This  command  is
 equivalent  to  a  8^R command, when the curent radix is 10.  See the
 documentation of the ^R command for a description of the radix.  When
 a  control-O or caret-O is encountered in a comand string, it has the
 above meaning.  When a control-O is  typed  by  the  user,  control-O
 turns  output  to  the  terminal  on  or  off.   TECO still generates
 characters, it simply throws them away  instead  actually  displaying
 them.   When  a command is executed which results in a lot of useless
 output to a slow terminal, control-O can be used to speed  things  up
 where control-C would stop execution.
2 ^Q
      The ^Q command converts line positions in the edit  buffer  into
 the  corresponding  character positions.  The n^Q command returns the
 number of characters between the buffer position  and  the  nth  line
 terminator.   The  numeric argument can be positive or negative.  For
 example, n^QC is equivalent to nL.

      Within string arguments, ^Q indicates that the next character is
 to  be  used  literally.   For  instance, Sttt^Q^Es$$ will search for
 ttt^Es rather than ttt followed by a sequence of spaces and/or tabs.

      The ^Q and ^S characters also  control  terminal  i/o.   The  ^S
 character  will  "freeze"  output  to  the terminal and ^Q will allow
 output to resume.  This feature allows the user to  temporarily  stop
 output  to  the screen so that text can be read before it scrolls off
 the top of the screen.
2 ^R
      The ^R command sets or returns the value of  TECO's  radix.   To
 set  the  radix,  use  n^R,  where  n  is  a number between 2 and 36,
 inclusive.  If ^R is used without a  numeric  argument,  the  current
 radix  is  returned.  The value of the radix affects the execution of
 the =, :=, ==, :==, ===, :=== and \ commands.  It  also  affects  the
 meaning of digit strings within command strings.  If the radix is set
 to a value above 10, parsing of command strings is  affected.   Upper
 and  lowercase  letters  become  valid as "digits" in constants.  The
 meaning of commands strings can become  very  confusing,  as  letters
 intended  to  be  commands  are absorbed as part of constants.  It is
 recomended that bases higher than 10 be used only temporarily.  If an
 attempt  is  made  to set the radix to a number that is out of range,
 the IRA error message is produced.  When TECO is started,  the  radix
 has a value if 10.
2 ^S
      The ^S command returns the length of the last  string  found  or
 inserted, multiplied by -1.  It is intended to be used in conjunction
 with other commands to manipulate the last string inserted or  found.
 For instance,

       Sabc$^SD$$      find and delete abc
       Sabc$^SC$$      find abc and move to the front of it
       GM$^SD$$        insert q-register M, then change your mind


      The ^Q and ^S characters also  control  terminal  i/o.   The  ^S
 character  will  "freeze"  output  to  the terminal and ^Q will allow
 output to resume.  This feature allows the user to  temporarily  stop
 output  to  the screen so that text can be read before it scrolls off
 the top of the screen.
2 ^T
      The ^T command...
2 ^U
      The ^U command...
2 ^V
      The ^V command...
2 ^W
      The ^W command...
2 ^X
      The ^X command...
      The search flag.  Additional help about how to manipulate  flags
 can  be  found  under  the  FLAGS  keyword.   This  flag controls the
 significance of case in searches.  If this flag is 0,  then  case  is
 insignificant  in search commands, and the command stext$$ would find
 "Text", "text" or "TEXT" in the edit buffer.  If  this  flag  is  -1,
 then  search  commands are sensitive to case, and the command stext$$
 would only find "text" in the edit buffer.
2 ^Y
      The ^Y command...
2 ^Z
      The ^Z command...
2 ^^X
      The ^^X command...
2 !
      In TECO,  a  tag  is  a  string  of  characters  enclosed  in  !
 characters.   A  tag  can be used as the destination of a branch (via
 the O command).  When TECO is executing sequentially and encounters a
 tag,  the  tag  is  simply ignored.  Tags also provide TECO's comment
 capability.
2 "
      The " command provides TECO's conditional branching  capability,
 or  "if-then-else" construct.  The two general forms of the " command
 are

      n"x<BODY>'               like "if x(n) then <BODY>"

      n"x<BODY1>|<BODY2>'      like "if x(n) then <BODY1> else <BODY2>"

 Where n is an expression and  x  is  a  conditional  character.   The
 conditional  characters  determine how the value of the expression is
 tested.  Conditionals may be nested.
3 "<
      Execute  the  following  command  string   if   the   preceeding
 expression is less than zero.  Equivalent to "L, "S or "T.
3 "=
      Execute  the  following  command  string   if   the   preceeding
 expression is equal to zero.  Equivalent to "E, "F or "U.
3 ">
      Execute  the  following  command  string   if   the   preceeding
 expression is greater than zero.  Equivalent to "G.
3 "A
      Execute  the  following  command  string   if   the   preceeding
 expression  evaluates  to  a  value  that  is  the  ASCII code for an
 alphabetic character.  Alphabetic characters are all upper  case  and
 lower case letters from A to Z.
3 "C
      Execute  the  following  command  string   if   the   preceeding
 expression  evaluates  to  the  ASCII  code for a symbol constituent.
 Symbol constituents are upper and lower case letters  from  A  to  Z,
 digits, or periods and dollar signs.
3 "D
      Execute  the  following  command  string   if   the   preceeding
 expression  evaluates  to  the  ASCII code for a digit.  Digits are 0
 through 9.
3 "E
      Execute  the  following  command  string   if   the   preceeding
 expression is equal to zero.  Equivalent to "=, "F or "U.
3 "F
      Execute  the  following  command  string   if   the   preceeding
 expression  is  FALSE.   FALSE in TECO is 0.  Equivalent to "=, "E or
 "U.
3 "G
      Execute  the  following  command  string   if   the   preceeding
 expression is greater than zero.  Equivalent to ">.
3 "L
      Execute  the  following  command  string   if   the   preceeding
 expression is less than zero.  Equivalent to "<, "S or "T.
3 "N
      Execute  the  following  command  string   if   the   preceeding
 expression is not equal to zero.
3 "R
      Execute  the  following  command  string   if   the   preceeding
 expression evaluates to the ASCII code for an alphanumeric character.
 Alphanumeric characters are digits  and  the  upper  and  lower  case
 characters from A to Z.
3 "S
      Execute  the  following  command  string   if   the   preceeding
 expression is SUCCESSFUL.  SUCCESSFUL in TECO is a value less than 0.
 Equivalent to "<, "L or "T.
3 "T
      Execute  the  following  command  string   if   the   preceeding
 expression is TRUE.  TRUE in TECO is a value less than 0.  Equivalent
 to "<, "L or "S.
3 "U
      Execute  the  following  command  string   if   the   preceeding
 expression  was UNSUCCESSFUL.  UNSUCCESSFUL in TECO is 0.  Equivalent
 to "=, "E or "F.
3 "V
      Execute  the  following  command  string   if   the   preceeding
 expression evaluates to the ASCII code for a lower case letter from a
 to z.
3 "W
      Execute  the  following  command  string   if   the   preceeding
 expression evaluates to the ASCII code for a upper case letter from A
 to Z.
2 %q
      The %q command...
2 '
      The ' command...
2 *q
      The *q immediate command...
2 .
      The .  command...
2 ;
      The ; command...
2 <
      the < command...
2 >
      The > command...
2 =
      The = command...
2 :=
      The := command...
2 ?
      The ?  command...
2 @
      The @ command...
2 A
      The A command is used to append the next page of text  from  the
 input  file to the end of the current editing buffer.  The command is
 of the form:

      A  Read the next page of text from the input file
         and append it to the end of the current text
         buffer
2 B
      The B command...
2 BACKSPACE
      The ^H (or BACKSPACE) command has two different functions.  When
 used  as an immediate mode command (the first character typed after a
 TECO prompt) it  causes  a  -1L1T  command  string  to  be  executed.
 Together  with  the LINE-FEED immediate mode command, this provides a
 convenient way to move through a file.  When used as a normal command
 in  a  command string, the ^H command returns the time of day via the
 following equations:

 OS/8:          ^H = 0
 RT-11:         ^H = (seconds since midnight)/2
 RSTS/E:        ^H = minutes until midnight
 RSX-11:        ^H = (seconds since midnight)/2
 VAX/VMS:       ^H = (seconds since midnight)/2
 TOPS-10:       ^H = 60ths of a second since midnight or 50ths of
                     a second where 50 Hz power is used
2 C
      The C command is used to  move  the  pointer  past  a  specified
 number of characters.  Common forms of the "C" command are:

      C  Advance the pointer to the next character
     3C  Move forward by three characters
    -1C  Move back to the previous character
2 D
      The D command is used to  delete  characters  from  the  editing
 buffer.  Common forms of the command are:

      D  Delete the character which follows the pointer
     5D  Delete the next five characters, starting
         with the character following the pointer
    -1D  Delete the character which immediately precedes
         the pointer
2 E%
      The E% command...
2 E_
      The E_ command...
2 EA
      The EA command...
2 EB
      The EB command...
2 EC
      The EC command...
2 ED
      The edit level flag.  Additional help about  how  to  manipulate
 flags  can  be  found under the FLAGS keyword.  Bits within this flag
 have the following meanings:

        1    Allow caret (^) in search strings
        2    Allow Y and _ commands to destroy edit buffer
        4    Don't arbitrarily expand memory
        16   preserve dot on failing searches
        64   only move dot by one on multiple occurrence searches
3 1
      Allow caret (^) characters in search strings.  If this bit is 1,
 then the caret character is a normal character in search strings.  If
 this bit is 0,  then  the  caret  character  causes  the  immediately
 following  character  in  the  search  string  to  become  a  control
 character.  It is useful to turn this bit off when you are editing  a
 file with many control characters.
3 2
      Allow Y and _ commands, even  if  there  is  text  in  the  edit
 buffer.   If  this  bit is 1, the Y and _ commands will work, even if
 the edit buffer contains text.  If this bit is 0, then the  Y  and  _
 commands  will  cause  an  error  when the edit buffer contains text.
 Note that this flag operates sensibly:  it only aborts Y commands  if
 an  output  file  is defined.  This flag is useful because it is very
 easy to execute a Y command  by  mistake  and  irrevocably  lose  the
 contents of the edit buffer.
3 4
      Do not arbitrarily expand memory.  If this bit is set, TECO will
 expand  memory in order to execute the A command.  It will not expand
 memory in order to execute the Y, P or N commands.  If  this  bit  is
 clear,  TECO will expand the edit buffer in order to fit entire pages
 into the edit buffer when the user execute an A, N, P or Y command.
3 16
      Preserve dot on failing searches.  If this bit is 1, then when a
 search  fails,  the  character  pointer  is left pointing to the same
 place it was pointing before the search was attempted.  If  this  bit
 is  0,  then  when  a  search  fails,  the  character pointer is left
 pointing to the beginning of the edit buffer.
3 64
      Move  the  character  pointer  by  one  on  multiple  occurrence
 searches.   This  bit  affects  the  way  TECO  handles the character
 pointer while executing a command like 5Stext$$.  If this bit  is  1,
 then  the  character pointer is incremented each time the text string
 is found.  If this bit is 0, then the character pointer is  moved  to
 the  end of the found text string each time the text string is found.
 For example, suppose the text buffer contains 20 A's,  the  character
 pointer  is  currently  pointing to the beginning of the edit buffer,
 and the bit is 1.  The  command  5SAA$$  will  complete  leaving  the
 character  pointer between the 6th and 7th characters (.=$$ gives 6).
 Under the same conditions, with the bit set to 0,  the  same  command
 will complete leaving the character pointer between the 10th and 11th
 characters (.=$$ gives 10).
2 EF
2 EG
2 EH
      The help flag.  Additional help about how  to  manipulate  flags
 can be found under the FLAGS keyword.  Bits within this flag have the
 following meanings:

        3    how much error message to display
        4    display failing command string after errors
3 3
      The two low bits of the EH flag control how much information  is
 displayed  when  an  error  occurs.   The bits can have the following
 values:

          00     same as 10

          01     display only the 3-letter error code

          10     display 3-letter error code and one-line error message

          11     display 3-letter error code,  one-line error message and
                 a paragraph describing the error in detail.
3 4
      Output failing command string when an error occurs.  If this bit
 is  1, then the commands string that caused the error is displayed up
 to and including the command that caused the  error.   This  is  just
 like  typing  the  immediate  mode  question-mark command after every
 error.  If this bit is 0, then the  failing  command  string  is  not
 typed.
2 EI
      The EI command...
2 EJ
      The EJ command...
2 EK
      The EK command...
2 EL
      The EL command...
2 EM
      The EM command...
2 EN
      The EN command...
2 EP
      The EP command...
2 EQ
      The EQ command...
2 ER
      The ER command...
2 ES
      The ES flag controls what is displayed  on  the  terminal  after
 every  successful  search  command completes.  By default, nothing is
 displayed (ES is 0).  ES has the following meanings:

        0         don't display anything
        -1        display the line containing the found string
        1-31      display the line containing the found string,
                  with a line feed at the character position
        32-126    display the line containing the found string,
                  with the character whose ASCII code is represented
                  by ES at the character position
        m*265+n   n has the meanings defined above.  m is the number
                  of lines above and below the found string to be
                  displayed.
2 ESCAPE
      The ESCAPE command...
2 ET
      The type-out flag.  Additional  help  about  how  to  manipulate
 flags  can  be  found under the FLAGS keyword.  Bits within this flag
 have the following meanings:

        1       inhibit conversions during type-out
        2       process DELETE and ^U in scope mode
        4       don't convert user's input to upper case
        8       read without echo on ^T commands
        16      cancel ^O on type-out
        32      read with no wait on ^T commands
        128     mung mode
        256     truncate to terminal width
        512     terminal is a CRT
        1024    terminal is a refresh scope
        32768   trap ^C
3 1
      Type out in image mode.  If this bit is 1,  no  conversions  are
 performed   when  text  is  typed  out.   If  this  bit  is  0,  TECO
 automatically converts non-displayable character into  a  displayable
 form  before  displaying  them  on  the  terminal.  For instance, the
 control-A character is converted to ^A and the  ESCAPE  character  is
 converted to a dollar sign.
3 2
      Process DELETE and ^U in scope mode.  If this bit  is  set,  the
 DELETE  and  ^U  commands  will  cause  characters  being  deleted to
 disappear from the terminal screen.  If this bit is 0,  then  deleted
 characters  are  simply  echoed  to the terminal screen and ^U simply
 advances to the next line.
3 4
      Read lower case.  If this  bit  is  1,  TECO  will  not  convert
 lowercase  characters  to uppercase on input.  If this bit is 0, TECO
 will convert lowercase characters typed by the user into uppercase.
3 8
      Read without echo for ^T.  If this bit is 1,  ^T  commands  will
 not  echo.  If this bit is 0, ^T commands will echo.  This bit allows
 the user to explicitly echo input characters as he/she sees fit.
3 16
      Cancel ^O on type-out.  If this bit is 1, TECO will  cancel  any
 outstanding   control-O   command   before  doing  its  output,  then
 automatically clear the bit.  If this bit  is  0,  TECO  will  output
 normally, subject to ^O control.
3 32
      Read with no wait.  If this bit is 1, ^T  commands  will  return
 immediately,  regardless  of  whether  there  is  a  character in the
 type-ahead buffer or not.  If this bit is  1  and  a  ^T  command  is
 executed and the type-ahead buffer is empty, the ^T will return a -1.
 If this bit is 0 and a ^T command  is  executed  and  the  type-ahead
 buffer is empty, TECO will wait for the user to type a character.
3 128
      Mung mode bit.  If this bit is 1, TECO  executes  as  if  it  is
 executing a TECO program instead of interactively.  If this bit is 1,
 then

          1.  all informational message are suppressed
          2.  ^C causes the immediate termination of TECO
          3.  errors cause TECO to terminate
 If this bit is 0, then
          1.  informational messages are displayed
          2.  ^C returns the user to a TECO prompt
          3.  errors return the user to a TECO prompt
3 256
      Truncate lines to terminal width.  If this bit is 1,  TECO  will
 truncate  output  lines to fit on lines of the terminal.  If this bit
 is 0, what happens to lines that are too long is  determined  by  the
 terminal and/or terminal driver.
3 512
      The terminal is a scope.  If this bit is 1,  the  W  command  is
 defined  for  CRT's  (VT52,  VT100,  etc.).   If this bit is 0, the W
 command is not defined for CRT's.
3 1024
      The terminal is a refresh scope.  If this bit is 1, then  the  W
 command  is  defined for refresh terminals.  If this bit is a 0, then
 the terminal is not a refresh scope, and the W command is not defined
 for refresh scopes.
3 32768
      Trap ^C.  If this bit is 1 and a ^C is typed, the bit is set  to
 0 and execution of the current command string continues.  This allows
 TECO macros to detect ^C's.  If this bit is 0 and a ^C is typed,  the
 user is returned to theTECO prompt.
2 EU
      The case flag.  Additional help about how  to  manipulate  flags
 can  be  found  under the FLAGS keyword.  This flag allows TECO to be
 used to input and output upper and lower case characters even if  the
 terminal   being   used  is  capable  of  displaying  only  uppercase
 characters.  If the EU flag is 1, no case flagging  is  performed  on
 type-out.  If the EU flag is 0, lowercase characters are converted to
 uppercase on type-out, and are preceeded by a ' character.  If the EU
 flag  is  1,  then  lowercase character are converted to uppercase on
 type-out, but uppercase characters are preceeded by a ' character.
      The default value for this flag is -1.  If  TECO  can  tell  (by
 asking  the  operating  system)  that  your  terminal  cannot support
 lowercase output, then it will set this flag to 0.
2 EV
      The EV flag controls what is displayed  on  the  terminal  after
 every  successful  command  string completes.  By default, nothing is
 displayed (EV is 0).  EV has the following meanings:

        0         don't display anything
        -1        display the line containing the character position
        1-31      display the line containing the character position,
                  with a line feed at the character position
        32-126    display the line containing the character position,
                  with the character whose ASCII code is represented
                  by ES at the character position
        m*265+n   n has the meanings defined above.  m is the number
                  of lines above and below the character position to be
                  displayed.
2 EW
2 EX
      The "EX" command is used to write  the  current  buffer  to  the
 output file, copy the remainder of the input file to the output file,
 and exit from TECO.  For example,

      EX$$

 (Note that the <ESC> key echoes as "$" at your terminal, and that you
 must type the <ESC> key twice to cause the command to be executed.)
2 EY
      The EY command...
2 EZ
      The EZ command...
2 F_
      The F_ command...
2 F'
      The F' command...
2 F<
      The F< command...
2 F>
      The F> command...
2 F|
      The F| command...
2 FB
      The FB command...
2 FC
      The FC command...
2 FD
      The FD command...
2 FK
      The FK command...
2 FN
      The FN command...
2 FORM-FEED
      The ^L (or FORM-FEED) command performs no function in TECO.   It
 echoes  as a form feed and can be used to format command strings used
 in macros.

      Form feed are what split pages in files.  When TECO reads  in  a
 page  from  an  input  file, a form feed defines the end of the page.
 Form feeds can be inserted into files like  other  characters.   When
 inserted,  they  reside  in the edit buffer.  When the file is output
 and TECO is used to edit the file  later,  the  inserted  form  feeds
 terminate pages.
2 FR
      The FR command...
2 FS
      The FS command is  used  to  replace  one  string  with  another
 string.   If  the specified text is found, it is deleted and replaced
 with the new text, and the pointer is positioned at the  end  of  the
 specified  text.   If the specified text is not found, the pointer is
 positioned at the beginning of the buffer.

 The "FS" command is of the form:

      FSold-text<ESC>new-text<ESC>
 For example,  to  replace  the  next  occurrence  of  "exumple"  with
 "example", use the command

      FSexumple$example$
 (Note that the <ESC> key echoes as "$" at your terminal.)
2 Gq
      The Gq command...
2 G*
      The G* command...
2 G_
      The G_ command...
2 H
      The H command...
2 I
      The I command is used to insert text, starting  at  the  current
 pointer.  The command is of the form:

      Itext-to-insert<ESC>
 For example, to insert the text "This is a test", type

      IThis is a test$
 (Note that the <ESC> key is echoed as a "$" sign at your terminal.)
2 J
      The J command is used  to  move  the  text  pointer  within  the
 editing buffer.  Common forms of the command are:

     BJ  Point to the beginning of the buffer
     ZJ  Point to the end of the buffer
2 K
      The K command is used to delete lines of text from  the  editing
 buffer.  Common forms of the command are:

      K  Delete the text from the pointer through the
         end of the current line
     0K  Delete the text from the beginning of the
         current line to the pointer
     5K  Delete the next five lines of text, starting
         from the pointer
     HK  delete all of the text in the editing buffer
2 L
      The L command is used to move the text pointer from one line  to
 another.  Common forms of the command are:

      L  Move to the beginning of the next line
     0L  Move to the beginning of the current line
     5l  Move to the fifth line past the current line
    -1L  Move back to the previous line
2 LINE-FEED
      The ^J (or LINE-FEED) command has two different functions.

      When used as a normal command in a command string, the LINE-FEED
 character  has  no  effect.  It is meant to be used together with the
 RETURN and SPACE commands to provide the TECO programmer with  a  way
 to indent and format TECO programs and macros.

      When used as an  immediate-mode  command  (the  first  character
 typed after a TECO prompt) a LINE-FEED will cause TECO to immediately
 move to the front of the next line and type the line (like  a  1L1T).
 The  LINE-FEED  immediate  mode  command  together with the BACKSPACE
 immediate mode command (which is like a -1L1T) provides a  convenient
 way to step from line to line within the edit buffer.
2 M
      The M command...
2 N
      The N command is the same as the "S" command,  except  that  the
 search  continues  across  page  boundaries,  if necessary, until the
 specified text, or the end of the  file,  is  encountered.   The  "N"
 command is of the form:

      Ntext-to-locate<ESC>
 For example, to find the text "find me", which may appear on a  later
 page in the file, use the command

      Nfind me$
 (Note the the <ESC> key echoes as "$" at your terminal.)
2 O
      The O command...
2 P
      The P command is used to write the text in the editing buffer to
 the output file and read the next page of text from the input file to
 the editing buffer.  Common forms of the command are:

      P  Write the current buffer to the output file
         and get the next page
     5P  Write the current buffer, plus the next four
         pages from the input file, to the output file,
         then read the next page from the input file
         into the editing buffer
2 Q
      The Q command...
2 R
      The R command...
2 RETURN
      The ^M (or RETURN) command...
2 S
      The S command is used to locate a specified string  of  text  in
 the  current buffer.  If the text is found, the pointer is positioned
 after the specified text.  If the text is not found, an error message
 is  printed  and  the  pointer is set to the beginning of the buffer.
 The "S" command is of the form:

      Stext-to-locate<ESC>
 For example, to find the text "find me", use the command

      Sfind me$
 (Note that the <ESC> key echoes as "$" at your terminal.)
2 SPACE
      The SPACE command...
2 T
      The T command is used to type  text  from  the  editing  buffer.
 Common forms of the "T" command are:

      T  Type text from the pointer to the end of the line
     0T  Type text from the beginning of the current
         line to the pointer
     5T  Print the next five lines of text, starting
         from the pointer
     HT  Print the entire contents of the editing buffer
2 TAB
      The ^I (or TAB) command...
2 U
      The U command...
2 V
      The V command...
2 W
      The W command...
2 Xq
      The Xq command...
2 Y
      The Y command...
2 Z
      The Z command...
2 [
      The [ command...
2 \
      The \ command...
2 ]
      The ] command...
2 |
      The | command...
1 Conditionals
      The " command provides TECO's conditional branching  capability,
 or  "if-then-else" construct.  The two general forms of the " command
 are

      n"x<BODY>'               like "if x(n) then <BODY>"

      n"x<BODY1>|<BODY2>'      like "if x(n) then <BODY1> else <BODY2>"

 Where n is an expression and  x  is  a  conditional  character.   The
 conditional  characters  determine how the value of the expression is
 tested.  Conditionals may be nested.

      Additional help is available with TECO COMMANDS ".
1 Deletion
      The  following  list  summarizes   TECO's   deletion   commands.
 Additional help is available individually on these commands using the
 help keyword COMMANDS.

 D          delete the character following the character pointer
 nD         delete n characters following the character pointer
 -nD        delete n characters preceeding the character pointer
 m,nD       delete characters between positions m and n
 FDtext$    search for and delete a text string
 FRtext$    equivalent to ^SDItext$
 K          delete the line following the character pointer
 nK         delete n lines following the character pointer
 -nK        delete n lines preceeding the character pointer
 m,nK       delete characters between positions m and n
 HK         delete the entire edit buffer
 FKtext$    delete all characters between here and text
1 Errors
      All TECO error messages are of the form

 ?XXX Short text message

 and abort TECO's command execution.

 Typing a question mark (?) immediately after TECO's input prompt will
 print the erring command string up to and including the error point.

 Typing a slash (/) immediately after TECO's input prompt will print a
 longer explanation of the error.
2 BNI ?BNI > not in iteration

 There is a close angle bracket not matched by an open  angle  bracket
 somewhere  to  its left.  (Note:  an iteration in a macro stored in a
 Q-register must be complete within the Q-register.)
2 CPQ ?CPQ Can't pop Q-reg

 A ] command has been executed and  there  is  nothing  saved  on  the
 Q-register push down list.
2 DTB ?DTB Delete too big

 An nD command has been attempted which is not  contained  within  the
 current page.
2 ERR ?ERR ID, text

 Some VAX/VMS system service call failed.  The error  message  ID  and
 text explain the error.
2 FNF ?FNF File not found "filespec"

 The requested input file could not  be  located.   If  this  occurred
 within a macro the colon modified ER or EB command may be necessary.
2 IAA ?IAA Illegal A arg

 The argument preceding a :A command is negative or 0.
2 IEC ?IEC Illegal E character

 An invalid E command has been executed.   The  E  character  must  be
 followed by an alphabetic to form a legal E command (e.g., ER or EX).
2 IFC ?IFC Illegal F character

 An invalid F command has been executed.
2 IIA ?IIA Illegal insert arg

 A command of the form "nItext$" was attempted.  This  combination  of
 character and text insertion is illegal.
2 ILL ?ILL Illegal command

 An attempt has been made to execute an invalid TECO command.
2 ILN ?ILN Illegal number

 An 8 or 9 has been entered when the radix of TECO is set to octal.
2 IPA ?IPA Illegal P arg

 The argument preceding a P or PW command is negative or 0.
2 IQC ?IQC Illegal " character

 One of the valid " commands did not follow the ".
2 IQN ?IQN Illegal Q-reg name

 An illegal Q-register name was specified in  one  of  the  Q-register
 commands.
2 IRA ?IRA Illegal radix arg

 The argument to a ^R radix command must be 8, 10, or 16.
2 ISA ?ISA Illegal search arg

 The argument preceding a search command is 0.  This argument must not
 be 0.
2 ISS ?ISS Illegal search string

 One of the search string special characters (^Q, ^R, etc.) would have
 modified the search string delimiter (usually ESCAPE).
2 IUC ?IUC Illegal ^ character

 The character following an ^ must have ASCII value  between  100  and
 137 inclusive or between 141 and 172 inclusive.
2 MEM ?MEM Memory overflow

 Insufficient memory available to complete the current command.   Make
 sure  the  Q-register  area  does  not contain much unnecessary text.
 Breaking up the text area into multiple pages might be useful.
2 MRP ?MRP Missing )

 There is a right parenthesis that is not matched by  a  corresponding
 left parenthesis.
2 NAB ?NAB No arg before ^_

 The ^_ command must be preceded by either a specific numeric argument
 or a command that returns a numeric value.
2 NAC ?NAC No arg before ,

 A command has been executed in which a , is not preceded by a numeric
 argument.
2 NAE ?NAE No arg before =

 The =, ==, or === command must  be  preceded  by  either  a  specific
 numeric argument or a command that returns a numeric value.
2 NAP ?NAP No arg before )

 A ) parenthesis has been encountered and is not properly preceded  by
 a  specific  numeric  argument  or  a  command that returns a numeric
 value.
2 NAQ ?NAQ No arg before "

 The " commands must be preceded by a single numeric argument on which
 the  decision  to  execute  the  following  commands  or  skip to the
 matching ' is based.
2 NAS ?NAS No arg before ;

 The ; command must be preceded by a single numeric argument on  which
 the  decision  to  execute  the  following  commands  or  skip to the
 matching > is based.
2 NAU ?NAU No arg before U

 The U command must be preceded by either a specific numeric  argument
 or a command that returns a numeric value.
2 NFI ?NFI No file for input

 Before issuing an input command, such as Y, it is necessary  to  open
 an input file by use of a command such as ER or EB.
2 NFO ?NFO No file for output

 Before issuing an output  command  such  as  N  search  or  P  it  is
 necessary  to  open  an output file by use of a command such as EW or
 EB.
2 NYA ?NYA Numeric arg with Y

 The Y command must not be preceded by either a numeric argument or  a
 command that returns a numeric value.
2 OFO ?OFO Output file already open "filespec"

 A command has been executed which tried to create an output file, but
 an output file currently is open.  It is typically appropriate to use
 the EC or EK command as the situation calls for to close  the  output
 file.
2 PDO ?PDO Push-down list overflow

 The command string has become too complex.  Simplify it.
2 POP ?POP Pointer off page

 A J, C or R command has been executed which  attempted  to  move  the
 pointer  off the page.  The result of executing one of these commands
 must leave the pointer between 0 and Z,  inclusive.   The  characters
 referenced  by  a  D  or  m,nX command must also be within the buffer
 boundary.
2 SNI ?SNI ; not in iteration

 A ; command has been executed outside of an open  iteration  bracket.
 This command may only be executed within iteration brackets.
2 SRH ?SRH Search failure "text"

 A search command not preceded by a colon modifier and not  within  an
 iteration has failed to find the specified "text".  After an S search
 fails the pointer is left at the beginning of the buffer.  After an N
 or _ search fails the last page of the input file has been input and,
 in the case of N, output, and the buffer is cleared.  In the case  of
 an  N  search  it  is  usually necessary to close the output file and
 reopen it for continued editing.
2 STL ?STL String too long

 A search or file name string is too long.  This is  most  likely  the
 result of a missing ESCAPE after the string.
2 UTC ?UTC Unterminated command

 This is a general error which is usually caused  by  an  unterminated
 insert,  search, or filespec argument, an unterminated ^A message, an
 unterminated tag or comment (i.e., unterminated !  construct),  or  a
 missing ' character which closes a conditional execution command.
2 UTM ?UTM Unterminated macro

 This error is the same as the ?UTC error except that the unterminated
 command  was  executing  from  a  Q-register  (i.e., it was a macro).
 (Note:  An entire command sequence stored in  a  Q-register  must  be
 complete within the Q-register.)
2 XAB ?XAB Execution aborted

 Execution of TECO was aborted.  This is usually due to the typing  of
 CTRL/C.
2 YCA ?YCA Y command aborted

 An attempt has been made to execute an Y or _ search command with  an
 output  file  open,  that  would  cause text in the text buffer to be
 erased without outputting it to the  output  file.   The  ED  command
 controls this check.
1 Files
      TECO can maintain two input and two output  files  at  the  same
 time.  The following commands control files.

 EA    secondary output stream        EL   open log file
 EB    open input and output          EN   wildcard lookup
 EC    copy and close                 EP   secondary input stream
 EF    close output file              ER   open input file
 EG    EC with command string         EW   open output file
 EI    indirect command file          EX   EC and exit
 EK    close, delete output file

 The following commands input and output to/from files.

 A     append page from input file to edit buffer
 EQq   read file into Q-register
 EY    yank without protection
 P     output edit buffer,  input next page
 Y     yank page from input file into edit buffer

 Individual help is available for each of these commands.
1 Flags
      Flags control  the  behavior  of  TECO.   Changing  these  flags
 changes the way TECO executes.  Flags are manipulated as follows:

         <flag>       returns the value of the flag
         n<flag>      set the value of the flag to n
         m,n<flag>    turns off m bits,  turns on n bits
         0,n<flag>    turns on n bits
         m,0<flag>    turns off m bits

 The flags are:

         ED   edit level flag           ET   type-out flag
         EH   help level flag           EU   case flag
         EO   TECO version number       EV   edit verify flag
         ES   search verify flag        ^x   search verify flag

 Additional help is available  for  each  individual  flag  using  the
 COMMANDS help keyword.
1 Help
      TECOC's HELP command allows you to get HELP from the TECOC  help
 library  or the default system library.  To get help about TECOC from
 the TECOC library, just say "HELP".  To get  help  from  the  default
 system library, say "HELP/S"
1 Initialization
      TECO initialization...
1 Insertion
      TECO insertion...
1 Loops
      Loops...
1 Memory
      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.
1 Qualifiers
      Qualifiers...
2 -c
2 -d
2 -m
2 -p
2 -r
1 Q-registers
      Q-register...
1 Release_notes
      Release_notes...
1 Searching
      TECO provides several ways to search for text strings.  The edit
 buffer can be searched in a forward or backward direction.  Files can
 be searched in a forward direction.  Within the edit buffer, the area
 to  be searched can be bounded.  Search commands can return values so
 that the success or failure of a  search  can  control  execution  of
 macros.   Special  match  control  characters  can  be used in search
 arguments to allow pattern matching.  Search commands can be modified
 by the @ character.

      All search commands leave the character pointer positioned after
 the   last  character  in  the  search  string.   Help  is  available
 individually for the following commands:

     S    edit buffer search        FS   search and replace
     N    file search               FN   file search and replace
     _    destructive file search   FD   search and delete
2 Match_control_characters
      TECO  supports  special  match  control  constructs  in   search
 strings.   These  constructs allow for special pattern matching.  The
 constructs are

  ^EA      alphabetics                  ^EV         lowercase
  ^EB      non-alphanumerics            ^EW         uppercase
  ^EC      alphanumerics, . or $        ^EX         anything
  ^ED      digits                       ^E<nnn>     octal nnn
  ^EGq     anything in q-register q     ^E[a,b..]   a,b...
  ^EL      LF, VT, FF                   ^Nx         anything but x
  ^EMx     * of x                       ^S          non-alphanumerics
  ^ER      alphanumerics                ^X          anything
  ^ES      * of spaces, tabs
3 ^EA
      The ^EA match control construct indicates  that  any  alphabetic
 character  is acceptable in this position.  Alphabetic characters are
 upper and lower case characters from a to z.
3 ^EB
      The ^EB match control construct  indicates  that  any  seperator
 character  is  acceptable  in  this  position.  Characters other than
 letters (a-z upper and lowercase) and digits are seperators.  The ^EB
 match  control  construct  is  the  same  as  the  ^S  match  control
 construct.
3 ^EC
      The ^EC match control construct  indicates  that  any  character
 that  is  valid in a symbol name is acceptable in this position.  The
 characters that are valid in symbol names are alphanumerics  (letters
 and digits), period and dollar sign.
3 ^ED
      The  ^ED  match  control  construct  indicates  that  any  digit
 character is acceptable in this position.  Digits are 0 through 9.
3 ^EGq
      The ^EGq match control contruct indicates that any character  in
 q-register  q  is  acceptable  in  this  position.   For instance, if
 q-register q contains A, B and C, then A, B or  C  is  acceptable  in
 this position.
3 ^EL
      The  ^EL  match  control  construct  indicates  that  any   line
 terminator character is acceptable in this position.  Line terminator
 characters are LINE-FEED, VERTICAL-TAB and FORM-FEED.
3 ^EMx
      The ^EMx match control construct  indicates  that  any  non-zero
 number  of occurrences of x is acceptable in this position.  x can be
 another match control construct.  For instance, ^EMZ  will  match  Z,
 ZZ, ZZZ, ZZZZ, etc.
3 ^ER
      The ^ER match control construct indicates that any  alphanumeric
 character  is  acceptable  in this position.  Alphanumeric characters
 are letter (a-z upper or lower case) and digits (0-9).
3 ^ES
      The ^ES match control construct indicates that a non-null string
 of  spaces and/or tabs is acceptable in this position.  For instance,
 the following command string

 j<fs^ES
 $
 $>$$

 will trim all spaces and tabs off the end of lines  of  text  in  the
 edit buffer.
3 ^EV
      The ^EV match control construct indicates that  any  lower  case
 alphabetic character (a-z) is accetable in this position.
3 ^EW
      The ^EV match control construct indicates that  any  upper  case
 alphabetic character (A-Z) is accetable in this position.
3 ^EX
      The ^EX match control construct indicates that any  charater  is
 acceptable  in  this position.  The ^X match control construct is the
 same as the ^EX match control construct.
3 ^E<nnn>
      The ^E<nnn> match control construct indicates that the character
 that  has  octal  code  nnn  is  acceptable  in  this position.  This
 construct is useful for specifying characters in search strings  that
 would  cause  unpleasant  effects  if  they  were  antered  directly.
 Characters like NULL, DELETE and ESCAPE fall into this category.
3 ^E[a,b,c...]
      The ^E[a,b,c...] match control construct indicates that  any  of
 the  characters  a,  b,  c...   are acceptable in this position.  For
 instance, the command string

 sth^E[i,a]^E[s,t]$$

 would match "this" or "that" or "thit" or "thas".
3 ^Nx
      The ^Nx match control construct  indicates  that  any  character
 except  x  is  acceptable in this position.  x can be a match control
 construct.  For instance, the command string

 s^N^E[a,b]$$

 would match any character except lowercase a and lowercase b.
3 ^S
      The ^S match control  construct  indicates  that  any  seperator
 character  is  acceptable  in  this  position.  Characters other than
 letters (a-z upper and lowercase) and digits are seperators.  The  ^S
 match  control  construct  is  the  same  as  the  ^EB  match control
 construct.
3 ^X
      The ^X match control construct indicates that  any  charater  is
 acceptable  in  this position.  The ^X match control construct is the
 same as the ^EX match control construct.
2 String_building_characters
      It is sometimes helpful to be able to include characters  within
 search  arguments  that  cannot  be  entered  directly.   The  ESCAPE
 character is a good example, as are ^C, ^Y and DELETE.  TECO supports
 special  string  building constructs that allow special characters to
 be entered in search commands.
3 ^Q
      The ^Q string  build  construct  indicates  that  the  character
 following  the  ^Q  is  to  be  used literally rather than as a match
 control character.  The ^Q string build construct is the same as  the
 ^R string build construct.
3 ^R
      The ^R string  build  construct  indicates  that  the  character
 following  the  ^Q  is  to  be  used literally rather than as a match
 control character.  The ^R string build construct is the same as  the
 ^Q string build construct.
3 ^V
      The ^V string  build  construct  indicates  that  the  character
 following  the  ^V is to be used as the equivalent character in lower
 case.  For instance, ^VR would equal r in a search argument.
3 ^V^V
      The ^V^V string build construct indicates  that  all  characters
 following  the  ^V^V in the string are to be converted to lower case.
 All characters in the string are converted  up  to  the  end  of  the
 string  or  a  ^W^W  string  build  construct.   The  ^W string build
 construct can be used to override  the  ^V^V  on  a  single-character
 basis.
3 ^W
      The ^W string  build  construct  indicates  that  the  character
 following  the  ^W is to be used as the equivalent character in upper
 case.  For instance, ^Wr would equal R in a search argument.
3 ^W^W
      The ^W^W string build construct indicates  that  all  characters
 following  the  ^W^W in the string are to be converted to upper case.
 All characters in the string are converted  up  to  the  end  of  the
 string  or  a  ^V^V  string  build  construct.   The  ^V string build
 construct can be used to override  the  ^W^W  on  a  single-character
 basis.
3 ^EQq
      The ^EQq string build construct that  the  string  contained  in
 q-register q is to be used in this position in the search string.
3 ^EUq
      The ^EUq string build construct indicates  that  that  character
 whose  ASCII  code is contained in q-register q is to be used in this
 position in the search string.
1 TECO
      TECO is a text editing program and a programming  language.   It
 allows  the  user to edit text interactively using simple, short (one
 or two letter) commands.  The commands can be combined to  form  TECO
 programs,  or  macros.   These  macros  can  be  stored  in files and
 executed by the user while in TECO or in a stand-alone fashion.

 Format:  teco -c -d data -m -p -r filespec

 The teco command needs to be defined as a  foreign  command  in  your
 LOGIN.COM file.  The following lines illustrate how this can be done:

         te*co   :== $SYS$SYSTEM:TECOC
         ma*ke   :== $SYS$SYSTEM:TECOC -c
         mu*ng   :== $SYS$SYSTEM:TECOC -p -d
