% appendix A					% mtr

\catcode`\@=11				% for a little while

\def\psect#1{%
    \skip@=\lastskip
    \par
    \dimen@=.6\baselineskip
    \ifdim\skip@<\dimen@
	\ifdim\skip@=\z@ \penalty-100 \fi
	\vskip \dimen@ plus .3\baselineskip
    \fi
    \centerline{\underbar{#1}}%
    \nobreak
    \vskip \z@ plus .1\baselineskip
    \vskip -\parskip
}

\def\pitem#1 #2.{\item{\pgm{#1\/}:} #2\hbreak}

\catcode`\@=12				% back to normal


\appendix{A}{MH Commands}
\MH/ is composed of several \unix/ programs,
which in theory are fairly simple and single-purposed.
These commands are functionally grouped below:

\psect{Composing Mail}
\pitem{comp} compose a message.
A program to originate a message.
Usually, a special prompting editor front-end, \pgm{prompter},
is used to fill-in a composition template with the addressees of
the message, subject, and so forth.

\pitem{dist} redistribute a message to additional addresses.
A program that re-enters a message previously received by the user
into the message transport system.
Only new addresses are added;
the body of the message is not changed in any way.

\pitem{forw} forward messages.
A program that encapsulates one or more messages in a new message draft.
In addition, the user may add initial and/or closing comments.

\pitem{repl} reply to a message.
A program that constructs a reply to a message using a reply template.
The template mechanism has sufficient generality to permit the user to
``program'' the form of the reply draft based on the contents of the message
being replied-to.

\pitem{send} send a message.
A program that posts a draft with the message transport system.
The \pgm{send} program is
usually invoked by one of the four preceding programs,
and performs simple front-end pre-processing prior to invoking the
\pgm{post} program.
For example,
if invoked in {\it push}'d mode,
\pgm{send} will immediately relinquish control of the user's terminal and
post the message in the background.
If the posting fails,
\pgm{send} will send back a failure notice to the user.
If the user had \pgm{push\/}'d the sending of the draft,
then by default
the draft being sent is encapsulated in the failure notice.
This permits easy \pgm{burst}'ing of the failure notice to retrieve the
original draft.
Otherwise,
if the posting was successful,
the draft is marked as having been sent.

\pitem{whatnow} prompting front-end for send.
A program which is called by  \pgm{comp}, et. al.,
after the initial draft has been generated.
The \MH/ user can specify a different \pgm{whatnow} program,
which yields considerable extensibility.

\pitem{whom} report to whom a message would go.
A program which examines the addresses of the draft and expands
all user-defined aliases contained therein.
Optionally,
\pgm{whom} may actually interact with the message transport system
to determine the validity of the final addresses.
This program is also usually invoked by \pgm{comp}, et.~al.

\psect{Posting Mail}
\pitem{ali} list mail aliases.
A simple front-end to the \MH/ aliasing mechanism.

\pitem{ap} parse addresses 822--style.
A useful debugging tool for PostMasters who wish to examine how \MH/
interprets an Internet address.

\pitem{conflict} search for alias/password conflicts.
Another program used by system administrators to check the consistency of
\MH/ alias files, and portions of the local message transport agent.

\pitem{install-mh} initialize the MH environment.
A program which is automatically executed the first time a user issues an
\MH/ command.
This program performs once-only initialization of the user's \MH/ environment.

\pitem{mhmail} send or read mail.
A simple program generally used by other programs to generate messages.
The \pgm{mhmail} command is similar in purpose to the old \pgm{BellMail}
program.

\pitem{post} deliver a message.
A complex \MH/ back-end that interacts with the local message transport agent
to enter messages through the posting slot.
(See the description of \pgm{send} above).

\psect{Reading Mail}
\pitem{inc} incorporate new mail.
A program that interacts with the local message transport agent
to retrieve messages from the user's maildrop.

\pitem{msgchk} check for waiting mail.
A program which reports the status of mail waiting in the user's maildrop.

\pitem{show} show (list) messages.
A program which lists messages to its standard output
(usually the user's terminal),
possibly invoking another program to do the actual listing.
Most users of \MH/ have \pgm{show} automatically call the \pgm{mhl} program
to format the message.
The \pgm{next} and \pgm{prev} programs are simply
\eg{show\ next} and \eg{show\ prev},
respectively.

\pitem{mhl} produce formatted listings of MH messages.
A program which displays a message as directed by a template.
This permits the user to filter out uninteresting headers
and re-arrange other headers to a particular preference.
In addition to being invoked by \pgm{show},
the \pgm{mhl} program is optionally also
invoked by \pgm{forw} to format each message being forwarded;
invoked by \pgm{repl} to format the body of a message being replied-to,
if that message is being included in the reply draft;
and,
invoked by \pgm{post} to format a message being sent as a blind-carbon-copy.

\pitem{rmm} remove messages.
A program that removes messages from an \MH/ folder,
optionally running a user-defined program instead of deleting them.
If no program is given,
the messages are ``softly'' removed,
so they may possibly be recovered later.

\pitem{scan} produce a one-line-per-message scan listing.
A program that generates a scan listing for messages.
Each line of the listing contains date, source, subject,
and possibly the initial body of the message.

\psect{Folder Handling}
\pitem{folder} set/list current folder/message.
A program used to list information concerning the current folder,
or set the current folder and/or message.

\pitem{folders} list all folders.
A program to list information on all folders
(actually, just a special case of the \pgm{folder} command).
Since the \MH/ folder structure may be recursive,
the user can indicate that \pgm{folders} should recursively examine all
folders.

\pitem{refile} file message(s) in (an)other folder(s).
A program to move (or copy) messages from a source folder to one or more
destination folders.

\pitem{rmf} remove folder.
A program that deletes a folder and all messages therein.

\psect{Message Selection}
\pitem{anno} annotate messages.
A program to arbitrarily annotate messages.
If the user so desires,
after distributing, forwarding, or replying-to a message,
\MH/ will automatically attach an annotation to the
original message indicating the date and addresses.

\pitem{mark} mark messages.
A program to manipulate user-defined sequences (lists of messages).
Usually, \pgm{mark} is not employed directly by the \MH/ user.

\pitem{pick} select messages by content.
A program to examine a list of messages and choose those which meet a
particular selection criterion.
The \pgm{pick} program is often used in \unix/ back-quoted operations to pass
message sequences to other \MH/ commands.

\pitem{sortm} sort messages.
A program to sort a list of messages according to the date given in a
particular field.

\psect{Distribution List Handling}
\pitem{bbc} check on BBoards.
A front-end to run \pgm{msh} on a list of distribution lists which the
user isn't current on.

\pitem{bbl} manage a BBoard.
A (depreciated) program used to manually manage the local archives of a
distribution list.
These functions (archiving, expunging) are performed automatically by \MH/.

\pitem{burst} explode digests into messages.
A program used to decapsulate messages from ARPA Internet digests.
In addition,
messages which have been encapsulated during forwarding
(i.e., with \pgm{forw\/})
can also be decapsulated using \pgm{burst}.%
\nfootnote{Similarly, blind-carbon-copies may be decapsulated,
though only socially mature users should do so.}

\pitem{msh} MH shell (and BBoard reader).
A monolithic program used to implement \MH/ commands on
messages arranged in a single file (maildrop format).
Useful
since distribution lists are kept in this format to minimize consumption of
system resources.

\pitem{pack} compress a folder into a single file.
A program which takes messages stored in \MH/ format and places them in a
single file (using the same format known by \pgm{msh\/}).

\psect{Interface to the \unix/ File System}
\pitem{mhpath} print full pathnames of \MH/ messages and folders.
A program which maps \MH/-style names into the \unix/ file naming convention.

