There is 1 other file named te124a.rnd in the archive. Click here to see a list.
This file describes the differences between TECO 124(330) and
The monitor command
is now recognized by TECO. It causes output to go to file1 and
input to come from file2. This command is equivalent to
*EWfile1$ ERfile2$ EY$$
Note that a "TECO#file1=file2" command will completely ignore
the "=file2" portion. This means that if the above MAKE command is later
followed by a simple
command, TECO will no longer
get input from file2 but rather will edit file1 in the normal
The "nV" command is equivalent to "1-nT#nT", and is useful for
displaying several lines of text above and below the
"V" is equivalent to "0TT".
The /DEFAULT switch can now be used with a filespec on the
ER, EW, EA, EB, EI, or EP commands to cause any previous
"sticky" defaulting to be canceled. The filespec specified
along with /DEFAULT (if any) will become the new default.
Note that a colon can be used as usual to prevent an error
message from being issued; for example, ":ER/DEFAULT$" will
clear any ER defaulting in effect and ignore the error obtained
from trying to read a "blank" filename.
The U command now accepts two numeric arguments. A command
of the form "m,n#Ui" will cause TECO to store the numeric value
of n in Q-register i and return the value of m. Thus, "m,n#Ui#Uj"
will store n in Q-register i and m in Q-register j. The main
purpose of this new feature is to allow a TECO macro to have
two arguments passed to it. For example, if the macro in
Q-reg A begins with "U1#U2 ...", then "10,20#MA" will store
20 in Q1 and 10 in Q2.
The [ command now accepts one or two arguments. The command
"n[i" is equivalent to "[i#nUi", and "m,n[i" is equivalent to
"[i#m,nUi". This makes it possible to save the contents of a
Q-register and store a new value using a single command,
which can be useful when passing arguments to macros. (See
The ":nA" command can now be used in place of the simple "A"
to append n lines of text to the buffer instead of an entire
page. ":A" is equivalent to ":1A". ":nA" will always stop
appending when it reaches a page boundary, however. Use of
this command can increase the speed of certain operations
by an order of magnitude or more. For example, a TECO macro
which does a large amount of substitution, deletion or
insertion of text throughout a file will normally be inefficient
because in order to delete or insert a character at the beginning
of the buffer, the entire buffer must be shifted one character
position. If text is brought in only a few lines at at time,
a tremendous amount of useless character shifting can be
The "nA" command (no colon) now returns the ASCII value of the
nth character to the right of the pointer. Note that "0A" will
return the value of the character to the left of the pointer,
while "-nA" will return the character n+1 positions to the
left of the pointer. If the position is outside the
boundaries of the buffer, a 0 is returned. "m,nA" is like
"nA" except that if the position is outside the buffer boundaries,
the value of m is returned instead of a 0.
It is now possible to obtain image typeout by giving the ET flag
a value of 2 using the "2ET" command. This mode differes from
normal literal typeout (1ET) by the fact that tabs, vertical tabs, form
feeds, etc., are sent directly to the terminal rather than
simulated with spaces and line feeds.
Improvements to existing features
Searching speed has been increased at least an order of magnitude
by use of the Boyer-Moore fast string search algorithm (See Oct. 77
issue of Communications of the ACM). One interesting feature of
this new algorithm is that the longer the search string, the faster
the search proceeds. Backward searching is still done using the
old algorithm, as is any search for a string less than 3 characters
long or which contains a _^ES.
Due to overwhelming popular demand, DEC's long-standing "feature"
which causes searches inside of iteration brackets <...> to
be treated as colon searches has been removed. Searches within
iterations no longer return a numeric value denoting success or
failure. The only difference is that if such a search fails,
it will never cause an error message to be issued. Semi-colons
can still be used to leave the iteration when a search fails.
Actually, the behavior of the semi-colon has not been changed:
"n;" will exit from the iteration if n is positive or 0, and will
continue within the iteration if n is negative. ";" with no
numeric argument will exit the iteration if the last search
failed, and will continue if the last search succeeded. The
main advantage of this change is that searches will no longer
return undesireable values. For example,
<Sabd$ R Ic$>$$
used to fail mysteriously because the search would return a value
of -1 which would, in turn, become an argument to R, giving it
the same effect as a C command.
The following new terminal types are now supported by TECO:
. ; ACT4 Micro-Term ACT-IV
. ; ACT5 Micro-Term ACT-V
. ; ADM3A Lear Siegler ADM-3A
. ; H1500 Hazeltine 1500
. ; HP2640 Hewlett Packard 2640
The "EV<terminal type>$" command can be used to specify the
type of terminal you are using, allowing TECO to provide
customized rubout-processing and cursor control.
The defaulting scheme for the EIfile$ and EPfile$ commands has been completely
In the absence of an explicit device or directory in the filespec,
TECO will search for the file in several different directories, taken
in order from the following list:
[-] Your default directory
. ; [,,TEC] (if it exists)
. ; [,] Your "logged-in" directory
. ; TED: The Text-Editing Library ([5,10]).
Missing portions of the filespec are still taken from the
previous EI or EP command, or from TECO.TEC.
If a device or a directory are specified, the above search scheme
will not take place. In order to reinstitute the search scheme,
it is necessary to cancel the sticky defaults by using the /DEFAULT
The character used to delimit temporary TECO command strings appended
to normal MAKE and TECO monitor commands has been changed from "%" to
"$" (dollar sign). For example,
will cause the given commands to be performed after TEST.RNO is
opened for editting.
For consistency, "EWfilespec/APPEND$" is now equivalent to
"EAfilespec$". Also, "EBfilespec/READONLY$" is now equivalent
to "ERfilespec$". (Previously /READONLY would only have effect
when used in a TECO monitor command.)
A warning message is now issued for an ER or EB command whenever
the file is found in a directory other than the one specified
due to /LIB or /SCAN.
The "Superseding Existing File" warning will no longer be
displayed if a /INPLACE switch is used with an EB or EW
command. (The switch is ignored by an EW except for this
TECO will no longer fail when trying to edit a file protected
to <4??> (for File Daemon). All .BAK files are now given a
protection of <0??> or <4??> where "??" matches the protection
of the original file.
TECO now recognizes a core argument on a monitor run command.
For example, "R TECO 50P" will now allocate more space for
a larger buffer, rather than shrinking down to normal size
after the initial core allocation.
TECO no longer messes up line-sequenced files which have been
previously editted by SOS. Page marks are now handled properly,
and sequence numbers no longer increase for ever but are
restarted after every page boundary.
An "S$" command which uses a previous search string will now
remember the proper setting of the "exact match" flag.
Backward, bounded searches occuring after the pointer no longer
fail. For example, "HK IA12345$ J 6,0S123$$" now succeeds.
"TECO filename/INPLACE" will now
properly overwrite the file even it is found in the LIB area
or by virtue of /SCAN or /SYS.
The EN (rename) command will never change the directory of a
file unless it is explicitly given.
Digit string handling has been fixed so that "2.5" or "3Z4" no
longer produce weird values.
TECO's EO flag has been given a default value of 3. Many
old features of TECO can be recovered by using a "2EO"
command to set the EO flag to 2. For example, "Y" commands
are allowed, searches return the pointer to the beginning
of the current buffer if they fail, and searches within
iterations return a value.