Added all of the MH sources, including RCS files, in
[mmh] / docs / historical / mh-6.8.5 / conf / doc / RCS / MH.rf,v
1 head    1.30;
2 access;
3 symbols;
4 locks; strict;
5
6
7 1.30
8 date    95.12.06.01.27.51;      author jromine; state Exp;
9 branches;
10 next    1.29;
11
12 1.29
13 date    95.12.05.23.58.57;      author jromine; state Exp;
14 branches;
15 next    1.28;
16
17 1.28
18 date    95.12.05.19.35.25;      author jromine; state Exp;
19 branches;
20 next    1.27;
21
22 1.27
23 date    94.04.15.23.12.03;      author jromine; state Exp;
24 branches;
25 next    1.26;
26
27 1.26
28 date    92.12.02.19.03.15;      author jromine; state Exp;
29 branches;
30 next    1.25;
31
32 1.25
33 date    92.10.28.17.02.04;      author jromine; state Exp;
34 branches;
35 next    1.24;
36
37 1.24
38 date    92.10.28.17.00.15;      author jromine; state Exp;
39 branches;
40 next    1.23;
41
42 1.23
43 date    92.10.27.20.09.23;      author jromine; state Exp;
44 branches;
45 next    1.22;
46
47 1.22
48 date    92.02.06.19.25.07;      author jromine; state Exp;
49 branches;
50 next    1.21;
51
52 1.21
53 date    92.02.06.17.14.39;      author jromine; state Exp;
54 branches;
55 next    1.20;
56
57 1.20
58 date    92.02.06.00.17.16;      author jromine; state Exp;
59 branches;
60 next    1.19;
61
62 1.19
63 date    92.02.04.21.12.43;      author jromine; state Exp;
64 branches;
65 next    1.18;
66
67 1.18
68 date    92.02.04.00.04.09;      author jromine; state Exp;
69 branches;
70 next    1.17;
71
72 1.17
73 date    92.01.31.16.40.45;      author jromine; state Exp;
74 branches;
75 next    1.16;
76
77 1.16
78 date    92.01.31.16.40.07;      author jromine; state Exp;
79 branches;
80 next    1.15;
81
82 1.15
83 date    91.01.25.15.49.34;      author mh;      state Exp;
84 branches;
85 next    1.14;
86
87 1.14
88 date    91.01.07.16.13.54;      author mh;      state Exp;
89 branches;
90 next    1.13;
91
92 1.13
93 date    90.12.27.15.06.28;      author mh;      state Exp;
94 branches;
95 next    1.12;
96
97 1.12
98 date    90.12.26.16.54.56;      author mh;      state Exp;
99 branches;
100 next    1.11;
101
102 1.11
103 date    90.04.10.21.20.18;      author sources; state Exp;
104 branches;
105 next    1.10;
106
107 1.10
108 date    90.04.09.20.20.29;      author sources; state Exp;
109 branches;
110 next    1.9;
111
112 1.9
113 date    90.04.08.19.40.46;      author sources; state Exp;
114 branches;
115 next    1.8;
116
117 1.8
118 date    90.04.08.19.35.49;      author sources; state Exp;
119 branches;
120 next    1.7;
121
122 1.7
123 date    90.04.05.15.10.54;      author sources; state Exp;
124 branches;
125 next    1.6;
126
127 1.6
128 date    90.04.02.14.28.43;      author sources; state Exp;
129 branches;
130 next    1.5;
131
132 1.5
133 date    90.03.22.11.30.44;      author sources; state Exp;
134 branches;
135 next    1.4;
136
137 1.4
138 date    90.03.21.10.20.17;      author sources; state Exp;
139 branches;
140 next    1.3;
141
142 1.3
143 date    90.03.20.19.59.40;      author sources; state Exp;
144 branches;
145 next    1.2;
146
147 1.2
148 date    90.03.20.14.25.01;      author sources; state Exp;
149 branches;
150 next    1.1;
151
152 1.1
153 date    90.03.20.14.13.13;      author sources; state Exp;
154 branches;
155 next    ;
156
157
158 desc
159 @@
160
161
162 1.30
163 log
164 @reformat "OBTAINING MH" (nee HOW TO GET MH) section
165 @
166 text
167 @.\"    @@(MHWARNING)
168 .\" @@(#)$Id: MH.rf,v 1.29 1995/12/05 23:58:57 jromine Exp jromine $
169 @@BEGIN: BSD44
170 .eh 'USD:8-%''The RAND Message Handling System: User Manual'
171 .oh 'The RAND Message Handling System: User Manual''USD:8-%'
172 @@END: BSD44
173 .po +.75i
174 .de $c                          \" Major Heading printer
175 .ce
176 .b "\\s12\\n+(ch.\\ \\$1\\s0"   \" 12 Point Bold Header
177 .(x
178
179 \ \ \ \\n(ch.\\ \\ \\$1
180 .)x
181 .sp 45p         \" 45 point space or about 1/2 inch
182 ..
183 \".nr xs .15v     \" Put index entries closer together
184 .(x
185
186 Section
187 .)x _
188 .de $0          \" Sub-Heading macro called AFTER printing the heading
189 .(x
190 .sp .3v
191 .ti .5i
192 \\$1
193 .)x
194 ..
195 .de $s          \" Macro to print footnote separator
196 \"\l'2i'        \" No line drawn
197 .if n \
198 .       sp 1.3  \" But extra space to make up for it.
199 ..
200 .fc ^ ~         \" The characters ^ and ~ CANNOT BE USED
201 \"                 throughout this document except as field
202 \"                 delimiter & pad indicator!
203 .he ''-%-''
204 @@BEGIN: BSD44
205 .eh 'USD:8-%''The RAND Message Handling System: User Manual'
206 .oh 'The RAND Message Handling System: User Manual''USD:8-%'
207 @@END: BSD44
208 .ll 32P         \" 32 Picas or about 5+1/3 inch Line Length
209 .if n .ll 72m   \" Use 72 ems for nroff
210 .nr ss 30p      \" 30 point space before section titles
211 .nr fm 5v       \" RAND likes bigger than normal [3v] bottom margins
212 .nr bm 7v       \"   ditto
213 .ds . \\fB.\\fP\\h'-(1m/3)' \" Bold period to stand out.
214 .ds << <\\h!-(\\w'<'/2)!<
215 .ds >> >\\h!-(\\w'>'/2)!>
216 .ds ** \v'-3p'\s+1*\s0\v'+3p'
217 .so version.rf
218 .tp
219 .(l C
220 \fIdiscard this page\fR
221 .sp 4
222 The RAND \fIMH\fR
223 Message Handling System:
224 User's Manual
225 .sp
226 UCI Version
227 .sp 2
228 \*(td
229 \*(MH
230 .)l
231 .++ C
232 .+c INTRODUCTION
233 .pp
234 Although people can travel cross-country in hours and can
235 reach others by telephone in seconds, communications still depend
236 heavily upon paper, most of which is distributed through the mails.
237 .pp
238 There are several major reasons for this continued dependence on
239 written documents.
240 First, a written document may be proofread
241 and corrected prior to its distribution, giving the author
242 complete control over his words.
243 Thus, a written document is
244 better than a telephone conversation in this respect.
245 Second,
246 a carefully written document is far less likely to be
247 misinterpreted or poorly translated than a phone conversation.
248 Third, a signature offers reasonable verification of authorship,
249 which cannot be provided with media such as telegrams.
250 .pp
251 However, the need for
252 .u fast ,
253 accurate, and reproducible document distribution is
254 obvious.
255 One solution in widespread use is the telefax.
256 Another
257 that is rapidly gaining popularity is electronic mail.
258 Electronic mail is similar to telefax in that the data to be sent
259 are digitized, transmitted via phone lines, and
260 turned back into a document at the receiver.
261 The advantage of
262 electronic mail is in its compression factor.
263 Whereas a telefax
264 must scan a page in very fine lines and send all of the black and
265 white information, electronic mail assigns characters fixed
266 codes which can be transmitted as a few bits of information.
267 Telefax presently has the advantage of being able to transmit an
268 arbitrary page, including pictures, but electronic mail is
269 beginning to deal with this problem.
270 Electronic mail also integrates well
271 with current directions in office automation, allowing documents
272 prepared with sophisticated equipment at one site to be quickly
273 transferred and printed at another site.
274 .pp
275 Currently, most electronic mail is intraorganizational,
276 with mail transfer remaining within one computer.
277 As computer
278 networking becomes more common, however, it is becoming more feasible to
279 communicate with anyone whose computer can be linked to your
280 own via a network.
281 .pp
282 The pioneering efforts on general-purpose electronic mail
283 were by organizations using the DoD ARPAnet[1].
284 The capability to send messages between computers existed before
285 the ARPAnet was developed, but it was used only in limited ways.
286 With the advent of the
287 ARPAnet, tools began to be developed which made it convenient for
288 individuals or organizations to distribute messages
289 over broad geographic areas, using
290 diverse computer facilities.
291 The interest and activity in
292 message systems has now reached such proportions that steps
293 have been taken within the DoD to coordinate and
294 unify the development of military message systems.
295 The use of electronic mail is expected to increase
296 dramatically in the next few years.
297 The utility of such systems
298 in the command and control and intelligence environments is
299 clear, and applications in these areas will probably lead the
300 way.
301 As the costs for sending and handling electronic messages
302 continue their rapid decrease, such uses can be
303 expected to spread rapidly into other areas and, of course, will
304 not be limited to the DoD.
305 .pp
306 A message system provides tools that help users (individuals
307 or organizations) deal with messages in various ways.
308 Messages
309 must be composed, sent, received, stored, retrieved,
310 forwarded, and replied to.
311 Today's best interactive computer
312 systems provide a variety of word-processing and information
313 handling capabilities.
314 The message handling facilities should be
315 well integrated with the rest of the system, so as to be a
316 graceful extension of overall system capability.
317 .pp
318 The message system described in this report, \fIMH\fR, provides most of the
319 features that can be found in other message systems and also
320 incorporates some new ones.
321 It has been built on the UNIX time-sharing
322 system[2], a popular operating system for the DEC PDP-11\**
323 and VAX-11 classes of computers.
324 .(f
325 \** PDP and VAX are trademarks of Digital Equipment Corporation.
326 .)f
327 A \*(lqsecure\*(rq operating
328 system similar to UNIX is currently being developed[3],
329 and that system will also run \fIMH\fR.
330 .pp
331 This report provides a complete description of \fIMH\fR and
332 thus may serve as a user's manual, although parts of the report
333 will be of interest to non-users as well.
334 Sections 2 and 3, the
335 Overview and Tutorial, present the key
336 ideas of \fIMH\fR and will give those not familiar with message systems
337 an idea of what such systems are like.
338 .pp
339 \fIMH\fR consists of a set of commands which use some special
340 files and conventions.
341 The final section is divided into three parts.
342 The first part covers the information
343 a user needs to know in addition to the
344 commands.
345 Then, each of the \fIMH\fR commands is described in detail.
346 Finally, other obscure details are revealed.
347 A summary of the commands is given in Appendix A,
348 and the syntax of message sequences is given in Appendix B.
349 .pp
350 A novel approach has been taken in the design of \fIMH\fR.
351 Instead of creating a large subsystem that appears as a single
352 command to the user (such as MS[4]),
353 \fIMH\fR is a collection of separate commands
354 which are run as separate programs.
355 The file and directory
356 system of UNIX are used directly.
357 Messages are stored as
358 individual files (datasets), and collections of them are grouped
359 into directories.
360 In contrast, most other message systems store
361 messages in a complicated data structure within a monolithic
362 file.
363 With the \fIMH\fR approach, UNIX commands can be
364 interleaved with commands invoking the functions of the message
365 handler.
366 Conversely, existing UNIX commands
367 can be used in connection with messages.
368 For
369 example, all the usual UNIX editing, text-formatting, and printing
370 facilities can be applied directly to individual messages.
371 MH,
372 therefore, consists of a relatively small amount of new code; it
373 makes extensive use of other UNIX software to provide the
374 capabilities found in other message systems.
375 .+c OVERVIEW
376 .pp
377 There are three main aspects of \fIMH\fR\0:  the  way  messages  are
378 stored (the message database), the user's profile (which directs
379 how certain actions of the message handler take place), and the
380 commands for dealing with messages.
381 .pp
382 Under \fIMH\fR, each message is stored as a separate file.
383 A user
384 can take any action with a message that he could with an ordinary
385 file in UNIX.
386 A UNIX directory in which messages are stored is
387 called a folder.
388 Each folder contains some standard entries to support
389 the message-handling functions.
390 The messages in a folder have numerical
391 names.
392 These folders (directories)
393 are entries in a particular directory path, described in
394 the user profile, through which \fIMH\fR can find message folders.
395 Using the UNIX \*(lqlink\*(rq facility, it is possible for one copy of a
396 message to be \*(lqfiled\*(rq in more than one folder, providing a
397 message index facility.
398 Also, using the UNIX tree-structured
399 file system, it is possible to have a folder within a folder,
400 nested arbitrarily deep,
401 and have the full power of the \fIMH\fR commands available.
402 .pp
403 Each user of \fIMH\fR has a user profile, a file in
404 his \fB$HOME\fR (initial login) directory called \fI\&.mh\(ruprofile\fR.
405 This profile contains several
406 pieces of information used by the \fIMH\fR commands:
407 a path name to the directory that contains the message folders
408 and parameters that tailor \fIMH\fR commands
409 to the individual user's requirements.
410 There is also another file,
411 called the user context,
412 which contains information concerning which folder the user last referenced
413 (the \*(lqcurrent\*(rq folder).
414 It also contains
415 most of the necessary state information concerning how
416 the user is dealing with his messages, enabling \fIMH\fR to be
417 implemented as a set of individual UNIX commands, in contrast to the
418 usual approach of a monolithic subsystem.
419 .pp
420 In \fIMH\fR, incoming mail is appended
421 to the end of a file in a system spooling area for the user.
422 This area is called the mail drop directory,
423 and the file is called the user's mail drop.
424 Normally when the user logins in,
425 s/he is informed of new mail
426 (or the \fIMH\fR program \fImsgchk\fR may be run).
427 The user adds the new messages to his/her collection of \fIMH\fR messages
428 by invoking the command
429 \fIinc\fR.
430 The \fIinc\fR (incorporate) command adds the new
431 messages to a folder called \*(lqinbox\*(rq, assigning them names which
432 are consecutive integers starting with the next highest integer
433 available in inbox.
434 \fIinc\fR also produces a
435 \fIscan\fR summary of
436 the messages thus incorporated.
437 A folder can be compacted into a single file,
438 for easy storage,
439 by using the \fIpackf\fR command.
440 Also,
441 messages within a folder can be sorted by date and time with the \fIsortm\fR
442 command.
443
444 .pp
445 There are four commands for examining the messages in a
446 folder:
447 \fIshow\fR,
448 \fIprev\fR,
449 \fInext\fR,
450 and
451 \fIscan\fR.
452 The \fIshow\fR command displays a message in a folder,
453 \fIprev\fR displays the message preceding the current message, and
454 \fInext\fR displays the message following the current message.
455 \fIMH\fR lets the user choose the program that displays individual messages.
456 A special program, \fImhl\fR, can be used to display messages according
457 to the user's preferences.
458 The \fIscan\fR command summarizes the messages in a folder,
459 normally producing one line per message, showing who the message is from,
460 the date, the subject, etc.
461 .pp
462 The user may move a message from one folder to another with
463 the command
464 \fIrefile\fR.
465 Messages may be removed from a folder
466 by means of the command
467 \fIrmm\fR.
468 In addition, a user may query
469 what the current folder is and may specify that a new folder
470 become the current folder, through the command
471 \fIfolder\fR.
472 All folders may be summarized with the \fIfolders\fR command.
473 A message folder (or subfolder) may be removed by means of
474 the command
475 \fIrmf\fR.
476 .pp
477 A set of messages based on content may be selected by
478 use of the command \fIpick\fR.
479 This command searches through
480 messages in a folder and selects those that match a given
481 set of criteria.
482 These messages are then bound to a \*(lqsequence\*(rq name for use with other
483 \fIMH\fR commands.
484 The \fImark\fR command manipulates these sequences.
485 .pp
486 There are five commands enabling the user to create new
487 messages and send them:
488 \fIcomp\fR,
489 \fIdist\fR,
490 \fIforw\fR,
491 \fIrepl\fR,
492 and
493 \fIsend\fR.
494 The \fIcomp\fR command
495 provides the facility for the user to compose a
496 new message;
497 \fIdist\fR redistributes mail to additional addressees;
498 \fIforw\fR enables the user to forward messages; and
499 \fIrepl\fR facilitates the generation of a reply to an incoming message.
500 The last three commands may optionally annotate the original message.
501 Messages may be arbitrarily annotated with the \fIanno\fR command.
502 Once a draft has been constructed by one of the four above composition
503 programs,
504 a user\-specifiable program is run to query the user as to the disposition of
505 the draft prior to sending.
506 \fIMH\fR provides the simple \fIwhatnow\fR program to start users off.
507 If
508 a message is not sent directly by one of these commands, it may
509 be sent at a later time using the command
510 \fIsend\fR.
511 \fIMH\fR allows the use of any UNIX editor when composing a message.
512 For rapid entry, a special editor, \fIprompter\fR, is provided.
513 For programs, a special mail-sending program, \fImhmail\fR, is provided.
514 .pp
515 \fIMH\fR supports a personal aliasing facility which gives users the
516 capability to considerably shorten address typein
517 and use meaningful names for addresses.
518 The \fIali\fR program can be used to query \fIMH\fR as to the expansion of a
519 list of aliases.
520 After composing a message, but prior to sending, the \fIwhom\fR command
521 can be used to determine exactly who a message would go to.
522 .pp
523 \fIMH\fR provides a natural interface for telling the user's shell the names
524 of \fIMH\fR messages and folders.
525 The \fImhpath\fR program achieves this capability.
526 .pp
527 @@BEGIN: BBOARDS
528 Finally, \fIMH\fR supports the UCI BBoards facility.
529 \fIbbc\fR can be used to query the status of a group of BBoards,
530 while \fImsh\fR can be used to read them.
531 @@BEGIN: BBSERVER
532 BBoard leaders are also well supported, with the \fIbbl\fR program.
533 @@END: BBSERVER
534 @@END: BBOARDS
535 The \fIburst\fR command can be used to \*(lqshred\*(rq digests of messages
536 into individual messages.
537 .pp
538 All of the elements summarized above
539 are described in more detail in the following sections.
540 Many of the
541 normal facilities of UNIX provide additional capabilities for
542 dealing with messages in various ways.
543 For example, it is
544 possible to print messages
545 on the line-printer without requiring any additional code within
546 \fIMH\fR\0.
547 Using standard UNIX facilities, any terminal output can be
548 redirected to a file for repeated or future viewing.
549 In general,
550 the flexibility and capabilities of the UNIX interface with the
551 user are preserved as a result of the integration of \fIMH\fR into the UNIX
552 structure.
553 .+c TUTORIAL
554 .pp
555 This tutorial provides a brief introduction to the \fIMH\fR commands.
556 It should be sufficient
557 to allow the user to read his mail, do some simple manipulations of
558 it, and create and send messages.
559 .pp
560 A message has two major pieces:  the
561 header and the body.
562 The body consists of the text of the message
563 (whatever you care to type in).
564 It follows the header and is separated from
565 it by an empty line.
566 (When you compose a message, the form that appears
567 on your terminal shows a line of dashes after the header.
568 This is for
569 convenience and is replaced by an empty line when the message is
570 sent.)  The header is composed of several components, including the
571 subject of the message and the person to whom it is addressed.
572 Each component starts with a name
573 and a colon; components must not start with a blank.
574 The text of the
575 component may take more than one line, but each continuation line must
576 start with a blank.
577 Messages typically have \*(lqTo:\*(rq, \*(lqcc:\*(rq, and
578 \*(lqSubject:\*(rq components.
579 When composing a message, you should include
580 the \*(lqTo:\*(rq and \*(lqSubject:\*(rq components;
581 the \*(lqcc:\*(rq (for people you want to send copies to) is not necessary.
582 .pp
583 The basic \fIMH\fR commands are
584 \fIinc\fR,
585 \fIscan\fR,
586 \fIshow\fR,
587 \fInext\fR,
588 \fIprev\fR,
589 \fIrmm\fR,
590 \fIcomp\fR,
591 and
592 \fIrepl\fR.
593 These are described below.
594
595 \fIinc\fR
596 .pp
597 When you get the message \*(lqYou have mail\*(rq, type the command \fIinc\fR.
598 You will get a \*(lqscan listing\*(rq such as:
599
600 .nf
601 .in +.5i
602 .ta \w'7+  'u +\w'11/26  'u +\w'To:norm  'u
603 7+      \07/13  Cas     revival of measurement work
604 8       10/\09  Norm    NBS people and publications
605 9       11/26   To:norm question \*(<<Are there any functions
606 .re
607 .in -.5i
608 .fi
609 .pp
610 This shows the messages you received since the last time you
611 executed this command (\fIinc\fR adds these new messages to your inbox folder).
612 You can see this list again, plus a list of any
613 other messages you have, by using the
614 \fIscan\fR command.
615
616 \fIscan\fR
617 .pp
618 The scan listing shows the message number, followed by the
619 date and the sender.
620 (If you are the sender, the addressee in the \*(lqTo:\*(rq
621 component is displayed.
622 You may send yourself a message by including
623 your name among the \*(lqTo:\*(rq or \*(lqcc:\*(rq addressees.)
624 It also shows the message's subject; if
625 the subject is short, the first part of the body of the message is
626 included after the characters \*(<<.
627
628 .ne 5
629 \fIshow\fR
630 .pp
631 This command shows the current message, that is,
632 the first one of the new messages after an
633 \fIinc\fR.
634 If the message is not
635 specified by name (number), it is
636 generally the last message referred to by an \fIMH\fR command.
637 For example,
638
639
640 .ta \w'\fIshow\fR\0|\0\fIlpr\fR  'u
641 .ti .5i
642 ^\fIshow\fP\05~^will show message 5.
643 .re
644
645 .pp
646 You can use the show command to copy a message or print a
647 message.
648
649 .(b L
650 .in .5i
651 .ta \w'\fIshow\fR\0|\0\fIlpr\fR  'u
652 ^\fIshow\fR\0>\0\fIx\fR~^will copy the message to file x.
653 .br
654 ^\fIshow\fR\0|\0\fIlpr\fR~^will print the message, using the \fIlpr\fR command.
655 .br
656 ^\fInext\fR~^will show the message that follows the current message.
657 .br
658 ^\fIprev\fR~^will show the message previous to the current message.
659 .br
660 ^\fIrmm\fR~^will remove the current message.
661 .br
662 ^\fIrmm\03\fR~^will remove message 3.
663 .)b
664
665 .ne 5
666 \fIcomp\fR
667 .pp
668 The
669 \fIcomp\fR command puts you in the editor to write or edit a message.
670 Fill in or
671 delete the \*(lqTo:\*(rq, \*(lqcc:\*(rq, and \*(lqSubject:\*(rq fields,
672 as appropriate, and type the body of the message.
673 Then
674 exit normally from the editor.
675 You will be asked
676 \*(lqWhat now?\*(rq.
677 Type a carriage return to see the options.
678 Typing \fBsend\fR
679 will cause the message to be sent; typing \fBquit\fR will cause an exit
680 from
681 \fIcomp\fR,
682 with the message draft saved.
683 .pp
684 If you quit without sending the message, it will be saved in a file
685 called <name>/Mail/draft (where <name> is your \fB$HOME\fR directory).
686 You can resume editing the message later with \*(lqcomp\0\-use\*(rq;
687 or you can send the message later, using the \fIsend\fR command.
688
689 .ne 4
690 \fIcomp\0\-editor\0prompter\fR
691 .pp
692 This command uses a different editor and is useful for preparing
693 \*(lqquick and dirty\*(rq messages.
694 It prompts you for each component of the
695 header.
696 Type the information for that component, or type a carriage
697 return to omit the component.
698 After that, type the body of the
699 message.
700 Backspacing is the only form of editing allowed with this editor.
701 When the body is complete, type a carriage return followed by <EOT>
702 (usually <CTRL-D>).
703 This completes the initial preparation of the message; from then on, use
704 the same procedures as with
705 \fIcomp\fR (above).
706
707 .ne 5
708 \fIrepl\fR
709 .br
710 \fIrepl\fR\0n 
711 .pp
712 This command makes up an initial message form with a header
713 that is appropriate for
714 replying to an existing message.
715 The message being answered is the
716 current message if no message number is mentioned, or n if a number
717 is specified.
718 After the header is completed, you can finish the message as in
719 \fIcomp\fR (above).
720 .pp
721 This is enough information to get you going using \fIMH\fR.
722 There are more commands,
723 and the commands described here have more features.
724 Subsequent sections
725 explain \fIMH\fR in complete detail.
726 The system is quite powerful if you
727 want to use its sophisticated features, but the foregoing commands
728 suffice for sending and receiving messages.
729 .pp
730 There are numerous additional capabilities you may wish to explore.
731 For example, the
732 \fIpick\fR command will select a subset of messages
733 based on specified criteria such as sender and/or subject.
734 Groups of
735 messages may be designated, as described in Sec. IV,
736 under \fBMessage Naming\fR.
737 The file \fI\&.mh\(ruprofile\fR can be used to tailor your use of
738 the message system to your needs and preferences, as described in Sec. IV,
739 under \fBThe User Profile\fR.
740 In general, you may
741 learn additional features of the system selectively, according to your
742 requirements,
743 by studying the relevant sections of this manual.
744 There is no need to
745 learn all the details of the system at once.
746 .+c "DETAILED DESCRIPTION"
747 .pp
748 This section describes the \fIMH\fR system in detail, including the components
749 of the user profile, the conventions for message naming, and some of
750 the other \fIMH\fR conventions.
751 Readers who are
752 generally familiar with computer systems will be able to follow
753 the principal ideas, although some details may be meaningful only to
754 those familiar with UNIX.
755 .uh "THE USER PROFILE"
756 .pp
757 The first time an \fIMH\fR command is issued by a new user, the system
758 prompts for a \*(lqPath\*(rq and creates an \fIMH\fR \*(lqprofile\*(rq.
759 .pp
760 Each \fIMH\fR user has a profile which contains tailoring
761 information for each individual program.
762 Other profile entries control the \fIMH\fR path (where folders and
763 special files are kept), folder and message protections, editor
764 selection, and default arguments for each \fIMH\fR program.
765 Each user of \fIMH\fR also has a context file which contains
766 current state information for the \fIMH\fR package
767 (the location of the context file is kept in the user's \fIMH\fR directory,
768 or may be named in the user profile).
769 When a folder becomes
770 the current folder, it is recorded in the user's context.
771 (Other state information is kept in the context file,
772 see the manual entry for \fImh\-profile\0\fR(5) for more details.)
773 In general,
774 the term \*(lqprofile entry\*(rq refer to entries in either the profile or
775 context file.
776 Users of \fIMH\fR needn't worry about the distinction,
777 \fIMH\fR handles these things automatically.
778 .pp
779 The \fIMH\fR profile is stored in the file \fI\&.mh\(ruprofile\fR in the
780 user's \fB$HOME\fR directory\**.
781 .(f
782 \** By defining the envariable \fB$MH\fR,
783 you can specify an alternate profile to be used by \fIMH\fR commands.
784 .)f
785 It has the format of a message without
786 any body.
787 That is, each profile entry is on one line, with a
788 keyword followed by a colon (:) followed by text particular to
789 the keyword.
790 .br
791 \(rh\ \ \&
792 \fIThis file must not have blank lines.\fR
793 .br
794 The keywords
795 may have any combination of upper and lower case.
796 (See the information of \fImh\-mail\fR later on in this manual
797 for a description of message formats.)
798 .pp
799 For the average \fIMH\fR user, the only profile entry of
800 importance is \*(lqPath\*(rq.
801 Path specifies a directory in which \fIMH\fR
802 folders and certain files such as \*(lqdraft\*(rq are found.
803 The
804 argument to this keyword must be a legal UNIX path that names an
805 existing directory.
806 If this path is not absolute
807 (i.e., does not begin with a \fB/\fR\0),
808 it will be presumed to start from the user's \fB$HOME\fR directory.
809 All folder and message references within
810 \fIMH\fR will relate to this path unless full path names are used.
811 .pp
812 Message protection defaults to 644, and folder protection to
813 711.
814 These may be changed by profile entries \*(lqMsg-Protect\*(rq
815 and \*(lqFolder-Protect\*(rq, respectively.
816 The argument to these
817 keywords is an octal number which is used as the UNIX file mode\**.
818 .(f
819 \** See \fIchmod\fR\0(1) in the \fIUNIX Programmer's Manual\fR\0[5].
820 .)f
821 .pp
822 When an \fIMH\fR program starts running, it looks through the
823 user's profile for an entry with a keyword matching the program's
824 name.
825 For example, when
826 \fIcomp\fR is run, it looks for a \*(lqcomp\*(rq
827 profile entry.
828 If one is found, the text of the profile entry is
829 used as the default switch setting until all defaults are overridden
830 by explicit switches passed to the program as arguments.
831 Thus the profile
832 entry \*(lqcomp:\0\-form\0standard.list\*(rq would direct
833 \fIcomp\fR to use the
834 file \*(lqstandard.list\*(rq as the message skeleton.
835 If an explicit
836 form switch is given to the
837 \fIcomp\fR command, it will override the
838 switch obtained from the profile.
839 .pp
840 In UNIX, a program may exist under several names,
841 either by linking or aliasing.
842 The actual invocation name is used by an \fIMH\fR
843 program when scanning for its profile defaults\**.
844 .(f
845 \** Unfortunately,
846 the shell does not preserve aliasing information when calling a program,
847 hence if a program is invoked by an alias different than its name,
848 the program will examine the profile entry for it's name,
849 not the alias that the user invoked it as.
850 The correct solution is to create a (soft) link in your \fI$HOME/bin\fR
851 directory to the \fIMH\fR program of your choice.
852 By giving this link a different name,
853 you can use an alternate set of defaults for the command.
854 .)f
855 Thus, each \fIMH\fR program
856 may have several names by which it can be invoked, and each name
857 may have a different set of default switches.
858 For example, if
859 \fIcomp\fR is invoked by the name
860 \fIicomp\fR,
861 the profile entry
862 \*(lqicomp\*(rq will control the default switches for this invocation of
863 the
864 \fIcomp\fR program.
865 This provides a powerful
866 definitional facility for commonly used switch settings.
867 .pp
868 The default editor
869 for editing within
870 \fIcomp\fR,
871 \fIrepl\fR,
872 \fIforw\fR,
873 and
874 \fIdist\fR,
875 is usually \fIprompter\fR,
876 but might be something else at your site,
877 such as \fI/usr/ucb/ex\fR or \fI/bin/e\fR.
878 A different editor may be used by specifying
879 the profile entry
880 \*(lqEditor: \*(rq.
881 The argument to \*(lqEditor\*(rq is the name of an
882 executable program or shell command file which can be found via
883 the user's $PATH defined search path, excluding the current
884 directory.
885 The \*(lqEditor:\*(rq profile specification
886 may in turn be overridden by a `\-editor\0<editor>'
887 profile switch associated with
888 \fIcomp\fR,
889 \fIrepl\fR,
890 \fIforw\fR,
891 or
892 \fIdist\fR.
893 Finally, an explicit editor switch specified with any
894 of these four commands will have ultimate precedence.
895 .pp
896 During message composition, more than one editor may be
897 used.
898 For example, one editor (such as \fIprompter\fR\0)
899 may be used
900 initially, and a second editor may be invoked later to revise
901 the message being composed
902 (see the discussion of
903 \fIcomp\fR in Section 5 for details).
904 A profile entry \*(lq<lasteditor>\-next:\0<editor>\*(rq specifies the name of
905 the editor to be used after a particular editor.
906 Thus \*(lqcomp:\0\-e\0prompter\*(rq
907 causes the initial text to be collected by
908 \fIprompter\fR,
909 and the profile entry \*(lqprompter\-next:\0ed\*(rq names ed as the
910 editor to be invoked for the next round of editing.
911 .pp
912 Some of the \fIMH\fR commands, such as
913 \fIshow\fR,
914 can be used on
915 message folders owned by others, if those folders are readable.
916 However,
917 you cannot write in someone else's folder.
918 All the \fIMH\fR command
919 actions not requiring write permission may be used with
920 a \*(lqread-only\*(rq folder.
921 .pp
922 Table 1 lists examples of some of the currently defined profile
923 entries, typical arguments, and the programs that reference the
924 entries.
925 .bp
926 .in .9i
927 .ll -.9i
928 .ta \w'<program>:\0default switches  'u
929 .sp 30p
930 .ce
931 Table 1
932 .sp 8p
933 .ce
934 P\s-2ROFILE\s0 C\s-2OMPONENTS\s0
935 .hl             \" ~12p preceding + 1v (12p) after
936 .nf
937 ^^\fIMH\fR Programs that
938 ^Keyword and Argument~^\ use Component\h'|\n(.lu-.9i'\v'4p'\l'|0'\v'-4p'  \" \l'..' does underlining
939 .sp
940 ^Path:\0Mail~^All
941 ^Current-Folder:\0inbox~^Most
942 ^Editor:\0/usr/ucb/ex~^\fIcomp, dist, forw, repl\fR
943 ^Inbox:\0inbox~^\fIinc, rmf\fR
944 ^Msg\-Protect:\0644~^\fIinc\fR
945 ^Folder\-Protect:\0711~^\fIinc, pick, refile\fR
946 ^<program>:\0default switches~^All
947 ^prompter\-next:\0ed~^\fIcomp, dist, forw, repl\fR
948 .hl
949 .ll +.9i
950 .in 0
951 .fi
952 .pp
953 Path
954 .u should
955 be present.
956 Current\-Folder is maintained
957 automatically by many \fIMH\fR commands (see the \fBContext\fR sections of
958 the individual commands in Sec. IV).
959 All other entries are optional,
960 defaulting to the values described above.
961 .uh "MESSAGE NAMING"
962 .pp
963 Messages may be referred to explicitly or implicitly when
964 using \fIMH\fR commands.
965 A formal syntax of message names is given in Appendix B, but the
966 following description should be sufficient for most \fIMH\fR users.
967 Some details of message naming that apply only to certain
968 commands are included in the description of those
969 commands.
970 .pp
971 Most of the \fIMH\fR commands accept arguments specifying one or
972 more folders, and one or more messages to operate on.
973 The use of
974 the word \*(lqmsg\*(rq as an argument to a command means that exactly one
975 message name may be specified.
976 A message name may be a number,
977 such as 1, 33, or 234, or it may be
978 one of the \*(lqreserved\*(rq message names:
979 first, last, prev, next, and cur.
980 (As a shorthand, a
981 period (\&.) is equivalent to cur.)
982 The meanings of these names are straightforward:
983 \*(lqfirst\*(rq is the first message in the folder;
984 \*(lqlast\*(rq is the last message in the folder;
985 \*(lqprev\*(rq is the message numerically previous to the current message;
986 \*(lqnext\*(rq is the message numerically following the current message;
987 \*(lqcur\*(rq (or \*(lq\&.\*(rq) is the current message in the folder.
988 In addition,
989 \fIMH\fR supports user\-defined\-sequences;
990 see the description of the \fImark\fR command for more information.
991 .pp
992 The default in commands that take a \*(lqmsg\*(rq argument is
993 always \*(lqcur\*(rq.
994 .pp
995 The word \*(lqmsgs\*(rq indicates that several messages may be
996 specified.
997 Such a specification consists of several message
998 designations separated by spaces.
999 A message designation is
1000 either a message name or a message range.
1001 A message range is a
1002 specification of the form name1\-name2 or name1:n, where name1 and
1003 name2 are message names and n is an integer.
1004 The first form
1005 designates all the messages from name1 to name2 inclusive; this
1006 must be a non-empty range.
1007 The second form specifies up to n
1008 messages, starting with name1 if name1 is a number, or first,
1009 cur, or next, and ending with name1 if name1 is last or
1010 prev.
1011 This interpretation of n is overridden if n is preceded
1012 by a plus sign or a minus sign;
1013 +n always means up to n messages starting with
1014 name1, and \-n always means up to n messages ending with name1.
1015 Repeated specifications of the same message have the same effect
1016 as a single specification of
1017 the message.
1018 Examples of
1019 specifications are:
1020
1021 .(b
1022 1 5 7\-11 22
1023 first 6 8 next
1024 first\-10
1025 last:5
1026 .)b
1027 .pp
1028 The message name \*(lqall\*(rq is a shorthand for \*(lqfirst\-last\*(rq,
1029 indicating all of the messages in the folder.
1030 .pp
1031 In commands that accept \*(lqmsgs\*(rq arguments, the default is
1032 either cur or all, depending on which makes more sense.
1033 .pp
1034 In all of the \fIMH\fR commands, a plus sign preceding an argument
1035 indicates a folder name.
1036 Thus, \*(lq+inbox\*(rq is the name of the
1037 user's standard inbox.
1038 If an explicit folder argument is given
1039 to an \fIMH\fR command, it will become the current folder (that is,
1040 the \*(lqCurrent-Folder:\*(rq entry
1041 in the user's profile will be changed to this folder).
1042 In the case of the
1043 \fIrefile\fR command, which
1044 can have multiple output folders, a new source folder (other than
1045 the default current folder) is specified by `\-src\0+folder'.
1046 .uh "OTHER MH CONVENTIONS"
1047 .pp
1048 One very powerful feature of \fIMH\fR is that the \fIMH\fR commands may
1049 be issued from any current directory, and the proper path to
1050 the appropriate folder(s) will be taken from the user's profile.
1051 If the \fIMH\fR path is not appropriate for a specific folder or file,
1052 the automatic prepending of the \fIMH\fR path can be avoided by
1053 beginning a folder or file name with \fB/\fR,
1054 or with \fB\&./\fR or \fB\&.\&./\fR component.
1055 Thus any specific absolute path may be specified along with any path
1056 relative to the current working directory.
1057 .pp
1058 Arguments to the various programs may be given in any order,
1059 with the exception of a few switches whose arguments must follow
1060 immediately, such as `\-src\0+folder' for \fIrefile\fR.
1061 .pp
1062 Whenever an \fIMH\fR command prompts the user, the valid options
1063 will be listed in response to a <RETURN>.
1064 (The first of the
1065 listed options is the default if end-of-file is encountered,
1066 such as from a command file.)
1067 A valid response is any \fIunique\fR abbreviation of one of the listed options.
1068 .pp
1069 Standard UNIX documentation conventions are used in this report
1070 to describe \fIMH\fR command syntax.
1071 Arguments enclosed in brackets
1072 ([ ]) are optional; exactly one of the arguments enclosed
1073 within braces ({ }) must be specified, and all other
1074 arguments are required.
1075 The use of ellipsis dots (...) indicates
1076 zero or more repetitions of the previous item.
1077 For example,
1078 \*(lq+folder ...\*(rq would indicate that one or more \*(lq+folder\*(rq
1079 arguments is required
1080 and \*(lq[+folder ...]\*(rq indicates that 0 or more
1081 \*(lq+folder\*(rq arguments may be given.
1082 .pp
1083 \fIMH\fR departs from UNIX standards by using switches that consist of
1084 more than one character, e.g. `\-header'.
1085 To minimize typing,
1086 only a unique abbreviation of a switch need be typed; thus, for
1087 `\-header', `\-hea' is probably sufficient, depending on the
1088 other switches the command accepts.
1089 Each \fIMH\fR program
1090 accepts the switch `\-help' (which \fBmust\fR be spelled out fully)
1091 and produces a syntax description and a list of switches.
1092 In the
1093 list of switches, parentheses indicate required characters.
1094 For example, all `\-help' switches will appear as \*(lq\-(help)\*(rq,
1095 indicating that no abbreviation is accepted.
1096 Furthermore,
1097 the `\-help' switch tells the version of the \fIMH\fR program you invoked.
1098 .pp
1099 Many \fIMH\fR switches have both on and off forms, such as
1100 `\-format' and `\-noformat'.
1101 In many of the descriptions which follow,
1102 only one form is defined; the other form, often used to
1103 nullify profile switch settings, is assumed to be the opposite.
1104 .br
1105 .bp
1106 .uh "MH COMMANDS"
1107 .pp
1108 The \fIMH\fR package comprises several programs:
1109 .\"    I pity the fool who tampers with the next line...
1110 .ds ZZ -me
1111 .so mh.me
1112 .pp
1113 These programs are described below.
1114 The form of the descriptions
1115 conforms to the standard
1116 form for the description of UNIX commands.
1117 .if t \{
1118 .ll 6.5i
1119 .lt 6.5i
1120 \}
1121 .fo '@@(MHLEFTFOOT)'@@(MHCENTERFOOT)'UCI version'
1122 .de SC
1123 .he '\\$1(\\$2)'-%-'\\$1(\\$2)'
1124 @@BEGIN: BSD44
1125 .eh 'USD:8-%'The RAND Message Handling System: User Manual'\\$1(\\$2)'
1126 .oh '\\$1(\\$2)'The RAND Message Handling System: User Manual'USD:8-%'
1127 @@END: BSD44
1128 .bp
1129 .(x
1130 .ti .8i
1131 \\$1
1132 .)x
1133 ..
1134 .de NA
1135 .b \\s-2NAME\\s0
1136 .ti .5i
1137 ..
1138 .de SY
1139 .sp
1140 .b \\s-2SYNOPSIS\\s0
1141 .in 1i
1142 .ti .5i
1143 .na
1144 ..
1145 .de DE
1146 .ad
1147 .sp
1148 .in 0
1149 .b  \\s-2DESCRIPTION\\s0
1150 .sp
1151 .fi
1152 .in .5i
1153 ..
1154 .de Uh
1155 .ad
1156 .sp
1157 .ti -.25i
1158 .b "\\s-2\\$1\\s0"
1159 .sp
1160 .fi
1161 ..
1162 .de Hh
1163 .ad
1164 .sp
1165 .in 0
1166 .b "\\s-2Helpful Hints\\s0"
1167 .sp
1168 .fi
1169 .in .5i
1170 ..
1171 .de Fi
1172 .(b L
1173 .ti 0
1174 .b \\s-2Files\\s0
1175 .ta \w'@@(MHETCPATH)/ExtraBigFileName  'u
1176 ..
1177 .de Pr
1178 .)b
1179 .(b L F
1180 .ta \w'ExtraBigProfileName  'u
1181 .ti 0
1182 .b "\\s-2Profile Components\\s0"
1183 .ti .5i
1184 ..
1185 .de Ps
1186 .ti .5i
1187 ..
1188 .de Sa
1189 .)b
1190 .(b L F
1191 .ti 0
1192 .b "\\s-2See Also\\s0"
1193 .br
1194 ..
1195 .de De
1196 .)b
1197 .(b L
1198 .in .5i
1199 .ti 0
1200 .b \\s-2Defaults\\s0
1201 ..
1202 .de Ds
1203 ..
1204 .de Co
1205 .)b
1206 .(b L F
1207 .ti 0
1208 .b \\s-2Context\\s0
1209 .br
1210 ..
1211 .de Hi
1212 .)b
1213 .(b L F
1214 .ti 0
1215 .b \\s-2History\\s0
1216 .br
1217 ..
1218 .de Bu
1219 .)b
1220 .(b L F
1221 .ti 0
1222 .b \\s-2Bugs\\s0
1223 .br
1224 ..
1225 .de En
1226 .)b
1227 .in 0
1228 ..
1229 .po -.50i
1230 .so ali.me
1231 .so anno.me
1232 @@BEGIN: BBOARDS
1233 .so bbc.me
1234 @@BEGIN: BBSERVER
1235 .so bbl.me
1236 .so bbleader.me
1237 @@END: BBSERVER
1238 .so bboards.me
1239 @@END: BBOARDS
1240 .so burst.me
1241 @@BEGIN: TMA
1242 .so cipher.me
1243 @@END: TMA
1244 .so comp.me
1245 @@BEGIN: TMA
1246 .so decipher.me
1247 @@END: TMA
1248 .so dist.me
1249 .so folder.me
1250 .so forw.me
1251 .so inc.me
1252 .so mark.me
1253 .so mhl.me
1254 .so mhmail.me
1255 @@BEGIN: MIME
1256 .so mhn.me
1257 @@END: MIME
1258 .so mhook.me
1259 .so mhparam.me
1260 .so mhpath.me
1261 .so msgchk.me
1262 .so msh.me
1263 .so next.me
1264 .so packf.me
1265 .so pick.me
1266 @@BEGIN: MPOP
1267 .so popi.me
1268 @@END: MPOP
1269 .so prev.me
1270 .so prompter.me
1271 .so rcvstore.me
1272 .so refile.me
1273 .so repl.me
1274 .so rmf.me
1275 .so rmm.me
1276 .so scan.me
1277 .so send.me
1278 .so show.me
1279 .so slocal.me
1280 .so sortm.me
1281 @@BEGIN: TMA
1282 .so tma.me
1283 @@END: TMA
1284 .so vmh.me
1285 .so whatnow.me
1286 .so whom.me
1287 @@BEGIN: BSD44
1288 .eh 'USD:8-%''The RAND Message Handling System: User Manual'
1289 .oh 'The RAND Message Handling System: User Manual''USD:8-%'
1290 @@END: BSD44
1291 .po +.50i
1292 .he ''-%-''
1293 @@BEGIN: BSD44
1294 .eh 'USD:8-%''The RAND Message Handling System: User Manual'
1295 .oh 'The RAND Message Handling System: User Manual''USD:8-%'
1296 @@END: BSD44
1297 .fo ''''
1298 .br
1299 .if t \{
1300 .ll 32P
1301 .lt 32P
1302 \}
1303 .bp
1304 .uh "MORE DETAILS"
1305 .pp
1306 This section describes some of the more intense points of the \fIMH\fR system,
1307 by expanding on topics previously discussed.
1308 The format presented conforms to the standard form for the description of UNIX
1309 documentation.
1310 .if t \{
1311 .ll 6.5i
1312 .lt 6.5i
1313 \}
1314 .fo '@@(MHLEFTFOOT)'@@(MHCENTERFOOT)'UCI version'
1315 .po -.50i
1316 .so mh-alias.me
1317 .so mh-format.me
1318 .so mh-mail.me
1319 .so mh-profile.me
1320 .so mh-sequence.me
1321 .so ap.me
1322 .so conflict.me
1323 .so dp.me
1324 .so fmtdump.me
1325 .so install-mh.me
1326 .so post.me
1327 @@BEGIN: BSD44
1328 .eh 'USD:8-%''The RAND Message Handling System: User Manual'
1329 .oh 'The RAND Message Handling System: User Manual''USD:8-%'
1330 @@END: BSD44
1331 .po +.50i
1332 .he ''-%-''
1333 @@BEGIN: BSD44
1334 .eh 'USD:8-%''The RAND Message Handling System: User Manual'
1335 .oh 'The RAND Message Handling System: User Manual''USD:8-%'
1336 @@END: BSD44
1337 .fo ''''
1338 .br
1339 .if t \{
1340 .ll 32P
1341 .lt 32P
1342 \}
1343 .+c "REPORTING PROBLEMS"
1344 .pp
1345 If problems are encountered with an \fIMH\fR program,
1346 the problems should be reported to the local maintainers of \fIMH\fR.
1347 When doing this,
1348 the name of the program should be reported,
1349 along with the version information for the program.
1350 To find out what version of an \fIMH\fR program is being run,
1351 invoke the program with the `\-help' switch.
1352 In addition to listing the syntax of the command,
1353 the program will list information pertaining to its version.
1354 This information includes the version of \fIMH\fR,
1355 the host it was generated on,
1356 and the date the program was loaded.
1357 A second line of information,
1358 found on versions of \fIMH\fR after #5.380 include \fIMH\fR configuration
1359 options.
1360 For example,
1361
1362 .in +.5i
1363 version: MH 6.1 #1[UCI] (nrtc-gremlin) of Wed Nov  6 01:13:53 PST 1985
1364 .br
1365 options: [BSD42] [MHE] [NETWORK] [SENDMTS] [MMDFII] [SMTP] [POP]
1366 .in -.5i
1367
1368 The `6.1 #1[UCI]' indicates that the program is from the UCI \fImh.6\fR
1369 version of \fIMH\fR.
1370 The program was generated on the host `nrtc-gremlin' on
1371 `Wed Nov  6 01:13:53 PST 1985'.
1372 It's usually a good idea to send the output of the `\-help' switch along
1373 with your report.
1374
1375 If there is no local \fIMH\fR maintainer,
1376 try the address \fBBug-MH\fR.
1377 If that fails, use the Internet mailbox \fBBug-MH@@ICS.UCI.EDU\fR.
1378
1379 .+c "ADVANCED FEATURES"
1380 .de UH
1381 .lp
1382 .b "\\$1"
1383 .pp
1384 .(x
1385 .ti .8i
1386 \\$1
1387 .)x
1388 ..
1389 .pp
1390 This section describes some features of \fIMH\fR that were included strictly
1391 for advanced \fIMH\fR users.
1392 These capabilities permit \fIMH\fR to exhibit more powerful behavior for the
1393 seasoned \fIMH\fR users.
1394 .uh "USER\-DEFINED SEQUENCES"
1395 .pp
1396 User\-defined sequences allow the \fIMH\fR user a tremendous amount of power
1397 in dealing with groups of messages in the same folder
1398 by allowing the user to bind a group of messages to a meaningful symbolic
1399 name.
1400 The user may choose any name for a message sequence,
1401 as long as it consists of alphanumeric characters and does not conflict with
1402 the standard \fIMH\fR reserved message names
1403 (e.g., \*(lqfirst\*(rq, etc).
1404 After defining a sequence,
1405 it can be used wherever an \fIMH\fR command expects a `msg' or `msgs'
1406 argument.
1407 .pp
1408 A restricted form of message ranges are allowed with user\-defined
1409 sequences. The form \*(lqname:n\*(rq, specifies up to the first `n' messages
1410 which are part of the user\-defined sequence `name'.
1411 A leading plus sign is allowed on `n', but is ignored.
1412 The interpretation of n is overridden if n is preceded
1413 by a minus sign;
1414 `\-n' always means up to the last `n' messages which are part of the
1415 sequence `name'.
1416 .pp
1417 Although all \fIMH\fR commands expand user\-defined sequences as appropriate,
1418 there are two commands that allow the user to define and manipulate them:
1419 \fIpick\fR and \fImark\fR.
1420 .UH "Pick and User\-Defined Sequences"
1421 .pp
1422 Most users of \fIMH\fR will use user\-defined sequences only with
1423 the \fIpick\fR command.
1424 By giving the `\-sequence\ name' switch to \fIpick\fR
1425 (which can occur more than once on the command line),
1426 each sequence named is defined as those messages which \fIpick\fR matched
1427 according the the selection criteria it was given.
1428 Hence,
1429
1430 .ti +.5i
1431 pick\0\-from\0frated\0\-seq\0fred
1432
1433 finds all those messages in the current folder which were from
1434 \*(lqfrated\*(rq,
1435 creates a sequence called \*(lqfred\*(rq,
1436 and then adds them to the sequence.
1437 The user could then invoke
1438
1439 .ti +.5i
1440 scan\0fred
1441
1442 to get a \fIscan\fR listing of those messages.
1443 Note that by default,
1444 \fIpick\fR creates the named sequences
1445 before it adds the selected messages to the sequence.
1446 Hence, if the named sequence already existed,
1447 the sequence is destroyed prior to being re-defined
1448 (nothing happens to the messages that were a part of this sequence,
1449 they simply cease to be members of that sequence).
1450 By using the `\-nozero' switch, this behavior can be inhibited,
1451 as in
1452
1453 .in +.5i
1454 pick\0\-from\0frated\0\-seq\0sgroup
1455 .br
1456 pick\0\-from\0fear\0\-seq\0sgroup\0\-nozero
1457 .br
1458 pick\0\-from\0freida\0\-seq\0sgroup\0\-nozero
1459 .in -.5i
1460
1461 finds all those messages in the current folder which were from
1462 \*(lqfrated\*(rq, \*(lqfear\*(rq, or \*(lqfreida\*(rq,
1463 and defines the sequence called \*(lqsgroup\*(rq as exactly those messages.
1464 These operations amounted to an \*(lqinclusive\-or\*(rq of three selection
1465 criteria,
1466 using \fIpick\fR,
1467 one can also generate the \*(lqand\*(rq of some selection criteria as well:
1468
1469 .in +.5i
1470 pick\0\-from\0frated\0\-seq\0fred
1471 .br
1472 pick\0\-before\0friday\0\-seq\0fred\0fred
1473 .in -.5i
1474
1475 This example defines the sequence called \*(lqfred\*(rq as exactly those
1476 messages from \*(lqfrated\*(rq that were dated prior to \*(lqfriday\*(rq.\**
1477 .(f
1478 \** Of course,
1479 it is much easier to simply use the built\-in boolean operation of
1480 \fIpick\fR to get the desired results:
1481
1482 .ti +.5i
1483 pick\0\-from\0frated\0\-or\0\-from\0fear\0\-or\0\-from\0freida\0\-seq\0sgroup
1484
1485 and
1486
1487 .ti +.5i
1488 pick\0\-from\0frated\0\-and\0\-before\0friday\0\-seq\0fred
1489
1490 do exactly the same thing as the five commands listed above.
1491 Hence, the `\-nozero' option to \fIpick\fR is only useful to manipulate
1492 existing sequences.
1493 .)f
1494 .pp
1495 \fIPick\fR is normally used as a back\-quoted command,
1496 for example,
1497
1498 .ti +.5i
1499 scan\0`pick\0\-from\0postmaster`
1500
1501 Now suppose that the user decides that another command should be issued,
1502 using exactly those messages.
1503 Since,
1504 \fIpick\fR wasn't given a `\-sequence\ name' argument in this example,
1505 the user would end\-up typing the entire back\-quoted command again.
1506 A simpler way is to add a default sequence name to the \&.mh\(ruprofile.
1507 For example,
1508
1509 .ti +.5i
1510 pick:\0\-seq\0select\0\-list
1511
1512 will tell \fIpick\fR to always define the sequence \*(lqselect\*(rq whenever
1513 it's run.
1514 The `-list' is necessary since the `\-sequence\ name' switch sets `\-nolist'
1515 whenever the former is encountered.
1516 Hence, this profile entry makes \fIpick\fR define the \*(lqselect\*(rq
1517 sequence and otherwise behave exactly as if there was no profile entry at all.
1518 .UH "Mark and User\-Defined Sequences"
1519 .pp
1520 The \fImark\fR command lets the user perform low\-level manipulation of
1521 sequences,
1522 and also provides a well\-needed debug facility to the
1523 implementors/developers/maintainers of \fIMH\fR (the \fIMH\fR\-hacks).
1524 In the future, a user\-friendly \*(lqfront\-end\*(rq for \fImark\fR will
1525 probably be developed to give the \fIMH\fR user a way to take better
1526 advantage of the underlying facilities.
1527 .UH "Public and Private User\-Defined Sequences"
1528 .pp
1529 There are two kinds of sequences: \fIpublic\fR sequences,
1530 and \fIprivate\fR sequences.
1531 \fIPublic\fR sequences of a folder are accessible to any \fIMH\fR user that
1532 can read that folder and are kept in the \&.mh\(rusequences file in the folder.
1533 \fIPrivate\fR sequences are accessible only to the \fIMH\fR user that defined
1534 those sequences and are kept in the user's \fIMH\fR context file.
1535 By default,
1536 \fIpick\fR (and \fImark\fR\0) create \fIpublic\fR sequences
1537 if the folder for which the sequences are being defined is writable by the
1538 \fIMH\fR user.
1539 Otherwise, \fIprivate\fR sequences are created.
1540 This can be overridden with the `\-public' and `\-nopublic' switches.
1541 .UH "Sequence Negation"
1542 .pp
1543 In addition to telling an \fIMH\fR command to use the messages in the sequence
1544 \*(lqseen\*(rq, as in
1545
1546 .ti +.5i
1547 refile\0seen\0+old
1548
1549 it would be useful to be easily able to tell an \fIMH\fR command to use all
1550 messages \fIexcept\fR those in the sequence.
1551 One way of doing this would be to use \fImark\fR and define the sequence
1552 explicitly,
1553 as in
1554
1555 .ti +.5i
1556 mark\0\-delete\0\-zero\0seen\0\-seq\0notseen
1557
1558 which,
1559 owing to \fImark\fR\0's cryptic interpretation of `\-delete' and `\-zero',
1560 defines the sequence \*(lqnotseen\*(rq to be all messages not in the sequence
1561 \*(lqseen\*(rq.
1562 Naturally,
1563 anytime the sequence \*(lqseen\*(rq is changed,
1564 \*(lqnotseen\*(rq will have to be updated.
1565 Another way to achieve this is to define the entry
1566 \*(lqSequence\-Negation:\*(rq in the \&.mh\(ruprofile.
1567 If the entry was
1568
1569 .ti +.5i
1570 Sequence\-Negation:\0not
1571
1572 then anytime an \fIMH\fR command was given \*(lqnotseen\*(rq as a `msg' or
1573 `msgs' argument,
1574 it would substitute all messages that are not a member of the sequence
1575 \*(lqseen\*(rq.
1576 That is,
1577
1578 .ti +.5i
1579 refile\0notseen\0+new
1580
1581 does just that.
1582 The value of the \*(lqSequence\-Negation:\*(rq entry in the profile can be
1583 any string.
1584 Hence,
1585 experienced users of \fIMH\fR do not use a word,
1586 but rather a special character which their shell does not interpret
1587 (users of the \fICShell\fR use a single caret or circumflex (usually shift\-6),
1588 while users of the Bourne shell use an exclamation\-mark).
1589 This is because there is nothing to prevent a user of \fIMH\fR from defining a
1590 sequence with this string as its prefix,
1591 if the string is nothing by letters and digits.
1592 Obviously,
1593 this could lead to confusing behavior
1594 if the \*(lqSequence\-Negation:\*(rq entry leads \fIMH\fR to believe that two
1595 sequences are opposites by virtue of their names differing by the prefix
1596 string.
1597 .UH "The Previous Sequence"
1598 .pp
1599 Many times users find themselves issuing a series of commands on the same
1600 sequences of messages.
1601 If the user first defined these messages as a sequence,
1602 then considerable typing may be saved.
1603 If the user doesn't have this foresight,
1604 \fIMH\fR provides a handy way of having \fIMH\fR remember the `msgs' or
1605 `msg' argument last given to an \fIMH\fR command.
1606 If the entry \*(lqPrevious\-Sequence:\*(rq is defined in the
1607 \&.mh\(ruprofile,
1608 then when the command finishes,
1609 it will define the sequence(s) named in the value of this entry as being
1610 exactly those messages that were specified.
1611 Hence, a profile entry of
1612
1613 .ti +.5i
1614 Previous\-Sequence:\0pseq
1615
1616 directs any \fIMH\fR command that accepts a `msg' or `msgs' argument to
1617 define the sequence \*(lqpseq\*(rq as those messages when it finishes.
1618 More than one sequence name may be placed in this entry,
1619 separated with spaces.
1620 The one disadvantage of this approach
1621 is that the \fIMH\fR progams have to update the sequence information for
1622 the folder each time they run
1623 (although most programs read this information,
1624 usually only \fIpick\fR and \fImark\fR have to write this information out).
1625 .UH "The Unseen Sequence"
1626 .pp
1627 Finally, some users like to distinguish between messages which have been
1628 previously seen by them.
1629 Both \fIinc\fR and \fIshow\fR honorthe profile entry
1630 \*(lqUnseen\-Sequence\*(rq to support this activity.
1631 Whenever \fIinc\fR places new messages in a folder,
1632 if the entry \*(lqUnseen\-Sequence\*(rq is defined in the \&.mh\(ruprofile,
1633 then when the command finishes,
1634 \fIinc\fR will add the new messages to the sequence(s) named in the value of
1635 this entry.
1636 Hence, a profile entry of
1637
1638 .ti +.5i
1639 Unseen\-Sequence:\0 unseen
1640
1641 directs \fIinc\fR to add new messages to the sequence \*(lqunseen\*(rq.
1642 Unlike the behavior of the \*(lqPrevious\-Sequence\*(rq entry in the profile
1643 however,
1644 the sequence(s) will \fBnot\fR be zero'd.
1645 .pp
1646 Similarly,
1647 whenever \fIshow\fR (or \fInext\fR or \fIprev\fR\0) displays a message,
1648 they remove those messages from any sequences named by the
1649 \*(lqUnseen\-Sequence\*(rq entry in the profile.
1650 .uh "COMPOSITION OF MAIL"
1651 .pp
1652 There are a number of interesting advanced facilities for the composition of
1653 outgoing mail.
1654
1655 .UH "The Draft Folder"
1656 .pp
1657 The \fIcomp\fR, \fIdist\fR, \fIforw\fR, and \fIrepl\fR commands have two
1658 switches, `\-draftfolder\0+folder' and `\-draftmessage\0msg'.
1659 If `\-draftfolder\0+folder' is used,
1660 these commands are directed to construct a draft message in the indicated
1661 folder.
1662 (The \*(lqDraft\-Folder:\*(rq profile entry may be used to declare a
1663 default draft folder for use with
1664 \fIcomp\fR, \fIdist\fR, \fIforw\fR, and \fIrepl\fR)
1665 If `\-draftmessage\0msg' is not used, it defaults to `new'
1666 (unless the user invokes \fIcomp\fR with `\-use',
1667 in which case the default is `cur').
1668 Hence, the user may have several message compositions in progress
1669 simultaneously.
1670 Now, all of the \fIMH\fR tools are available on each of the user's message
1671 drafts
1672 (e.g., \fIshow\fR, \fIscan\fR, \fIpick\fR, and so on).
1673 If the folder does not exist,
1674 the user is asked if it should be created (just like with \fIrefile\fR\0).
1675 Also,
1676 the last draft message the user was composing is known as `cur' in the
1677 draft folder.
1678 .pp
1679 Furthermore,
1680 the \fIsend\fR command has these switches as well.
1681 Hence, from the shell,
1682 the user can send off whatever drafts desired using the
1683 standard \fIMH\fR `msgs' convention with `\-draftmessage msgs'.
1684 If no `msgs' are given, it defaults to `cur'.
1685 .pp
1686 In addition,
1687 all five programs have a `\-nodraftfolder' switch,
1688 which undoes the last occurrence of `\-draftfolder\0folder'
1689 (useful if the latter occurs in the user's \fIMH\fR profile).
1690 .pp
1691 If the user does not give the `\-draftfolder\0+folder' switch,
1692 then all these commands act ``normally''.
1693 Note that the `\-draft' switch to \fIsend\fR and \fIshow\fR
1694 still refers to the file called `draft' in the user's \fIMH\fR
1695 directory.
1696 In the interests of economy of expression,
1697 when using \fIcomp\fR or \fIsend\fR,
1698 the user needn't prefix the draft `msg' or `msgs' with
1699 `\-draftmessage'.
1700 Both of these commands accept a `file' or `files' argument,
1701 and they will, if given `\-draftfolder\0+folder' treat these arguments
1702 as `msg' or `msgs'.\**
1703 .(f
1704 \** This may appear to be inconsistent, at first,
1705 but it saves a lot of typing.
1706 .)f
1707 Hence,
1708
1709 .ti +.5i
1710 send -draftf +drafts first
1711
1712 is the same as
1713
1714 .ti +.5i
1715 send -draftf +drafts -draftm first
1716
1717 .pp
1718 To make all this a bit more clear, here are some examples.
1719 Let's assume that the following entries are in the \fIMH\fR profile:
1720
1721 .in +.5i
1722 .nf
1723 Draft\-Folder: +drafts
1724 sendf: -draftfolder +drafts
1725 .fi
1726 .in -.5i
1727
1728 Furthermore,
1729 let's assume that the program \fIsendf\fR is a (symbolic) link in the user's 
1730 \fB$HOME/bin/\fR directory to \fIsend\fR.
1731 Then, any of the commands
1732
1733 .in +.5i
1734 .nf
1735 comp
1736 dist
1737 forw
1738 repl
1739 .fi
1740 .in -.5i
1741
1742 constructs the message draft in the `draft' folder using the `new'
1743 message number.
1744 Furthermore,
1745 they each define `cur' in this folder to be that message draft.
1746 If the user were to use the \fIquit\fR option at `What now?' level,
1747 then later on,
1748 if no other draft composition was done,
1749 the draft could be sent with simply
1750
1751 .ti +.5i
1752 sendf
1753
1754 Or,
1755 if more editing was required,
1756 the draft could be edited with
1757
1758 .ti +.5i
1759 comp -use
1760
1761 Instead,
1762 if other drafts had been composed in the meantime,
1763 so that this message draft was no longer known as `cur' in the `draft'
1764 folder,
1765 then the user could \fIscan\fR the folder to see which message draft in the
1766 folder should be used for editing or sending.
1767 Clever users could even employ a back-quoted \fIpick\fR to do the work:
1768
1769 .ti +.5i
1770 comp -use `pick +drafts -to bug-mh`
1771
1772 or
1773
1774 .ti +.5i
1775 sendf `pick +drafts -to bug-mh`
1776
1777 Note that in the \fIcomp\fR example,
1778 the output from \fIpick\fR must resolve to a single message draft
1779 (it makes no sense to talk about composing two or more drafts with one
1780 invocation of \fIcomp\fR\0).
1781 In contrast,
1782 in the \fIsend\fR example,
1783 as many message drafts as desired can appear,
1784 since \fIsend\fR doesn't mind sending more than one draft at a time.
1785 .pp
1786 Note that the argument `\-draftfolder\0+folder' is not
1787 included in the profile entry for \fIsend\fR,
1788 since when \fIcomp\fR, et. al., invoke \fIsend\fR directly,
1789 they supply \fIsend\fR with the UNIX pathname of the message draft,
1790 and \fBnot\fR a `draftmessage\0msg' argument.
1791 As far as \fIsend\fR is concerned,
1792 a \fIdraft folder\fR is not being used.
1793 .pp
1794 It is important to realize that \fIMH\fR treats the draft folder like a standard
1795 \fIMH\fR folder in nearly all respects.
1796 There are two exceptions:
1797 .u first ,
1798 under no circumstancs will the `\-draftfolder\0folder' switch cause the
1799 named folder to become the current folder.\**
1800 .(f
1801 \** Obviously,
1802 if the folder appeared in the context of a standard `+folder'
1803 argument to an \fIMH\fR program, as in
1804
1805 .ti +.5i
1806 scan +drafts
1807
1808 it might become the current folder, depending on the context changes of the
1809 \fIMH\fR program in question.
1810 .)f
1811 .u Second ,
1812 although conceptually \fIsend\fR deletes the `msgs' named in the draft
1813 folder,
1814 it does not call `delete-prog' to perform the deletion.
1815
1816 .UH "What Happens if the Draft Exists"
1817 .pp
1818 When the \fIcomp\fR, \fIdist\fR, \fIforw\fR, and \fIrepl\fR commands are
1819 invoked and the draft you indicated already exists,
1820 these programs will prompt the user for a reponse directing the program's
1821 action.
1822 The prompt is
1823
1824 .ti +.5i
1825 Draft ``/usr/src/uci/mh/mhbox/draft'' exists (xx bytes).
1826 .ti +.5i
1827 Disposition?
1828
1829 The appropriate responses and their meanings are:
1830 .u replace :
1831 deletes the draft and starts afresh;
1832 .u list :
1833 lists the draft;
1834 .u refile :
1835 files the draft into a folder and starts afresh;
1836 and,
1837 .u quit :
1838 leaves the draft intact and exits.
1839 In addition, if you specified `\-draftfolder\0folder' to the command,
1840 then one other response will be accepted:
1841 .u new :
1842 finds a new draft,
1843 just as if `\-draftmessage\0new' had been given.
1844 Finally, the \fIcomp\fR command will accept one more response:
1845 .u use :
1846 re-uses the draft,
1847 just as if `\-use' had been given.
1848
1849 .UH "The Push Option at What now? Level"
1850 .pp
1851 The \fIpush\fR option to the \*(lqWhat now?\*(rq query
1852 in the \fIcomp\fR, \fIdist\fR, \fIforw\fR, and \fIrepl\fR commands,
1853 directs the command to \fIsend\fR the draft
1854 in a special detached fashion,
1855 with all normal output discarded.
1856 If \fIpush\fR is used and the draft can not be sent,
1857 then \fIMH\fR will send the user a message,
1858 indicating the name of the draft file,
1859 and an explanation of the failure.
1860 .\" Although using \fIpush\fR calls \fIsend\fR\0(1),
1861 .\" the \fIsend\fR command will consult the profile entry for \fIpush\fR.
1862 .pp
1863 The user can also invoke \fIsend\fR from the shell with the `\-push'
1864 switch,
1865 which makes \fIsend\fR act like it had been \fIpush\fR\0'd by one of the
1866 composition commands.
1867 .\" composition commands.\**
1868 .\" .(f
1869 .\" \** Note that in this case,
1870 .\" \fIsend\fR consults the profile entry for whatever name it was invoked as,
1871 .\" such as \fIsendf\fR.
1872 .\" .)f
1873 .pp
1874 By using \fIpush\fR, the user can free the shell to do other things,
1875 because it appears to the shell that the \fIMH\fR command has finished.
1876 As a result the shell will immediately prompt for another command,
1877 despite the fact that the command is really still running.
1878 Note that if the user indicates that annotations are to be performed
1879 (with `\-annotate' to \fIdist\fR, \fIforw\fR, or \fIrepl\fR),
1880 the annotations will be performed after the message has been
1881 successfully sent.
1882 This action will appear to occur asynchronously.
1883 Obviously, if one of the messages that is to be annotated is
1884 removed before the draft has been successfully sent,
1885 then when \fIMH\fR tries to make the annotations,
1886 it won't be able to do so.
1887 In previous versions of \fIMH\fR,
1888 this resulted in an error message mysteriously appearing on the user's
1889 terminal.
1890 In \fImh.5\fR and later versions,
1891 in this special circumstance, no error will be generated.
1892 .pp
1893 If send is \fIpush\fR\0'd,
1894 then the `\-forward' switch is examined if a failure notice is generated.
1895 If given,
1896 then the draft is forwarded with the failure notice sent to the user.
1897 This allows rapid \fIburst\fR\0'ing of the failure notice to retrieve the
1898 unsent draft.
1899
1900 .UH "Options at What now? Level"
1901 .pp
1902 By default,
1903 the message composition programs call a program called \fIwhatnow\fR before
1904 the initial draft composition.
1905 The \fIMH\fR user can specify any program for this.
1906 Following is some information about the default \*(lqWhat now?\*(rq level.
1907 More detailed information can be found in the \fIwhatnow\fR\0(1) manual entry.
1908 .pp
1909 When using the \fIcomp\fR, \fIdist\fR, \fIforw\fR, and \fIrepl\fR commands at
1910 \*(lqWhat now?\*(rq level,
1911 the \fIedit\fR, \fIlist\fR, \fIheaders\fR, \fIrefile\fR,
1912 and (for the \fIdist\fR and \fIrepl\fR commands) the \fIdisplay\fR options
1913 will pass on any additional arguments given them to whatever program they
1914 invoke.
1915 .pp
1916 In \fImh.1\fR (the original RAND \fIMH\fR\0)
1917 and \fImh.2\fR (the first UCI version of \fIMH\fR\0),
1918 \fIMH\fR used a complicated heuristic to determine if the draft should be
1919 deleted or preserved after an unsuccessful edit.
1920 In \fImh.3\fR,
1921 \fIMH\fR was changed to preserve the draft always,
1922 since \fIcomp\fR, et. al.,
1923 could usually look at a draft, apply another set of heuristics,
1924 and decide if it was important or not.
1925 With the notion of a \fIdraft folder\fR, 
1926 in which one by default gets a `new' message draft,
1927 the edit deletion/preservation algorithm was re-implemented,
1928 to keep the draft folder from being cluttered with aborted edits.
1929 .pp
1930 Also,
1931 note that by default,
1932 if the draft cannot be successfully sent,
1933 these commands return to \*(lqWhat now?\*(rq level.
1934 But, when \fIpush\fR is used, this does not happen (obviously).
1935 Hence,
1936 if these commands were expected to annotate any messages,
1937 this will have to be done by hand, later on, with the \fIanno\fR command.
1938 .pp
1939 Finally, if the `\-delete' switch is not given to the \fIquit\fR option,
1940 then these commands will inform the user of the name of the unsent draft file.
1941
1942 .UH "Digests"
1943 .pp
1944 The \fIforw\fR command has the beginnings of a digestifying facility,
1945 with the `\-digest\ list', `\-issue\ number', and `\-volume\ number' switches.
1946
1947 If \fIforw\fR is given \*(lqlist\*(rq to the `\-digest' switch
1948 as the name of the discussion group,
1949 and the `\-issue\ number' switch is not given,
1950 then \fIforw\fR looks for an entry in the user's \fIMH\fR context called
1951 \*(lq\fIdigest\fR\-issue\-list\*(rq and increments its value to use as the
1952 issue number.
1953 Similarly,
1954 if the `\-volume\ number' switch is not given,
1955 then \fIforw\fR looks for \*(lq\fIdigest\fR\-volume\-list\*(rq
1956 (but does not increment its value) to use as the volume number.
1957
1958 Having calculated the name of the digest and the volume and issue numbers,
1959 \fIforw\fR will now process the components file using the same format string
1960 mechanism used by \fIrepl\fR.
1961 The current `%'\-escapes are:
1962
1963 .nf
1964 .ta \w'escape  'u +\w'integer  'u
1965 \fIescape\fR    \fItype\fR      \fIsubstitution\fR
1966 digest  string  digest name
1967 msg     integer issue number
1968 cur     integer volume number
1969 .re
1970 .fi
1971
1972 In addition, to capture the current date,
1973 any of the escapes valid for \fIdp\fR\0(8) are also valid for \fIforw\fR.
1974
1975 The default components file used by \fIforw\fR when in digest mode is:
1976
1977 .nf
1978 .in +.5i
1979 .ne 10
1980 .eo
1981 .so @@(MHETCPATH)/digestcomps
1982 .ec
1983 .in -.5i
1984 .fi
1985
1986 Hence, when the `\-digest' switch is present,
1987 the first step taken by \fIforw\fR is to expand the format strings in the
1988 component file.
1989 The next step is to compose the draft using
1990 the standard digest encapsulation algorithm
1991 (even putting an \*(lqEnd of list Digest\*(rq trailer in the draft).
1992 Once the draft is composed by \fIforw\fR,
1993 \fIforw\fR writes out the volume and issue profile entries for the digest,
1994 and then invokes the editor.
1995
1996 Naturally, when composing the draft,
1997 \fIforw\fR will honor the `\-filter\ filterfile' switch,
1998 which is given to \fImhl\fR to filter each message being forwarded prior to
1999 encapsulation in the draft.
2000 A good filter file to use, which is called \fImhl.digest\fR, is:
2001
2002 .nf
2003 .in +.5i
2004 .ne 10
2005 .eo
2006 .so @@(MHETCPATH)/mhl.digest
2007 .ec
2008 .in -.5i
2009 .fi
2010
2011 .uh "FOLDER HANDLING"
2012 .pp
2013 There are two interesting facilities for manipulating folders:
2014 relative folder addressing,
2015 which allows a user to shorten the typing of long folder names;
2016 and
2017 the folder\-stack,
2018 which permits a user to keep a stack of current folders.
2019
2020 .UH "Relative Folder Addressing"
2021 .pp
2022 By default, when `+folder' is given,
2023 and the folder name is not absolute
2024 (does not start with \fB/\fR, \fB\&./\fR, or \fB\&.\&./\fR),
2025 then the UNIX pathname of the folder is interpreted relative to the user's
2026 \fIMH\fR directory.
2027 Although this mechanism works fine for top\-level folders and their immediate
2028 sub\-folders,
2029 once the depth of the sub\-folder tree grows, it becomes rather unwieldly:
2030
2031 .ti +.5i
2032 scan\0+mh/mh.4/draft/flames
2033
2034 is a lot of typing.
2035 \fIMH\fR can't do anything if the current folder was \*(lq+inbox\*(rq,
2036 but if the current folder was, say, \*(lq+mh/mh.4/draft\*(rq,
2037 \fIMH\fR has a short\-hand notation to reference a sub\-folder of the
2038 current folder.
2039 Using the `@@folder' notation,
2040 the \fIMH\fR user can direct any \fIMH\fR program which expects a `+folder'
2041 argument to look for the folder relative to the current folder instead of the
2042 user's \fIMH\fR directory.
2043 Hence, if the current folder \fIwas\fR \*(lq+mh/mh.4/draft\*(rq,
2044 then
2045
2046 .ti +.5i
2047 scan\0@@flames
2048
2049 would do the trick handily.
2050 In addition, if the current folder \fIwas\fR \*(lq+mh/mh.4/draft\*(rq,
2051
2052 .ti +.5i
2053 scan\0@@../pick
2054
2055 would scan the folder \*(lq+mh/mh.4/pick\*(rq,
2056 since, in the UNIX fashion,
2057 it references the folder \*(lqpick\*(rq which is a sub\-folder of
2058 the folder that is the parent of the current folder.
2059 Since most advanced \fIMH\fR users seem to exhibit a large degree of locality
2060 in referencing folders when they process mail,
2061 this convention should receive a wide range of uses.
2062
2063 .UH "The Folder\-Stack"
2064 .pp
2065 The \fIfolder\-stack\fR mechanism in \fIMH\fR gives the \fIMH\fR user a
2066 facility similar to the \fICShell\fR\0's directory\-stack.
2067 Simply put,
2068
2069 .ti +.5i
2070 folder\0\-push\0+foo
2071
2072 makes \*(lqfoo\*(rq the current folder,
2073 saving the folder that was previously the current folder on the
2074 \fIfolder\-stack\fR.
2075 As expected,
2076
2077 .ti +.5i
2078 folder\0\-pop
2079
2080 takes the top of the \fIfolder\-stack\fR and makes it the current folder.
2081 Each of these switches lists the \fIfolder\-stack\fR when they execute.
2082 It is simple to write a \fIpushf\fR command as a shell script.
2083 It's one line:
2084
2085 .ti +.5i
2086 exec\0folder\0\-push\0$@@
2087
2088 Probably a better way is to link \fIfolder\fR to the $HOME/bin/ directory under
2089 the name of \fIpushf\fR and then add the entry
2090
2091 .ti +.5i
2092 pushf:\0\-push
2093
2094 to the \&.mh\(ruprofile.
2095 .pp
2096 The manual page for \fIfolder\fR discusses the analogy between the
2097 \fICShell\fR directory stack commands and the switches in \fIfolder\fR which
2098 manipulate the \fIfolder\-stack\fR.
2099 The \fIfolder\fR command uses the context entry `Folder\-Stack:' to keep
2100 track of the folders in the user's stack of folders.
2101 \"
2102 \"              On to the Appendices
2103 \"
2104 .fo ''-%-''
2105 .he ''''
2106 @@BEGIN: BSD44
2107 .eh 'USD:8-%''The RAND Message Handling System: User Manual'
2108 .oh 'The RAND Message Handling System: User Manual''USD:8-%'
2109 @@END: BSD44
2110 .(x
2111 .sp
2112 Appendix
2113 .)x _
2114 .de $c                          \" Major Heading printer
2115 .ce
2116 Appendix \\n+(ch
2117 .sp 2p
2118 .ce
2119 .b "\\s12\\$1\\s0"              \" 12 Point Bold Header
2120 .(x
2121 \ \ \ \\n(ch.\\ \\ \\$2
2122 .)x
2123 .sp 45p                         \" 45 points or about 1/2 inch
2124 ..
2125 .++ A
2126 .bp
2127 .$c "COMMAND SUMMARY" "Command Summary"
2128 .po -.50i
2129 .so mh-chart.me
2130 .po +.50i
2131 .if t \{
2132 .ll 32P
2133 .lt 32P
2134 \}
2135 .bp
2136 .$c "MESSAGE NAME BNF" "Message Name BNF"
2137
2138 .nf
2139 .in 1i
2140 .ta \w'user-defined-sequence 'u +\w':=  'u +\w'user-defined-sequence  'u
2141 msgs    :=      msgspec |
2142                 msgs msgspec
2143
2144 msgspec :=      msg     |
2145                 msg-range       |
2146                 msg-sequence    |
2147                 user-defined-sequence
2148
2149 msg     :=      msg-name        |
2150                 <number>
2151
2152 msg-name        :=      \*(lqfirst\*(rq |
2153                 \*(lqlast\*(rq  |
2154                 \*(lqcur\*(rq   |
2155                 \*(lq\&.\*(rq   |
2156                 \*(lqnext\*(rq  |
2157                 \*(lqprev\*(rq
2158
2159 msg-range       :=      msg\*(lq\-\*(rqmsg      |
2160                 \*(lqall\*(rq
2161
2162 msg-sequence    :=      msg\*(lq:\*(rqsigned-number
2163
2164 signed-number   :=      \*(lq+\*(rq<number>     |
2165                 \*(lq\-\*(rq<number>    |
2166                 <number>
2167
2168 user-defined-sequence   :=      <alpha> |
2169                 <alpha><alphanumeric>*
2170 .re
2171 .fi
2172 .sp
2173 .lp
2174 Where <number> is a decimal number greater than zero.
2175 .lp
2176 Msg-range specifies all of the messages in the given range
2177 and must not be empty.
2178 .lp
2179 Msg-sequence specifies up to <number> of messages, beginning
2180 with \*(lqmsg\*(rq (in the case of first, cur, next, or <number>),
2181 or ending with \*(lqmsg\*(rq (in the case of prev or last).
2182 +<number> forces \*(lqstarting with msg\*(rq, and \-<number> forces
2183 \*(lqending with number\*(rq.
2184 In all cases, \*(lqmsg\*(rq must exist.
2185 .lp
2186 User\-defined sequences are defined and manipulated with the \fIpick\fR
2187 and \fImark\fR commands.
2188 .in 0
2189 .bp
2190 .ce
2191 .b \\s12REFERENCES\\s0
2192 .(x
2193 .sp
2194 REFERENCES
2195 .)x
2196 .sp 3
2197 .in .4i
2198 .ti 0
2199 1.  Crocker, D. H., J. J. Vittal, K. T. Pogran, and D. A. Henderson, Jr.,
2200 \*(lqStandard for the Format of ARPA Network Text Messages,\*(rq
2201 \fIRFC733\fR,
2202 November 1977.
2203
2204 .ti 0
2205 2.  Thompson, K., and D. M. Ritchie, \*(lqThe UNIX Time-sharing System,\*(rq
2206 \fICommunications of the ACM\fR, Vol. 17, July 1974, pp. 365-375.
2207
2208 .ti 0
2209 3.  McCauley, E. J., and P. J. Drongowski, \*(lqKSOS\-The Design of a Secure
2210 Operating System,\*(rq \fIAFIPS Conference Proceedings\fR,
2211 National Computer Conference,
2212 Vol. 48, 1979, pp. 345-353.
2213
2214 .ti 0
2215 4.  Crocker, David H., \fIFramework and Functions of the \*(lqMS\*(rq Personal
2216 Message System\fR, The RAND Corporation, R-2134-ARPA, December 1977.
2217
2218 .ti 0
2219 5.  Thompson, K., and D. M. Ritchie, \fIUNIX Programmer's Manual\fR, 6th ed.,
2220 Western Electric Company, May 1975 (available only to UNIX licensees).
2221
2222 .ti 0
2223 6. Crocker, D. H.,
2224 \*(lqStandard for the Format of ARPA Internet Text Messages,\*(rq
2225 \fIRFC822\fR,
2226 August 1982.
2227 .de $c
2228 .ce
2229 .b "\\s12\\$1\\s0"   \" 12 Point Bold Header
2230 .(x y
2231 .sp
2232 \\$1
2233 .)x
2234 .sp 3
2235 ..
2236 .++ P
2237 .bp 1
2238 .fo ''''
2239 .he ''-%-''
2240 @@BEGIN: BSD44
2241 .eh 'USD:8-%''The RAND Message Handling System: User Manual'
2242 .oh 'The RAND Message Handling System: User Manual''USD:8-%'
2243 @@END: BSD44
2244 .+c "READ THIS"
2245 .pp
2246 Although the \fIMH\fR system was originally developed by the RAND Corporation,
2247 and is now in the public domain,
2248 the RAND Corporation assumes no responsibility for \fIMH\fR
2249 or this particular version of \fIMH\fR.
2250 .pp
2251 In addition,
2252 the Regents of the University of California issue the following
2253 \fBdisclaimer\fR in regard to the UCI version of \fIMH\fR:
2254 .sp 1
2255 .in +.5i
2256 \*(lqAlthough each program has been tested by its contributor,
2257 no warranty, express or implied,
2258 is made by the contributor or the University of California,
2259 as to the accuracy and functioning of the program
2260 and related program material,
2261 nor shall the fact of distribution constitute any such warranty,
2262 and no responsibility is assumed by the contributor
2263 or the University of California in connection herewith.\*(rq
2264 .in -.5i
2265 .pp
2266 This version of \fIMH\fR is in the public domain,
2267 and as such,
2268 there are no real restrictions on its use.
2269 The \fIMH\fR source code and documentation have no licensing restrictions
2270 whatsoever.
2271 As a courtesy,
2272 the authors ask only that you provide appropriate credit to the RAND
2273 Corporation and the University of California for having developed the software.
2274 .pp
2275 \fIMH\fR is a software package that is supported neither by the RAND
2276 Corporation nor the University of California.
2277 However,
2278 since we do use the software ourselves and plan to continue using
2279 (and improving) \fIMH\fR,
2280 bug reports and their associated fixes should be reported back to us so that
2281 we may include them in future releases.
2282 The current computer mailbox for \fIMH\fR is \fBBug\-MH@@ICS.UCI.EDU\fR
2283 (in the ARPA Internet),
2284 and \fB...!ucbvax!ucivax!bug\-mh\fR (UUCP).
2285 Presently,
2286 there are two Internet discussion groups, \fBMH\-Users@@ICS.UCI.EDU\fR
2287 and \fBMH\-Workers@@ICS.UCI.EDU\fR.  \fBMH\-Workers\fP is for people
2288 discussing code changes to \fIMH\fP.  \fBMH-Users\fP is for general
2289 discussion about how to use \fIMH\fP.
2290 \fBMH\-Users\fR is bi-directionally 
2291 gatewayed into USENET as \fBcomp.mail.mh\fR.
2292 .+c "OBTAINING MH"
2293 .pp
2294 Since you probably already have \fIMH\fP,
2295 you may not need to read this unless you suspect you have an old version.
2296 On the Internet, you may retrieve the lastest release from one of:
2297
2298 .nf
2299 .in +1i
2300 ftp://ftp.ics.uci.edu/pub/mh/mh-6.8.tar.Z
2301 ftp://ftp.uu.uunet/networking/mail/mh/mh-6.8.tar.Z
2302 http://wuarchive.wustl.edu/packages/mail/mh/mh-6.8.tar.Z
2303 .fi
2304 .in -1i
2305
2306 .lp
2307 This is a tar image after being run through the compress program
2308 (approximately 2Mb).  There is also an \fIMH\fP World Wide Web
2309 Home Page at \*(lqhttp://www.ics.uci.edu/\~mh\*(rq
2310 which tells what the current release of \fIMH\fP
2311 is, and how to get updates.
2312 .pp
2313 You may also find MH on
2314 various other hosts; to make sure you get the latest version and
2315 don't waste your time re-fixing bugs, it's best to get it from
2316 either ftp.ics.uci.edu or a site which mirrors ftp.ics.uci.edu.
2317 .pp
2318 Alternatively, you can send $75 US to the address below.
2319 This covers the cost of a 6250 BPI 9-track magtape,
2320 handling, and shipping.  In addition, you'll get a
2321 laser-printed hard-copy of the entire MH documentation set.  Be
2322 sure to include your USPS address with your check.  Checks 
2323 must be drawn on U.S\&. funds and should be made payable to:
2324
2325 .ti +1i
2326 Regents of the University of California
2327
2328 The distribution address is:  
2329
2330 .nf
2331 .in +1i
2332 Attn: MH distribution
2333 Office of Academic Computing
2334 University of California, Irvine
2335 Irvine, CA  92717-2225
2336
2337 +1 714 824 5153
2338 .fi
2339 .in -1i
2340 .pp
2341 If you just want the hard-copies of the documentation, you
2342 still have to pay the $75.  The tar image has the documentation
2343 source (the manual is in roff format, but the rest are in TeX
2344 format).  Postscript formatted versions of the TeX papers are 
2345 available, as are crude tty-conversions of those papers.
2346 .+c FOREWORD
2347 .pp
2348 This document describes the RAND \fIMH\fR Message Handling System.
2349 Its primary purpose is to serve as a user's manual.
2350 It has been heavily based on a previous version of the manual,
2351 prepared by Bruce Borden, Stockton Gaines, and Norman Shapiro.
2352 .pp
2353 \fIMH\fR is a particularly novel system,
2354 and thus it is often more prone to change than other pieces of production
2355 software.
2356 As such, some specific points in this manual may not be correct in the
2357 future.
2358 In all cases, the on\-line sections of this manual,
2359 available through the UNIX\** \fIman\fR command,
2360 should present the most current information.
2361 .(f
2362 \** UNIX is a trademark of AT&T Bell Laboratories.
2363 .)f
2364 .pp
2365 When reading this document as a user's manual,
2366 certain sections are more interesting than others.
2367 The Preface and Summary are not particularly interesting to those
2368 interested in learning \fIMH\fR.
2369 The Introduction is slightly more interesting,
2370 as it touches upon the organization of the remainder of this document.
2371 The most useful sections are the Overview, Tutorial, and Detailed
2372 Description.
2373 The Overview should be read by all \fIMH\fR users, regardless of their
2374 expertise (beginning, novice, advanced, or hacker).
2375 The Tutorial should be read by all beginning and novice \fIMH\fR users,
2376 as it presents a nice description of the \fIMH\fR system.
2377 The Detailed Description should be read by the day\-to\-day user of \fIMH\fR,
2378 as it spells out all of the realities of the \fIMH\fR system.
2379 The Advanced Features section discusses some powerful \fIMH\fR capabilities for
2380 advanced users.
2381 Appendix A is particularly useful for novices,
2382 as it summarizes the invocation syntax of all the \fIMH\fR commands.
2383 .pp
2384 There are also several other documents which may be useful to you:
2385 \fIThe RAND MH Message Handling System: Tutorial\fR,
2386 which is a tutorial for \fIMH\fR;
2387 \fIThe RAND MH Message Handling System: The UCI BBoards Facility\fR,
2388 which describes the BBoards handling under \fIMH\fR;
2389 \fIMH.5: How to process 200 messages a day and still get some real work
2390 done\fR,
2391 which was presented at the 1985 Summer Usenix Conference and
2392 Exhibition in Portland, Oregon;
2393 \fIMH: A Multifarious User Agent\fR,
2394 which has been accepted for publication by Computer Networks;
2395 \fIMZnet: Mail Service for Personal Micro\-Computer Systems\fR,
2396 which was presented at the First International Symposium on Computer Message
2397 Systems in Nottingham, U.K.;
2398 and,
2399 \fIDesign of the TTI Prototype Trusted Mail Agent\fR,
2400 which describes a proprietary \*(lqtrusted\*(rq mail system built on \fIMH\fR.
2401 There are also documents, mostly specific to U.C.\0Irvine which you may find
2402 interesting:
2403 \fIMH for Beginners\fR, and \fIMH for MM Users\fR.
2404 All of these documents exist in the \fImh.6\fR distribution sent to your
2405 site.
2406 There's also a document,
2407 \fIChanges to the RAND MH Message Handling System: MH.6\fR,
2408 which describes user\-visible changes made to \fIMH\fR since the last major
2409 release.
2410 .pp
2411 This manual is very large, as it describes a large, powerful system in
2412 gruesome detail.
2413 The important thing to remember is:
2414 .sp 2
2415 .ce
2416 .b "\s+4DON'T PANIC\s0\**"
2417 .sp 2
2418 As explained in the tutorial, you really need to know only 5 commands to
2419 handle most of your mail.
2420 .(f
2421 \** Note the large, \fIfriendly\fR letters.
2422 .)f
2423 .pp
2424 Very advanced users may wish to consult 
2425 \fIThe RAND MH Message Handling System: Administrator's Guide\fR,
2426 which is also present in the \fImh.6\fR distribution sent to your site.
2427 .+c ACKNOWLEDGMENTS
2428 .pp
2429 The \fIMH\fR system described herein is based on the original RAND \fIMH\fR
2430 system.
2431 It has been extensively developed (perhaps too much so) by Marshall T. Rose and
2432 John L. Romine at the University of California, Irvine.
2433 Einar A. Stefferud, Jerry N. Sweet, and Terry P. Domae provided numerous
2434 suggestions to improve the UCI version of \fIMH\fR.
2435 Of course,
2436 a large number of people have helped \fIMH\fR along.
2437 The list of ``\fIMH\fR immortals'' is too long to list here.
2438 However, Van Jacobson deserves a special acknowledgement for his tireless
2439 work in improving the performance of \fIMH\fR.
2440 Some programs have been speeded-up by a factor of 10 or 20.
2441 All of users of \fIMH\fR, everywhere, owe a special thanks to Van.
2442 For this release, numerous \fIMH\-Workers\fP sent in fixes and other
2443 changes.  A handful of courageous \fIMH\-Workers\fP volunteered
2444 to beta\-test these changes; their help is particularly appreciated.
2445 .pp
2446 This manual is based on the original \fIMH\fR manual written at RAND by
2447 Bruce Borden, Stockton Gaines, and Norman Shapiro.
2448 .+c PREFACE
2449 .pp
2450 This report describes a system for dealing with messages transmitted on a
2451 computer.  Such messages might originate with other users of the same
2452 computer or might come from an outside source through a network to which the user's
2453 computer is connected.  Such computer-based message systems are
2454 becoming increasingly widely used, both within and outside the Department
2455 of Defense.
2456 .pp
2457 The message handling system \fIMH\fR was developed for two reasons.
2458 One was to investigate some
2459 research ideas concerning how a message system might take advantage of
2460 the architecture of the UNIX time-sharing operating system for
2461 Digital Equipment Corporation PDP-11 and VAX computers, and the special
2462 features of UNIX's command-level interface with the user (the
2463 \*(lqshell\*(rq).  The other reason was to provide a better and more
2464 adaptable base than that of conventional designs
2465 on which to build a command and control message system.
2466 The effort has succeeded in both
2467 regards, although this report mainly describes the message system itself
2468 and how it fits in with UNIX.
2469 .pp
2470 The present report should be of interest to three groups of readers.  First,
2471 it is a complete reference manual for the users of \fIMH\fR.
2472 Second, it should be
2473 of interest to those who have a general knowledge of computer-based
2474 message systems, both in civilian and military applications.  Finally,
2475 it should be of interest to those who build large subsystems that
2476 interface with users, since it illustrates a new approach to such
2477 interfaces.
2478 .pp
2479 The original \fIMH\fR system was developed by Bruce Borden,
2480 using an approach suggested by Stockton Gaines and Norman Shapiro.
2481 Valuable assistance was provided by Phyllis Kantar in the later
2482 stages of the system's implementation.
2483 Several colleagues
2484 contributed to the ideas included in this system, particularly
2485 Robert Anderson and David Crocker.
2486 In addition, valuable experience
2487 in message systems, and a valuable source of ideas, was available
2488 to us in the form of a previous message system for UNIX called
2489 MS, designed at RAND by David Crocker.
2490 .pp
2491 This report was originally prepared as part of the RAND project entitled
2492 \*(lqData Automation Research\*(rq, sponsored by Project AIR FORCE.
2493 .+c SUMMARY
2494 .pp
2495 Electronic communication of text messages is becoming
2496 commonplace.  Computer-based message systems\-software
2497 packages that provide tools for dealing with messages\-are used in many
2498 contexts.  In particular, message systems are becoming
2499 increasingly important in command and control and intelligence
2500 applications.
2501 .pp
2502 This report describes a message handling system called \fIMH\fR.
2503 This system provides the user
2504 with tools to compose, send, receive, store, retrieve, forward, and
2505 reply to messages.  \fIMH\fR has been built on the UNIX time-sharing system,
2506 a popular operating system developed for the DEC PDP-11 and VAX classes of
2507 computers.
2508 .pp
2509 A complete description of \fIMH\fR is given for users of
2510 the system.  For those who do not intend to use the system, this description
2511 gives a general idea of what a message system is like.  The system involves
2512 some new ideas about how large subsystems can be constructed.
2513 .pp
2514 The interesting and unusual features of \fIMH\fR include the
2515 following:  The user command interface to \fIMH\fR is the UNIX \*(lqshell\*(rq
2516 (the standard UNIX command interpreter).  Each separable
2517 component of message handling, such as message composition or
2518 message display, is a separate command.  Each program is driven from
2519 and updates a private user environment, which is stored as a file
2520 between program invocations.  This private environment also contains
2521 information to \*(lqcustom tailor\*(rq \fIMH\fR to the individual's tastes.
2522 \fIMH\fR stores each message as a separate file under UNIX, and it utilizes the
2523 tree-structured UNIX file system to organize groups of files within
2524 separate directories or \*(lqfolders\*(rq.  All of the UNIX facilities
2525 for dealing with files and directories, such as
2526 renaming, copying, deleting, cataloging, off-line printing, etc., are
2527 applicable to messages and directories of messages (folders).  Thus,
2528 important capabilities needed in a message system are available in \fIMH\fR
2529 without the need (often seen in other message systems) for code that
2530 duplicates the facilities of the supporting operating system.
2531 It also allows users familiar with the shell to use \fIMH\fR with minimal
2532 effort.
2533 .he ''''
2534 @@BEGIN: BSD44
2535 .eh 'USD:8-%''The RAND Message Handling System: User Manual'
2536 .oh 'The RAND Message Handling System: User Manual''USD:8-%'
2537 @@END: BSD44
2538 .fo ''''
2539 .bp
2540 .ce
2541 .b \\s12CONTENTS\\s0
2542 .sp 3
2543 .xp y
2544 .xp x
2545 .bp
2546 .\"     And now the COVER sheet
2547 .po +.325i
2548 .ll 32P
2549 .nf
2550  
2551 .sp 1.5in
2552 .ps 24
2553 .vs 32
2554 .ft B
2555 .ce 4
2556 THE RAND MH
2557 MESSAGE HANDLING
2558 SYSTEM:
2559 USER'S MANUAL
2560 .ft R
2561 .sp .8i
2562 .ps 20
2563 .vs 24
2564 .ce
2565 UCI Version
2566 .sp 0.7i
2567 .ce 2
2568 Marshall T. Rose
2569 John L. Romine
2570 .sp 0.5i
2571 .ce 2
2572 Based on the original manual by
2573 Borden, Gaines, and Shapiro
2574 .vs
2575 .sp 1i
2576 .ps 18
2577 .vs 22
2578 .ce 2
2579 \*(td
2580 \*(MH
2581 @
2582
2583
2584 1.29
2585 log
2586 @update HOW TO GET MH; make it a new section
2587 @
2588 text
2589 @d2 1
2590 a2 1
2591 .\" @@(#)$Id: MH.rf,v 1.28 1995/12/05 19:35:25 jromine Exp jromine $
2592 d2126 1
2593 a2126 1
2594 .+c "HOW TO GET MH"
2595 d2130 11
2596 a2140 4
2597 There are two ways to get the latest release:
2598 .pp
2599 1.  If you can FTP to the ARPA Internet, use anonymous FTP to
2600 retrieve \*(lqftp://ftp.ics.uci.edu/pub/mh/mh-6.8.tar.Z\*(rq.
2601 a2146 3
2602 This tar file is also available on many mirror sites, such
2603 as \*(lqftp://ftp.uu.uunet/networking/mail/mh/mh-6.8.tar.Z\*(rq
2604 or \*(lqhttp://wuarchive.wustl.edu/packages/mail/mh/mh-6.8.tar.Z\*(rq.
2605 d2150 1
2606 a2150 1
2607 either ftp.ics.uci.edu or a site that mirrors ftp.ics.uci.edu.
2608 d2152 1
2609 a2152 1
2610 2.  You can send $75 US to the address below.
2611 @
2612
2613
2614 1.28
2615 log
2616 @fix distribution address/phone
2617 @
2618 text
2619 @d2 1
2620 a2 1
2621 .\" @@(#)$Id: MH.rf,v 1.27 1994/04/15 23:12:03 jromine Exp jromine $
2622 d2126 1
2623 a2126 2
2624 .lp
2625 .b "HOW TO GET MH"
2626 d2133 1
2627 a2133 1
2628 ics.uci.edu [128.195.1.1] and retrieve the file pub/mh/mh-6.8.tar.Z.
2629 d2135 3
2630 a2137 2
2631 (approximately 1.8MB).  There should also be a \fBREADME\fR file in
2632 that directory which tells what the current release of \fIMH\fP
2633 d2140 4
2634 a2143 2
2635 This tar file is also available on louie.udel.edu 
2636 [128.175.1.3] in portal/mh-6.8.tar.Z.  You may also find MH on
2637 d2146 1
2638 a2146 1
2639 either ics.uci.edu or louie.udel.edu.
2640 @
2641
2642
2643 1.27
2644 log
2645 @add BSD44 headings
2646 @
2647 text
2648 @d2 1
2649 a2 1
2650 .\" @@(#)$Id: MH.rf,v 1.26 1992/12/02 19:03:15 jromine Exp jromine $
2651 a2159 1
2652 Computing Support Group 
2653 d2161 1
2654 a2161 1
2655 Department of Information and Computer Science
2656 d2163 1
2657 a2163 1
2658 Irvine, CA  92717
2659 d2165 1
2660 a2165 1
2661 714/856-7554
2662 @
2663
2664
2665 1.26
2666 log
2667 @update release name to 6.8
2668 @
2669 text
2670 @d2 5
2671 a6 1
2672 .\" @@(#)$Id: MH.rf,v 1.25 1992/10/28 17:02:04 jromine Exp jromine $
2673 d38 4
2674 d958 4
2675 d1121 4
2676 d1127 4
2677 d1161 4
2678 d1167 4
2679 d1940 4
2680 d2074 4
2681 d2363 4
2682 @
2683
2684
2685 1.25
2686 log
2687 @typo
2688 @
2689 text
2690 @d2 1
2691 a2 1
2692 .\" @@(#)$Id: MH.rf,v 1.24 1992/10/28 17:00:15 jromine Exp jromine $
2693 d2098 1
2694 a2098 1
2695 ics.uci.edu [128.195.1.1] and retrieve the file pub/mh/mh-6.7.tar.Z.
2696 d2100 1
2697 a2100 1
2698 (approximately 1.5MB).  There should also be a \fBREADME\fR file in
2699 d2105 1
2700 a2105 1
2701 [128.175.1.3] in portal/mh-6.7.tar.Z.  You may also find MH on
2702 @
2703
2704
2705 1.24
2706 log
2707 @move mhparam to (1)
2708 @
2709 text
2710 @d2 1
2711 a2 1
2712 .\" @@(#)$Id: MH.rf,v 1.23 1992/10/27 20:09:23 jromine Exp jromine $
2713 d1101 1
2714 a1102 1
2715 .so slocal.me
2716 @
2717
2718
2719 1.23
2720 log
2721 @MPOP
2722 slocal.me
2723 @
2724 text
2725 @d2 1
2726 a2 1
2727 .\" @@(#)$Id: MH.rf,v 1.22 1992/02/06 19:25:07 jromine Exp jromine $
2728 d1081 1
2729 a1139 1
2730 .so mhparam.me
2731 @
2732
2733
2734 1.22
2735 log
2736 @make .Uh use smaller font
2737 @
2738 text
2739 @d2 1
2740 a2 1
2741 .\" @@(#)$Id: MH.rf,v 1.21 1992/02/06 17:14:39 jromine Exp jromine $
2742 d1077 1
2743 d1079 1
2744 d1087 1
2745 a1087 1
2746 @@BEGIN: POP
2747 d1089 1
2748 a1089 1
2749 @@END: POP
2750 d1101 1
2751 @
2752
2753
2754 1.21
2755 log
2756 @add mhparam
2757 @
2758 text
2759 @d2 1
2760 a2 1
2761 .\" @@(#)$Id: MH.rf,v 1.20 1992/02/06 00:17:16 jromine Exp jromine $
2762 d980 1
2763 a980 1
2764 .b "\\$1"
2765 @
2766
2767
2768 1.20
2769 log
2770 @private -> nopublic
2771 @
2772 text
2773 @d2 1
2774 a2 1
2775 .\" @@(#)$Id: MH.rf,v 1.19 1992/02/04 21:12:43 jromine Exp jromine $
2776 d1134 1
2777 d1136 1
2778 a1136 1
2779 .so fmtdump.me
2780 @
2781
2782
2783 1.19
2784 log
2785 @contributed patch
2786 @
2787 text
2788 @d2 1
2789 a2 1
2790 .\" @@(#)$Id: MH.rf,v 1.18 1992/02/04 00:04:09 jromine Exp jromine $
2791 d1342 1
2792 a1342 1
2793 This can be overridden with the `\-public' and `\-private' switches.
2794 @
2795
2796
2797 1.18
2798 log
2799 @contributed patch
2800 @
2801 text
2802 @d2 1
2803 a2 1
2804 .\" @@(#)$Id: MH.rf,v 1.17 1992/01/31 16:40:45 jromine Exp jromine $
2805 d1085 3
2806 @
2807
2808
2809 1.17
2810 log
2811 @move fmtdump to admin manula
2812 @
2813 text
2814 @d2 1
2815 a2 1
2816 .\" @@(#)$Id: MH.rf,v 1.16 1992/01/31 16:40:07 jromine Exp jromine $
2817 d769 1
2818 @
2819
2820
2821 1.16
2822 log
2823 @Multimedia MH
2824 @
2825 text
2826 @d2 1
2827 a2 1
2828 .\" @@(#)$Id: MH.rf,v 1.15 1991/01/25 15:49:34 mh Exp jromine $
2829 a1069 1
2830 .so fmtdump.me
2831 @
2832
2833
2834 1.15
2835 log
2836 @add fmtdump
2837 @
2838 text
2839 @d2 1
2840 a2 1
2841 .\" @@(#)$Id: MH.rf,v 1.14 91/01/07 16:13:54 mh Exp Locker: mh $
2842 d1070 1
2843 d1077 1
2844 @
2845
2846
2847 1.14
2848 log
2849 @add Uh macro
2850 @
2851 text
2852 @d2 1
2853 a2 1
2854 .\" @@(#)$Id: MH.rf,v 1.13 90/12/27 15:06:28 mh Exp $
2855 d1130 1
2856 @
2857
2858
2859 1.13
2860 log
2861 @jlr
2862 @
2863 text
2864 @d2 1
2865 a2 1
2866 .\" @@(#)$Id: MH.rf,v 1.12 90/12/26 16:54:56 mh Exp Locker: mh $
2867 d974 8
2868 @
2869
2870
2871 1.12
2872 log
2873 @document user-defined sequence ranges
2874 jlr
2875 @
2876 text
2877 @d2 1
2878 a2 1
2879 .\" @@(#)$Id: MH.rf,v 1.11 90/04/10 21:20:18 sources Exp Locker: mh $
2880 d1117 1
2881 d1924 1
2882 a1924 1
2883 .ta \w'signed-number 'u +\w':=  'u +\w'user-defined-sequence  'u
2884 d1943 1
2885 a1943 1
2886 msg-range       :=      msg\*(lq-\*(rqmsg       |
2887 d1949 1
2888 a1949 1
2889                 \*(lq-\*(rq<number>     |
2890 d1951 3
2891 @
2892
2893
2894 1.11
2895 log
2896 @credit beta-test people
2897 @
2898 text
2899 @d2 1
2900 a2 1
2901 .\" @@(#)$Id: MH.rf,v 1.10 90/04/09 20:20:29 sources Exp Locker: sources $
2902 d1194 10
2903 d1234 1
2904 a1234 1
2905 the sequence is destroyed prior to being re\-defined
2906 @
2907
2908
2909 1.10
2910 log
2911 @fix "HOW TO GET..." section
2912 @
2913 text
2914 @d2 1
2915 a2 1
2916 .\" @@(#)$Id: MH.rf,v 1.9 90/04/08 19:40:46 sources Exp Locker: sources $
2917 d2203 3
2918 @
2919
2920
2921 1.9
2922 log
2923 @tyop
2924 @
2925 text
2926 @d2 1
2927 a2 1
2928 .\" @@(#)$Id: MH.rf,v 1.8 90/04/08 19:35:49 sources Exp Locker: sources $
2929 d2058 2
2930 a2059 1
2931 .uh "HOW TO GET MH"
2932 @
2933
2934
2935 1.8
2936 log
2937 @how to get MH
2938 @
2939 text
2940 @d2 1
2941 a2 1
2942 .\" @@(#)$Id: MH.rf,v 1.7 90/04/05 15:10:54 sources Exp Locker: sources $
2943 d2059 1
2944 @
2945
2946
2947 1.7
2948 log
2949 @add ID
2950 @
2951 text
2952 @d2 1
2953 a2 1
2954 .\" @@(#)$Id:$
2955 d2052 53
2956 a2104 5
2957 there are two Internet discussion groups,
2958 \fBMH\-Users@@ICS.UCI.EDU\fR and \fBMH\-Workers@@ICS.UCI.EDU\fR.
2959 If there is sufficient interest,
2960 corresponding Usenet news groups may be established along with the
2961 appropriate gateways.
2962 @
2963
2964
2965 1.6
2966 log
2967 @RAND fixes
2968 @
2969 text
2970 @d2 1
2971 @
2972
2973
2974 1.5
2975 log
2976 @put things back, do .NA stuff another way
2977 @
2978 text
2979 @d36 1
2980 a36 1
2981 .nr fm 5v       \" Rand likes bigger than normal [3v] bottom margins
2982 d47 1
2983 a47 1
2984 The Rand \fIMH\fR
2985 d1692 1
2986 a1692 1
2987 In \fImh.1\fR (the original Rand \fIMH\fR\0)
2988 d1985 1
2989 a1985 1
2990 Message System\fR, The Rand Corporation, R-2134-ARPA, December 1977.
2991 d2011 1
2992 a2011 1
2993 Although the \fIMH\fR system was originally developed by the Rand Corporation,
2994 d2013 1
2995 a2013 1
2996 the Rand Corporation assumes no responsibility for \fIMH\fR
2997 d2037 1
2998 a2037 1
2999 the authors ask only that you provide appropriate credit to the Rand
3000 d2040 1
3001 a2040 1
3002 \fIMH\fR is a software package that is supported neither by the Rand
3003 d2058 1
3004 a2058 1
3005 This document describes the Rand \fIMH\fR Message Handling System.
3006 d2095 1
3007 a2095 1
3008 \fIThe Rand MH Message Handling System: Tutorial\fR,
3009 d2097 1
3010 a2097 1
3011 \fIThe Rand MH Message Handling System: The UCI BBoards Facility\fR,
3012 d2117 1
3013 a2117 1
3014 \fIChanges to the Rand MH Message Handling System: MH.6\fR,
3015 d2135 1
3016 a2135 1
3017 \fIThe Rand MH Message Handling System: Administrator's Guide\fR,
3018 d2139 1
3019 a2139 1
3020 The \fIMH\fR system described herein is based on the original Rand \fIMH\fR
3021 d2153 1
3022 a2153 1
3023 This manual is based on the original \fIMH\fR manual written at Rand by
3024 d2196 1
3025 a2196 1
3026 MS, designed at Rand by David Crocker.
3027 d2198 1
3028 a2198 1
3029 This report was originally prepared as part of the Rand project entitled
3030 @
3031
3032
3033 1.4
3034 log
3035 @changes for "bbhome: none"
3036 @
3037 text
3038 @a945 6
3039 .de TH                          \" backward -man compatibility
3040 .SC \\$1 \\$2 
3041 ..
3042 .de SH                          \" backward -man compatibility
3043 \\$1
3044 ..
3045 @
3046
3047
3048 1.3
3049 log
3050 @fixup for config.sed
3051 @
3052 text
3053 @d356 1
3054 d358 1
3055 d1052 1
3056 d1055 1
3057 @
3058
3059
3060 1.2
3061 log
3062 @add .TH and .SH macros for makewhatis (getNAME.c)
3063 @
3064 text
3065 @d943 1
3066 a943 1
3067 .fo '[mh.6]'MH'UCI version'
3068 d1112 1
3069 a1112 1
3070 .fo '[mh.6]'MH'UCI version'
3071 @
3072
3073
3074 1.1
3075 log
3076 @Initial revision
3077 @
3078 text
3079 @d944 6
3080 @