2.1 Available Commands..................................... 7
2.2 Description of Commands................................ 8
2.3 Commands Which Default................................. 13
2.4 Command Parser and Getting Help........................ 13
2.5 TOP LEVEL Summary...................................... 13
3.0 READ MODE
3.1 What is READ MODE?..................................... 14
3.2 Invoking READ MODE..................................... 14
3.3 Commands in READ MODE.................................. 14
4.0 SEND MODE
4.1 What is SEND MODE?..................................... 17
4.2 Commands in SEND MODE.................................. 19
4.3 Distribution List...................................... 23
4.4 Sending Messages to a File............................. 24
MM can be started by simply typing MM to the operating system top
level command handler, called the EXEC. The EXEC is identified by
the @ prompt. So to start MM you would type:
@MM [RETURN]
-- --------
MM then checks to see if you have new mail. If you do, it displays a
line indicating what the message number is, the receive date, who the
message is from, the subject and the length of the message in characters:
@MM [RETURN]
-- --------
N 20 6 Feb Jon Sandelin <JCSAN Meeting cancelled (426 chars)
Last read: 6-Feb-81 16:16:49, 20 msgs (19 old), 10 pages
In this example, the user types MM. The first line indicates that
the user has new mail. The next line, beginning "Last read:..." is
a summary of the contents of the file. The MM> prompt is what MM
types to show that it is waiting to receive a command from you. Let
us examine each of these lines in detail.
The first line is called a header. It is a condensation of what the
new message is about. The N means that the message is NEW (i.e.
you haven't seen it before and it is recent). The 20 indicates that
it is message number 20 in the file. The file is simply a group of
messages one after the other. If you have 19 messages in your file
and a new one arrives then it would be the 20th and have a 20 next
to it. The "6 Feb" is the date, February 6th. The "Jon Sandelin
<JCSAN" tells who the message is from. The "<JCSAN" is simply part
of the user name. The rest is too long to easily fit on the line so
it is chopped off in the header; however in the message body itself
it is completely visible. "Meeting cancelled" is the subject of the
message. The "(426 chars)" means that the message has 426
characters in it. This is merely a gauge for you since you might
prefer to look at it later if it is very long and you are on a slow
terminal.
Notice the single letter N at the beginning of the header line. Not
all messages have a letter next to their header like this. There
are several different flavors of letter: A, D, F, N, R and U.
Page 4
These mean ANSWERED, DELETED, FLAGGED, NEW, RECENT, and UNSEEN
respectively. A means you've answered the message. D means it is a
deleted message which will be erased from your message file next
time you give the EXIT or EXPUNGE commands. F means it has been
marked to draw attention to it via the FLAG command. We will
discuss this later. N means that it is recent and unseen. R means
that it has just arrived as of this MM session. And, of course, U
means that it has never been TYPEd or READ. (No letter in front of
a header means the message has already been seen.)
The next line begins with "Last read: 6-Feb-81 16:16:49...". This
means that your mail file was last read on February 6th, 1981 at
16:16:49 (or 4:16:49 in the afternoon -- MM uses a "24-hour" clock.).
There are 20 messages in the file, 19 of which are old, and the file
is 10 pages long.
1.2 Giving Commands To MM
When you see the MM> prompt, this means that MM is awaiting a
command. A command simply consists of an English word, or several,
typed to the MM> prompt followed by a carriage return. MM then
attempts to interpret that command. If it understands it, then it
executes it. If not, it will complain to you about the command
error. MM has a large list of commands that it understands. Each
one does a different thing. Not all of them are necessary for using
MM effectively, but they make a flexible whole for MM to operate
with.
One way of approaching MM is in the following manner.
1. You notice you have new mail. Either the system has told
you that you have new mail when you logged in or perhaps it
has told you with a message like 'You have a message from
...'
2. You invoke MM by giving the MM command to the EXEC.
3. MM outputs the headers of the new messages.
4. At the MM> prompt you type READ followed by carriage return
and proceed to read the new messages in a special mode
called READ Mode which is invoked via the READ command. As
you process each message, you might delete it, or save it,
or reply to it, or any of a number of different things.
5. After processing the last of the new messages, MM takes you
out of READ mode and back to the MM> prompt (also known as
the Top Level.)
6. Perhaps you now want to send some mail. You type MM>SEND
followed by a carriage return, and type in the people you
want to send it to, the subject, and the text, and then when
satisfied, you send it off.
Page 5
7. You then end your message session via the EXIT command.
8. Having returned to the EXEC, you are now free to do your
usual work.
The above is what a typical sample session with MM might look like.
We have purposely generalized some of the finer points, such as what
exactly is done while you are READing or SENDing messages. These
details will be considered later.
Remember that MM has an extensive internal help facility. At any
point in MM you can type a ? and get an informative message about
what is available to you at that point. Also, at any level you can
type HELP <command> where <command> is one of the things that MM can
give you help on. To find out what things it can give you help on
type HELP ? at Top Level, READ level or SEND level.
1.3 Message Sequences
One very important notion is that of the message sequence. A
message sequence is some group of messages that have a particular
trait in common (or which are just considered a sequence because you
talk to MM about them using their numbers -- e.g. 5:100 would be a
message sequence of the 5th through 100th message). There are many
message sequences. They are:
ALL This represents every message in your file, whether
deleted or not.
CURRENT The current message is the message that MM is
currently pointing at. MM keeps a pointer to the
message last READ or JUMPed to so that you don't
always have to know its message number to refer to
it. You may substitute a period wherever you would
ordinarily use CURRENT. This is merely an
abbreviation.
DELETED This represents messages that have been deleted via
the DELETE command. On a subsequent EXPUNGE or EXIT
command, the deleted messages will be physically
removed from your mail file and gone forever.
Generally, when you process new messages and reply
to them, you are finished with them and want to get
rid of them. You would DELETE them so that your
mail file doesn't become unnecessarily cluttered by
old messages.
Page 6
FLAGGED Sometimes you will want to keep old messages for
awhile because they have some relevance to immediate
tasks which you are doing. MM can make a particular
set of messages 'stand out' like a sore thumb. When
you FLAG a message it tells MM to remember that
particular message as a flagged message. The
headers of FLAGGED messages will be displayed
whenever you start MM, and all flagged messages
are accessible via the FLAGGED message sequence.
FROM You may want to have some way of looking at or
processing all messages from a particular person.
This message sequence is for that purpose. Suppose
you want to delete all messages in your message file
from a user named S.SILVERMAN. The way to do that
would be MM>DELETE FROM S.SILVERMAN. Note that
after FROM you type the user-name of the person that
you are interested in. So 'FROM S.SILVERMAN' or
more generally 'FROM <user-name>' accesses all
messages from <user-name>.
INVERSE This message sequence accesses all messages in
an inverse order (most recent message first).
LAST If you are interested in the most recent message
use the LAST message sequence. You may use a
percentage mark, % , instead of the word LAST when
specifying the last message. This is merely an
abbreviation.
NEW This refers to messages which are both RECENT and
UNSEEN. Generally this is a message which has
arrived while you were away from the computer, or
perhaps one that has just arrived while you were
working.
ON Suppose you would like to access the messages
received on 4-Jul-76. The sequence 'ON 4-JUL-76'
will do that.
RECENT Any message which is new as of this session with MM
is RECENT. If you have 5 new messages when you
login, then they would all be marked RECENT until
you've ended your session with MM.
SEEN Most messages are marked SEEN since you've usually
seen most messages in your file. Any message which
you have looked at at some earlier date is marked as
SEEN. A message that is marked SEEN will not have a
letter next to its header.
SINCE If you want to access all the messages received
since a given date you can use 'SINCE <date>'. For
example, to see all the messages since 4-JUL-76 you
could say TYPE SINCE 4-JUL-76.
Page 7
SUBJECT Suppose you are interested in all messages that
have a Subject including the word 'computer'. Then
you can access them via SUBJECT COMPUTER. More
generally 'SUBJECT <topic>' means a message sequence
with all messages including the phrase <topic> in
their Subject line.
TEXT If you are interested in messages which deal with
COMPUTER but may not have that as part of their
Subject line, then you can use the TEXT COMPUTER
message sequence. More generally, TEXT <phrase>
will mean a message sequence with all messages
including the phrase <topic> in the body of the
message.
UNANSWERED Any message which has not been ANSWER'd or REPLY'd.
UNDELETED messages not DELETEd.
UNFLAGGED messages not FLAGged.
UNSEEN messages which have never been TYPEd or READ.
or a SEQUENCE OF MESSAGE NUMBERS denoting specific messages
in the file: example 1:5, 7, 10:17, etc.
EXAMPLES
MM>READ FLAGGED [RETURN] would start READ Mode with all the
---- ------- --------
FLAGGED messages.
MM>TYPE FROM H.HENDERSON [RETURN] would display all the messages
---- ---- ----------- --------
from H.HENDERSON.
MM>TYPE 3:8 [RETURN] would display messages 3 through 8 individually.
---- --- --------
2.0 TOP LEVEL
2.1 Available Commands
When you start MM you are at the Top Level. This is identified by
the MM> prompt being displayed. At this level, all the power of MM
is available to you via a large number of commands which enable you
to manage your messages, read them, send new ones, reply to old ones
and so forth.
Page 8
We will now describe the functions and use of each of these in
detail. You will probably want to refer to these as you use MM the
first few times. These are essentially the descriptions you would
get by typing HELP <command> while in MM. Some of these mention
that they take arguments. What is meant by this is that you would
type first the command and then the argument, for example MM>ANSWER
3. In this example, ANSWER is the command and 3 is the argument.
The argument that ANSWER takes is a message sequence. As you recall
from the earlier description of a message sequence, the person could
have substituted 4:10 or 2,5,7 or FROM S.SILVERMAN for 3 above.
2.2 Description Of Commands
ALIAS takes a single argument, a username. It then causes
MM to behave as if you were that user; all mail sent
will be "from" that user (your login name will be the
"sender"), and MM will be reading the aliased user's
mail file.
ANSWER takes 1 argument, a message sequence you would like
to answer. So, to reply to message 3 you would say
MM>ANSWER 3 where 3 is the message number. Or you
could answer any other message sequence. After
typing MM>ANSWER 3 and then carriage return it asks
you "Reply msg #3 to:" and awaits one of "ALL" or
"SENDER". If you respond with ALL, then your answer
will go to everyone in the header of the message:
the person who sent it to you and everyone CCed. If
you respond with SENDER, then your answer will only
go to the sender of the message.
APPEND takes a message sequence, and appends those messages
together into one message.
BBOARD types the bulletin board file <BBOARD>mail.txt.
BLANK blanks your screen, if you are on a video display
terminal. If not, then it does nothing.
BUG can be used to report problems or suggestions to the
maintainers of MM. BUG puts you into SEND MODE with
a predefined list of addresses to send the bug to.
You send it the normal way you would send a message.
The response may take a short while, e.g. a day or
two.
Page 9
CHECK used to check for new messages that may have arrived
while you are using MM.
CONTINUE resumes a SEND which was interrupted by QUIT.
COPY takes two arguments. The first is a filename and
the second is a message sequence. It copies the
specified message sequence into the given file
leaving it intact in your mail file.
CREATE-INIT makes a file, MM.INIT in your directory which MM
subsequently reads when you start up a new MM. In
it, you can set various switches to make your MM
environment more comfortable and easy to use for
your own personal tastes. You can change the
settings by editing the file with your editor, or
you can use the SET command in MM. The following are
the settings possible:
BLANK-SCREEN-STARTUP ..number..
If 0, blanks screen on startup and between messages.
CONTROL-N-ABORT ..number..
If negative, never aborts on [CTRL]-N.
If positive, always aborts.
If 0, asks for confirmation before aborting.
DEFAULT-CC-LIST ...user-names...
A list of addresses to always CC your outgoing
messages to
EDITOR ...editor name...
The editor you want to use
ESCAPE-AUTOMATIC-SEND ..number..
If 0, both [ESC] and [CTRL]-Z return to SEND level when
inputting text. This is the default.
If positive, [ESC] sends the message and [CTRL]-Z returns to
SEND level.
If negative, [CTRL]-Z sends the message and [ESC] returns to
SEND level.
GET-CONNECTED-DIRECTORY ..number..
If 0, ask which mail file to read from if connected
to another directory.
If positive, then connected directory always.
If negative, then login directory always.
PERSONAL-NAME ...your name..
Used for outgoing messages
READ-PROMPT ...read mode prompt...
REPLY-CC-OTHERS ..number..
If 0, REPLY CC's everyone other than original sender.
REPLY-INCLUDE-ME ..number..
If negative, you receive a copy of REPLYs.
REPLY-INITIAL-DISPLAY ..number..
If negative, header of REPLY is displayed before
input prompt.
REPLY-SENDER-ONLY-DEFAULT ..number..
If negative, REPLY sent only to sender, unless
otherwise specified.
Page 10
SAVED-MESSAGES-FILE ..filename..
File to receive copies of your outgoing messages
SEND-PROMPT ...send mode prompt..
SEND-VERBOSE-FLAG ..number..
If negative, delivery of mail not confirmed.
If positive, delivery of messages confirmed.
TOP-LEVEL-PROMPT ...top level prompt...
USER-NAME ...your user name...
COUNT takes a message sequence, and prints out the number of
messages in that sequence.
DAYTIME tells you the current date and time.
DELETE takes one argument, a message sequence and marks it
for deletion. The messages are not erased until the
EXIT or EXPUNGE command is given.
EDIT takes one argument, a message sequence. It proceeds
to edit each message in that message sequence using
the editor specified in your MM.INIT file.
ENABLE enables your capabilities (if you have any.)
EXAMINE takes one argument, a filename. It is like the GET
command except that the file is read-only, and the
file reference date is not updatad.
EXIT used to erase any deleted messages in the current
message file and end a session with MM.
EXPUNGE used to erase deleted messages from the current
message file and write out a new copy of the file.
FILE-LIST is like the LIST command, except that it will ask
you which file you would like to list to. After
the file argument, it takes a message sequence
(rather than the lineprinter).
FLAG takes one argument, a message sequence. It marks
the messages in that sequence with the FLAG bit, so
with other commands that take message sequences as
arguments, the FLAGGED sequence will access those
messages.
FORWARD takes one argument, a message sequence. It forwards
the messages in the sequence to an address which you
specify after hitting carriage return.
GET takes one argument, a filename. It will read in
that message file, parse the messages and act as if
that were the default message file. All commands
now apply to that file.
Page 11
HEADERS takes one argument, a message sequence. It will
then output all the headers of that sequence in
order of lowest message number to highest.
HELP lets you get help on various topics including all
the commands at the level at which HELP is being
invoked. So to find out the things you can get help
on do HELP ?
JUMP allows you to specify a message in the current
message file to jump to. It resets that message to
be the CURRENT message. For instance, MM>JUMP 10
will make message number 10 be the current message.
KEYWORDS takes two arguments, a keywords list and a message sequence.
It will then marks the message in that sequence as being
included in the keyword. To define a keyword, put a line
in your MM.INIT of the form:
KEYWORDS list-of-keywords
This feature is useful for classifying old messages.
LIST prints a message sequence on device LPT: (usually the
lineprinter).
LITERAL-TYPE takes a single argument, a message sequence. It then types
out the bodies of those messages, without regard to
ONLY-TYPE-HEADERS or DONT-TYPE-HEADERS.
LOGOUT logs you out from the system after expunging and
updating your message file.
MARK takes one argument, a message sequence. It will
then mark the messages in that sequence as SEEN.
MOVE takes two arguments. The first is a filename and
the second is a message sequence. It moves the
specified message sequence into the given file and
deletes the sequence from your mail file.
NET-MAIL the NET-MAIL command will attempt to send any messages
that may be queued in your directory.
NEXT goes to the next message in the file and types it if
undeleted. The next message is considered to be the
one directly after the current one.
PREVIOUS goes to the previous message in the file and types
it if undeleted. The previous message is considered
to be the one directly before the current one.
PROFILE helps you set up an environment for using MM
corresponding to your desires in message handling.
It asks you a series of questions and then makes MM
remember your responses (via the MM.INIT file).
Page 12
PUSH gives you a new EXEC. This means that you'll get a
fresh copy of the TOPS-20 command interpreter, which
prompts you with @. At this point you can then do
anything, and you may get back to MM by typing POP.
QUIT exits MM without expunging messages marked for deletion.
RE-MAIL is similar to forward, except instead of inserting the
message after typein, the message is sent as is with
the headers modified to indicate who did the remailing.
READ takes one argument, a message sequence and starts
reading the messages in that sequence in special
READ Mode. For more information see the chapter on
READ MODE.
RESTORE-DRAFT takes a single argument, a file name created by the
SAVE-DRAFT command, and restores the state of the send
from that draft.
SEND starts sending a message. It prompts for the
addresses, subject and text of the message. To send
the message, type [ESC] after typing the text in. For
more information, see the chapter on SEND MODE.
SET allows you to change certain defaults that MM uses
in handling your messages. The various arguments
that you can give to SET are listed under the
CREATE-INIT command above. This command can be used
in conjunction with the CREATE-INIT command. You
could first type CREATE-INIT and then edit the
resultant MM.INIT in your directory or you can SET
variables and then type CREATE-INIT which will put
those defaults in MM.INIT.
STATUS tells you relevant information and statistics about
your current message file, i.e. how many messages
are deleted, unseen, how large the file is, etc.
SYSTEM-MSGS reads in the system message file <SYSTEM>MAIL.TXT.
TYPE takes a single argument, a message sequence. It
then types out each message in the sequence if it is
undeleted.
UNANSWER takes a single argument, a message sequence and then
removes the answered status from all the messages in
that sequence.
UNDELETE takes a single argument, a message sequence and then
undeletes all the messages in that sequence, i.e.
makes them so that they won't be physically removed
from the file when you give the EXIT or EXPUNGE
commands.
Page 13
UNFLAG takes a single argument, a message sequence and
unflags all the messages in that sequence, i.e.
makes them so that they are no longer accessible
through the FLAGGED message sequence.
UNMARK takes a single argument, a message sequence and then
unmarks all the messages in that sequence, i.e.
makes them appear unseen.
VERSION tells you the version number of the current MM program.
2.3 Commands Which Default
Commands such as HEADERS and TYPE, etc. which take arguments such
as a message sequence also default to the CURRENT message. If, at
any point, you want to know whether a command that takes an argument
defaults to one of its arguments, you can just type an [ESC] where
you would normally type the argument. If it has a default, it will
type it out and you can confirm that you want that argument by
typing a carriage return (otherwise you can abort with a [CTRL]-U or
backspacing). If it doesn't have a default, your terminal will beep
at you.
2.4 Command Parser And Getting Help
When you are prompted by the MM> (or for that matter in READ MODE by
R> or in SEND MODE by S>) you will be using a command parser that is
just like the one you are used to with TOPS-20. Partially typed
commands can be completed by typing [ESC]. Also, at any point you
can usually type a question-mark and get some useful help message.
This is completely separate from the HELP facility MM has built into
it already. So the important thing to remember is that you should
type ? and [ESC] whenever you are not sure of what to do next.
Also, typing HELP should be of some assistance.
2.5 TOP LEVEL Summary
Of the above commands, by far the ones you will use most frequently
are READ and SEND. Each of these invokes its own special mode that
is identified by a different prompt from the Top Level MM> prompt.
You should carefully study the following chapters on READ MODE and
SEND MODE.
Page 14
3.0 READ MODE
3.1 What Is READ MODE?
READ MODE is a special way of reading and processing the messages in
your message file. It has a number of commands, many of them very
similar to the ones in TOP LEVEL, but different in that they refer
only to the message being read. So, for instance, if you were to
type READ 3, then the commands in READ MODE would, for the most
part, apply to message 3. If you typed READ 3:10 (meaning to read
messages 3 through 10, individually and one right after the other),
then the commands in READ MODE would apply, for the most part, to
each message between 3 and 10 inclusive as you read it. This turns
out to be very useful for managing your message file since you will
usually be dealing with individual messages.
3.2 Invoking READ MODE
READ MODE is invoked simply by typing READ at the TOP LEVEL followed
by an argument. (If the argument is left out, READ is taken to mean
READ NEW and it will read any new messages you may have. If none
exist, then it simply returns you to the Top Level). When you
start MM and it tells you you have new messages, you should type
READ in order to process the new messages one at a time.
3.3 Commands In READ MODE
Following is a list of the commands available to you while in READ
MODE. READ MODE is identified by the R> prompt. At that prompt,
any of the following commands can be used: Blank, Continue, Copy,
Delete, Edit, Flag, Forward, Header, Help, Keywords, List,
Literal-type, Move, Net-mail, Next, Previous, Push, Quit, Re-mail,
Reply, Send, Type, Unanswer, Undelete, Unflag, Unkeywords, Unmark.
The following descriptions are basically what you would see if you
typed R>HELP <command>. Notice that these commands are very similar
to the TOP LEVEL commands, except that they do not take message
sequence arguments. Instead, they apply to the message currently
being read:
BLANK blanks the terminal screen.
CONTINUE resumes a SEND which was interrupted by QUIT.
COPY takes one argument, a filename and copies the
message currently being read into that file.
DELETE deletes the message currently being read.
Page 15
EDIT edits the message currently being read with the
editor specified by the EDITOR variable in your
MM.INIT
FLAG makes the message currently being read be FLAGged
so that the FLAGGED message sequence will contain
this message.
FORWARD forwards this message to other users. Suppose
you are READing a message that you think
S.SILVERMAN should also see. Then you could
FORWARD him the message.
HEADER outputs the one-line header summary of the current
message sequence.
HELP Allows you to get help on a specific topic of
interest in READ MODE. HELP <command> gets help on
that particular command. HELP, followed by a
carriage return, gives you a general HELP for READ MODE.
KEYWORDS takes one argument, a keywords list. It will then
mark the current message with the designated keyword(s).
To define a keyword, put a line in your MM.INIT of
the form:
KEYWORDS list-of-keywords
This feature is useful for classifying old messages.
LIST This prints the current message on the lineprinter.
LITERAL-TYPE types out the body of the current message, without
regard to ONLY-TYPE-HEADERS or DONT-TYPE-HEADERS.
NET-MAIL the NET-MAIL command will attempt to send any messages
that may be queued in your directory.
MOVE takes 1 argument, a filename. So R>MOVE MESSAGES
[RETURN] would move the message currently being
read into that file and then subsequently delete
the message. Note that this is similar to the COPY
command in READ MODE which moves it into a file
but doesn't delete it from your mail file.
NEXT proceeds to read the next message in the sequence
currently being read. So if you are currently
READing 3 and you had specified MM>READ 3:6, then
typing R>NEXT would go on to read message 4. (You
can also just type a carriage return at the R>
prompt. This is the same as typing NEXT.)
Page 16
PREVIOUS goes to the previous message in the file and types it
if undeleted.
PUSH gives you a fresh copy of the TOPS-20 command
language interpreter, heralded by the @ prompt.
(To get back into READ mode, type POP at the @ prompt.)
QUIT gets you out of READ MODE and back to the TOP LEVEL.
RE-MAIL is similar to FORWARD, except instead of inserting the
message after typein, the message is sent as is with the
header modified to indicate who did the remailing.
REPLY Suppose you are READing message 3 and think it
warrants a reply on your part. Then you should type
REPLY. It will automatically setup to reply back to
the sender of message 3. End your reply with [ESC]
just like in SEND MODE.
SEND puts you into SEND MODE so you can send a message.
If you are READing a message and it reminds you to
send a message to someone, you would type SEND at
that point. You get out of SEND MODE via [ESC], which
sends the message gets you back to READ MODE.
TYPE displays the current message.
UNANSWER removes the answered status from the message currently
being read.
UNDELETE undeletes the message currently being read, assuming
it has been DELETED earlier at some point.
UNFLAG unflags the message currently being read, assuming
it has been FLAGged earlier at some point.
UNKEYWORDS unmarks the messages currrently being readk, as not being
included in the keyword.
UNMARK unmarks the message currently being read, i.e., makes
it appear unseen.
Page 17
4.0 SEND MODE
4.1 What Is SEND MODE?
SEND MODE is invoked by the SEND command at TOP LEVEL or in READ
LEVEL. In the following examples, underlined words in uppercase
are those which you would type. Whenever you SEND a message, REPLY
or ANSWER a message, or send a BUG report, SEND MODE is invoked in
some form. Suppose you type SEND followed by a carriage return:
MM>SEND [RETURN]
---- --------
To:
At this point, MM is awaiting a list of addresses to send the
message to. Legal addresses are of the form USERNAME or
USERNAME,USERNAME,USERNAME (i.e., several usernames separated by
commas). Suppose you want to send a message to S.SILVERMAN,
JHSIEGMAN, and JCSANDELIN. You would say
The list of addresses is terminated with a carriage return. Notice
that space will be ignored. You could just as well have said
'S.SILVERMAN,JHSIEGMAN,JCSANDELIN'. They are separated by space
here only for readability. This is known as specifying the TO-LIST
in sending a message. The next thing it will ask you for is a
CC-LIST:
MM>SEND [RETURN]
---- --------
To: S.SOLOMON [RETURN]
--------- --------
cc:
At this point you can specify a set of legal addresses as described
above. These people will be sent a 'carbon copy' of the message.
Usually you carbon copy people who, although you aren't sending them
the message specifically, you would like them to see the message
anyway. Suppose you would like to send a message to S.SOLOMON,
M.MCLURE and would like VLAKANA to also receive a copy but you
don't want her to feel as if he should respond. Then you would type:
After specifying the CC-LIST you will then be asked for the subject
of the message. Usually this is just a few words or a phrase which
describes the topic of your message. For example, if you are
sending a message to the above people about the recent difficulties
involved with your project, you might say something like
After specifying all of the above information, you will be asked to
actually type in the body of the message itself. Suppose you want
to send a message to the above people, saying 'I AM ENCOUNTERING
PROBLEMS WITH ACCESSING THE COMPUTER ON A REGULAR BASIS DUE TO THE
EXTENDED PERIODS OF DOWNTIME. WHAT, IF ANYTHING, CAN BE DONE TO
INSURE THE STABILITY OF THE COMPUTER?'. To do this you should type:
MM>SEND [RETURN]
---- --------
To: S.SOLOMON, M.MCLURE [RETURN]
---------- -------- --------
cc: VLAKANA [RETURN]
------- --------
Subject: DIFFICULTIES ENCOUNTERED WITH PROJECT [RETURN]
------------ ----------- ---- ------- --------
Message (end with ESCAPE or ^Z):
I AM ENCOUNTERING PROBLEMS WITH ACCESSING THE COMPUTER ON A [RETURN]
- -- ------------ -------- ---- --------- --- -------- -- - --------
REGULAR BASIS DUE TO THE EXTENDED PERIODS OF DOWNTIME. WHAT,[RETURN]
------- ----- --- -- --- -------- ------- -- --------- -------------
IF ANYTHING, CAN BE DONE TO INSURE THE STABILITY OF THE [RETURN]
-- --------- --- -- ---- -- ------ --- --------- -- --- --------
COMPUTER? [RETURN]
--------- --------
[ESC]
-----
S.SOLOMON -- ok
M.MCLURE -- ok
VLAKANA -- ok
MM>
In the above example, the message is typed in and ended with
[ESC]. MM responds by confirming the delivery to S.SOLOMON and
M.MCLURE and VLAKANA. Thereafter, it returns back to the TOP
LEVEL MM> prompt.
Page 19
While typing the text of your message, there are a number of
useful commands that can be used. The commands are:
[CTRL]-B insert a file into the place where you are currently
typing. You will be prompted with INSERT FILE: at
which point you should type the name of the file you
want inserted and then a carriage return. You can
then continue typing more of the message or send it.
[CTRL]-C clobber MM and return to the TOPS-20 command
(or [CALL]) language interpreter, heralded by the @ prompt. If
you run a program at this point, you will lose your
MM core image. To get back to it type @CONTINUE.
[CTRL]-E invoke the editor specified in the EDITOR variable
entry in your MM.INIT file on the text of the
message as typed so far. (The default is TVEDIT.)
[CTRL]-I inserts a tab into the text at the point where you
or [TAB] are currently typing text in.
[CTRL]-K types out the text of the message as it appears thus
far.
[CTRL]-R retypes the line that you are typing, from
leftmost character to rightmost.
[CTRL]-U erases the line that you are typing, from
leftmost character to rightmost.
[CTRL]-W erases the last word you typed.
[DELETE] delete the last character.
[ESC] or escape to SEND MODE heralded by the S> prompt at
[CTRL]-Z which point any of the SEND MODE commands apply.
To send the messgage, type SEND and then a carriage
return.
4.2 Commands In SEND MODE
As you see above, simply typing MM>SEND will not immediately put you
into SEND MODE with the S> prompt. What will do this is finishing
the text of your message with an [ESC] or [CTRL]-Z. However, if
you want to change some attribute (e.g. add or subtract an address
from the header, change the subject, etc.) you will need to get to
the S> prompt with an [ESC] or [CTRL]-Z. If you do this, then you
can use any of the SEND MODE commands. They are: BCC, BLANK, CC,
DISPLAY, EDIT, ERASE, HEADERS, HELP, INSERT, LITERAL-TYPE, PUSH,
QUIT, REMOVE, RESTORE-DRAFT, SAVE-DRAFT, SEND, SUBJECT, TEXT, TO,
TYPE, USER-HEADER.
Page 20
Following is a description of each of the above commands:
BCC A blind-carbon copy is like a carbon-copy except
that anyone who is not blind-carbon copied does not
see the people who are. This is useful if you want
to send a note to S.SILVERMAN and would like
VLAKANA to see the message but don't want
S.SILVERMAN to know that VLAKANA is also
receiving a copy of the message. To do this you
would put S.SILVERMAN as the To: recipient and [ESC]
to SEND LEVEL and say S>BCC VLAKANA followed by
a carriage return.
BLANK blanks the terminal screen.
CC This is used to add more carbon-copy addresses to
the CC-LIST. To add JHSIEGMAN and JCSANDELIN, you
would say S>CC JHSIEGMAN, JCSANDELIN.
DISPLAY If you want to show the message you've typed thus
far, its addresses, and the subject line, you can
say S>DISPLAY followed by a carriage return. If the
message is very long and you just want to display
one of the fields, you can say S>DISPLAY TO or
S>DISPLAY CC or S>DISPLAY SUBJECT or S>DISPLAY TEXT
and a carriage return to show the corresponding field.
EDIT A very useful feature that you will have occasion to
use is to edit the text of your message. To do
this, simply type S>EDIT followed by a carriage
return. MM will then invoke the editor specified
after the EDITOR variable in your MM.INIT file
(If you specify none, the system default is TVEDIT.).
To get back to MM you will have to use the standard
exit from your editor ([ESC] [ESC] F if TVEDIT).
ERASE Suppose you want to completely erase some field of
your message, either TO, CC, SUBJECT, TEXT or ALL.
You can use the ERASE command to do that. So to
erase the text of your message, S>ERASE TEXT and a
carriage return. MM will not let you send a message
that doesn't have at least some TO: entry so if you
S>ERASE TO, you will have to specify some other
address(es) with the S>TO command in order to send it.
HEADERS This command is identical to the one at TOP LEVEL. It
lets you type out the headers of any messages in
your message file. It takes a message sequence as
an argument. However, it defaults to the current
message.
HELP This is the SEND MODE HELP command. You can use it
to get general help about SENDing (by just saying
S>HELP) or you can get more specific help by doing
S>HELP <topic>. You can get a list of topics by
saying S>HELP ?.
Page 21
INSERT If you would like to insert the contents of a file
as an addendum to your message, you should use this
command. So to insert the file ADDENDUM, you would
say S>INSERT ADDENDUM followed by a carriage return.
LITERAL-TYPE This will type out the bodies of messages, without
regard to ONLY-TYPE-HEADERS or DONT-TYPE-HEADERS
informatin in your MM.INIT.
PUSH This is identical to the PUSH commands at TOP LEVEL
and READ LEVEL. It gives you a fresh copy of the
TOPS-20 command language interpreter, heralded by
the @ prompt. To get back to SEND mode, type
POP.
QUIT Similar to the QUIT commands at TOP and SEND levels.
This takes you to the level immediately above your
current SEND LEVEL. So it could take you back to
TOP LEVEL if you had just previously been there. Or
if you had given the SEND command at READ LEVEL it
would take you back there. Note that this will
abort the current message so you will lose any
partially completed message you have been typing.
REMOVE Suppose you have a long list of addresses in your
TO-LIST and you want to remove one of them. You
certainly don't want to ERASE TO since then you'll
have to type them all in again. Rather you'd like
to REMOVE the appropriate address. REMOVE is the
command to do that. So suppose your TO-LIST looks
like To: RDLAI, M.MCLURE, S.SILVERMAN,
JCSANCELIN, SONDRA. You can remove JCSANDELIN by
simply typing S>REMOVE JCSANDELIN [RETURN].
RESTORE-DRAFT If you were interrupted in the middle of a SEND and
you saved a copy of the partial message with the
SAVE-DRAFT command (see below), you can recall that
message and finish it with this command.
SAVE-DRAFT If you are interrupted in the middle of sending a
message, you can save the draft and return to it
later by using the SAVE-DRAFT filename command.
Your message will be stored in a file which is saved
in your directory. A copy of this draft stays in
this file until you delete the file from your directory.
SEND If you have decided that you want to send off the
current state of your message, you can do so by
typing S>SEND followed by a carriage return, or you
can just type a carriage return at the S> prompt.
SUBJECT This is used to change the subject of the current
message you are sending. To change the current
subject to be BUDGETS you should say S>SUBJECT
BUDGETS. BUDGETS, of course, can consist of more than
one word, if you so desire.
Page 22
TEXT If you want to add text on to the end of the text as
it currently exists, you can use this command. To
add 'THE GREY DOG JUMPED OVER THE LAZY SWAN' you
would simply say
S>TEXT [RETURN]
---- --------
THE GREY DOG JUMPED OVER THE LAZY SWAN [ESC]
--- ---- --- ------ ---- --- ---- ---- -----
TO To add more addresses to the TO-LIST, use this
command. For example, to add JEMARCUS,
M.MCLURE, RDLAI to the TO-LIST, you would
simply type
TYPE This displays the message which would be typed out
by the MM>TYPE CURRENT command at TOP LEVEL. For
example, suppose you are at TOP LEVEL, give the TYPE
command followed by a message number. It types out
that message, and perhaps you desire to send off a
message to someone since you have just remembered
something that the message reminded you of. So you
type MM>SEND. Then, while typing in your message,
you want to refer back to that message again. To do
that, simply get to the S> prompt and say TYPE
followed by a carriage return. This types out that
message.
Page 23
4.3 Distribution Lists
Thus far, we have dealt with short TO-LIST's and CC-LIST's. But
what happens if you have 50 people you want to send a message to,
and perhaps you send messages to this group of people fairly often.
Clearly, you don't want to have to type the names in each time.
Besides, if you had to do this, the header of the message would be
extraordinarily long. There is a facility in MM for using
distribution lists.
A distribution list is simply a file, created with an editor, containing
user names in it. For example, suppose you send a message to a
group of users who head their projects. So you would create a file
called PROJECT.LEADERS consisting of:
If a file called PROJECT.LEADERS contains the above text, you can
then use the file as a distribution list. So when you are prompted
with 'To:' or 'cc:' you can say '@PROJECT.LEADERS' and have the
above file inserted at that point. If you subsequently do a
S>DISPLAY to see what has been put in the header, you'll note that
only the text up to the colon is put in. So, for the above example
if you did:
MM>SEND [RETURN]
---- --------
To: @PROJECT.LEADERS [RETURN]
---------------- --------
cc: [RETURN]
--------
Subject: SUMMARY OF WORK [RETURN]
------- -- ---- --------
Message (end with ESCAPE or ^Z):
A SUMMARY OF THE WORK DONE SO FAR ON OUR RESPECTIVE [RETURN]
- ------- -- --- ---- ---- -- --- -- --- ---------- --------
PROJECTS CAN BE FOUND IN <PROJECTS>SUMMARY.TEXT. [RETURN]
-------- --- -- ----- -- ----------------------- --------
[ESC]
-----
S>
and now if you do a S>DISPLAY TO, you would see
S>DISPLAY TO [RETURN]
------- -- --------
To: mailing-list:
S>
This is done so that you don't have to have the entire group of
people in the header of the message. Rather, they are referred to
collectively by the title appearing before the first colon in the
PROJECT.LEADERS file. Of course, if you just have usernames
separated by commas, then they will all be included in the header.
Note that this distribution list capability works for the TO-LIST,
CC-LIST, and BCC-LIST.
Page 24
4.4 Sending Messages To A File
You can also send messages to a file. This is done by simply
specifying *<FILENAME> when you are prompted with the To: or cc:.
For instance, if you wanted to send a copy of the above note to
those project leader people and also CC a copy of the message to a
file called MESSAGE.PROCEEDINGS in your directory, you could say:
The best way to learn how to use MM is to look at this manual while
you use MM. As you desire to read or send a message, look up the
corresponding chapters on READ MODE and SEND MODE and use the
information contained in them to learn more during your first MM
sessions. Trying to remember all the different possibilities is
just a waste of your time, since you certainly won't need to use
them all.
If, after you have used MM extensively, you feel that something has
been left out of the program, feel free to use the BUG command. We
are willing to listen to reasonable suggestions and let you know if
anything can be done.