[comp.mail.elm] Elm 2.1 PL1 part 4 of 22

syd@dsinc.UUCP (Syd Weinstein) (12/11/88)

---- Cut Here and unpack ----
#!/bin/sh
# this is part 4 of a multipart archive
# do not concatenate these parts, unpack them in order with /bin/sh
# file doc/Ref.guide continued
#
CurArch=4
if test ! -r s2_seq_.tmp
then echo "Please unpack part 1 first!"
     exit 1; fi
( read Scheck
  if test "$Scheck" != $CurArch
  then echo "Please unpack part $Scheck next!"
       exit 1;
  else exit 0; fi
) < s2_seq_.tmp || exit 1
echo "x - Continuing file doc/Ref.guide"
sed 's/^X//' << 'SHAR_EOF' >> doc/Ref.guide
X  # forwarding mailbox) and don't want to have listed...
X  alternatives = hplabs!taylor  hpldat!taylor  taylor@hplabs  taylor%hpldat  
X.ft R
X.fi
X.sp 2
X.H 1 "The Starting Parameters"
X.P
XThere are a number of starting options to the
X.I elm
Xprogram, with only one that needs to be remembered: ``-?''or ``-h'' for help.
X.P 0
XThe flags are;
X.VL 13 5
X.LI "-a"
XArrow.  This allows you to have the ``->'' arrow pointer
Xrather than the inverse bar.  This can also be set in
Xthe \fI.elm/elmrc\fR 
Xfile \(em check the boolean variable \fIarrow\fR).
X.LI "-c"
XCheck only.  This is useful for expanding aliases 
Xwithout sending any mail.  The invocation is just
Xlike sending mail: 
X.ft CW
Xelm -c\fI  list-of-aliases\fR
X.LI "-d \fIn\fR"
XSet debug level to \fIn\fR.  Useful for debugging the \fIelm\fR
Xprogram, this option will create a file in your home
Xdirectory called \fIELM:debug.info\fR, then
Xoutput a running log of what is going on with
Xthe program.
X.sp
XLevel \fIn\fR can be 1 through 11, where the higher numbers generate
Xmore output.
X.LI "-f \fIfile\fR"
XFile.  Read specified file rather than the default input mailbox.
XNote that you can use the same metacharacters (e.g. `=') as when 
Xyou \fIchange mailboxes\fR from within the program.
X.LI "-h or -?"
XHelp.  Gives a short list of all these options and exit.
X.LI "-k"
XKeypad \(em This option, when used, lets the \fIelm\fR program
Xknow that you're on an HP terminal, and it can then interpret
Xthe <PREV>, <NEXT> and <HOME>/<SHIFT>-<HOME> keys accordingly.  If you
Xare not on an HP terminal, it is recommended that you do
XNOT use this option. (see the \fIkeypad\fR option in
Xthe \fI.elm/elmrc\fR section)
X.LI "-K"
XKeypad + softkeys.  The \fIelm\fR mailer can
Xuse the HP softkeys as an alternative form of
Xinput.  If you specify this option be sure that you're on
Xan HP terminal that can accept the standard 2622 terminal
Xescape sequences! (see the \fIsoftkeys\fR option in
Xthe \fI.elm/elmrc\fR section for more information)
X.LI "-m"
XInhibit display of the 3-line menu when using the mailer.  This,
Xof course, gives you three more message headers per page instead.
X(see also the 
X.ft CW
Xmenu\fR option in
Xthe \fI.elm/elmrc\fR section)
X.LI "-s \fIsubject\fR  "
XIn batch mode, this is how to indicate the subject of the
Xresulting message.  Please see the section on ``Non-Interactive
XUses of Elm'' in \fIThe Elm Users Guide\fR for more information.
X.LI "-z"
XZero.  This causes the mailer not to be started if you don't
Xhave any mail.   This emulates the behaviour of programs
Xlike \fIBerkeley Mail\fR.
X.LE
X.P
XAll the above flags default to reasonable options, so there is
Xusually no need to use them.  Furthermore, the most used flags
Xare available through the \fI.elm/elmrc\fR file.  See above.
X.sp 2
X.H 1 "Special Outgoing Mail Processing"
X.sp
X.P
XThere are a few extra features that the mailer offers on
Xoutgoing mail that are worthy of mention;
X.sp
X.P
XThe first, and probably the most exciting feature\*F, is the
X.FS
XUnfortunately, at many non-US sites, it's quite probable that
Xyou won't be able to use this feature since you won't have
Xthe \fIcrypt()\fR library available due to licensing restrictions.
X.FE
Xability to send \fIencrypted\fR mail! To do this is 
Xextremely simple:  You need merely to have two key lines
X.ft CW
X[encode]\fR and 
X.ft CW
X[clear]\fR in the message body.
X.P 0
XConsider the following outgoing message:
X.nf
X.ps 9
X.ft CW
X	Joe,
X	Remember that talk we had about Amy?  Well, I talked to my manager 
X	about it and he said...
X	uhh...better encrypt this...the usual `key'...
X	[encode]
X	He said that Amy was having family problems and that it had been 
X	affecting her work.
X	Given this, I went and talked to her, and told her I was sorry for 
X	getting angry.  She said that she understood.
X	We're friends again!!
X	[clear]
X	Exciting stuff, eh?   
X					 Mike
X.ps 10
X.ft R
X.fi
XWhile this is obviously quite readable while being typed into 
Xthe editor, as soon as the message is confirmed as wanting
Xto be sent, the \fIelm\fR mailer prompts with;
X.nf
X.ft CW
X.ps 9
X	Enter encryption key: @
X.ps 10
X.ft R
X.fi
Xand accepts a key (a series of 8 or less characters) without
Xechoing them to the screen.  After entry, it will ask for the
Xsame key again to confirm it, then *poof* it will encrypt and
Xsend the mail.
X.P
XIf you have the \fIcopy\fR option enabled, the program will save
Xyour copy of the message encrypted too.  (This is to ensure
Xthe privacy and security of your mail archive too)
X.P
XIf the mailer doesn't ask for the encryption key, it's because
Xyou don't have the 
X.ft CW
X[encode]\fR entered as the first 8 characters
Xof the line.  It MUST be so for this to work!!
X.P
XOn the other end, a person receiving this mail (they must also
Xbe using \fIelm\fR to receive it, since this mailer has a
Xunique encryption program) will be reading the
Xmessage and then suddenly be prompted;
X.nf
X.ft CW
X.ps 9
X	Enter decryption key: @
X.ft R 
X.ps 10 
X.fi 
Xand will again be asked to re-enter it to confirm.  
XThe program will then on-the-fly decrypt the mail 
Xand display each line as it is decoded.  The 
X.ft CW
X[clear]\fR 
Xline signifies that the block to encrypt is done.  
X.P 
XFor those sites not running \fIelm\fR, a separate program
Xsuitable as a filter for use with other mailers is available.
X.P 0
XNote that it is not possible currently to \fIpipe\fR or \fIprint\fR
Xencrypted mail.
X.sp
X.P
XThe other option on outgoing mail is the ability to
Xspecify what section of the message you want to have
Xarchived (assuming \fIcopy\fR is enabled) and what section
Xyou don't.  This is most useful for sending out source
Xfile listings and so on...
X.P
XTo indicate the end of the section that should be
Xsaved in the archive, you need merely to have the
Xline
X.nf
X.ft CW
X	[nosave]
X.ft R
X.fi
Xappear by itself on a line.  This will be removed from 
Xthe outgoing mail, and will indicate the last line of
Xthe message in the saved mail.
X.sp 2
X.H 1 "Responses..."
X.sp
X.P
XThis section will discuss each command in the 
X.I elm
Xprogram in more detail than above, including the 
Xprompts the user can expect upon executing the
Xcommand, the meaning of different options etc etc.
X.sp
X.VL 10 3
X.LI ?
XHelp.  This command used once puts you in the \fIexplain key\fR
Xmode, where any key you press will result in a one-line description
Xof the key.  Pressed again at this point will produce a summary 
Xtwo pages listing each command available.
X<escape> or `.' will leave the help mode and return you to the
Xmain menu level.
X.LI !
XShell.  This allows you to send a command to the shell without
Xleaving the program. 
X.LI |
XPipe.  This command allows you to pipe the current message
Xor the set of \fItagged\fR messages
Xthrough other filters as you desire.  The shell used for
Xthe entire command will be either the one specified in
Xyour \fI.elm/elmrc\fR file, or, if none, \fI/bin/sh\fR.
X.LI \/
XPattern match.  This command, on the top level, allows the
Xuser to search through all the \fIfrom\fR and \fIsubject\fR lines of
Xthe current mailbox starting at the current message and
Xcontinuing through the end.  If the first character of the
Xpattern is a `/', then the program will try to match the
Xspecified pattern against \fIany\fR line in the mailbox.  Again,
Xthis works from one after the current message through the
Xend.  Both searches are case insensitive.
X.LI <n>
XSpecify new current message.  Typing in any of the digits one
Xthrough nine will result in the 
X.I elm
Xprogram producing the prompt ``Set current to : n'', where `n' is
Xthe digit entered.  
XNote that changing the current message to a message not on the 
Xcurrent page of headers will result in a new page
Xbeing displayed.
X.LI "<"
XScan message for calendar entries.  A rather novel feature of 
Xthe \fIelm\fR mailer is the ability to automatically incorporate
Xcalendar/agenda information from a mail message into the users
Xcalendar file.  This is done quite simply; any message that has
Xeither the pattern;
X.DS
X      -> \fIcalendar entry\fR
X.DE
Xor
X.DS
X      - \fImulti-line\fR
X      - \fIcalendar entry\fR
X.DE
Xwill be automatically added to the users \fIcalendar\fR file (see
Xthe \fIcalendar\fR option of the \fI.elm/elmrc\fR file) if the `<'
Xcommand is used.  The main difference between the two formats is that
Xthe first is assumed to be a \fIcalendar(1)\fR entry (the `->' is
Xstripped off), and the second is a more generic format (only the `- '
Xis stripped off).
X.sp
XFor example, let's say we had a message with the text;
X.DS
X.ft CW
X.ps 9
X	Regardless of that meeting, here's the seminar stuff;
X	-> 8/03 3:00pm: AI Seminar with Ira Goldstein of HP Labs
X.ft R
X.ps 10
X.DE
Xthen using the `<' command would add the line;
X.DS
X.ft CW
X.ps 9
X  8/03 3:00pm: AI Seminar with Ira Goldstein of HP Labs
X.ps 10
X.ft R
X.DE
Xto the users \fIcalendar\fR file.
X.LI a
XAlias.  The alias system is a way by which more complex mail addresses
Xcan be shortened for the mail user.  For example;
X.nf
X.ps 9
X.ft CW
X	joe, bleu   =  Joe Bleu  =   joe@hpfcla.SSO.HP.COM
X.ft R
X.ps 10
X.fi
Xwhich allows mail to `joe' or `bleu' with the system expanding
Xthe address properly.  As is obvious, this not only saves remembering
Xcomplex addresses, it also allows the address to be optimized to
Xgo through the minimum number of machines without anyone having to
Xbe informed of the change.  A more detailed discussion can
Xbe found in either the section entitled \fIThe Alias System\fR in
Xthis document or \fIThe Elm Alias System Users Guide\fR.
X.LI b
XBounce mail.  This ``remails'' mail to someone else in such a
Xway as to make the return address the original sender rather
Xthan you (as opposed to the \fIforward\fR command, which makes
Xthe return address \fIyou\fR rather than the original sender)
X.LI c
XChange mailbox.  Specifying this command allows the user to change
Xthe mailbox file that is currently being read.  This is intended 
Xfor perusal and reply to previously archived messages.
XThe prompt is `Name of new mailbox : ' and entering <return>
Xcancels the operation, while entering a filename causes the program
Xto read that file as the new mailbox file, if possible.
XAs with the \fIsave\fR command, this command expands filenames
Xwith `~' being your home directory and `=' being your
X\fImaildir\fR directory, if defined.  This command also allows the
Xspecial character `!' to be used to allow you to change to
Xthe default incoming mailbox.
X.LI "d, u"
XDelete and Undelete.  Neither of these two commands have any prompts
Xand indicate their action by either adding a `D' to the current
Xmessage index entry (indicating deletion pending) or removing
Xthe `D' (indicating that the message isn't queued for deletion).
X.LI "<control>-D  "
XThis command allows you to easily mark for deletion all messages 
Xthat have a specific pattern.  After <control>-D is pressed,
Xthe program will prompt for the string to match (currently it
Xonly matches either the \fIfrom\fR or \fIsubject\fR lines of
Xthe message).
X.LI "<control>-U  "
XThis is the direct opposite command to the previous \(em all messages
Xthat match the specified pattern can have any mark for deletion 
Xremoved by using this command.
X.LI e
XEdit mailbox.  This allows you to modify the current mail file at
Xa single keystroke.  This is mostly useful for editing down messages
Xbefore saving them.  Modifying headers should be done with extreme
Xcaution, as they contain routing information and other vital stuff
Xfor full functionality.
X.LI f
XForward.  Allows the user to forward the current message to another user.  
XThis copies the message into the edit
Xbuffer and allows the user to add their own message too.
XThe prompt is `Forward to:' and will expand an alias if
Xentered.
X(see \fIbounce\fR above, too)
X.LI "g"
XGroup reply.  Identical to \fIreply\fR below, except that the
Xresponse is mailed to \fIall recipients\fR of the original
Xmessage (except yourself \(em see the \fIalternatives\fR
Xoption for your \fI.elm/elmrc\fR file above).
X.LI "j, k"
XThese two keys work similarly to what they would do in \fIvi\fR or
Xany of the other (precious few) screen oriented programs.  The `j' key moves
Xthe current message pointer down to the next message (going to
Xthe next page if needed) and the `k' key moves the current
Xmessage pointer back to the previous message (also changing 
Xpages if needed)
X.LI l
XLimit.  This new feature allows you to specify a subset of the existing
Xmessages to be dealt with.  For example, let's say we had a folder with
Xfour hundred messages in it, about four or five different subjects.  We
Xcould then limit what we're dealing with by using the \fIlimit\fR
Xcommand.  Pressing `l' would result in the prompt;
X.nf
X.ft CW
X       Criteria: 
X.ft R
X.fi
Xto which we could answer 
X.ft CW
Xsubject \fIstring\fR, 
X.ft CW
Xfrom \fIstring\fR or
X.ft CW
Xto \fIstring\fR.  In our example, we could use 
X.ft CW
Xsubject programming\fR
Xas a criteria for selection.  Once we've limited our selections down,
Xthe screen will be rewritten with just the selected messages, they
Xwill all be renumbered, and the top line will change to have a message
Xlike;
X.nf
X.ft CW
X.ps 9
X.tl ''     Mailbox is "=/elm" with 92 shown out of 124 [Elm 2.1]'
X.ps 10
X.ft R
X.fi
XWe can further limit selections by entering further criteria, each
Xtime using the \fIlimit\fR option again.
X.P
XTo clear all the criteria and get back to the `regular' display, simply
Xenter \fIall\fR as the limiting criteria.  It should be noted that the
Xselection based on ``to'' isn't fully implemented for this version, so
Xit is recommended that users stay with ``subject'' and ``from'' as the
Xbasis for their criteria.
X.LI m
XMail.  Send mail to a specified user.  The prompt that is associated
Xwith this command is `Send mail to :'.  Entering an alias name results
Xin the full address being rewritten in parenthesis immediately.  This
Xprompt is followed by `Subject:' which allows the user to title their
Xnote.  The final field is `Copies to: ', which allows other people
Xspecified to receive "carbon copies" of the message. 
XUpon entering all three items the 
X.I vi
Xeditor (or any other editor specified by $editor) 
Xis invoked and the message can be composed.
X.LI n
XNext message.  See \fI<return>\fR.
X.LI o
XOptions.  This full-screen display allows you to alter the settings
Xof a number of parameters, including the current sorting method,
Xthe method of printing files, the calendar file, the save file, and
Xso on.  It's self-documenting (where have you heard \fIthat\fR
Xbefore?) so isn't explained in too much detail herein.
X.LI p
XPrint.  This allows you to print out the current
Xmessage or the tagged messages to a previously defined printer 
X(see the section on the \fI.elm/elmrc\fR discussing the \fIprint\fR variable)
X.LI q
XQuit.  This command's action is dependent on the current state of
Xthe 
X.I elm
Xprogram.
XFor example, if the current mailbox is the default mailbox the messages
Xthat are not deleted are saved in the file $home/mbox, whereas
Xif it is a specified mailbox the to-be-deleted messages are 
Xremoved from the
Xfile.  The possible prompts are `Save to mailbox?' if the default mailbox
Xis being read and there is at least one message to save, 'Delete all
Xmessages' if all messages in any mailbox are marked for deletion 
Xor `Delete message(s)?'
Xif not reading the default mailbox and there are some messages that
Xshould be saved.  A response of `n' (no) to either of these questions will
Xresult in the quit command aborting, and the files being untouched.
X.LI r
XReply.  Reply to the author of the current message.  If
Xthe autocopy flag is not specified, the program will 
Xprompt `Copy Message? (y/n)' to which the user can specify 
Xwhether a copy of the source message is to be copied into the edit
Xbuffer, or not.  If copied in, all lines from the message are 
Xprepended with the prefix character sequence, as specified in
Xthe users \fI.elm/elmrc\fR file.
X.LI s
XSave to file.  This command allows the current message or set of
Xtagged messages to be copied 
Xinto an arbitrary file.  If there is anything in the file currently the
Xmessage or messages are appended to the end, otherwise the file is created
Xcontaining only the newly saved mail.  The prompt for this command
Xis `Save to file : '.  A response of <return> cancels the command
Xand returns the user to the system prompt.
XAfter saving a file, each message is marked for deletion and,
Xif saving just one message,
Xthe current message pointer is incremented.
XThe usual filename metacharacters are available, too.
X.LI t
XTag.  Tag the current message for a later operation\*F.
X.FS
XCurrently only \fIpipe\fR, \fIprint\fR, and \fIsave\fR support this.
X.FE
X.LI "<control>-T  "
XTag all messages containing the specified pattern.  Since \fItagging\fR
Xmessages can occur on screens other than the one being viewed, the 
X\fIelm\fR system will first check to see if any messages are currently
X\fItagged\fR and ask you if you'd like to remove those tags.  After
Xthat, it will, similar to the \fI<control>-D\fR function, prompt for
Xa pattern to match and then mark for deletion all messages that contain
Xthe (case insensitive) pattern in either the \fIfrom\fR or \fIsubject\fR
Xlines. 
X.LI x
XExit.  This is functionally the same as answering \fIN\fRo to the 
X.I quit
Xcommand prompt, and simply leaves the program in the quickest
Xpossible manner.  This command can also occur from typing
XDELETE, or control-Q, both of which are also 
X.I exit
Xcommands.
X.LE
X.sp 2
X.H 1 "The Mail Archive File"
X.sp
X.P
XThe format of the mail saved to the archive file is also
Xworth a quick discussion.  Unlike the usual exact copy
Xof the entire header section, the archived mail has the
Xfollowing header;
X.nf
X.ft CW
X	From To:\fIname\fP 15 Jan 1985 4:54:30 MST
X	To: \fIaddress\fP
X	Subject: \fIsubject\fP
X	Cc: \fIaddress\fP
X	\fImessage body\fR
X.ft R
X.fi
XThe first line, the `
X.ft CW
XFrom\fR ' line, is deliberately mangled
Xwith the occurrence of the `
X.ft CW
XTo:\fIname\fR ' to ensure that when
Xyou are perusing your archive file with the mailer that
Xyou see \fIwhom the message was to\fR, since they're all going
Xto be from you.  The \fIname\fR will either be the machine!login
Xof the person, or, if originally addressed with an alias, the
Xalias name.
X.P
XTo read this file, you can use the mailer, choosing the 
Xthe \fIchange mailbox\fR command, or start up specifying your
Xarchive file as the mailbox to read.
X.sp 2
X.H 1 "Using Elm with ``editor = none''"
X.sp
X.P
XThe
X.I Elm
Xprogram also supports a builtin editor for simple message 
Xcomposition that is very (very) similar to the simple line
Xeditor available from the \fIBerkeley Mail\fR system.
X.P
XTo access it, you need merely to specify ``\fIeditor=none\fR'' in
Xyour \fI.elm/elmrc\fR file.  
XWith that, any messages to be composed
Xthat don't already have text in the buffer (e.g. no reply with
Xthe text included, etc), will use this editor.
X.sp
XFrom the builtin editor, the following options are available
Xfor use;
X.sp
X.VL 7 3
X.LI "~?"
XPrint a brief help menu.
X.LI "~b"
XChange the Blind-Carbon-Copy list.
X.LI "~c"
XChange the Carbon-Copy list.
X.LI "~e"
XInvoke the Emacs editor on the message, if possible.
X.LI "~f"
Xadd the specified list of messages, or current.
X.LI "~h"
XChange all the available headers (To, Cc, Bcc, and Subject)
X.LI "~m"
Xsame as `~f', but with the current `prefix'.
X.LI "~o"
XInvoke a user specified editor on the message.
X.LI "~p"
Xprint out the message as typed in so far.
X.LI "~r"
XInclude (read in) the contents of the specified file.
X.LI "~s"
XChange the Subject line.
X.LI "~t"
XChange the To list.
X.LI "~v"
XInvoke the Vi visual editor on the message.
X.LI "~<"
Xexecute the specified unix command, entering the output
Xof the command into the editor buffer upon completion.
X(for example ``~< who'' will include the output of
Xthe \fIwho\fR command in your message)
X.LI "~!"
Xexecute a unix command if one is given (as in ``~!ls'') or
Xgive the user a shell (either from their shell setting in 
Xtheir \fI.elm/elmrc\fR file or $SHELL).
X.LI "~~"
XAdd a line prefixed by a single `~' character.
X.LE
X.sp
XA useful note is that the `~f' and `~m' commands invoke the \fIreadmsg\fR
Xcommand, so you can pass parameters along too.  For example, if we
Xwanted to include a message from Joe, without any headers, prefixed,
Xwe could use;
X.nf
X	~m -n Joe
X.fi
Xto accomplish the task.
X.P
XTo learn more about how they work, try 'em!
X.sp 2
X.H 1 "The Alias System"
X.sp
X.P
XAs mentioned previously, there exists in the
X.I elm
Xsystem a set of aliases that associate
Xan arbitrary word (such as a persons name) to a complex
Xaddress or group.  
XThe advantages are readily apparent; rather than
Xremembering an address of the form;
X.nf
X.ps 9
X.ft CW
X        host1!host2! ... !hostN!user
X.ft R
X.ps 10
X.fi
Xthe user merely has to remember a single word.  
X.P
XTwo alias tables are available for a each
Xuser within 
X.I elm,
Xnamely the system alias file and the users' alias file.  The
Xsystem alias file is created and maintained (by the system administrator)
Xby editing the 
Xfile \fISYSTEM_ALIASES\fR as defined in the `sysdefs.h' file
X(see \fIThe Elm Configuration Guide\fR) and as described
Xin the documentation with the 
X.I newalias
Xcommand, then running the 
X.I newalias 
Xprogram.
X.P
XAn individual user can also have an alias file which works
Xin conjunction with the system aliases.  To do this, they
Xneed merely to peruse the documentation for the 
X.I newalias
Xcommand and create a file as indicated therein.  After 
Xexecuting the program, the aliases will be available
Xfor using from within 
X.I elm.
X.sp
XPlease refer to \fIThe Elm Alias Users Guide\fR for more helpful
Xhints and so on.
X.sp 2
XWithin
X.I elm,
Xhowever, the alias system acts as an entirely different program, with
Xit's own commands and own mini-menu.  The menu replaces the
Xstandard mini-menu with;
X.sp
X.DS
X.nf
X.ps 9
X.ft CW
X.ce
X--------------------------------------------------------------------------------
X.sp
X.ce
XAlias commands
X.sp
X.ce 
XA)lias current message, Check a P)erson or S)ystem, M)ake new alias or R)eturn
X.sp 2
XAlias: @
X.ce
X--------------------------------------------------------------------------------
X.sp
X.ps 10
X.ft R
X.DE
X.fi
X.P 0
XThe commands are;
X.VL 10 3
X.LI a
XAlias current message.  
XThis allows the user to create an alias that has the
Xreturn address of the current message as the address field of
Xthe alias.  It prompts for a unique alias name.   Important
Xnote: when you alias an address in this fashion, the mailer
Xwill try to minimize the amount it needs to store by
Xiteratively comparing machine names in the path with the
Xmachines in the pathalias database.  Once it finds an entry
Xthe address will be saved at that point.   For further 
Xinformation, please see \fIThe Elm Alias System Users Guide\fR.
X.LI p
XCheck personal alias.  This is a simple way of checking what is in the alias
Xdatabase \(em it prompts for an alias name, and returns the address
Xassociated with that name or the error message `alias not found'
Xas appropriate.  
X.LI s
XCheck system alias.  If you're not sure that your machine can talk
Xto another machine, you can use this command to either find the
Xappropriate route or find that you're correct in your suspicions 
Xand it is indeed unknown!
X.LI m
XMake user alias.  This will prompt for a unique alias name and
Xthen for an address.  The information provided will be added
Xto your individual alias_text file (\fI$home/.alias_text\fR) and 
Xthen added to the database.
X.LI r
XReturn.  Return to the main level of the 
X.I elm
Xprogram.
X.LE
X.sp 2
X.H 1 "While We're Talking Aliases..."
X.P
XAnother feature worthy of discussion, since it's been getting
Xlots of veiled references throughout this document, is the 
Xhost-path file.  This is implemented using the uucp pathalias 
Xdatabase, with a file containing lines with the format:
X.nf
X          \fIhostname\fR        \fIaddress\fC!%s\fR
X  or
X          \fIhostname\fR        \fC%s@\fIhostname\fR
X.fi
XThe actual details of the file are located in 
X\fIThe Alias System Users Guide\fR.
X.P
XAnyway, to use them is quite simple...when specifying the address
Xof someone, you can either have an alias for them already, reply
Xto their message, or use the system alias feature!
X.P
XEnough hype, right?  Okay...to use this feature, you specify an
Xaddress by either "machine!person" ignoring if your specific
Xmachine can talk directly to the machine specified, or, if you
Xprefer the Internet addressing scheme, "person@machine".  When
Xyou enter the address as specified, the mailer will quickly
Xsearch through the pathalias database file and expand the
Xspecified address to be a legitimate routing address.
X.P
XWhat's really nice about this is that the address that we're
Xgoing to send to can be either on ARPA, CSNET, BITNET, uucp,
Xor any other network.  The method of specifying the basic
Xaddress is the same regardless!
X.P
XFor example, mail to me could be sent as either "hplabs!taylor"
Xor "taylor@hplabs".  \fIelm\fR will expand them
Xboth in the same manner and include a ``route'' to the 
Xmachine \fIhplabs\fR, if needed.
X.P
XFor those sites with the domains database installed, you can
Xalso mail to users on domain based systems by simply specifying
Xtheir name, the machine they receive mail on and a full domain
Xspecification.
X.P
XFor example, say you have a friend Maurice who reads mail 
Xon \s9JOEVAX\s10 in the Mailnet world.  You could mail to him by using
Xthe address "Maurice@\s9JOEVAX.MAILNET\s10" and your system will
Xexpand the address correctly.
X.sp 2
X.H 1 "Expert Mail Users and Debugging the Mailer"
X.P
XThere are some additional facilities available in the
X.I elm
Xmailer for those people who are knowledgeable about 
Xmail protocols, or trying to debug/track down a 
Xproblem.
X.P
XThe `h' \fIheaders\fR command at the outermost level of the mailer
Xwill display the current message ignoring the current
Xsetting of the `weed' option.  This is most useful
Xfor answering questions of the form "I wonder what
Xthis guy put in his header?" and such.  This command
Xdoes not show up on the mini-menu because it is somewhat
Xesoteric, but it does appear on the `?' help screen (can
Xyou find it there, though?).
X.P
XThe `@' command at the outermost level of the mailer
Xwill output a screen of debugging information,
Xincluding the number of lines and 
Xoffsets of each of the messages in the current mailbox.
X.P
XThe `#' command at the outermost level of the mailer
Xwill display the entire stored `record structure' for
Xthe current message.
X.P
XThe `%' command 
Xwill display the full computed return address of the
Xcurrent message.
X.P
XStarting up 
X.I elm
Xwith the "-d" debug option will create a file called
X.I ELM:debug.info
Xin your home directory and contain a wealth of useful
Xinformation (to me, at least!) to aid in tracking down
Xwhat errors are occurring and why.  
X.sp
X.P
XIf there are any problems with the mailer,  please try
Xto recreate the error with the debug option enabled
Xand set to the highest level (11)
Xbefore sending defect reports my way.
X.sp 3
XOne final note: all error names reported by the program
Xare documented in the AT&T System V Interface Definition Reference 
XManual in \fIerrno\fR(2).
SHAR_EOF
echo "File doc/Ref.guide is complete"
chmod 0444 doc/Ref.guide || echo "restore of doc/Ref.guide fails"
echo "x - extracting doc/Users.guide (Text)"
sed 's/^X//' << 'SHAR_EOF' > doc/Users.guide &&
X.PH ""
X.tm I trust we've run this through "tbl" first...
X\" @(#)$Id: Users.guide,v 2.1 88/09/15 22:10:09 syd Exp $
X\"
X\"  Users guide to the ELM mail system.
X\"  format with:
X\"	'tbl Users.guide | troff -mm > Users.fmtd'
X\"
X\"  Elm is now in the public trust. Bug reports, comments, suggestions, flames
X\"  etc. should go to:
X\"	Syd Weinstein		syd@dsinc.UUCP (dsinc!syd)
X\"
X\"  (C) Copyright 1986, 1987 Dave Taylor
X\"
X\"  $Log:	Users.guide,v $
X\" Revision 2.1  88/09/15  22:10:09  syd
X\" Initial 2.1 release
X\" 
X\"  88/09/05 gatech!sigmast!dgy@cs.buffalo.edu
X\"	misc fixes re nroff and OPTIMIZE RETURN
X\"
X\"  88/08/30 SSW
X\"	misc changes for release
X\"
X\"  88/08/27 nicmad!brown (Mike Brown)
X\"	Fixes for spacing and doc
X\"
X\"  Revision 2.1  88/07/08  14:47:12  edc
X\"  Removed allreferences to the X.400 stuff (since it's based on a library
X\"  we can't distribute with the net version of Elm). Also include a
X\"  "Bug Reports To" section in the man pages, as well as a note in the
X\"  documentation title pages stating that "Elm is now in the public trust...
X\"    send bug reports to..." as per Dave's request.
X\"  
X\"  Revision 2.0  88/06/27  13:50:40  edc
X\"  This is the original 2.0 gamma release as leaked from HP.
X\"  
X.PF ""
X\"  Define the big box macro for troff
X.de eb
X.sp -1	
X.nf
X\h'-.5n'\L'|\\nau-1'\l'\\n(.lu+1n\(ul'\L'-|\\nau+1'\l'|0u-.5n\(ul'
X.fi
X..
X.ds HF 3  3 
X.ds HP 12 12
X.SA 1
X.nr Hy 1
X.nr Pt 1
X.nr Pi 0
X.lg 1
X.HM 1 1
X.rs
X\" This will keep the nroff version of the title page on one sheet.
X.if t .sp |3.0i
X.ce 99
X.ps 20
X\fBThe Elm Users Guide\fR
X.sp 2
X.ps 12
X\fIA painless introduction to electronic mail 
Xusing the \fBElm\fP mail system\fR
X.sp 5
XDave Taylor
X.sp 
XHewlett-Packard Laboratories
X1501 Page Mill Road
XPalo Alto CA
X94304
X.sp
Xemail: taylor\s10@\s12hplabs.HP.COM or hplabs!taylor
X.sp 2
X>>> Elm is now in the public trust. Bug reports, comments, etc. to: <<<
X.sp
XSyd Weinstein
XDatacomp Systems, Inc.
X3837 Byron Road
XHuntingdon Valley, PA 19006-2320
X.sp
Xemail: syd\s-1@\s+1dsinc.UUCP  or  dsinc\s-1!\s+1syd
X.ps 8
X.if t .vs 9
X.sp 5
X\fBABSTRACT\fR
X.ce 0
X.sp
X.in +1i
X.ll -1i
XWhile various Unix utilities have been designed to
Xtake advantage of the CRT screen
X(rather than line-oriented systems)
Xelectronic mail systems haven't ``caught the wave''.
XThis document 
Xpresents \fIElm\fR, a sophisticated
Xfull-screen mail system for interactive use.
X\fIElm\fR offers all the features of
X\fI/bin/mail\fR, \fIBerkeley Mail\fR, \fIuumail\fR, \fINMail\fR and
Xthe AT&T Mail family of Unix mailers (namely \fIPMX/TERM\fR) in a
Xunified and intuitive fashion.
X.ll +1i
X.in -1i
X.if t .sp 5
X.if n .sp 2
X.ce
X.ps 18
X\fB\(co\fR\s12 Copyright 1986, 1987 by Dave Taylor
X.ps 10
X.if t .vs 12
X.SK
X.ce 99
X.ps 14
X\fBElm Users Guide\fR
X.ps 10
X.sp
X(version 2.1)
X.sp 2
XDave Taylor
XHewlett-Packard Laboratories
X1501 Page Mill Road
XPalo Alto CA
X94304
X.sp
Xemail:  taylor\s-1@\s+1hplabs.HP.COM  or  hplabs\s-1!\s+1taylor
X.sp 2
X>>> Elm is now in the public trust. Bug reports, comments, etc. to: <<<
X.sp
XSyd Weinstein
XDatacomp Systems, Inc.
X3837 Byron Road
XHuntingdon Valley, PA 19006-2320
X.sp
Xemail: syd\s-1@\s+1dsinc.UUCP  or  dsinc\s-1!\s+1syd
X.sp 2
X\*(DT
X.ce 0
X.nr P 1
X.PH "'Elm Users Guide''Version 2.1'"
X.PF "''Page \\\\nP''"
X.sp 3
X.H 1 "Introduction"
X.P 1
XThe Unix\v'-.3'\s5TM\s10\v'.3' operating system was originally 
Xwritten on a small PDP machine,
Xto work with teletypewriters.  Consequently, all the original software for
Xthe operating system was written with a `tty' in mind; 
Xwith line oriented interfaces, rather than screen oriented.
X.P
XGradually this began to change, and, with the addition of the Berkeley
X.I vi
Xvisual shell to the 
X.I ed
Xline editor, the trend began to be brought to the attention of 
XUnix systems designers.  
XAnd yet, this transition has seemed
Xtoo subtle for many software engineers,
Xand so precious few Unix programs are available 
Xdesigned to exploit the entire CRT screen.
X.P
XConsequently, after becoming more and more disenchanted
Xwith the existing electronic mail facilities (\fIbinmail\fR
Xand \fIBerkeley Mail\fR)
XI decided to undertake creating my own system.  
XOnce the ball was rolling it became quite
Xdifficult not to keep enhancing it, especially as I
Xbecame more and more familiar with various different mail
Xsystems, but the result, I hope, is a solid, unified interface
Xto electronic mail suitable for almost any environment.
X.P
XOne thing that sets \fBThe Elm Mail System\fR off from
Xother packages is that it
Xcomes with an extensive documentation set, including;
X\fIThe Elm Users Guide\fR, which you're holding,
X\fIThe Elm Reference Guide\fR, 
X\fIThe Elm Alias Users Guide\fR,
X\fIThe Elm Filter System Users Guide\fR,
X\fIThe Elm Forms Mode Guide\fR, 
Xand \fIThe Elm Configuration Guide\fR.  
XThe names of each indicate
Xwhat they discuss (not unreasonably).
X.P
XThis particular document contains;
Xthis introduction, a tutorial session with the mailer, a
Xdiscussion of non-interactive uses of \fBElm\fR,
Xa brief foray into the \fBElm\fR utilities,
Xand finally, credits and references.
X.P
X\fIThe Elm Reference Guide\fR contains a
Xmuch more indepth discussion of all the possible options
Xavailable within the \fBElm\fR environment, including
Xthe ``.elm/elmrc'' file,
Xthe available outbound mail processing features,
Xa section for expert users, suggestions
Xon debugging strange installations, and
Xmany other useful topics.
X.P
X\fIThe Elm Alias Users Guide\fR is the place
Xto go to learn about the format of the 
X``.elm/aliases.text''
Xfile and the associated data files, to learn how
Xto create and use path route aliases and domain
Xbased alias routing, system aliases, and other
Xrelated topics.
X.P
XOne of the more innovative features of \fBElm\fR is
Xthe ability to transmit and receive ``forms'' (as
Xdefined by the AT&T Mail system).  To learn about
Xhow to create and reply to forms you should refer
Xto \fIThe Elm Forms Mode Guide\fR.
X.P
XIf you find yourself getting too much mail delivered in
Xyour mailbox, you might be a good candidate for the
X\fIfilter\fR program.  To learn more about what
Xthis program is and how to use it please
Xconsult \fIThe Elm Filter System Users Guide\fR.
X.P
XFinally, if you're working with the actual source code
Xand are interested in what all the locally configured
Xoptions are and mean, please see
X\fIThe Elm Configuration Guide\fR.  It is
Xstrongly suggested that all system administrators
Xand people installing the system print out the
Xlocal ``sysdefs.h'' file and have it handy while
Xreading the configuration guide.
X.sp 
XThe recommended order of learning the \fBElm\fR
Xsystem is to skim this guide until you feel
Xconfident enough to start up the program.  Once
Xthat's reached, \fIuse it!\fR  Soon you'll find
Xareas that you need to expand into, and you can
Xachieve that by going into the \fIO)ptions\fR
Xscreen within \fIelm\fR and changing your
Xuser level accordingly.
XAfter a while, sit down again and read through this
Xguide.  You should have a couple of ``aha!'' intuitive
Xflashes.  After another period of time, you're
Xready to delve into the real power of the system
Xand read the reference guide.  The other manuals
Xshould be read as the need arises.
X.sp
XIn any case, the system should be useable without reading
X\fIany\fR of the documentation!
X.sp
XAny comments or problems with any of the documentation or the program
Xitself are welcome; if you can't get electronic mail to me, please
Xfeel free instead to drop me a note via the overland mail address
Xin the title page.  
X.sp 
X.H 1 "The Main System"
X.P 1
XUpon entry to the program, the main screen will be 
Xdisplayed as below;
X\" display start, constant width, remember loc for BOX
X.DS CB
X.ft CW
X.ps 9
X.mk a
X.mk a
X.sp
X.ce
XMailbox is '/usr/mail/mymail' with 15 messages.  [Elm 2.1]
X.TS
Xr l n l l l l.
X ->	N	1	Apr 24	Larry Fenske	(49)	Hello there
X	N	2	Apr 24	jad@hpcnoe	(84)	Chico?  Why go there?
X	E	3	Apr 23	Carl Smith	(53)	Dinner tonight?
X	NU	4	Apr 18	Don Knuth	(354)	Your version of TeX...
X	N	5	Apr 18	games	(26)	Bug in cribbage game
X	 A	6	Apr 15	kevin	(27)	More software requests
X		7	Apr 13	John Jacobs	(194)	How can you hate RUSH?
X	 P	8	Apr 8	decvax!mouse	(68)	Re: your Usenet article
X		9	Apr 6	root	(7)
X		10	Apr 5	root	(13)
X.TE
X.sp
X.ce 3
XYou can use any of the following commands by pressing the first character;
XD)elete or U)ndelete mail, M)ail a message, R)eply or F)orward mail, Q)uit
XTo read a message, press <return>.  j = move down, k = move up, ? = help
X Command : @
X.sp 
X\" draw box, proportional Roman font back, display end
X.eb
X.ps 10
X.ft R
X.DE
X.P 0
XThere are a number of things to notice about this, the main screen;
X.BL 4
X.LI
XMost likely, on your computer the message currently ``active'' will be
Xdisplayed in an inverse bar rather than being delimited by the two
Xcharacter arrow as here.  It's nothing to worry about; displaying
Xinverse video is just quite difficult on printers!
X.LI
XThe first line on the screen always displays the current mail file, 
Xthe number of messages in the file, and the current 
X.B Elm
Xversion number.
X.LI
XThe arrow (``->'') or inverse video bar will always
Xindicate which is the current message.  
X.LI
XThe first field that appears associated with each message is
Xthe status field.  This can be blank (as with most of the
Xones above, or can have any combination of:
X.sp
X\fIfirst character (which signifies temporary status)\fR
X.TS
Xc l.
X     E	    for an \fIexpired\fR message
X     N	    for a \fInew\fR message
X     D	    for a \fIdeleted\fR message
X.TE
X\fIsecond character (which denotes permanent status)\fR
X.TS
Xc l.
X     U	    for \fIurgent\fR mail
X     A	    for messages that have an \fIaction\fR associated with them
X     F	    for a \fIform\fR letter
X.TE
XThe third character of the status field can be a ``+'' to
Xindicated that the message is \fItagged\fR too.
X.TE
X.LI
XContinuing from left to right, the next field is the message
Xnumber.  For the most part you can ignore these unless you want
Xto quickly move to a specific message (as we'll see later).
X.LI
XThe date associated with each message is typically
Xthe date the person actually
X.I sent 
Xthe message.  
X.LI 
XThe next field displayed indicates whom the message is from.  
X\fBElm\fR will try to display the \fIfull name\fR of the person who 
Xsent the message, rather than the their return address or 
Xcomputer login.  
XSome systems don't generate the correct headers, though, hence 
Xmessages like numbers 2 and 8, where it's
Xtheir return address.
X.LI
XThe number in parentheses is the total number of lines in the message.
X.LI
XThe final field is the subject of the message.  Notice
Xthat messages mightn't have any subject, as in messages #9 and #10.
X.LI
XA maximum of ten messages are displayed at one time \*F.
X.FS
X.ft R
XOn screens with greater than 25 lines, more messages will be 
Xdisplayed automatically.  Further, if you choose to turn off
Xthe Menu display, you can have an even greater number 
Xdisplayed.
X.FE
XFurther into
Xthe document we'll learn how to change 'pages' in the mailbox. 
X.LI
XThe three line Menu display will always 
Xindicate the relevant commands.  There are actually two possible 
Xmenus that can be displayed, based
Xon the \fIuser level\fR as set from either the O)ptions screen or
Xthe \fI.elm/elmrc\fR 
Xfile.  The alternate menu, for more advanced users, 
Xlists more options;
X.sp
X.ce 3
X|=pipe, !=shell, ?=help, <n>=set current to n, /=search pattern
XA)lias, C)hange mailbox, D)elete, E)dit, F)orward, G)roup reply, M)ail, 
XN)ext, O)ptions, P)rint, R)eply, S)ave, T)ag, Q)uit, U)ndelete, or eX)it
X.sp 
X.LI
XFinally, the '@' character indicates where the cursor would be, awaiting
Xyour input.
X.LE
X.P 0
X.sp
XThe typical action at this point is to use the 
X.I <return>
Xkey to read the current message, which will clear the 
Xscreen and display the current message:
X.DS CB
X.ft CW
X.ps 9
X.mk a
X.tl ' Message 1/15 from Larry Fenske''Apr 24, 87 at 8:45 pm '
X.tl ''Hello there''
X Dave, 
X      Just wanted to drop you a brief note to see what was going on with 
X you this afternoon.  Life here has been the usual fun and games...
X	     Ah well, off to the great wilds beyond the desk!
X				Larry
X Please press <return> to return to Elm: @
X.eb
X.ft R
X.ps 10
X.DE
XBefore we go further with our example, however, let's very
Xquickly look at all the functions available from the main
Xscreen:
X\" ensure we get a reasonable chunk of this table on the page...
X.ne 10
X.VL 25 0 1
X.LI "Command"
XAction
X.LE
X.sp
X.VL 22 3 1
X.LI "|"
XPipe current message or tagged messages to specified system command.
X.LI "!"
XShell escape.
X.LI "?"
XHelp mode \(em any key pressed will be explained.
X.LI "+ \fI<space>\fR"
XNext page of headers
X.LI "-"
XPrevious page of headers
X.LI "="
XSet current message to 1
X.LI "*"
XSet current to last message.
X.LI "<n>"
XSet current message to number n.
X.LI "/"
XSearch for pattern in subject/from lines.
X.LI "//"
XSearch for pattern in entire mailbox.
X.LI "<"
XScan message for calendar entries\*F
X.FS 
X.ft R
XSome sites might opt not to have this feature
Xavailable.
X.FE
X.LI ">"
XA synonym for `s' \(em \fIsave\fR message or messages.
X.sp
X.LI "a"
XAlias, change to 'alias' mode 
X.LI "b"
XBounce \(em remail message [see \fIf \(em forward\fR too]
X.LI "c"
XChange to new mail file
X.LI "d"
XDelete current message
X.LI "<control>-D"
XDelete all messages matching specified pattern
X.LI "e"
XEdit mailbox file, resyncing upon reentry.
X.LI "f"
XForward message to specified user\*F
X.FS
X.ft R
XThe difference between \fIForward\fR and \fIBounce\fR is rather 
Xsubtle \(em a forwarded message is ``from'' you, with the
Xoriginal message included, whereas a bounced message
Xis still from the original sender.  
X.FE
X.LI "g" 
XGroup reply \(em reply to everyone who received the current message
X.LI "h"
XDisplay message + headers
X.LI "j"
XIncrement current message by one
X.LI "k"
XDecrement current message by one
X.LI "l"
XLimit displayed messages based on the specified criteria.  
X.LI "m"
XMail to arbitrary user(s)
X.LI "n or <return>"
XNext message (Read current, then increment)
X.LI "o"
XAlter current system options.
X.LI "p"
XPrint current message or tagged messages.
X.LI "q"
XQuit \(em mail deleted, saved in mbox or left.
X.LI "r"
XReply to the author of current message
X.LI "s"
XSave current message or tagged messages to file
X.LI "t"
XTag current message.
X.LI "<control>-T"
XTag all messages matching specified pattern.
X.LI "u"
XUndelete current message
X.LI "<control>-U"
XUndelete all messages matching specified pattern.
X.LI "x"
XExit \(em don't record as read, don't save...
X.sp
X.LI "^L"
XRewrite screen.
X.LI "^M (<return>)"
XRead current message
X.LI "^Q, DEL"
XExit \(em don't record as read, don't save...
X.LE
X.sp
X.P 0
X\" again, make sure we start on a new page please
X.ne 10
X.P 0
XBut let's go back to our example and see some of this at
Xwork, shall we?
X.sp
XWe were reading the message from Larry and the screen looked
Xlike:
X.DS CB
X.ft CW
X.ps 9
X.mk a
X.tl ' Message 1/15 from Larry Fenske''Apr 24, 87 at 8:45 pm '
X.tl ''Hello there''
X Dave, 
X      Just wanted to drop you a brief note to see what was going on with 
X you this afternoon.  Life here has been the usual fun and games...
X	      Ah well, off to the great wilds beyond the desk!
X				Larry
X Please press <return> to return to Elm: @
X.eb
X.ft R
X.ps 10
X.DE
XFrom this point let's go ahead and reply to the message.  To
Xdo this, we can use the \fIreply\fR command...
XTo do this, we type ``r'' and the last few lines change to
Xsomething like:
X.ft CW
X.ps 9
X.sp 
X.tl '-------------------------------------------------------------------------------''
X.tl 'Command: reply to message''Copy message (y/n) ? @ '
X.sp 2
X.ft R
X.ps 10
XTo which we decide that we don't need the text of this message in 
Xour new one, so we reply \fIno\fR by pressing the ``n'' key.  The
Xbottom part of the window then changes to:
X.ft CW
X.ps 9
X.sp
X.tl '-------------------------------------------------------------------------------''
X.tl 'Command: reply to message''To: Larry Fenske '
X.tl 'Subject: Re: Hello there@''
X.ft R
X.ps 10
X.sp 2
Xat this point we can either decide to enter a new subject (you could
Xuse either \fIbackup word\fR (<control>-W) or \fIbackup line\fR (this
Xis the same as your `line kill' character, <control>-X or <control>-U
Xusually)) or go with this one by pressing \fI<return>\fR.  We'll
Xjust leave it as it is and press \fI<return>\fR, changing the
Xscreen to:
X.ps 9
X.ft CW
X.sp
X.tl '-------------------------------------------------------------------------------''
X.tl 'Command: reply to message''To: Larry Fenske '
X.tl 'Subject: Re: Hello there''
X.tl 'Copies To: @'''
X.ps 10
X.ft R
X.sp 
XThere's no-one we want to have receive copies of this message, so we'll
Xjust press \fI<return>\fR again to indicate this.  
X.sp
XOnce you've answered these questions the program will put you into
Xyour favorite editor and let you compose a response.  When you're
Xdone it then asks:
X.ps 9
X.ft CW
X.sp
X.tl '-------------------------------------------------------------------------------''
X.tl 'Please choose one of the options by capitalized letter'
X.tl 'E)dit the message, edit the H)eaders, S)end it, or F)orget it: @'
X.ft R
X.ps 10
X.sp
XSince we're just interested in sending the message out, we'll
Xchoose the \fIsend\fR option and press ``s''.  The program
Xthen sends the message, indicating that by the line below
Xsaying:
X.sp
X.ps 9
X.ft CW
X    sending mail...
X.ft R
X.ps 10
X.sp
Xthen putting at the bottom of the screen ``Mail sent!'' and giving us
Xthe prompt:
X.ps 9
X.ft CW
X.sp
X.tl '    Request (return to I)ndex page) ? @''
X.sp
X.ps 10
X.ft R
XPretty easy, isn't it?  Let's continue by going back to the main
Xscreen by requesting \fIindex\fR: pressing the ``i'' key.  The
Xscreen is then:
X.DS CB
X.ft CW
X.ps 9
X.mk a
X.mk a
X.sp
X.ce
XMailbox is '/usr/mail/mymail' with 15 messages.  [Elm 2.1]
X.TS
Xr l r l l l l.
X ->		1	Apr 24	Larry Fenske	(49)	Hello there
X	N	2	Apr 24	jad@hpcnoe	(84)	Chico?  Why go there?
X	E	3	Apr 23	Carl Smith	(53)	Dinner tonight?
X	NU	4	Apr 18	Don Knuth	(354)	Your version of TeX...
X	N	5	Apr 18	games	(26)	Bug in cribbage game
X	 A	6	Apr 15	kevin	(27)	More software requests
X		7	Apr 13	John Jacobs	(194)	How can you hate RUSH?
X	 P	8	Apr 8	decvax!mouse	(68)	Re: your Usenet article
X		9	Apr 6	root	(7)
X		10	Apr 5	root	(13)
X.TE
X.sp
X.ce 3
XYou can use any of the following commands by pressing the first character;
XD)elete or U)ndelete mail, M)ail a message, R)eply or F)orward mail, Q)uit
XTo read a message, press <return>.  j = move down, k = move up, ? = help
X Command : @
X.sp 
X\" draw box, proportional Roman font back, display end
X.eb
X.ft R
X.ps 10
X.DE
X.ft R
XNotice that the first message is no longer marked as \fInew\fR
Xsince we've now read it.
X.sp
XLet's go ahead and read the message from kevin (message #6) since
Xit has some sort of \fIaction\fR associated with it anyway.  To
Xdo this, we simply press the ``6'' key, which will change the
Xbottom of the screen to:
X.sp
X.ps 9
X.ft CW
X.tl 'Command: New Current Message''Set current message to : 6@'
X.ft R
X.ps 10
X.sp
XWe'll just press \fI<return>\fR to move the active message
Xpointer (the arrow).
X.sp
XNow we're pointing at the new message, so let's go ahead and read
Xit by pressing \fI<return>\fR again, giving us:
X.sp
X.DS CB
X.ft CW
X.ps 9
X.mk a
X.tl ' Message 6/15 from kevin''Apr 15, 87 at 11:36 am '
X.tl ''More software requests''
X Action: please acknowledge receipt
X I don't suppose you have a nifty netnews reader around too, do you??
X --
X kevin
X Please press <return> to return to Elm: @
X.eb
X.sp
X.ps 10
X.ft R
X.DE
X.ne 5
XWell, it turns out that we don't, but a friend of ours does, so
Xlet's \fIforward\fR the message to them by pressing ``f'':
X.ps 9
X.ft CW
X.sp
X.tl '-------------------------------------------------------------------------------''
X.tl 'Command: forward message''Edit outgoing message (y/n) ? @ '
X.ft R
X.ps 10
X.sp 2
XNo need to edit it, so let's answer \fIno\fR with ``n'':
X.sp
X.ps 9
X.ft CW
X.tl '-------------------------------------------------------------------------------''
X.tl 'Command: forward message''Edit outgoing message (y/n) ? No '
X.tl 'To: @'''
X.ps 10
X.ft R
X.sp 
XWe type in the address of the person we're forwarding to (in
Xthis case 
X.ft CW
Xusenet\fR) and press
X\fI<return>\fR:
X.ft CW
X.ps 9
X.sp
X.tl '-------------------------------------------------------------------------------''
X.tl 'Command: forward message''To: usenet '
X.tl 'Subject: More software requests (fwd)@'
X.ft R
X.ps 10
X.sp
XTo which we again press \fI<return>\fR to take the default subject.
X\fIelm\fR asks for any possible copy recipients, asks us if we're
Xsure we want to send it, and shoots it off.
X.sp
XEnough mail for now, however, so we just \fIexit\fR by pressing
Xthe ``x'' key and the program drops us back into our shell.
SHAR_EOF
echo "End of part 4"
echo "File doc/Users.guide is continued in part 5"
echo "5" > s2_seq_.tmp
exit 0
-- 
=====================================================================
Sydney S. Weinstein, CDP, CCP                   Elm Coordinator
Datacomp Systems, Inc.				Voice: (215) 947-9900
{allegra,bellcore,bpa,vu-vlsi}!dsinc!syd	FAX:   (215) 938-0235