home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
mm
/
mm-manual-mss.tar.Z
/
mm-manual-mss.tar
/
mm-manual
/
02-samples-ps.mss
< prev
next >
Wrap
Text File
|
1991-01-04
|
39KB
|
1,148 lines
@part<two,root="mm.mss">
@begin(text)
@Chapter(Sample Sessions and Examples)
This section presents a series of sample sessions demonstrating the
use of MM. These topics will be covered:
@blankspace(2 lines)
@begin(itemize)
Getting Started
Sending a Message
Reading Mail
Replying to Messages
Headers
Managing Your Mail File: Delete and Undelete
Reading Old Messages
Forwarding Messages
Copying To and From Regular (Non-Mail) Files
File Transfer Using Kermit
Using Emacs from within MM
Additional Mail Files
Defining Mailing Lists
@end(itemize)
@blankspace(2 lines)
In the following examples, what you type appears in @b<bold>. After
most of the commands, hit the carriage return, marked @i(return) or
@i(enter) on most keyboards, and shown here by the abbreviation
@p(<cr>). You do not have to type a space before the carriage return.
The @i(escape) key is indicated by the symbol @p<[ESC]>; it may be
marked @i(meta) or @i(alt) on some keyboards. Control Sequences are
represented by @p[<ctrl/>] or @p[CTRL-] or the caret @p(^) followed
by a letter. To type a Control letter, depress the control key while
typing the letter (similar to pressing shift for upper case).
@newpage<>
@Section(Getting Started)
MM can be started by simply typing @p[mm] to the Unix shell command
interpreter. Most people at Columbia use the kornshell (ksh), which is
identified by the $ prompt. So to start MM you would type:
@blankspace<1 line>
@end(text)
@begin(text2)
@begin(example)
$ @b[mm <cr>]
@end(example)
@end(text2)
@blankspace<1 line>
@begin(text)
MM then checks to see whether you have new mail. If you do, it displays a
line indicating what the message number is, the date it was received,
who the message is from, the subject and the length of the message in
characters.
@begin(example)
$ @b[mm <cr>]
Columbia MM, version 0.90.0
Please report all bugs using MM's BUG command, or send mail to BUG-MM.
Suggestions are also welcome.
Reading /u/student/CC/lmc/mbox
19 messages read
N 20) 18-May Rob Cartolano Meeting Canceled (475 chars)
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>
@end(example)
In the example above, the user typed @p[mm]. The next three lines
show a greeting message. Then @i(Reading)... indicates that the old
mail is being found in the file /u/student/CC/lmc/mbox. @i(19
messages read) indicates what was already stored in the mail file.
The next line indicates that the user has one piece of new mail, from
Rob Cartolano. Finally, there is a "hint" line, and the @i[MM>]
prompt, which is what MM types to show that it is waiting to receive a
command from you.
The "new mail" line is called a header. It is actually a combination
of several header fields that you will become familiar with later on.
What do we learn from it? The message is @i(N)ew (not read yet), it's
message number @i(20) in the mail file, and it was sent on @i(18-May)
by @i(Rob Cartolano). Rob put the subject as @i(Meeting Canceled) and
the message is @i(475 chars) long.
Usually, you read your new messages each time you start MM, but you
don't have to. The headers of the new messages are shown so you can
decide about reading them, based on who sent a message, what it's
about, and how long it is.
@newpage<>
@Section(Sending a Message)
@blankspace<1 line>
Now that we are in MM, we would like to send a message. Sue is
sending mail to Walter with a copy to Maurice. First she starts the
MM program, then she types @p{send}. MM prompts for the addressee,
any carbon copies (cc:), and the topic of the message. After Sue
provides this information, she types in the body of the message. When
that is finished, she hits the ESC key.
@blankspace<1 line>
@begin<example>
$ @b<mm>
Columbia MM, version 0.90.0
Please report all bugs using MM's BUG command, or send mail to BUG-MM.
Suggestions are also welcome.
Reading /us/us/sue/mbox
8 messages read
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>@b<send>
To: @b<walter>
cc: @b<maurice>
Subject: @b<SPSSX TNote Draft>
Message (End with CTRL-D or ESC
Use CTRL-B to insert a file, CTRL-E to enter editor, CTRL-F to run text
through a filter, CTRL-K to redisplay message, CTRL-L to clear screen and
redisplay, CTRL-N to abort, CTRL-P to run a program and insert output.):
@b<I think this is now ready for critical reading. Do you>
@b<want to find readers or shall I? /sue>
[ D=display S=send TE=text ED=edit TY=type Q=quit ?=Hints HELP ]
Send>@b(s)
walter... Queued
maurice...Queued
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>@b<exit>
No messages deleted.
[1] + Stopped (signal) mm
$
@end(example)
@blankspace<1 line>
In the above example, typing the ESC key terminated the message and
left Sue in @b{send mode}, indicated by the @i<Send>> prompt. @i{Send
mode} has many of its own commands that you can see by typing @p(?).
To send the message off, she typed @p(s) to the @i<Send>> prompt. To
exit MM she typed @p(exit). If she had decided NOT to send the
message, she could have typed @p(quit) at the @i<Send> prompt.
@newpage<>
@b(KEEPING A COPY FOR YOURSELF)
You may want to have a copy of a message he or she has sent. MM does
not automatically keep a copy, but there are several ways of
accomplishing it. One method is to @i<cc> yourself, and you will
receive a copy of the message in your mailbox. A second method is to
use the @i<fcc> command, which sends a copy of the message to a file
that you name. In the example, both are done for the sake of
demonstration.
@blankspace<1 line>
@begin<example>
$ @b<mm>
Columbia MM, version 0.90.0
Please report all bugs using MM's BUG command, or send mail to BUG-MM.
Suggestions are also welcome.
Reading /us/us/sue/mbox
8 messages read
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>@b<send>
To: @b<walter>
cc: @b<maurice, sue>
Subject: @b<SPSSX TNote Draft>
Message (End with CTRL-D or ESC
Use CTRL-B to insert a file, CTRL-E to enter editor, CTRL-F to run text
through a filter, CTRL-K to redisplay message, CTRL-L to clear screen and
redisplay, CTRL-N to abort, CTRL-P to run a program and insert output.):
@b<I think this is now ready for critical reading. Do you want to>
@b<find readers or shall I? /sue>
[ D=display S=send TE=text ED=edit TY=type Q=quit ?=Hints HELP ]
Send>@b<fcc outmsg>
Send>@b<s>
walter... Queued
maurice...Queued
sue...Queued
*outmsg...Sent
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>@b<exit>
No messages deleted.
[1] + Stopped (signal) mm
$
@end(example)
If you want to keep copies of everything you send, you can customize
MM so that it does so, using one of the @i(set) commands described
starting on page @Pageref<setcoms>.
The customization commands @i(set default-cc-list) and @i(set
default-fcc-list) can be used to put yourself on every cc list, or
a certain file on every fcc list.
If you use @i(fcc), either directly or through @i(set default-fcc-list),
note that it assumes the file goes into the current directory. This
may cause problems if you change from your usual directory and then
use MM. You have to start MM from the right directory, or specify
the directory in the @i(fcc). The customization command @i(set
saved-messages-file) is similar to @i(set default-fcc-list), but
will always assume the file is in your mail-directory, and may therefore
be preferable.
The file where the copies go is referred to as an additional mail
file. To look at it, at the @i(MM>) prompt type @p(get <filename>),
and you can then use all the MM commands with the file, like
@i(headers), @i(read), and so on. To return to the main mail file,
just type @p(get).
@newpage<>
@Section(Reading Mail)
@blankspace<1 line>
The mail sent by Sue in the previous example is now read by Walter.
@begin<example>
$ @b<mm>
/usr/local/mm
N 6) 18-May Sue Zayac SPSSX TNote Draft (251 chars)
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>@b<read>
Message 6 (251 chars)
Received: by cunixf.columbia.edu (5.54/5.10) id AA12719;
Fri, 18 May 90 15:53:45 EDT
Date: Fri, 18 May 1990 15:53:43 EDT
From: Sue Zayac <sue@@cunixf.columbia.edu>
To: walter
Cc: maurice
Subject: SPSSX TNote Draft
Message-Id: <CMM.0.90.580161223.sue@@cunixf.columbia.edu>
I think this is now ready for proofreading. Do you want to
find readers or shall I? /sue
[Press any key to continue]
[ D=delete H=header R=reply TY=type PRI=print Q=quit ?=Hints HELP ]
Read>
@end<example>
After showing Walter the message, MM remained in @b{read mode},
indicated by the @i[Read>] prompt. @b{Read mode}, like @b{send mode},
has several of its own commands. Type a @p(?) at the @i(Read>) prompt
to see them. If you press @p[<cr>] at the @i(Read>) prompt, the next
unseen message is displayed. When there are no more, @p[<cr>] returns
you to the top-level prompt, @i[MM>].
@newpage<>
@Section(Replying to Messages)
@blankspace<1 line>
The @i(reply) command simplifies sending a message in reply to one
you have received. In this example, Walter has just read Sue's
message and sends her a reply.
@begin<example>
Read>@b<reply>
Message (End with CTRL-D or ESC
Use CTRL-B to insert a file, CTRL-E to enter editor, CTRL-F to run text
through a filter, CTRL-K to redisplay message, CTRL-L to clear screen and ]
redisplay, CTRL-N to abort, CTRL-P to run a program and insert output.):
@b<Have Lisa and Lynn read it. - Walter>
[ D=display S=send TE=text ED=edit TY=type Q=quit ?=Hints HELP ]
Send>@b<s>
sue... Queued
[ D=delete H=header R=reply TY=type PRI=print Q=quit ?=Hints HELP ]
Read>
@end<example>
@i(Reply) is similar to @i(send). @i(Reply) automatically fills in
"To:" as the original sender, and copies the "Subject:" from the original
message.
@b(REPLY ALL) and @b(REPLY INCLUDING)
Two keywords can be added to the reply command. Normally, the reply
goes just to the sender of the original message, even though there may be
other people who received the original message as part of its "To:" or
"cc:" lists. If you command @p(reply all), the reply will be sent to
all the people who got the original.
The second keyword, @i(including), includes the original message in the
reply. In the example above, for example, if Walter had delayed
replying, Sue might have forgotten what Walter's reply was about. To
guard against that, Walter could have typed @p(reply including), so
Sue would receive a message containing her own message followed by
Walter's response. The included text is set off by > marks.
Both keywords can be used together, @p(reply all including).
@newpage<>
@Section(Headers)@tag<hdrs>
@blankspace<1 line>
Another useful command is @i{headers}. @i{Headers} will give you a
headline summary of messages in your mail file. In this example,
Walter uses the command @i{headers all} to get a list of all his mail
messages. [Note: @i{all} here is a message sequence that refers to all
messages contained in the current mail file. For a complete
explanation of what message sequences are and which sequences are
available, see page @pageref<messseq>].
@begin<example>
$ @b<mm>
/usr/local/mm
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>@b<headers all>
1) 17-May Margarita Suarez LaserWriter B (317 chars
2) 17-May Charlie C. Kim sunos 4.0 (313 chars)
A 3) 18-May Don Lanini Emacs question (1036 chars)
4) 18-May Robert C Lehman Mets on Sunday (285 chars)
A 5) 18-May Robert T. Cartolano Mac stuff (5258 chars)
R A 6) 18-May Sue Zayac SPSSX TNote Draft (251 chars)
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>
@end<example>
Messages that have been answered are marked with an "A" in the first
column area. See the next page.
A useful variant of the @i{headers} command is @i{headers from <name>}
(where @i{from <name>} is another example of a message sequence) to
see only messages from certain people. For example:
@begin<example>
MM>@b<headers from su>
1) 17-May Margarita Suarez LaserWriter B (317 chars)
R A 6) 18-May Sue Zayac SPSSX TNote Draft (251 chars)
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>
@end<example>
This is a string search, not a keyword search. Typing only part of
the name ("su") will match any name with "su" in it.
Two very useful variants of the @i{headers} command are @i{headers
subject <string>} and @i{headers text <string>}, which look for any
messages with the string in their subject or text fields,
respectively. Sometimes you remember getting a message about
something, but not when or from whom. Choose a good topic word (or
partial word) and one of these commands should help find the
message. For example:
@begin<example>
MM>@b<headers subj su>
2) 17-May Charlie C. Kim sunos 4.0 (313 chars)
4) 18-May Robert C Lehman Mets on Sunday (285 chars)
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>
@end<example>
Again, note that this is a string search, not a keyword search. Think
about this when choosing the "Subject" for your own mail. Be specific
so your correspondents can do efficient @i{headers} searches. For
example, don't use something like "meeting"; use "Thursday Brown Bag
Meeting".
Type @p{help message-sequence} at the @i[MM>] prompt to see all the
variations of the @i{headers} command.
The letter codes at the left side of the @i(headers) display show the
status of the message, as follows:
@standardtable(Name=tablet, Columns=3, AllColumns=Center, boxed)
@begin(tablet)
@Tableid(tablet)
@TableHeading(Immediate, RowFormat tabletTopHeading, Line
'Message Header Abbreviations')
@TableHeading(Immediate, RowFormat tabletColumnHeadings,
Line [Letter@\Name@\Meaning])
A@\answered@\You sent a @i(reply) or @i(answer) to the message.
D@\deleted@\You marked the message for deletion. It will be erased
from your message file the next time you type @i(exit) or @i(expunge).
F@\flagged@\You used the @i(flag) command to mark the message.
N@\new@\The message is both @i(recent) and @i(unseen) (see @i[R] and @i[U]).
K@\keyword@\You used the @i(keyword) command to mark a keyword on the message.
R@\recent@\The message has arrived as of this MM session.
U@\unseen@\The message has never been @i(type)d or @i(read.)
@i(no letter)@\@\The message has already been seen.
@end(tablet)
@blankspace(4 lines)
@newpage<>
@Section(Managing Your Mail File: Delete and Undelete)
@blankspace<1 line>
You can get rid of messages you no longer need with the @i{delete}
command:
@begin<example>
MM>@b<delete 1,2>
1:2
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>@b<headers all>
D 1) 17-May Margarita Suarez LaserWriter B (317 chars)
D 2) 17-May Charlie C. Kim sunos 4.0 (313 chars)
A 3) 18-May Don Lanini Emacs question (1036 chars)
4) 18-May Robert C Lehman Mets on Sunday (285 chars)
A 5) 18-May Robert T. Cartolano Mac stuff (5258 chars)
R A 6) 18-May Sue Zayac SPSSX TNote Draft (251 chars)
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>
@end<example>
Messages that have been deleted are marked with a "D" in the first
column area. Note that after messages are @i{delete}d, they are still
there until you type @p{exit} and leave MM or until you type the command
@p{expunge}. This is useful if you should change your mind and want
to @i{undelete} a @i{delete}d message:
@begin<example>
MM>@b<undel 2>
2
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>@b<headers all>
D 1) 17-May Margarita Suarez LaserWriter B (317 chars)
2) 17-May Charlie C. Kim sunos 4.0 (313 chars)
A 3) 18-May Don Lanini Emacs question (1036 chars)
4) 18-May Robert C Lehman Mets on Sunday (285 chars)
A 5) 18-May Robert T. Cartolano Mac stuff (5258 chars)
R A 6) 18-May Sue Zayac SPSSX TNote Draft (251 chars)
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>
@end<example>
@newpage<>
@Section(Reading Old Messages)
@blankspace<1 line>
You can reread messages in your mail file with the @i{read} or
@i{review} command and the message number.
@blankspace<1 line>
@begin<example>
MM>@b<headers 6>
R A 6) 18-May Sue Zayac SPSSX TNote Draft (251 chars)
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>@b<read 6>
Message 6 (251 characters):
Received: by cunixf.columbia.edu (5.54/5.10) id AA12852;
Fri, 18 May 90 15:55:07 EDT
Date: Fri, 18 May 1990 15:55:05 EDT
From: Sue Zayac <sue@@cunixf.columbia.edu>
To: walter
Subject: SPSSX TNote Draft
Message-Id: <CMM.0.90.580161305.sue@@cunixf.columbia.edu>
I think this is now ready for critical reading. Do you
want to find readers or shall I? /sue
[Press any key to continue]
[ D=delete H=header R=reply TY=type PRI=print Q=quit ?=Hints HELP ]
Read>
@end<example>
You can use @i{read from <name>} and @i{read subject <string>} and other
variants, too. Type @p{help message-sequence} for the variants.
@newpage<>
@Section(Forwarding Messages)
@blankspace<1 line>
Messages can be forwarded to other computer IDs with the @i{forward}
command. Before the message is sent on, you are given an opportunity
to preface it with a comment. If you don't wish to insert a comment,
just press the "Escape" key (the way you usually finish entering
text). MM will send the message with a header indicating it has been
forwarded from you and not sent directly from the original sender.
Replies will come to you.
In this example, Walter sends Sue's message on to two other IDs. He
prefaces her message with a note of his own.
@blankspace<1 line>
@begin<example>
Read>@b<for>ward (message to) @b<lynn,lisa>
Message (End with CTRL-D or ESC
Use CTRL-B to insert a file, CTRL-E to enter editor, CTRL-F to run text
through a filter, CTRL-K to redisplay message, CTRL-L to clear screen and
redisplay, CTRL-N to abort, CTRL-P to run a program and insert output.):
@b<Can you read Sue's new TNote before Friday? - Walter>
[ D=display ED=edit H=header S=send TY=type Q=quit ?=Hints HELP ]
Send>@b<s>
lynn... Queued
lisa... Queued
[ D=delete H=header R=reply TY=type PRI=print Q=quit ?=Hints HELP ]
Read>
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>@b<exit>
Expunging deleted messages.
[1] + Stopped (signal) mm
$
@end<example>
Walter used the TAB key to make the computer finish out the
@i(forward) command, so "ward (message to)" was printed by the
computer. Also, note that when Walter exited MM this time, the
message he deleted earlier was expunged.
Lynn and Lisa will receive a message containing Walter's line "Can you
read..." followed by Sue's message to Walter.
The command @i(remail) acts similarly, but does not let you insert any
comment, and replies will go to the original sender. @i(Remail) is
for messages that weren't really for you.
@newpage<>
@section[Copying To and From Regular (Non-Mail) Files]
@blankspace(1 line)
@b(COPYING FROM A FILE INTO A MESSAGE)
You can insert a regular file into a message. Start as you would in
@i(send)ing a message. When you wish to insert the text from the
file, type CTRL-b. You will then be prompted for the name of the
file. In this example, Sue sends her document, spssx-tnote.mss, to
Lisa and Lynn.
@begin(example)
MM>@b<send>
To: @b<lisa,lynn>
cc: @b<maurice>
Subject: @b<SPSSX TNote Draft>
Message (End with CTRL-D or ESC
Use CTRL-B to insert a file, CTRL-E to enter editor, CTRL-F to run text
through a filter, CTRL-K to redisplay message, CTRL-L to clear screen and
redisplay, CTRL-N to abort, CTRL-P to run a program and insert output.):
@b<Here it is:>
@b<^b>
Insert file: @b<spssx-tnote.mss>
[OK]
@b<If you have any questions, send me mail. /sue>
[ D=display ED=edit H=header S=send TY=type Q=quit ?=Hints HELP ]
Send>@b<s>
lisa... Queued
lynn... Queued
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>
@end<example>
CTRL-b is not visible on screen, just the resulting prompt @i(Insert file: ).
It is not necessary to type anything to MM before or after inserting an
external file; your entire message can consist of the inserted file.
@b(COPYING FROM A MESSAGE TO A FILE)
The @i(list) command copies a message to a regular file. For example,
here Lynn has just read Sue's message containing the document, and
decides to copy it out to a file, so she can work on it outside MM.
@begin(example)
Read>@b(list suesdocument)
[ D=delete H=header R=reply TY=type PRI=print Q=quit ?=Hints HELP ]
Read>
@end(example)
From the @i(MM>) prompt, specify a message sequence after @p(list
suesdocument).
A file created by @i(list) starts with a list of message headers (like
the result of the @i[headers] command) for its contents, followed by a
page break, and then copies of each message. There is no page break
between the messages, unless you request breaks by typing @i(list
/separate-pages ...). @i(List) does not add to an existing file; the
new file created by @i(list) will replace an existing one of the same
name.
@newpage<>
@section(File Transfer Using Kermit)
@blankspace(1 line)
Kermit can transfer files between your PC and the host computer that
runs MM. File transfer is actually the original purpose of Kermit.
There are numerous reasons to use file transfer in connection with MM.
You may want to compose long MM messages with your usual PC word
processor, to avoid long connect time and to avoid learning emacs.
You may want to send a PC file that wasn't originally intended for
electronic mail. You and a colleague may want to work together on an
article, using electronic mail to send drafts from one PC to another,
possibly over long distance.
@b(FILE-TO-FILE TRANSFER)
The basic Kermit operation is to transfer files between the PC and the
host. For information, see the handouts @i(Using MS-DOS Kermit) and
@i(Using MacKermit), and the booklet @i(Kermit User's Guide), at the
Business Office, 102 Philosophy Hall (854-3555).
You can use file-to-file transfer if you wish. Downloading, use the
MM command @i(list) at the @i(MM>) or @i(Read>) prompt to copy a
message into a file on the host, and then, at the shell, use Kermit to
transfer that file to your PC. Uploading, use Kermit to transfer a
file from your PC to the host, and then, when sending a message, use
CTRL-b to copy that file into the message.
The basic procedure has the drawback that a file is created on the
host solely for purposes of transfer. You don't really need it there,
and you have to remember to remove it at some point. The following
examples show how to transfer directly from and to MM.
@b(TRANSFER FROM MM TO PC) @tag(klist)
In this example, Lynn has just read the document sent by Walter, and
decides to copy it to a file to be called @i(spssx) on her IBM XT.
@begin(example)
Read>@b(list | "kermit -s - -a spssx")
Escape back to your local system and give a RECEIVE command...
@b(^]c)
Kermit-MS>@b(receive)
@r([--Kermit screen showing file transfer--])
Kermit-MS>@b(c)
Read>
@end(example)
The Kermit commands, shown above as indented, are cleared from the screen
once the file transfer is complete.
The key to the transfer is the command @i(list | "kermit -s - -a
spssx"), which starts up the host Kermit and tells it to send. Notice
the quotation marks.
Lynn also could have done this later on from the @i(MM>) prompt. If
it were message 12, for example, the command at @i(MM>) would be
@i(list | "kermit -s - -a spssx" 12).
@newpage<>
@b(TRANSFER FROM PC TO MM)
Kermit transfers files in a format called @i(ASCII) or @i(text). Many
MS-DOS word processors keep files in their own special formats, so the
files must be translated into ASCII before sending and from ASCII
after receiving. Each word processor has a procedure to do so fairly
simply. (Macintosh is similar. A file you create should be saved as
@i(text). When you try to open a @i(text) file for editing, it is
converted automatically.)
In this example, Lynn has written up comments about Sue's document
using her favorite word processor on her XT. She then used the word
processor's commands to make an ASCII text version of the document,
named @i(comments). Now she is sending it to Sue.
@begin(example)
MM>@b(send)
To: @b(sue)
cc:
Subject: @b(spssx tnote)
Message (End with CTRL-D or ESC
Use CTRL/B to insert a file, CTRL/E to enter editor, CTRL/F to run text
through a filter, CTRL/K to redisplay message, CTRL/L to clear screen and
redisplay, CTRL/N to abort, CTRL/P to run a program and insert output.):
@b(Sue, here are some comments on the spssx tnote:)
@b(^p)
Command: @b(kermit -k)
@b(^]c)
Kermit-MS>@b(send comments)
@r([--Kermit screen showing file transfer--])
Kermit-MS>@b(c)
[Done]
@b(Lisa is sending her comments separately. Lynn)
[ D=display S=send TE=text ED=edit TY=type Q=quit ?=Hints HELP ]
Send>
@end(example)
CTRL-p does not appear on screen, but only the response to it, the
prompt @i(Command: ). After the command @i(kermit -k), the cursor
drops to the next line, but there is no prompt at all. After the file
transfer, the Kermit commands, shown above as indented, are cleared
from the screen, so the comment @i([Done]) appears on the line right
under @i(Command: ).
As you can see, MM states that CTRL-p is used "to run a program and
insert output". The command @i(kermit -k) runs the host Kermit and
tells it to stand by to receive a file. Kermit's output is the file
that it receives.
In the example, Lynn wrote a line of text before and after the file.
This is not required; the file could be the entire message.
@b(MAC KERMIT)
Mac Kermit works substantially the same as MS-DOS Kermit, shown in the
examples here. Instead of typing @p(CTRL-] c) and then @p(send) or
@p(receive), pull down the file menu and choose @i(send) or
@i(receive).
@newpage<>
@Section(Using Emacs from within MM)@tag<emacsref>
@blankspace<1 line>
MM's editor, called text mode, is fairly limited. It does line wrap,
but the only way to go back and change anything is to backspace to it,
erasing the last part you typed, and then retype forward.
@i{GNU Emacs}, a screen-oriented text editor, is far more powerful.
If you know @i{emacs}, you may want to use it from within MM. [Note:
If you don't know @i{emacs}, try the online tutorial. Type @p{edit}
to the shell prompt @i($), then type @p(CTRL-h t).] With @i{emacs} you
can do such things as move easily back and forth, insert, move and
delete larger pieces of text, clean up messy lines by re-justifying
paragraphs, search for and replace specific strings of characters, and
use the @i{ispell} spelling checker and correction program.
It is difficult to demonstrate the use of a screen-oriented editor on
a piece of paper, so this example only shows how to begin and end
@i{emacs} and then send the edited file. In this example, Lynn is
sending comments on the SPSSX TNote back to Sue. She starts her
message in text mode. After a line or two, she decides that she needs
more editing power. She then hits CTRL-e to move to @i{emacs}.
@blankspace<1 line>
@begin<example>
$ @b<mm>
/usr/local/mm
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>@b<send>
To: @b<sue>
cc: @b<lisa>
Subject: @b<Comments on the SPSSX TNote Draft>
Message (End with CTRL-D or ESC
Use CTRL-B to insert a file, CTRL-E to enter editor, CTRL-F to run text
through a filter, CTRL-K to redisplay message, CTRL-L to clear screen and
redisplay, CTRL-N to abort, CTRL-P to run a program and insert output.):
@b<I have a couple of comments:>
@b<1. COuld you make the 2nd exxample shorter.>
@b<2. In the first exampel, I think your using one of your>
@b<own commands, not a system one. Tiht may might will confuse>
@b<people.>
@b<2. Thirdly. Oh drat, I better edit this....>
@b<^E>
@end<example>
@newpage<>
The display in @i<emacs> is actually two screens: In the smaller, top
screen is the address information. In the larger, bottom screen is
the message waiting to be edited. At the very bottom you will see the
message @i[Don't forget to save your buffers if you want your changes
to take effect.]
@begin<example>
From: Lynn Jacobsen <lynn@@cunixf.cc.columbia.edu>
To: sue
Cc: lisa
Subject: Comments on the SPSSX TNote Draft
@i{-----Emacs: *MM Headers* (Text Fill)--------All--------}
@b<I have a couple of comments:>
@b<1. COuld you make the 2nd exxample shorter.>
@b<2. In the first exampel, I think your using one of>
@b<your own commands, not a system one. Tiht may might>
@b<will confuse people.>
@b<2. Thirdly. Oh drat, I better edit this....>
@blankspace<3 lines>
@i{-----Emacs: *MM Outgoing* (Text)----Bot-----------------}
Don't forget to save your buffers if you want your changes to take effect
@end<example>
Now make whatever changes need to be made. When you are finished, start
returning to MM by typing CTRL-x CTRL-z:
@begin<example>
From: Lynn Jacobsen <lynn@@cunixf.cc.columbia.edu>
To: sue
Cc: lisa
Subject: Comments on the SPSSX TNote Draft
@i{-----Emacs: *MM Headers* (Text Fill)--------All--------}
@b<I have a couple of comments:>
@b<1. In the first example, I think you're using one of>
@b< your own commands, i.e., "pp". This will confuse>
@b< people. It would be better to use "p unn".>
@b<2. Could you make the 2nd example shorter? You>
@b< don't really need the second "list".>
@b<3. There's a typo in example 3. It's "curmudgeon">
@b< not "crudmugeon".>
@blankspace<3 lines>
@i{-----Emacs: *MM Outgoing* (Text)----Bot-----------------}
@b<C-x C-z>
@end<example>
@newpage<>
Immediately after you type CTRL-x CTRL-z but @i<before> you are returned to
MM, you will see a message like this one at the bottom of the @i{emacs}
screen:
@begin<example>
@i[Save file /f/us/us/lynn/.mm-outgoing.21393? (y or n)]
@end<example>
@blankspace<1 line>
Type a @p(y) if you want to save this message. Typing an @p(n) will discard
the changes made since starting @i<emacs>. Actually, @i(emacs) will ask
first if you are sure you want to discard the message.
Now you are back at the @i(Send>) prompt. If you like, use the
@i<display> command to check what your editing looks like.
If, at the @i(Send>) prompt, you still had second thoughts about the
message, you could type the word @p{edit} to return again to
@i{emacs}.
The message is sent only when you give a @p(send) command.
@newpage<>
@Section(Additional Mail Files)
@blankspace(1 line)
Your main mail file is named @i(mbox). All the messages you have are
stored in the one file. When MM starts up, it copies any new mail you
have into mbox, and then shows you the headers of the new mail.
If you want to keep a large number of old messages, it is a good idea
to put them into additional mail files, rather than leave them in
mbox. MM can start up faster. You might have just one other file
for old mail, or you could classify the mail by topic or sender.
Either of the commands @i(move) and @i(copy) place mail into another
mail file. The difference is that @i(move) marks the messages for
deletion, while @i(copy) does not.
The command @i(get) is used to change between mail files.
Here, Sue has decide to start a mail file called waltermail to hold
messages from Walter. To be sure, she then @i(get)s that file and
uses the @i(headers) command to check it.
@begin(example)
MM>@b(move waltermail from walter)
File does not exist: /f/us/us/sue/waltermail
Do you want to create it? @b(yes)
4,15:16,22,26,31:32,45,51
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>@b(get waltermail)
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>@b(headers all)
@end(example)
Since this is a new mail file, MM first verifies whether Sue wants to
create it. The response to the @i(move) command then indicates that
the messages specified by "from walter" are 4, 15, 16, 22, 26, 31, 32,
45 and 51. In the new file waltermail, they will be numbered 1, 2, 3,
etc., as Sue will see in response to the @i(headers all) command
issued at the end of the example. Since Sue used the @i(move)
command, the messages are now marked for deletion in mbox.
From now on, Sue can type @p(move waltermail) at the @i(Read>) prompt
after reading a message, and that message will be moved to the
waltermail file.
Once she has typed the command @i(get waltermail), Sue can type the
usual MM commands and they will apply to the waltermail file. One
thing she will need to do is delete unwanted messages in it, and
type the @i(expunge) command to eliminate them, so that the file does
not become too large.
To return to mbox, Sue can then type @p(get mbox), but the command
@i(get), with no filename, always refers to mbox, so Sue actually
types:
@begin(example)
MM>@b(get)
[ H=headers R=read REV=review S=send Q=quit BYE ?=Hints HELP ]
MM>
@end(example)
@newpage<>
@Section(Nicknames and Mailing Lists)@tag<defref>
@blankspace<1 line>
@b(NICKNAMES)
Probably you will send mail regularly to certain people. If they have
long or strange addresses, you may want to define an @i(alias) for
each of them to save typing or to avoid looking up the address. To do
so, use the @i(define) command:
@begin(example)
MM>@b(define linda muurb@@cuvmb)
MM>@b(define rich rich@@machine1.com.bfu.edu)
@end(example)
Then, when you send mail, type the alias after @i(To:), and MM will
send the mail to the real address you defined.
After you have defined an alias, you must deliberately save it if you
want to use it again. To save an alias definition, use the @i{save-init}
command. It takes no arguments:
@blankspace(1 line)
@end(text)
@begin(text2)
@begin<example>
MM>@b<save-init>
@end<example>
@end(text2)
@begin(text)
@blankspace(1 line)
This will update a file named @i{.mminit} in your directory (or create
it). Whenever you use MM in the future, any aliases in this file will
be available.
To find out what aliases you have already defined, use the command
@i{who ?}. This will give a list of aliases. To find out who a
particular alias is, type @p{who} and the name of the alias. For
example:
@begin<example>
MM>@b<who ?> mail alias, one of the following:
linda rich
or recipient name, text string
MM>@b<who linda>
muurb@@cuvmb
@end<example>
@blankspace(1 line)
@b(MAILING LISTS)
You can also use an alias as a mailing list. Just define the alias as
a group of user IDs:
@begin<example>
MM>@b<define stats sue,maurice,jte,wmbcu@@cuvmb>
@end<example>
Send mail, typing @i(stats) after the @i(To:) prompt, and MM will send it
to the whole list.
Although the purpose is different, a mailing list alias is the same
thing to MM as a nickname alias. The @i(who) command now will show
this:
@begin<example>
MM>@b<who ?> mail alias, one of the following:
linda rich stats
or recipient name, text string
MM>@b<who stats>
sue, maurice, jte, wmbcu@@cuvmb
@end<example>
@newpage<>
A better way to define a mailing list is to create a file that has all
the addresses in the list. (Use @i(emacs) for example.) Then use the
@i<define> command to tell MM about the file. In the example below,
we start by creating a file called @i<statspeople> containing all the
ID's we want in our group.
The shell command @i(more) shows the contents of a file.
@begin<example>
$ @b<more statspeople>
sue,maurice,jte,wmbcu@@cuvmb.bitnet
@end(example)
Now we define @i(stats) so that it will be an alias for whatever is in
the file @i(statspeople).
@begin(example)
MM>@b<define stats @@@@statspeople>
MM>@b<who stats>
@@@@/us/us/lynn/statspeople
MM>@b<send>
To: @b(stats)
cc:
Subject: @b<Time sheets>
Message (End with CTRL-D or ESC
Use CTRL-B to insert a file, CTRL-E to enter editor, CTRL-F to run text
through a filter, CTRL-K to redisplay message, CTRL-L to clear screen and
redisplay, CTRL-N to abort, CTRL-P to run a program and insert output.):
@b<There was an error in one of the timesheets last week.>
@b<I will correct it as soon as I can.>
@b<lynn>
S>@b<display>
From: lynn jacobsen <lynn@@cunixf.cc.columbia.edu>
To: sue, maurice, jte, wmbcu@@cuvmb.bitnet
Subject: Time sheets
There was an error in one of the timesheets last week.
I will correct it as soon as I can.
lynn
@end<example>
The symbols @i(@@@@) tell MM to use the file @i(statspeople) whenever
you mail to @i(stats). You can change the file as the people involved
change, and each time you send a message to @i(stats), MM will look at
the file @i(statspeople) to see who is in it now. Note that @i(who
stats) shows the name of the file, not who is in it.
If, instead, you type @i(define stats @@statspeople), with only one
@i(@@), MM will copy the list of names out of @i(statspeople) at the
time you define it. MM will not look in the file again: even if you
change it, MM will not change the definition of @i(stats). In this
case @i(who stats) will show the list of names.
The file can have the same name @i(stats) as the alias; we used
different names here to clarify the discussion.
@end(text)