Added all of the MH sources, including RCS files, in
[mmh] / docs / historical / mh-6.8.5 / papers / multifarious / appendixA.tex
1 % appendix A                                    % mtr
2
3 \catcode`\@=11                          % for a little while
4
5 \def\psect#1{%
6     \skip@=\lastskip
7     \par
8     \dimen@=.6\baselineskip
9     \ifdim\skip@<\dimen@
10         \ifdim\skip@=\z@ \penalty-100 \fi
11         \vskip \dimen@ plus .3\baselineskip
12     \fi
13     \centerline{\underbar{#1}}%
14     \nobreak
15     \vskip \z@ plus .1\baselineskip
16     \vskip -\parskip
17 }
18
19 \def\pitem#1 #2.{\item{\pgm{#1\/}:} #2\hbreak}
20
21 \catcode`\@=12                          % back to normal
22
23
24 \appendix{A}{MH Commands}
25 \MH/ is composed of several \unix/ programs,
26 which in theory are fairly simple and single-purposed.
27 These commands are functionally grouped below:
28
29 \psect{Composing Mail}
30 \pitem{comp} compose a message.
31 A program to originate a message.
32 Usually, a special prompting editor front-end, \pgm{prompter},
33 is used to fill-in a composition template with the addressees of
34 the message, subject, and so forth.
35
36 \pitem{dist} redistribute a message to additional addresses.
37 A program that re-enters a message previously received by the user
38 into the message transport system.
39 Only new addresses are added;
40 the body of the message is not changed in any way.
41
42 \pitem{forw} forward messages.
43 A program that encapsulates one or more messages in a new message draft.
44 In addition, the user may add initial and/or closing comments.
45
46 \pitem{repl} reply to a message.
47 A program that constructs a reply to a message using a reply template.
48 The template mechanism has sufficient generality to permit the user to
49 ``program'' the form of the reply draft based on the contents of the message
50 being replied-to.
51
52 \pitem{send} send a message.
53 A program that posts a draft with the message transport system.
54 The \pgm{send} program is
55 usually invoked by one of the four preceding programs,
56 and performs simple front-end pre-processing prior to invoking the
57 \pgm{post} program.
58 For example,
59 if invoked in {\it push}'d mode,
60 \pgm{send} will immediately relinquish control of the user's terminal and
61 post the message in the background.
62 If the posting fails,
63 \pgm{send} will send back a failure notice to the user.
64 If the user had \pgm{push\/}'d the sending of the draft,
65 then by default
66 the draft being sent is encapsulated in the failure notice.
67 This permits easy \pgm{burst}'ing of the failure notice to retrieve the
68 original draft.
69 Otherwise,
70 if the posting was successful,
71 the draft is marked as having been sent.
72
73 \pitem{whatnow} prompting front-end for send.
74 A program which is called by  \pgm{comp}, et. al.,
75 after the initial draft has been generated.
76 The \MH/ user can specify a different \pgm{whatnow} program,
77 which yields considerable extensibility.
78
79 \pitem{whom} report to whom a message would go.
80 A program which examines the addresses of the draft and expands
81 all user-defined aliases contained therein.
82 Optionally,
83 \pgm{whom} may actually interact with the message transport system
84 to determine the validity of the final addresses.
85 This program is also usually invoked by \pgm{comp}, et.~al.
86
87 \psect{Posting Mail}
88 \pitem{ali} list mail aliases.
89 A simple front-end to the \MH/ aliasing mechanism.
90
91 \pitem{ap} parse addresses 822--style.
92 A useful debugging tool for PostMasters who wish to examine how \MH/
93 interprets an Internet address.
94
95 \pitem{conflict} search for alias/password conflicts.
96 Another program used by system administrators to check the consistency of
97 \MH/ alias files, and portions of the local message transport agent.
98
99 \pitem{install-mh} initialize the MH environment.
100 A program which is automatically executed the first time a user issues an
101 \MH/ command.
102 This program performs once-only initialization of the user's \MH/ environment.
103
104 \pitem{mhmail} send or read mail.
105 A simple program generally used by other programs to generate messages.
106 The \pgm{mhmail} command is similar in purpose to the old \pgm{BellMail}
107 program.
108
109 \pitem{post} deliver a message.
110 A complex \MH/ back-end that interacts with the local message transport agent
111 to enter messages through the posting slot.
112 (See the description of \pgm{send} above).
113
114 \psect{Reading Mail}
115 \pitem{inc} incorporate new mail.
116 A program that interacts with the local message transport agent
117 to retrieve messages from the user's maildrop.
118
119 \pitem{msgchk} check for waiting mail.
120 A program which reports the status of mail waiting in the user's maildrop.
121
122 \pitem{show} show (list) messages.
123 A program which lists messages to its standard output
124 (usually the user's terminal),
125 possibly invoking another program to do the actual listing.
126 Most users of \MH/ have \pgm{show} automatically call the \pgm{mhl} program
127 to format the message.
128 The \pgm{next} and \pgm{prev} programs are simply
129 \eg{show\ next} and \eg{show\ prev},
130 respectively.
131
132 \pitem{mhl} produce formatted listings of MH messages.
133 A program which displays a message as directed by a template.
134 This permits the user to filter out uninteresting headers
135 and re-arrange other headers to a particular preference.
136 In addition to being invoked by \pgm{show},
137 the \pgm{mhl} program is optionally also
138 invoked by \pgm{forw} to format each message being forwarded;
139 invoked by \pgm{repl} to format the body of a message being replied-to,
140 if that message is being included in the reply draft;
141 and,
142 invoked by \pgm{post} to format a message being sent as a blind-carbon-copy.
143
144 \pitem{rmm} remove messages.
145 A program that removes messages from an \MH/ folder,
146 optionally running a user-defined program instead of deleting them.
147 If no program is given,
148 the messages are ``softly'' removed,
149 so they may possibly be recovered later.
150
151 \pitem{scan} produce a one-line-per-message scan listing.
152 A program that generates a scan listing for messages.
153 Each line of the listing contains date, source, subject,
154 and possibly the initial body of the message.
155
156 \psect{Folder Handling}
157 \pitem{folder} set/list current folder/message.
158 A program used to list information concerning the current folder,
159 or set the current folder and/or message.
160
161 \pitem{folders} list all folders.
162 A program to list information on all folders
163 (actually, just a special case of the \pgm{folder} command).
164 Since the \MH/ folder structure may be recursive,
165 the user can indicate that \pgm{folders} should recursively examine all
166 folders.
167
168 \pitem{refile} file message(s) in (an)other folder(s).
169 A program to move (or copy) messages from a source folder to one or more
170 destination folders.
171
172 \pitem{rmf} remove folder.
173 A program that deletes a folder and all messages therein.
174
175 \psect{Message Selection}
176 \pitem{anno} annotate messages.
177 A program to arbitrarily annotate messages.
178 If the user so desires,
179 after distributing, forwarding, or replying-to a message,
180 \MH/ will automatically attach an annotation to the
181 original message indicating the date and addresses.
182
183 \pitem{mark} mark messages.
184 A program to manipulate user-defined sequences (lists of messages).
185 Usually, \pgm{mark} is not employed directly by the \MH/ user.
186
187 \pitem{pick} select messages by content.
188 A program to examine a list of messages and choose those which meet a
189 particular selection criterion.
190 The \pgm{pick} program is often used in \unix/ back-quoted operations to pass
191 message sequences to other \MH/ commands.
192
193 \pitem{sortm} sort messages.
194 A program to sort a list of messages according to the date given in a
195 particular field.
196
197 \psect{Distribution List Handling}
198 \pitem{bbc} check on BBoards.
199 A front-end to run \pgm{msh} on a list of distribution lists which the
200 user isn't current on.
201
202 \pitem{bbl} manage a BBoard.
203 A (depreciated) program used to manually manage the local archives of a
204 distribution list.
205 These functions (archiving, expunging) are performed automatically by \MH/.
206
207 \pitem{burst} explode digests into messages.
208 A program used to decapsulate messages from ARPA Internet digests.
209 In addition,
210 messages which have been encapsulated during forwarding
211 (i.e., with \pgm{forw\/})
212 can also be decapsulated using \pgm{burst}.%
213 \nfootnote{Similarly, blind-carbon-copies may be decapsulated,
214 though only socially mature users should do so.}
215
216 \pitem{msh} MH shell (and BBoard reader).
217 A monolithic program used to implement \MH/ commands on
218 messages arranged in a single file (maildrop format).
219 Useful
220 since distribution lists are kept in this format to minimize consumption of
221 system resources.
222
223 \pitem{pack} compress a folder into a single file.
224 A program which takes messages stored in \MH/ format and places them in a
225 single file (using the same format known by \pgm{msh\/}).
226
227 \psect{Interface to the \unix/ File System}
228 \pitem{mhpath} print full pathnames of \MH/ messages and folders.
229 A program which maps \MH/-style names into the \unix/ file naming convention.
230