Trailing-Edge - PDP-10 Archives - BB-P527A-BM - subsys/ms.hlp
There are 19 other files named ms.hlp in the archive. Click here to see a list.

This help file reflects DECmail/MS version 10(2124), running
under TOPS-20.

The SHOW VERSION command will display MS's  version  number,
GLXLIB's version number (GLXLIB is a subroutine library used
by MS), and a list of optional features  which  the  current
version supports (such as networks).

        DECmail/MS is a product that provides facilities for
sending  and receiving messages, and for filing, retrieving,
editing, and discarding these messages.  This help file  ex-
plains  how  to use MS.  MS is that part of DECmail/MS which
provides a command-mode user interface;  it is the only pro-
gram  that  you actually communicate directly with (although
there are other programs performing tasks invisibly  in  the
background).    MS  is  extensively tailorable to individual
taste and styles of usage, and yet is easy for the novice or
infrequent  user  to use.  The structured HELP command makes
it self-documenting.  This file (MS.HLP) is  separated  into
pages, one page per topic.  The name of the topic appears on
the first line of each page.  This is how the  HELP  command
in  MS  can select that part of the documentation pertaining
to a single topic.

o       If this is  your  first  exposure  to  TOPS-20,  you
        should give the command HELP NOVICE first.

o       If  you  are  familiar  with  TOPS-20-style  command
        parsers  (that  is,  you know about the functions of
        the ESC and ?  keys), but not with  electronic  mail
        systems   similar   to   MS,  you  should  say  HELP

o       If  you  are  already  familiar  with  TOPS-20-style
        command  parsers  and you have used other electronic
        mail systems before, you probably need only to  type
        ?  a lot and feel your way around.

        For all users, it is recommended that you  read  the
documentation  under  HELP COMMAND-LEVELS before first using

If you've gotten this far, you already know how to get  into
MS  and  how to use the HELP command.  This section explains
elementary usage of MS.  But first, a little terminology.


        The keyboard of the terminal you're using is  almost
exactly  like  that  of  a  modern electric typewriter.  The
major difference is that there are a few new keys,  and  one
or two with different meanings.

CARRIAGE-RETURN or RETURN (sometimes called CR, RET,  <ret>,
or <return>)

        This key  has  the  usual  meaning  of  telling  the
terminal  that you're done with the current line of text and
wish to move on to the next line.  It also indicates  to  MS
that you're finished typing a command, and would now like MS
to act upon the command.  All MS commands must  be  finished
with  RETURN  and  MS  will  not  act upon the command until
you've pressed the RETURN key.

ESCAPE (sometimes called ESC, or ALTMODE on older terminals)

        This key, usually found at the upper lefthand corner
of  the  keyboard,  performs  a particularly useful function
called RECOGNITION.  Many MS commands have long  names,  and
to have to type the name out in entirety would become rather
dreary.  In order to save you some typing, MS will allow you
to  type only as much of the command name as is necessary to
uniquely specify it.  For example:  suppose there  are  only
three commands beginning with the letter T:  TAKE, TAPE, and
TWIST.  If you typed only TA, MS  cannot  know  whether  you
mean  TAKE  or TAPE, since both begin with TA.  If, however,
you type TW, MS knows you mean TWIST.  Similarly, TAK  could
be a valid abbreviation for TAKE and TAP for TAPE.
        Using  abbreviations  at  all  times  can  save  you
typing,  but  can  look  rather  cryptic.  And you sometimes
don't know how much of a command you need to type before  MS
will  be  able  to recognize it, especially when you're just
starting out.
        The ESCAPE key makes all this much easier.   If  you
think  you've typed enough of a command for MS to recognize,
press the ESCAPE key.  If you have typed enough of the name,
MS  will  finish  typing  the  name for you.  If you haven't
typed enough, so that what you have typed is  ambiguous,  MS
will ring the terminal's bell.  And if there are no commands
beginning with the abbreviation you've typed, MS  will  tell
you that.
        Returning to our previous example,  where  the  only
three  commands beginning with the letter T were TAPE, TAKE,
and TWIST, if you were to type TW and then press the  ESCAPE
key,  MS  would  type  the letters IST, to complete the word
        Using recognition has one additional advantage:   if
the  command  whose  name is being typed requires additional
information, pressing the ESCAPE key will cause MS  to  type
"guide  words",  in  parentheses, which hint at what you are
expected to  type  next.   In  our  example,  if  you  typed
TW<ESC>, you might see this on your screen:

        MS>TWist (and shout)

        The words "and shout" are the guide  words  for  the
TWIST  command.   This  example is a bit whimsical, but does
illustrate how recognition and guide words act  together  to
help lead you through the commands.


        Another key on your terminal which is not  found  on
typewriter  keyboards  is  the  CONTROL key, which is usally
labelled CTRL.  This works much like the SHIFT key, in  that
it  does  nothing  by itself, but modifies the action of any
key you press while holding the CTRL key  down.   Characters
typed  while  holding  the  CTRL key down are called CONTROL
CHARACTERS;  for instance, the character you  generate  when
you  hold  the CTRL key down and type the letter A is called
ctrl-A.  The most useful control character to you right  now
is ctrl-Z.  You use ctrl-Z to tell MS that you have finished
typing the text of a message you're sending and that MS  can
now  send  the  message.   You  would  not  want  to use any
ordinary text character for this purpose, because that  text
then  would  not  be allowed in the text of a message you're
sending.  Since control characters  don't  ordinarily  print
anything  on  your screen, but simply instruct the system to
do something for you, they are the only  good  way  to  type
commands  to  the system while you're entering the text of a


        At any time, if you are not sure  what  commands  or
arguments MS has available, you can type a question mark and
MS will list them all for you.   This  is  very  similar  to
"menu  mode" in other systems, except that the menu is shown
only when you request it by typing a question mark.  For in-
stance, when you first run MS, it prompts you by typing


and awaits your first command.  This is  called  TOP  LEVEL.
At  this point, to get a list of all the available top level
commands, type a question mark, and they will be displayed.

        You give MS a command by typing the command's  name,
possibly  followed  by  additional information (depending on
the particular command), and  then  typing  a  RETURN.   The
additional  information you supply is called the "arguments"
to the command.  If MS prompts you with anything other than


then you have  entered  another  command  level.   The  QUIT
command always returns you to the previous level.       This
is the end of the NOVICE part of MS's documentation.  We re-
commend  now  that  you  skim  the  information  under  HELP
COMMAND-LEVELS and HELP VOCABULARY;  there is a lot  of  in-
formation there, but for now just try to skim it once.  Then
try HELP SEND and HELP READ, and try sending  yourself  some
mail.  That should get you started.

MS sends, receives, and files messages.  These  are  exactly
analagous to office memos;  they are sent "To:" some people,
and "cc:" to others.  They have a subject,  and  some  text.
They  also have a date, which is supplied automatically when
you send the message.  A message is composed of  two  parts:
the "header area", at the top of the page in which a message
occurs, contains things like the date, subject,  to  and  cc
lists,  and  other identifying information;  the "text part"
contains the actual text of the message.

The first few lines of a message are called the header area,
or  message  header.   The header area is separated from the
text of the message  by  a  blank  line.   The  header  area
consists  of several "header-items".  A header-item consists
of the header-item's  name,  a  colon,  and  then  the  data
portion  of the header-item (which may extend over more than
one line).  Typical header-items that MS always supplies in-
clude  the date the message was sent, the subject, to and cc
lists, and the name of the sender.  You may use  the  DEFINE
HEADER-ITEM command to define your own header-items.    Here
is a sample message:

Date: 12 Sep 81 1445-EST
From: Larry Campbell <LCampbell at DEC-MARLBORO>
To: Joe Newcomer at CMU-10A, Hurley at KL2102
cc: Fred the New Guy at MIT-XX, Engel at KL2102, Hall at KL2102,
    Purretta at KL2102, Another User at MIT-XX
Subject: This is a test

Hi!  This is just a test of this system.
This is the message text.

        In this example, the first six lines, beginning with
"Date:"  and  ending  with  "Subject:", are the header area.
Next is a blank line, which separates the header  area  from
the  message  text.   Finally there are two lines of message
text and the closing line,  contain  a  string  of  hyphens.
There   are  five  header-items  present  in  this  message:
"Date:", "From:", "To:", "cc:", and "Subject:".   The  "cc:"
item  in  this message illustrates the case of a header-item
which  is  too  long  to  fit  on  one  line.   The  strings
DEC-MARLBORO,  MIT-XX, KL2102, and CMU-10A are all the names
of different computers in a network.  To  fully  specify  an
address,  you  need both the user's name and the name of the
computer that he or she uses.

A file is similar  to  the  contents  of  an  ordinary  file
folder.   A  file  has  a name, called a FILESPEC (short for
file specification).  Although a filespec  can  have  up  to
four  parts  (the  DEVICE,  DIRECTORY, NAME, and EXTENSION),
ordinarily you can ignore the device and directory  and  use
only  the  name and extension.  A file name or extension can
consist of any sequence of letters, numbers, and hyphens  up
to 39 characters long;  it must not contain spaces, dots, or
other special characters.  For instance, "name1",  "budget",
"memo-to-the-president",   and  "my-letter"  are  all  valid
names.  "This is my letter" is  not;   it  contains  spaces.
The  extension  is separated from the name by a dot, so that
MAIL.TXT is a file whose name is MAIL and whose extension is
TXT.   For more information about filespecs, see the TOPS-20
User's Guide.

MS deals with message files, one at a time.  A message  file
is  simply  a  file containing one or more messages.  MS can
only handle one file at a time, but it is simple to put  one
file  away and take another out to look at.  Each message in
a file has a MESSAGE NUMBER;  the messages are numbered from
one on up to however many messages there are in the file.

Since MS can only handle one message file at a time, the one
you are currently dealing with is called the current message
file.  You may think of MS as  a  desk  which  is  only  big
enough to hold one file folder.

Every user has his or her own personal message  file.   This
is exactly analogous to an in basket.  All incoming messages
go into your message file.  It is called MAIL.TXT (the  name
is MAIL and the extension is TXT).

You send messages to, and receive them from, users of a com-
puter.  Each user of a computer has a username, which is the
name by which the computer knows that person.  When  sending
to  another  TOPS-20  system, or a TOPS-10 system, usernames
generally follow the same rules as file  names;   up  to  39
characters of letters, digits, and hyphens.  When sending to
a system which does not run TOPS-10 or  TOPS-20,  the  rules
for  forming usernames may be different.  If you are sending
to a user whose username contains characters not allowed  in
TOPS-10/TOPS-20 usernames (like parentheses, spaces, and the
like), then you must  enclose  the  username  inside  double

An address tells MS where to send a message.  There are  two
kinds  of  address,  depending on whether the person you are
sending to  uses  the  same  computer  that  you  do  (LOCAL
ADDRESS)  or a different one (NETWORK ADDRESS, because their
computer is connected to yours through a computer  network).
A  local  address is just a username.  A network address has
two parts:  a username (just like a local user), and a  HOST
NAME, which names the computer that they use.  For instance,
somebody who uses a computer called  HOST2  and  who  has  a
username  of  Joe  would  have  a NETWORK ADDRESS of "Joe at

MS has three command levels:  top  level,  read  level,  and
send  level.  Each command level has a different prompt, and
each level has its own set of commands.  TOP LEVEL, which is
the  level  you  see when you first run MS, has commands for
dealing with message files as a whole, or  for  manipulating
entire  groups  of  messages  at  once.  READ LEVEL operates
after you have selected a message to read, and has  commands
for  dealing  with the current message only.  And SEND LEVEL
contains commands for composing, editing, and filing  drafts
of  messages, and for finally sending the message once it is
complete.  At all levels, the QUIT  command  always  returns
you  to the previous level;  typing QUIT at top level causes
MS to stop.

When you first run MS, you are at top level.  MS prompts you
for a command by typing


The next command level you are likely to see is read  level.
It prompts you for a command by typing

MS Read>>

You enter read level by using the READ  command.   You  give
the  READ  command  a message sequence, which tells MS which
messages you want to read.  It then types the first  message
in the sequence, and prompts you for a command.  You may now
type a command to do something with that  message,  or  type
carriage-return  to  go  on to the next message.  When there
are no more messages to read, MS returns to top level.   For
more details on read level, give the command HELP READ.

Most top level commands which act upon  a  message  sequence
are also available in read level.  At read level, instead of
taking a message sequence as an argument, they act upon  the
most recently displayed message.

SEND LEVEL is sometimes invoked as part of  the  process  of
sending  a  message,  or  composing a message draft prior to
sending it.  Send level is invoked in one of  the  following
four ways:

1)      You ask MS to put you there, by typing an ESC  while
        entering the text of a message you are sending;

2)      You use the RETRIEVE DRAFT (q.v.)  command  to  con-
        tinue  working  on  a draft which you had previously
        saved with the SAVE DRAFT command (q.v.);

3)      You use the RETRIEVE LAST-MESSAGE (q.v.) command  to
        retrieve the draft of the last message you sent;

4)      MS puts you there automatically, because it  encoun-
        tered some problem while sending a message.

The send level prompt is:

MS Send>>

The commands available in send level allow you to modify any
part  of  a message which you are in the process of sending.
You can add or delete users to the  "To:"  or  "cc:"  lists,
change  the  subject line, edit the text of the message, and
so forth.  If MS encounters any difficulties in sending  the
message,  it  will automatically put you into send level, so
that you have a chance to fix the part of the message  which
caused  the  problem.   At send level, you can return to the
previous level without sending the  message  by  giving  the
QUIT  command, or you can give the SEND command, which sends
the message and then returns to the previous command level.

Most MS commands perform some action on  one  or  more  mes-
sages.   You  need  to tell MS which message or messages you
want to act upon, and you do this with a  MESSAGE  SEQUENCE.
A message sequence simply specifies a group of messages.

The simplest sequence  is  a  message  number,  or  list  of
numbers.   For instance, the following is a message sequence
which specifies the first six messages in a file:


For example, to read the first six messages in a  file,  you
might say:

        MS>read 1,2,3,4,5,6

A shorthand way to specify the same thing is "1:6".  You can
mix  these:   the message sequence "1:4,7:10" means the same
as "1,2,3,4,7,8,9,10".

You can also select messages based on their  contents.   For
instance, the message sequence


selects all messages with the word "budget" in the  subject.
So the command:

        MS>read subject monthly

would be used to read all messages with the  word  "monthly"
in their subject.  Similarly,

        MS>read first 9

would let you read the first 9 messages in your current mes-
sage file.      One  particularly useful message sequence is
called "same".  This directs MS to use the same message  se-
quence  that  you  used in your last command.  For instance,
suppose you want to  delete  all  messages  from  a  certain
person  named  Jones.   However,  before deleting them you'd
really like to check and be sure that they are all the  mes-
sages  you  think  they are.  To do this, you might give the

        MS>summarize from Jones

to get a one-line summary of each message from Jones.   Once
you're  satisfied  that  you really want to delete all these
messages, you could then say:

        MS>delete same

        Messages can be selected by date and time, using the
SINCE  and  BEFORE  keywords;   by  the SUBJECT, FROM and TO
fields;  by searching for words in the message text with the
KEYWORD  command;   by  message  size  with  the SMALLER and
LARGER commands;  and so on.  To get a complete list of  all
the  possible  ways to select messages, type a question mark
when MS prompts you for a message sequence.

The SEND command is used to compose and send a message.   It
prompts  you  for  the  required information, which includes
"To:", "cc:" (which may be blank), and "Subject:".  It  then
prompts you for the text of the message.  When you have com-
pleted the text of the  message,  type  ctrl-Z,  which  will
cause the message to be sent immediately.

If, at some point while you are typing the text of the  mes-
sage,  you realize that you've made a mistake, like omitting
somebody from the "To:" list, you  can  easily  correct  it.
Hit  the  ESC key.  This will put you into send level, which
prompts with "MS Send>>", and has several commands which you
can  use  to  alter the current draft of the message.  Among
these are the REMOVE command, which removes  addresses  from
the  "To:"  or  "cc:" list;  the ERASE command, which erases
entire fields in the header (like an entire cc  list);   and
the  TEXT command, which returns you to text mode so you can
add text to the draft of the message.   If  you're  at  send
level and decide that you really don't want to send the mes-
sage after all, use the QUIT command, which will return  you
to  the level from which you came.  Otherwise, give the SEND
command, which will send the message and then return you  to
the previous command level.

The read command is used to read  a  sequence  of  messages.
You  specify  a  message sequence after the READ command, or
you can just type READ, in which case you will be shown  all
the messages which you have not yet seen.  For example,

MS>read subject evaluations

would  be  used  to  read  all  messages   with   the   word
"evaluations" in the subject field, while


would be used to read all "new" (that is, not yet seen) mes-
sages.  After each message is displayed, MS is at read level
and prompts with:

MS Read>>

You may then type a read level command to do something  with
the  message just displayed.  When you are finished with the
current message, pressing the RETURN key will cause MS to go
on  to the next message in the sequence and display it.  You
may get a list of all possible read level commands by typing
a question mark when you see the "MS Read>>" prompt.

When you've finished reading all the messages you  specified
in  the  READ  command,  typing  carriage-return  to the "MS
Read>>" prompt will return you to the previous command level
(this is usually top level).

The REPLY command allows you to send a reply  to  a  message
which  you  have  received.   MS determines from the message
being replied to who the sender was, and thus who the  reply
should  go  to, so that you need not type in the name of the
recipient.  The reply  command  is  available  both  at  top
level,  where  it  takes a message sequence specifying which
messages to reply to, and at read level, in  which  case  it
assumes that you wish to reply to the current message.

There are two possible ways to  reply  to  a  message;   the
reply can be sent to the sender (only) of the message, or to
the sender and to all recipients of  the  message  as  well.
When using the reply command at top level, MS will first ask
you "Reply message  1 to:", to which you reply either ALL or
SENDER-ONLY.   When using the reply command from read level,
you can  optionally  follow  the  word  REPLY  with  ALL  or
SENDER-ONLY;   if  you  omit  the second part MS will assume
SENDER-ONLY.  (You may change this, and  many  more  assump-
tions  that  MS  makes  as  well,  by using the SET commands

Once you have given the REPLY command, it works just like  a
SEND  command,  except  that  since it knows who to send the
message to it doesn't ask for the "To:" or "cc:" lists.   If
you  decide that you would like to change the "To:" or "cc:"
lists, you can press the ESC key while entering the text  of
the message, which will put you at send level.  You can then
use the send level commands to edit the message.

The FORWARD command, available at both top  level  and  read
level,  allows  you  to  forward  a  message  which you have
received to another user.  Its usage is straightforward;  it
prompts  for  the  "To:"  and  "cc:" lists, just as the send
command does.  It does not prompt for the subject;   instead
it  supplies  the subject of the forwarded message.  It then
prompts you for text;  this text is inserted in front of the
forwarded  message.   This  is  useful  for  adding your own
comments about the forwarded message.

ANSWER is just a synonym for REPLY;  see the REPLY command.

The COPY command, available from both  top  level  and  read
level,  places  a  copy  of  a message into a file.  This is
useful if you wish to collect a set of related messages into
one  place.   The  COPY command requires that you supply the
name of the file in which to place the message.  The message
is  appended to the file you name;  the existing contents of
the file are preserved.  If the file does not exist,  it  is
created.   You  may  examine  and manipulate the contents of
message files which you create this way with the GET command

The MOVE command, available from both  top  level  and  read
level,  allows  you to move a message into a different file.
It works exactly as if you had used the COPY command  (q.v.)
to  copy  the message into the other file, and then used the
DELETE command to delete the message.

The DELETE command, available from both top level  and  read
level,  allows  you to delete messages from the current mes-
sage file.  Messages which you delete don't disappear  imme-
diately,  but  are  marked as deleted.  They do not actually
disappear until you give the EXPUNGE or  EXIT  command.   If
you  accidentally  delete a message which you really wish to
keep, you may use the  UNDELETE  command  to  get  it  back,
unless  an  expunge  has occurred.  Once you have expunged a
message, you cannot get it back.

The SUMMARIZE command, available from  both  top  level  and
read  level,  gives  you  a one-line summary of each message
specified.  The line looks something like this:

NFAD 12-Jul Fred at OFFICE-3           |This Monday's meeting (549 chars)

The letters at the beginning of the line are called the mes-
sage  flags.   Each  letter  has a meaning, and appears only
when it applies.  The letters' meanings are:

        F - the message is Flagged
        A - the message has been Answered
        D - the message is Deleted
        N - the message is New (that is, you haven't seen it yet)

The next column is the date of the  message.   Next  is  the
name of the user who sent the message, in this case, Fred at
OFFICE-3.  The next column, beginning at the vertical bar ()
character,  is the subject of the message;  if it is so long
that it would run off the right margin,  then  it  is  trun-
cated.   And last, in parentheses, is the length of the mes-
sage, in characters.

If the message was sent by you (this can happen if  you  are
saving  your  outgoing messages in your mail file, or if you
explicitly sent a copy to yourself), instead  of  displaying
the  "From:"  field in the third column, MS will display the
"To:" field of the message, preceded by the word "To:".  For

NFAD 12-Jul To: Fred at OFFICE-3       |This Monday's meeting (549 chars)

For information on saving your outgoing messages,  give  the
command HELP SAVE.

The FLAG command, available from both  top  level  and  read
level,  allows  you  to  flag certain messages as important.
You may wish, for instance, to read all your  mail  quickly,
and  flag the important messages, so that you can later come
back and say  READ  FLAGGED,  which  will  display  all  the
flagged  messages on your terminal.  The UNFLAG command will
turn off the flag on a message.

An "init file" is a file which contains MS commands.   These
commands  are  executed by MS every time it starts up.  This
is useful  for  setting  parameters  (see  the  SET  command
description)  and  having  them remembered permanently.  You
can create an init file either with an editor, or  with  the
MS command CREATE-INIT-FILE.  If you create the file with an
editor, the file must be named MS.INIT.  For information  on
the CREATE-INIT command, give the command HELP CREATE-INIT.

There may be a default, system-wide init  file  which  takes
effect for those users who do not have their own.  This file
is called SYSTEM:MS.INIT.  If you create your own init file,
however,  MS  takes commands only from your init file and no
longer takes them from the system init file.  If you wish to
always  use  the  system-wide  init  file  (quite  possible,
because it may contain important system-wide defaults or ad-
dress-list  definitions),  you  can  continue  to  do  so by
putting the following command in your own init file:


Every time MS updates your message file, and every  time  it
returns  to the top-level prompt, it checks the current mes-
sage file to see if any new messages have arrived.   If  new
messages  have  arrived,  MS  notifies  you  by displaying a
one-line summary of each new message.  To force MS to  check
immediately  for  new  messages, give the CHECK command.  If
new messages have arrived, MS will display the new state  of
the  message file, along with a one-line summary of each new

The GET command causes MS to read in a new message file.  It
expects,  as  an  argument, the name of the message file you
wish to read.  Once MS reads the file, it will type a couple
of lines of status information about the file.  You can then
use any of MS's top-level commands to manipulate the file.

There are two SAVE  commands:   SAVE  OUTGOING-MESSAGES  and


This command allows you to keep a  record  of  all  messages
which  you  send.   It  takes a filespec as an argument, and
once this command has been given, every  message  which  you
send is copied into the file you named.  You may examine the
contents of this file by using the GET command (q.v.).  This
command is most commonly placed into an init-file (q.v.).


The SAVE DRAFT command, available only at send level, allows
you  to  store  a  copy  of  the current draft which you are
working on.  The draft includes the "To:" and  "cc:"  lists,
the  subject, and the text of the message.  You may then use
the RETRIEVE DRAFT (q.v.) command to retrieve the draft  and
continue composing a message.

The SAVE DRAFT command will leave you at send level;  if you
wish  to send the draft as is, give the SEND command, and if
you wish to quit send level without sending the draft,  give
the QUIT command.

This command clears your  screen  if  you  are  on  a  video
terminal  and  have not previously given a SET NO VIDEO-MODE
command.  Some people place this  command  into  their  init
file  (q.v.)  so that when they enter MS for the first time,
they start with a clear screen.

This command is  only  applicable  to  DECNET  systems.   It
allows you to examine mail which has been returned to you as
undeliverable by the network.  It takes, as an argument, the
name  of the host which the undeliverable mail was trying to
reach.   If  more  than  one  undeliverable  message  ("dead
letter") exists, MS will inform you of that fact and ask you
which one you wish to handle.  Once  you  have  successfully
identified  a dead letter to MS, the message is displayed on
your terminal and you are placed at  send  level.   You  may
then  use  any  of  the  send  level commands to correct the
problem with the message and try to send it again.

The SET commands allow you to alter many of the  assumptions
which  MS  ordinarily makes on your behalf.  They also allow
you to customize MS's behavior, and make it  more  agreeable
with your own particular style of usage.  There are many SET
commands, and they are all listed here  alphabetically.   In
the   following   descriptions,  words  enclosed  in  square
brackets denote optional words;  for example:


This indicates that the  word  NO  is  optional.   Words  or
phrases in lowercase, inside angle brackets, denote the name
of an item which you must supply;  for example:

SET REPLY-ADDRESS <address list>

means that instead of  typing  "<address-list>",  you  would
actually  type  a  list  of  addresses.   And lists of items
inside curly brackets, separated by vertical bars, denote  a
list  of  choices from which only one must be selected.  For


means you would type either SET DEFAULT REPLY-TO-ALL or  SET

The available SET commands are:

        Controls automatic expunging  of  deleted  messages.
        The  default  is SET AUTO-EXPUNGE (ON) EXIT-COMMAND-

        When brief-address-list-display  is  in  effect,  MS
        will  not type the contents of address lists in mes-
        sages being displayed, but instead only the name  of
        the address list.  This makes reading messages which
        have been sent to very long address lists less tire-
        some.   If a message contains a nested address list,
        only the name of the outermost list is displayed.

        Shortens some of the messages typed by  MS;   should
        only be set by experienced users.

SET DEFAULT CC-LIST <address list>
        Causes the users named in the  address  list  to  be
        cc'ed on every outgoing message.

                                                    LOGGED-IN-DIRECTORY |
                                                    <directory name> }

        Sets the default directory into which created  files
        go.   For  more  information on directories, see the
        DECSYSTEM-20 User's Guide.

        Causes all files created by MS (by the COPY and MOVE
        commands,  for  instance)  to  be protected with the
        code you specified.  For more  information  on  file
        protection, see the DECSYSTEM-20 User's Guide.

        Sets  the  default  recipient  list  for  the  REPLY
        command.    SET  DEFAULT  REPLY-TO-SENDER-ONLY  will
        cause replies to go to the addressees named  in  the
        "Reply-to:"  field  of the message being replied to,
        or to the sender of the message, if  no  "Reply-to:"
        field  exists.   SET DEFAULT REPLY-TO-ALL will cause
        replies to also be sent to all users  in  the  "To:"
        and "cc:" lists as well.

        When set, causes the first page of any line  printer
        listing  of  messages created by the LIST command to
        contain a one-line summary summary of  each  message
        listed.   This  information  is  the  same  as  that
        printed by the SUMMARIZE command.

        When set, causes the SUMMARIZE  command  to  display
        only  the personal name of each message, rather than
        the full "From:" or "To:" field.  For messages with-
        out personal names, the entire field is displayed.

        Controls whether you receive copies of your  replies
        to other users' messages.  Has no effect if you have
        also given the command SET DEFAULT  REPLY-TO-SENDER-


        This command puts MS into a state where any  attempt
        to  exit  from MS will log you off the computer.  It
        is usually employed for users who wish to  use  only
        MS;  the system administrator will put the following
        command in their LOGIN.CMD:

                MS SET LOGOUT-ON-EXIT

        Which will cause them to enter MS  immediately  upon
        logging in, and force them to stay in MS for the du-
        ration of the  session.   For  more  information  on
        LOGIN.CMD, see the DECSYSTEM-20 User's Guide.

SET ONLY-HEADERS-SHOWN <header-name> [, <header-name>, ...]
        Restricts the amount of header information displayed
        by  the  READ and TYPE commands.  If this command is
        given, only the headers  named  will  be  displayed.
        This  is  particularly useful on slow terminals when
        reading messages with large headers.  For instance,

                        SET ONLY-HEADERS-SHOWN to, subject, from

        will cause only the "To:", "Subject:",  and  "From:"
        fields  to  be  shown.   If  you wish to temporarily
        override the effect of this  command,  the  VERBOSE-
        TYPE command will show the entire message literally.
        A less restrictive, and somewhat more flexible,  way
        of  reducing  the  amount of header information dis-
        played is to use the SET SUPPRESSED-HEADERS  command

SET PERSONAL-NAME <your full name>
        Causes MS to add your real name to outgoing mail (in
        addition  to  your  username).   Bear  in  mind that
        certain special characters, including most  punctua-
        tion  characters,  are  allowed  only  inside quoted
        strings (text enclosed by  double  quotes).   For  a
        list of special characters, say HELP RFC733.

SET [NO] REPLY-ADDRESS <address list>
SET [NO] REPLY-TO <address list>
        These two (synonymous) commands allow you  to  cause
        replies  which  other users send to your messages to
        go to a different place than they ordinarily
            would.   They  cause  the  following  line to be
        inserted into every message you send:

                        Reply-to: <address list>

        When the recipient of such a message uses the  REPLY
        command to compose a reply, the reply will go to the
        address(es)  specified  in  the  "Reply-to:"   line,
        rather than to the sender of the message.

SET [NO]  SUPPRESSED-HEADERS  <header-name>,  <header-name>,
        This command  takes,  as  an  argument,  a  list  of
        header-names  separated by commas, and causes MS not
        to display the named  header-items  when  displaying
        messages  on  your  terminal.  The SET ONLY-HEADERS-
        SHOWN command, which is stronger, will override  the
        effect of this command.

        On terminals capable of defining scroll regions (for
        example, VT100's and VT125's), MS can, in read mode,
        scroll only the text of  messages  being  displayed,
        while  leaving  the headers in place.  If the header
        area of a message is too long, though, this  results
        in an annoyingly small number of lines being used to
        display the  message  text.   The  SET  TEXT-SCROLL-
        REGION  command  instructs  MS to scroll the text of
        the message in this manner,  but  only  if  <number>
        lines are available in which to scroll the text.  If
        the headers are so big  as  to  not  leave  <number>
        lines  available  for  text,  then  the  headers are
        scrolled as well as the text.  SET  NO  TEXT-SCROLL-
        REGION  tells  MS  to  display messages in the usual
        manner, without setting up a scroll region.  This is
        the default behavior.

        Controls whether, when MS starts up, it  prints  the
        initial  lines of status information about your mes-
        sage file.  This information is also printed by  the
        SHOW STATUS command.

        Turns on or off  MS's  video  display  features  for
        video terminals.  The default is SET VIDEO-MODE.

MS handles two kinds of mail:  local mail, which goes to and
from  users  of the same computer which you use, and network
mail, which goes to and from users of  other  (remote)  com-
puters.   Ordinarily, the only difference which is important
to you is that when you send mail to remote users, you  must
identify  the  computer which they use, by adding the phrase
"at NAME" to their username, where NAME is the name  of  the
computer they use.

When you send network mail, it is not delivered  immediately
(as  local  mail  is),  but is queued for later transmission
("posted for delivery").  If you do nothing after  the  mail
has  been queued, the system will come along at some time in
the future and send your mail.  This  will  occur  within  a
half  an hour.  However, if you wish the mail to be sent im-
mediately, you may give the NET-MAIL command.   This  forces
MS  to try to send the mail out immediately.  MS will inform
you of its progress in trying to send the mail.  If the mail
fails  because  the  other  computer cannot be contacted (MS
will say something like "Can't connect because:  no path  to
destination  node"), your mail will remain in the queue, and
the system will send it as soon as the  destination  becomes

Occasionally, a message file will get damaged, either  by  a
bug  in  MS,  a  bug  in the computer on which MS runs, or a
hardware problem.  If this happens, you will see one of  the
following messages from MS:

?File has bad format - last message has no size field
?File has bad format - cannot find start of last message
?File has bad format - message nn has no receive date

If you give a SUMMARIZE ALL command, you  will  most  likely
see  some  peculiar-looking headers;  usually they will have
no Subject, From, or Date field, and the length of the  mes-
sage will either be zero, or ridiculously large.

MS can repair almost any kind of damage to a  message  file.
First,  make  a  copy  of  the  damaged  file using the COPY
command.  When MS creates a message file (with  either  COPY
or  MOVE),  it always writes a correctly-formatted file.  If
the file being copied is damaged, MS is forced to make  some
assumptions  about its format, but in all cases the new file
is correctly formatted.  Then use the GET command to read in
the  copy  you've  just  made.  You should get no error mes-
sages, but you may still have some peculiar-looking headers.
Read  the  messages  with these headers, and if they contain
only garbage, you can delete them.  If  they  contain  frag-
ments  of  real  messages, you may want to keep them, rather
than lose the fragments.

Once you have made a good copy  of  the  damaged  file,  you
should  delete  the  contents  of  the  damaged file to save
space.  Return to the damaged file (using the GET  command),
delete all the messages, and give the EXPUNGE command.

If the damaged file was your mail file, be aware  that  your
mail  file  is  now  empty (although you have a good copy of
your old mail in another file).  If you wish to put the good
copy  back  into  your mail file, use the GET command to get
the good copy, then use the MOVE command  to  move  all  the
messages  back  into your mail file.  The filespec of a mail
file is "MAIL.TXT.1";  Be sure to type it completely.   This
sequence of commands will look like:

MS>get (messages from file) good-copy

Last read 25-Sep-80 15:22, 53 messages, 12 pages

MS>move (message sequence) all
 Into file: mail.txt.1

In all cases, instances of damaged message files  should  be
reported  to  the  person  responsible for running your com-
puter, so that the cause can be eliminated.

There  are  two  RETRIEVE  commands:   RETRIEVE  DRAFT   and


This command, available only at top  level,  allows  you  to
retrieve  a  draft you previously stored with the SAVE DRAFT
(q.v.) command.  It retrieves the draft, displays the  draft
on  your  terminal,  and  leaves you at send level.  You may
then give any of the send level commands to  manipulate  the
draft;   most  commonly,  you would give the TEXT command to
add message text to the draft.


This command, available only at top level, allows you to re-
cover  a  copy of the last message you sent, so that you may
edit it and resend it.  This is typically used when you have
just  sent  a  message, and then realized that you forgot to
include someone in the address  lists.   This  command  will
display  the  message  and put you into send level.  You may
then use all the send level commands to add or delete  users
in the address lists, edit the text of the message, and send
it again.

This command does NOT retract mail;  that is,  if  you  have
sent  a  message to someone and then changed your mind, this
command does not remove the  message  from  the  recipient's
mailbox.   Once  a  message has been sent, it has been sent.
What this command does is retrieves the draft of the message
so you need not type it in again.

The DEFINE command allows you to define extensions  to  MS's
basic capabilities.  You can define aliases for users, using
the DEFINE ALIAS command.   You  can  define  named  address
lists,  using  the DEFINE ADDRESS-LIST command.  And you can
define  new  header-items,  with  the   DEFINE   HEADER-ITEM


This command defines an  alias  for  an  address.   This  is
useful when you have a long or non-mnemonic address to which
you frequently send mail, or when you wish to refer to some-
one  by  other than their real username.  The command format

        MS>DEFINE ALIAS John (TO BE) Purretta at KL2102

This command will define the alias "John" to be the same  as
"Purretta  at KL2102".  You can now give the alias "John" in
any address specification, such as a to or cc list,  and  MS
will  convert  it  to the full address for you.  Aliases may
also represent a list of addresses, as in:

        MS>DEFINE ALIAS Neffs (TO BE) LNeff at KL2102, DNeff at KL2116

To delete an alias definition, give the command DEFINE ALIAS
<name>,  where <name> is the name of the alias definition to
be deleted.  To  delete  all  alias  definitions,  give  the
command DEFINE ALIAS *.


This command allows  you  to  define  named  address  lists.
These  behave  almost  exactly like aliases, with one excep-
tion:  the name of the address list is shown in the message.
For example, if you defined the following address list:

    MS>DEFINE ADDRESS-LIST Task-force (TO BE) LCampbell, King, Jones, Dickson

and then sent mail to "Task-force", the mail received  would
have a "To:" field looking like:

    To: Task-force: LCampbell, King, Jones, Dickson;

System  administrators  may  find  this  command  useful  in
defining  mailbox  names  which  refer to subjects;  for in-
stance, rather than expecting users to know who maintains  a
particular  program,  the system administrator could put the
following commands in the system MS.INIT (init file):

        DEFINE ADDRESS-LIST MS-Bugs LCampbell at 2102

To delete  an  address-list  definition,  give  the  command
DEFINE  ADDRESS-LIST <name>, where <name> is the name of the
address-list to be deleted.  To delete all address-list  de-
finitions, give the command DEFINE ADDRESS-LIST *.


This command allows users to define header-items.  A header-
item  is  a  field  which appears in the header portion of a
message;  that is, the portion before the first blank  line.
These  fields  consist  of  a keyword, a colon, and possibly
some data.  MS has six header-items built in to it:   "To:",
"Subject:",  "Date:",  "From:",  "cc:", "In-reply-to:".  The
DEFINE HEADER-ITEM command allows you to define your own new

To define a header-item,  you  must  supply  its  name,  its
flavor,  and its type.  If you wish the data for the header-
item to be predefined, you must enter that as well.

Header-items come in three flavors:   optional,  predefined,
and required.

1)      An optional header-item is one which you  may  elect
        to  include in an outgoing message, but which is not
        required.  MS will not prompt you for it, so to  in-
        clude  it,  you  must  use  the  send-level  command

2)      A  predefined  header-item  is  one  whose  data  is
        defined  in advance.  MS will not prompt for it, but
        it will be included in all  outgoing  messages.   An
        example  of  a  predefined header-item might be your
        telephone number or postal address.

3)      A required header-item is one whose data is not sup-
        plied  in advance, and which must be supplied before
        sending any message.  MS will prompt you  for  these
        header-items every time you send a message.

Header-items also come in six types.  These types are:   ad-
dress,  date, date-and-time, time, text-string, and keyword.
When defining a keyword header-item, you must supply a  list
of  legal keywords for that header-item.  Predefined keyword
header-items don't make much sense, and are not allowed.

Here is an example of defining your telephone number so that
it is always included in messages you send:

        MS>DEFINE HEADER-ITEM Phone (TYPE) predefined text-string 475-6446

Message which you send will now look something like this:

        Date: 14-Jan-81 15:33
        From: <your name>
note -> Phone: 475-6446
        Subject: <subject>


One possible use for keyword header-items is illustrated  by
the following example:

        MS>DEFINE HEADER-ITEM Priority REQUIRED KEYWORD urgent,high,medium,low

To delete a header-item definition, just  give  the  command
DEFINE  HEADER-ITEM  <name>, where <name> is the name of the
header-item.  To delete all  header-item  definitions,  give
the command DEFINE HEADER-ITEM *.

Available SHOW commands are:

        Displays all currently defined aliases.

        Displays all currently defined address-lists.

        Displays the current date and time.

        Shows the defaults (assumptions which  MS  makes  on
        your  behalf)  which  are currently in effect.  Each
        default is displayed by showing  the  exact  command
        which  would  cause  that  default  to be in effect.
        Most of the defaults shown by this  command  may  be
        changed with the SET command (q.v.).

        Displays  all  currently-defined  header-items   and
        their  types,  and  for predefined header-items dis-
        plays the currently defined value.

        Shows you the name and status of the current message
        file.   This  includes the number of messages in the
        file, the size of the file in disk pages (each  page
        contains  2560  characters),  the  date and time the
        file was last read, the number of deleted  messages,
        the  number  of unseen (new) messages, and a list of
        flagged messages.

        Displays the version of MS currently running, and  a
        list  of  optional  features  which are supported by
        this version (such as network mail).

The EXPUNGE command causes messages which have  been  marked
for  removal  with the DELETE command to actually disappear.
Until a message is expunged, you may get it  back  by  using
the UNDELETE command.  Once you have expunged it, though, it
is gone forever.  The EXIT command usually expunges  deleted
messages  automatically.   This can be changed, though, with
the SET AUTO-EXPUNGE command (q.v.).

The MARK command marks a messages, or  messages,  as  having
been  seen.   Messages  are  marked  automatically  when you
examine them using the READ, TYPE, or VERBOSE-TYPE commands.
When  MS  first starts up, it will display a header line for
each message which is not marked as having been  seen.   The
UNMARK  command  (q.v.)  will  remove the "seen" mark from a

The UNMARK command removes the mark on a message which flags
it as having been seen (see the MARK command description).

This command displays a message literally.  Even if you have
HEADERS command to restrict the amount of headers shown, the
whole message will be displayed.

This command, which takes a message sequence as an argument,
causes  the  messages  specified  to  be printed on the line
printer.  The listing will be prefaced by a one-line summary
of  each  message  if  you  have  given  the SET SUMMARY-ON-


               This command  actually  causes
               MS  to  copy  the  message  to
               device  LL:   (lowercase  line
               printer);    if  that  doesn't
               work, MS  tries  device  LPT:.
               MS  does  this to try to print
               the message(s)  on  a  printer
               with lowercase capabilities.

The system has a public mail file which contains messages of
interest to all users;  this is similar to a bulletin board.
The SYSTEM-MESSAGES command loads the public  message  file.
You  then  read it just like ordinary mail.  Unless you have
special privileges, though, you may not DELETE  messages  or
EXPUNGE deleted messages from this file.

This command takes a filespec as an argument.  It reads  the
contents  of  the  file  and  executes  them as MS commands.
Command files may be nested;  that is, a  command  file  may
contain  TAKE  commands.   You create command files with any
editor;  for more information on editors, refer to  the  ap-
propriate user's manual.

RFC733 (Request For Comments number 733) is the name of  the
ARPANET  mail  format  standard.   It is the oldest and most
widely-known electronic mail standard, and forms  the  basis
of  many  other  standards (usually subsets).  MS tries very
hard to adhere to  RFC733.   While  it  certainly  does  not
understand  everything  allowed  by  the standard, it should
never generate messages which violate it.

Those interested in the details of RFC733  should  read  the
RFC itself.  It is available online at SRI-KL on the ARPANET
and can be accessed through the NIC facility.  If you do not
have  access  to the ARPANET, you can obtain a document that
includes a description of RFC733.  The name of the  document
is   "ARPANET   Protocol  Handbook",  and  is  available  as
Publication no.  NIC 7104 from:

        National Technical Information Service (NTIS)
        5285 Port Royal Road
        Springfield, VA 22161

For the benefit of readers who may  have  been  referred  to
this  topic  by  the  reference  in  the  entry  for the SET
PERSONAL-NAME command, RFC733 defines  "special  characters"
(characters  which must be in a quoted string to appear in a
header-item) as follows:

specials:       (  )  <  >  @  ,  ;  :  \  "

        The ECHO command, followed by a line of text, simply
types  the  line  of text back at you.  This sounds useless,
but in fact  can  be  helpful  in  defining  long,  involved
command  files  for  use in situations where unsophisticated
users are being prompted for relatively canned messages:  an
online  problem-reporting  system,  for  example.   The ECHO
command provides a means of typing  arbitrary  text  at  the
user at suitable points in the command file.

        The CREATE-INIT-FILE command, available only at  top
level,  provides  an easy way for you to create an init file
(for more information about init files, say HELP INIT-FILE).
When  you  give  the  CREATE-INIT-FILE  command,  MS  enters
create-init mode.  Instead of prompting  with  the  standard


MS prompts this way:

        MS Create-init>>

        While in this mode, every command you type goes into
the  init  file,  with  the  exception  of the HELP and TAKE
commands.  The HELP command is excluded so that you can  get
help  during  your create-init session without cluttering up
your init file with HELP commands.
        If you wish to add to an existing init file,  rather
than  creating  a  new  one from scratch, just give the fol-
lowing  command  at  some  point  during  your   create-init

        TAKE MS.INIT

        If during create-init mode you change your mind  and
you  decide  you really don't want to change your init file,
give the QUIT command.  Or, when you are  finished  creating
your  init  file and wish to update the init file and return
to normal mode, give the FINISH command.

        The FILE command is similar to  both  the  MOVE  and
COPY  commands.   It allows you to copy a number of messages
(at top level) or the current message (at read  level)  into
another message file, and optionally can delete the original
message(s) from the current message file.  After copying the
message(s)  into  the  file you specify, MS will ask whether
you wish to delete the original copy of the message(s)  from
the  current  message file.  You reply either YES or NO;  NO
is the default and is assumed if you give a blank reply.

        The EMACS command runs EMACS in  an  inferior  fork.
The EMACS library MS-MAIL contains two functions (^R MS-MAIL
Yank and ^R MS-MAIL Mail buffer) which allow you to yank the
current  message  into EMACS's buffer, annotate it, and then
insert it into MS's send buffer  to  be  transmitted.   Your
EMACS.INIT file should be set up to load the MS-MAIL library
if EMACS is run as an inferior of MS;  if this is  not  done
then  you  must  load  the  library by hand after giving the
EMACS command.
        EMACS is a sophisticated programmable  video  editor
developed at MIT.  Neither EMACS nor the MS-MAIL library are
distributed by Digital Equipment Corporation.  They are both
available,  however,  by  the  usual  informal  distribution

        The  UNFLAG  command  removes  the  "flag"  from   a
message.   For  more information, see the description of the
FLAG command.

        The UNDELETE command removes the "deleted" flag from
a  message.   For  more  detail,  see the description of the
DELETE command.

        The TYPE command simply types the messages you  name
on  your  terminal.   No screen clearing is done, and if you
specify more than one message, they are typed  all  at  once
with no pauses.  This contrasts with the READ command, which
pauses  after  displaying  each  message  to  allow  you  to
manipulate the messages as they go by.

        The EXIT command is used to leave MS and  return  to
the   program   which   invoked  it  (the  command  language
processor).   In  addition,  unless  you   have   given   an
overriding  SET  AUTO-EXPUNGE command, the EXIT command will
do an implied EXPUNGE to discard deleted messages.

        The QUIT command causes  MS  to  leave  the  current
command  level  and  return  to  the level which invoked the
current level.  At top level then, the QUIT command  returns
you to the command language processor.

        The PUSH command  creates  a  copy  of  the  command
language  processor and pushes you there, at which point you
can  perform  any  ordinary  TOPS-20  function  or  command.
Giving  the  POP  command  to the command language processor
will return you to MS.

        The NEXT command causes MS  to  display  the  "next"
message, that is, the message following the current message.
If the current message is the last message in the file,  you
will receive an error message.