Trailing-Edge
-
PDP-10 Archives
-
decus_20tap5_198111
-
decus/20-0145/ante.t10
There are no other files named ante.t10 in the archive.
Differences Between ANTE and TOPS-10 TECO
ANTE (A Nother Text Editor) combines features from the TENEX and
TOPS-10 versions of TECO with some new features added. This note
describes the program for TOPS-10 TECO users who wish to try ANTE as an
alternative.
o Starting ANTE
ANTE may be passed the name of a file to read initially. Type a
semicolon and the file name on the monitor command line used to invoke
ANTE, for example
.R ANTE;TEXT.RNO
This will start ANTE and simulate the command ERTEXT.RNO$. (See the
description of ER below.) ANTE can also use the CCL interface, and at
some installations is invoked with the CREATE and EDIT monitor
commands.
o Special Functions of Control Characters
ANTE treats several control characters specially. When it is
necessary to insert one of the special characters into the text
buffer, its special function can be overridden by preceding it with ^V
(CONTROL-V).
^A deletes the last character in the input command. It is equivalent
to ^H (BACK SPACE) and DELETE.
^C during the middle of a command does not cause part of the command
to be lost when the user CONtinues editing. The partially input
command is saved, and a ^E is simulated when the program resumes.
^C is also specially handled during command execution. Two ^C's
will stop the command and exit to the monitor. The command can be
resumed by CONtinuing, or aborted by REEntering, which returns ANTE
to its own command ("*") level.
^E retypes the current command from the beginning, even if longer than
one line. (Contrast with ^R.)
^G deletes the current command when typed twice in succession, just as
in TECO.
^H (BACK SPACE) has two special functions during command input. If it
is the first character typed in a command, ^H causes ANTE to
simulate a -LV$$ sequence, i.e., to back up a line and type it.
After the first character, ^H causes the previous character to be
deleted, equivalent to DELETE and ^A.
Differences Between ANTE and TOPS-10 TECO Page 2
LINE FEED, when typed as the first character of a command, causes ANTE
to move to the next line and type it, i.e., to execute LV$$.
^L at the beginning of a command causes ANTE to move its attention
pointer (The N command is described below.)
^N at the beginning of a command moves the attention pointer forward
one word, i.e., it is equivalent to NV$$.
^R retypes the current line. It is just like ^R at monitor level and
in most other TOPS-10 software, but unlike ^R in TECO.
^U deletes the current line.
^W deletes the previous word in the command being input.
^V inserts the following character into the command stream without
giving it special interpretation. For instance, to insert a BACK
SPACE, the user precedes it by ^V. ^V only echoes when it has
itself been preceded by a ^V. Some characters, such as ^C and
ESCAPE, take precedence over ^V. They must be inserted using their
numeric codes.
^^ (CONTROL UP ARROW), when the first character of a command, causes a
-LV$$ to be performed, similar to ^H.
o Recovering the Last Command Typed
A common blunder in TECO-style editing is to forget to put an "I" at
the beginning of a text insertion. ANTE relieves this problem by
remembering the entire last command typed, which can be recovered with
the B* command. For example, if the user typed the command
*zjNeither a borrower nor a lender be.
$$
ANTE would respond with
? Unknown command Ei ?
The user can then execute zjb*-t$$. This will move the pointer to the
end of the buffer, where the user wanted the insertion to occur,
insert the entire text of the last command, including ESCAPEs, and
type the line inserted:
zjNeither a borrower nor a lender be.
$$*
It remains only to trim out the unwanted ESCAPEs and the initial "zj".
Note that ANTE will not have executed the commands "zj" or "N" prior
to the command "E" that it complained about. Unlike TECO, ANTE
performs a syntactic check of a command stream before executing any of
it. Had the erroneous command stream been syntactically legal, the
Differences Between ANTE and TOPS-10 TECO Page 3
user would have had to repair any other damage in addition to
recovering the failed insertion.
o Differences in Commonly Used Commands
ER not only opens a file for reading, it appends the entire file to
the current text buffer and then closes the file as well. The
attention pointer is not moved. ER takes the file name as a string
argument, just as in TECO. If no file name is given, ER uses the
last name given in an ER or EW command, including the simulated ER
command which may have been performed when ANTE was invoked.
CAUTION: If you switch from editing one file to work on another
without exiting from ANTE, be sure you clear the text buffer (HK)
before using ER to read the new file.
EW is like ER in that it not only opens a file, but writes the current
text buffer into that file and closes it as well. If the file
named by its argument already exists, EW will save it with the
extension .BAK. If EW is given no file name, it uses the last name
mentioned in an ER or EW command. It is handy when the user wishes
to save the current state of the file being modified without having
to exit from the editor or move the attention pointer.
EX is just like EW, except that it also EXits to the monitor after
writing the designated file.
EG is just like EX, except that it also causes the last compile-class
monitor command to be re-executed.
FD searches for and deletes strings. FDpattern$ is just like
FSpattern$$, i.e., a replace command (see below) with no second
argument, except that it need not be the last command in a stream.
FS is similar to FS in TECO, with the following differences: (1) When
the string to be replaced cannot be found, the attention pointer is
left where it was when the search began. (2) When a negative
argument is given, searching is done backwards from the current
pointer position instead of forwards. (3) If FS is the last
command in the command stream, a multiple replacement, i.e., nFS
for |n| > 1, causes a V command, displaying the result, to be
simulated after each replacement. (4) when given a numeric
argument, say n, it replaces n occurrences of the given string.
:K deletes the remainder of the current line without deleting the
RETURN and LINE FEED characters that terminate it. No arguments
will be accepted.
N is not a search command in ANTE. There is no need for "non-stop"
searching because the editor reads an entire file at once.
Instead, N is a positioning command analogous to C, except that it
counts words as it moves, instead of characters. A "word" to ANTE
is either a string of letters and/or digits, or a single
punctuation character (any printing character besides letters and
Differences Between ANTE and TOPS-10 TECO Page 4
digits). Other characters, such as spaces, TABs, and line
terminators, are skipped by the N command. Suppose the text buffer
contains the line
ANTE -- A Nother Text Editor
with the pointer just before "Nother". Then the command 2N would
leave the pointer just after "Text", and the subsequent command -5N
would leave it just before "--". Each punctuator, such as "-",
counts as a word by itself.
O is not a control transfer command in ANTE. It is a deletion
command analogous to D, except that it counts words instead of
individual characters. 5O will delete five words starting at the
current attention pointer position, as well as the intervening
separators. -3O will delete the three words just preceding the
pointer.
P is not an output command in ANTE. It is used to Put text into a
Q-register, and it works just like the X command in TECO.
R is not the inverse of C in ANTE. Instead, it is a Replace command,
similar to FS. It differs in that, when given a numeric argument,
say n, it replaces only the n-th occurrence of the given string;
nFS would try to replace n occurrences.
S is very similar to the Search command in TECO. The major
differences are: (1) An unsuccessful search leaves the pointer
where the search began, not at the top of the buffer. (2) An
unsuccessful search always causes exit of an enclosing iteration;
no ";" is needed, although one may be included without any harm.
(3) If S is the last command in the command stream, a multiple
search, i.e., nS, for |n| > 1, causes a V command to be simulated
after each intermediate match, displaying the context. (4) There
is just one "wild card" search character in ANTE, ^X, which works
the same as in TECO. (5) A negative numeric argument causes S to
backup one position in the buffer and then search backwards for the
given string. The backwards search performed by S thus differs
slightly from that performed by R, which does not backup one
position before attempting its first match.
:T types the remainder of the current line but without its terminator.
It will accept no argument.
X differs from the corresponding TECO command in that the text
inserted into the designated Q-register is also deleted from the
text buffer.
:X in ANTE is one of a series of commands (:K, :L, :P, :T, and :X)
that deal with the remainder of the current line. :XQ puts the
remainder of the current line, without its terminator, into
register Q and deletes the copied text from the text buffer.
Differences Between ANTE and TOPS-10 TECO Page 5
o Other Commands in ANTE Not in TOPS-10 TECO
A changes editing environments. Each Qregister is a separate
environment, with its own pointers, and may be edited just like the
main text buffer. In fact, the main text buffer is nothing but a
Qregister named '*'. The FQ command displays the status of all
active Qregisters.
:L moves the attention pointer to the end of the current line.
:P Puts the remainder of the current line, without its terminator,
into a Q-register.
V takes a positive integer argument, say n. nV types n-1 lines
preceding the attention pointer, then a marker, then n lines after
the pointer. The marker used is initially the string '~', but it
can be changed with the FV command.
After each command stream that doesn't end by printing something,
ANTE simulates a V command to show the user the context of the
attention pointer. Initially the simulated command is equivalent
to 1V, but the user can change set the size of the window printed
by executing wFW, where w is an integer. If w is 0, no automatic
context typeout will occur at all.