]> diplodocus.org Git - nmh/blob - docs/historical/MH.txt
add $(kibi) function, as complement to %(kilo)
[nmh] / docs / historical / MH.txt
1
2
3
4
5
6
7
8
9 _\bd_\bi_\bs_\bc_\ba_\br_\bd _\bt_\bh_\bi_\bs _\bp_\ba_\bg_\be
10
11
12
13
14 The RAND _\bM_\bH
15 Message Handling System:
16 User's Manual
17
18 UCI Version
19
20
21 November 30, 1993
22 6.8.3 #1[UCI]
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 _\b1. _\bI_\bN_\bT_\bR_\bO_\bD_\bU_\bC_\bT_\bI_\bO_\bN
75
76
77
78
79
80 Although people can travel cross-country in hours and can reach
81 others by telephone in seconds, communications still depend heavily upon
82 paper, most of which is distributed through the mails.
83
84 There are several major reasons for this continued dependence on
85 written documents. First, a written document may be proofread and
86 corrected prior to its distribution, giving the author complete control
87 over his words. Thus, a written document is better than a telephone
88 conversation in this respect. Second, a carefully written document is
89 far less likely to be misinterpreted or poorly translated than a phone
90 conversation. Third, a signature offers reasonable verification of
91 authorship, which cannot be provided with media such as telegrams.
92
93 However, the need for fast\b\b\b\b____, accurate, and reproducible document
94 distribution is obvious. One solution in widespread use is the telefax.
95 Another that is rapidly gaining popularity is electronic mail. Elec-
96 tronic mail is similar to telefax in that the data to be sent are digi-
97 tized, transmitted via phone lines, and turned back into a document at
98 the receiver. The advantage of electronic mail is in its compression
99 factor. Whereas a telefax must scan a page in very fine lines and send
100 all of the black and white information, electronic mail assigns charac-
101 ters fixed codes which can be transmitted as a few bits of information.
102 Telefax presently has the advantage of being able to transmit an arbi-
103 trary page, including pictures, but electronic mail is beginning to deal
104 with this problem. Electronic mail also integrates well with current
105 directions in office automation, allowing documents prepared with
106 sophisticated equipment at one site to be quickly transferred and
107 printed at another site.
108
109 Currently, most electronic mail is intraorganizational, with mail
110 transfer remaining within one computer. As computer networking becomes
111 more common, however, it is becoming more feasible to communicate with
112 anyone whose computer can be linked to your own via a network.
113
114 The pioneering efforts on general-purpose electronic mail were by
115 organizations using the DoD ARPAnet[1]. The capability to send messages
116 between computers existed before the ARPAnet was developed, but it was
117 used only in limited ways. With the advent of the ARPAnet, tools began
118 to be developed which made it convenient for individuals or organiza-
119 tions to distribute messages over broad geographic areas, using diverse
120 computer facilities. The interest and activity in message systems has
121 now reached such proportions that steps have been taken within the DoD
122 to coordinate and unify the development of military message systems.
123 The use of electronic mail is expected to increase dramatically in the
124 next few years. The utility of such systems in the command and control
125 and intelligence environments is clear, and applications in these areas
126
127
128
129
130
131
132
133
134
135
136
137 -2-
138
139
140 will probably lead the way. As the costs for sending and handling elec-
141 tronic messages continue their rapid decrease, such uses can be expected
142 to spread rapidly into other areas and, of course, will not be limited
143 to the DoD.
144
145 A message system provides tools that help users (individuals or
146 organizations) deal with messages in various ways. Messages must be
147 composed, sent, received, stored, retrieved, forwarded, and replied to.
148 Today's best interactive computer systems provide a variety of word-
149 processing and information handling capabilities. The message handling
150 facilities should be well integrated with the rest of the system, so as
151 to be a graceful extension of overall system capability.
152
153 The message system described in this report, _\bM_\bH, provides most of
154 the features that can be found in other message systems and also incor-
155 porates some new ones. It has been built on the UNIX time-sharing sys-
156 tem[2], a popular operating system for the DEC PDP-11[1] and VAX-11
157 classes of computers. A "secure" operating system similar to UNIX is
158 currently being developed[3], and that system will also run _\bM_\bH.
159
160 This report provides a complete description of _\bM_\bH and thus may
161 serve as a user's manual, although parts of the report will be of
162 interest to non-users as well. Sections 2 and 3, the Overview and
163 Tutorial, present the key ideas of _\bM_\bH and will give those not familiar
164 with message systems an idea of what such systems are like.
165
166 _\bM_\bH consists of a set of commands which use some special files and
167 conventions. The final section is divided into three parts. The first
168 part covers the information a user needs to know in addition to the com-
169 mands. Then, each of the _\bM_\bH commands is described in detail. Finally,
170 other obscure details are revealed. A summary of the commands is given
171 in Appendix A, and the syntax of message sequences is given in Appendix
172 B.
173
174 A novel approach has been taken in the design of _\bM_\bH. Instead of
175 creating a large subsystem that appears as a single command to the user
176 (such as MS[4]), _\bM_\bH is a collection of separate commands which are run
177 as separate programs. The file and directory system of UNIX are used
178 directly. Messages are stored as individual files (datasets), and col-
179 lections of them are grouped into directories. In contrast, most other
180 message systems store messages in a complicated data structure within a
181 monolithic file. With the _\bM_\bH approach, UNIX commands can be interleaved
182 with commands invoking the functions of the message handler. Con-
183 versely, existing UNIX commands can be used in connection with messages.
184 For example, all the usual UNIX editing, text-formatting, and printing
185 facilities can be applied directly to individual messages. MH, there-
186 fore, consists of a relatively small amount of new code; it makes exten-
187 sive use of other UNIX software to provide the capabilities found in
188
189
190 [1] PDP and VAX are trademarks of Digital Equipment Corporation.
191
192
193
194
195
196
197
198
199
200
201
202
203 -3-
204
205
206 other message systems.
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272 _\b2. _\bO_\bV_\bE_\bR_\bV_\bI_\bE_\bW
273
274
275
276
277
278 There are three main aspects of _\bM_\bH : the way messages are
279 stored (the message database), the user's profile (which directs how
280 certain actions of the message handler take place), and the commands for
281 dealing with messages.
282
283 Under _\bM_\bH, each message is stored as a separate file. A user can
284 take any action with a message that he could with an ordinary file in
285 UNIX. A UNIX directory in which messages are stored is called a folder.
286 Each folder contains some standard entries to support the message-
287 handling functions. The messages in a folder have numerical names.
288 These folders (directories) are entries in a particular directory path,
289 described in the user profile, through which _\bM_\bH can find message fold-
290 ers. Using the UNIX "link" facility, it is possible for one copy of a
291 message to be "filed" in more than one folder, providing a message index
292 facility. Also, using the UNIX tree-structured file system, it is pos-
293 sible to have a folder within a folder, nested arbitrarily deep, and
294 have the full power of the _\bM_\bH commands available.
295
296 Each user of _\bM_\bH has a user profile, a file in his $HOME (initial
297 login) directory called ._\bm_\bh__\bp_\br_\bo_\bf_\bi_\bl_\be. This profile contains several
298 pieces of information used by the _\bM_\bH commands: a path name to the direc-
299 tory that contains the message folders and parameters that tailor _\bM_\bH
300 commands to the individual user's requirements. There is also another
301 file, called the user context, which contains information concerning
302 which folder the user last referenced (the "current" folder). It also
303 contains most of the necessary state information concerning how the user
304 is dealing with his messages, enabling _\bM_\bH to be implemented as a set of
305 individual UNIX commands, in contrast to the usual approach of a monol-
306 ithic subsystem.
307
308 In _\bM_\bH, incoming mail is appended to the end of a file in a system
309 spooling area for the user. This area is called the mail drop direc-
310 tory, and the file is called the user's mail drop. Normally when the
311 user logins in, s/he is informed of new mail (or the _\bM_\bH program _\bm_\bs_\bg_\bc_\bh_\bk
312 may be run). The user adds the new messages to his/her collection of _\bM_\bH
313 messages by invoking the command _\bi_\bn_\bc. The _\bi_\bn_\bc (incorporate) command
314 adds the new messages to a folder called "inbox", assigning them names
315 which are consecutive integers starting with the next highest integer
316 available in inbox. _\bi_\bn_\bc also produces a _\bs_\bc_\ba_\bn summary of the messages
317 thus incorporated. A folder can be compacted into a single file, for
318 easy storage, by using the _\bp_\ba_\bc_\bk_\bf command. Also, messages within a
319 folder can be sorted by date and time with the _\bs_\bo_\br_\bt_\bm command.
320
321
322 There are four commands for examining the messages in a folder:
323 _\bs_\bh_\bo_\bw, _\bp_\br_\be_\bv, _\bn_\be_\bx_\bt, and _\bs_\bc_\ba_\bn. The _\bs_\bh_\bo_\bw command displays a message in a
324
325 -4-
326
327
328
329
330
331
332
333
334
335 -5-
336
337
338 folder, _\bp_\br_\be_\bv displays the message preceding the current message, and
339 _\bn_\be_\bx_\bt displays the message following the current message. _\bM_\bH lets the
340 user choose the program that displays individual messages. A special
341 program, _\bm_\bh_\bl, can be used to display messages according to the user's
342 preferences. The _\bs_\bc_\ba_\bn command summarizes the messages in a folder, nor-
343 mally producing one line per message, showing who the message is from,
344 the date, the subject, etc.
345
346 The user may move a message from one folder to another with the
347 command _\br_\be_\bf_\bi_\bl_\be. Messages may be removed from a folder by means of the
348 command _\br_\bm_\bm. In addition, a user may query what the current folder is
349 and may specify that a new folder become the current folder, through the
350 command _\bf_\bo_\bl_\bd_\be_\br. All folders may be summarized with the _\bf_\bo_\bl_\bd_\be_\br_\bs command.
351 A message folder (or subfolder) may be removed by means of the command
352 _\br_\bm_\bf.
353
354 A set of messages based on content may be selected by use of the
355 command _\bp_\bi_\bc_\bk. This command searches through messages in a folder and
356 selects those that match a given set of criteria. These messages are
357 then bound to a "sequence" name for use with other _\bM_\bH commands. The
358 _\bm_\ba_\br_\bk command manipulates these sequences.
359
360 There are five commands enabling the user to create new messages
361 and send them: _\bc_\bo_\bm_\bp, _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, _\br_\be_\bp_\bl, and _\bs_\be_\bn_\bd. The _\bc_\bo_\bm_\bp command pro-
362 vides the facility for the user to compose a new message; _\bd_\bi_\bs_\bt redistri-
363 butes mail to additional addressees; _\bf_\bo_\br_\bw enables the user to forward
364 messages; and _\br_\be_\bp_\bl facilitates the generation of a reply to an incoming
365 message. The last three commands may optionally annotate the original
366 message. Messages may be arbitrarily annotated with the _\ba_\bn_\bn_\bo command.
367 Once a draft has been constructed by one of the four above composition
368 programs, a user-specifiable program is run to query the user as to the
369 disposition of the draft prior to sending. _\bM_\bH provides the simple _\bw_\bh_\ba_\bt_\b-
370 _\bn_\bo_\bw program to start users off. If a message is not sent directly by
371 one of these commands, it may be sent at a later time using the command
372 _\bs_\be_\bn_\bd. _\bM_\bH allows the use of any UNIX editor when composing a message.
373 For rapid entry, a special editor, _\bp_\br_\bo_\bm_\bp_\bt_\be_\br, is provided. For programs,
374 a special mail-sending program, _\bm_\bh_\bm_\ba_\bi_\bl, is provided.
375
376 _\bM_\bH supports a personal aliasing facility which gives users the
377 capability to considerably shorten address typein and use meaningful
378 names for addresses. The _\ba_\bl_\bi program can be used to query _\bM_\bH as to the
379 expansion of a list of aliases. After composing a message, but prior to
380 sending, the _\bw_\bh_\bo_\bm command can be used to determine exactly who a message
381 would go to.
382
383 _\bM_\bH provides a natural interface for telling the user's shell the
384 names of _\bM_\bH messages and folders. The _\bm_\bh_\bp_\ba_\bt_\bh program achieves this
385 capability.
386
387 Finally, _\bM_\bH supports the UCI BBoards facility. _\bb_\bb_\bc can be used to
388 query the status of a group of BBoards, while _\bm_\bs_\bh can be used to read
389 them. The _\bb_\bu_\br_\bs_\bt command can be used to "shred" digests of messages into
390
391
392
393
394
395
396
397
398
399
400
401 -6-
402
403
404 individual messages.
405
406 All of the elements summarized above are described in more detail
407 in the following sections. Many of the normal facilities of UNIX pro-
408 vide additional capabilities for dealing with messages in various ways.
409 For example, it is possible to print messages on the line-printer
410 without requiring any additional code within _\bM_\bH . Using standard UNIX
411 facilities, any terminal output can be redirected to a file for repeated
412 or future viewing. In general, the flexibility and capabilities of the
413 UNIX interface with the user are preserved as a result of the integra-
414 tion of _\bM_\bH into the UNIX structure.
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470 _\b3. _\bT_\bU_\bT_\bO_\bR_\bI_\bA_\bL
471
472
473
474
475
476 This tutorial provides a brief introduction to the _\bM_\bH commands. It
477 should be sufficient to allow the user to read his mail, do some simple
478 manipulations of it, and create and send messages.
479
480 A message has two major pieces: the header and the body. The body
481 consists of the text of the message (whatever you care to type in). It
482 follows the header and is separated from it by an empty line. (When you
483 compose a message, the form that appears on your terminal shows a line
484 of dashes after the header. This is for convenience and is replaced by
485 an empty line when the message is sent.) The header is composed of
486 several components, including the subject of the message and the person
487 to whom it is addressed. Each component starts with a name and a colon;
488 components must not start with a blank. The text of the component may
489 take more than one line, but each continuation line must start with a
490 blank. Messages typically have "To:", "cc:", and "Subject:" components.
491 When composing a message, you should include the "To:" and "Subject:"
492 components; the "cc:" (for people you want to send copies to) is not
493 necessary.
494
495 The basic _\bM_\bH commands are _\bi_\bn_\bc, _\bs_\bc_\ba_\bn, _\bs_\bh_\bo_\bw, _\bn_\be_\bx_\bt, _\bp_\br_\be_\bv, _\br_\bm_\bm, _\bc_\bo_\bm_\bp,
496 and _\br_\be_\bp_\bl. These are described below.
497
498 _\bi_\bn_\bc
499
500 When you get the message "You have mail", type the command _\bi_\bn_\bc.
501 You will get a "scan listing" such as:
502
503 7+ 7/13 Cas revival of measurement work
504 8 10/ 9 Norm NBS people and publications
505 9 11/26 To:norm question <<Are there any functions
506
507 This shows the messages you received since the last time you exe-
508 cuted this command (_\bi_\bn_\bc adds these new messages to your inbox folder).
509 You can see this list again, plus a list of any other messages you have,
510 by using the _\bs_\bc_\ba_\bn command.
511
512 _\bs_\bc_\ba_\bn
513
514 The scan listing shows the message number, followed by the date and
515 the sender. (If you are the sender, the addressee in the "To:" com-
516 ponent is displayed. You may send yourself a message by including your
517 name among the "To:" or "cc:" addressees.) It also shows the message's
518 subject; if the subject is short, the first part of the body of the mes-
519 sage is included after the characters <<.
520
521
522
523 -7-
524
525
526
527
528
529
530
531
532
533 -8-
534
535
536 _\bs_\bh_\bo_\bw
537
538 This command shows the current message, that is, the first one of
539 the new messages after an _\bi_\bn_\bc. If the message is not specified by name
540 (number), it is generally the last message referred to by an _\bM_\bH command.
541 For example,
542
543
544 _\bs_\bh_\bo_\bw 5 will show message 5.
545
546
547 You can use the show command to copy a message or print a message.
548
549
550 _\bs_\bh_\bo_\bw > _\bx will copy the message to file x.
551 _\bs_\bh_\bo_\bw | _\bl_\bp_\br will print the message, using the _\bl_\bp_\br command.
552 _\bn_\be_\bx_\bt will show the message that follows the current message.
553 _\bp_\br_\be_\bv will show the message previous to the current message.
554 _\br_\bm_\bm will remove the current message.
555 _\br_\bm_\bm _\b3 will remove message 3.
556
557
558 _\bc_\bo_\bm_\bp
559
560 The _\bc_\bo_\bm_\bp command puts you in the editor to write or edit a message.
561 Fill in or delete the "To:", "cc:", and "Subject:" fields, as appropri-
562 ate, and type the body of the message. Then exit normally from the edi-
563 tor. You will be asked "What now?". Type a carriage return to see the
564 options. Typing send will cause the message to be sent; typing quit
565 will cause an exit from _\bc_\bo_\bm_\bp, with the message draft saved.
566
567 If you quit without sending the message, it will be saved in a file
568 called <name>/Mail/draft (where <name> is your $HOME directory). You
569 can resume editing the message later with "comp -use"; or you can send
570 the message later, using the _\bs_\be_\bn_\bd command.
571
572 _\bc_\bo_\bm_\bp -_\be_\bd_\bi_\bt_\bo_\br _\bp_\br_\bo_\bm_\bp_\bt_\be_\br
573
574 This command uses a different editor and is useful for preparing
575 "quick and dirty" messages. It prompts you for each component of the
576 header. Type the information for that component, or type a carriage
577 return to omit the component. After that, type the body of the message.
578 Backspacing is the only form of editing allowed with this editor. When
579 the body is complete, type a carriage return followed by <EOT> (usually
580 <CTRL-D>). This completes the initial preparation of the message; from
581 then on, use the same procedures as with _\bc_\bo_\bm_\bp (above).
582
583 _\br_\be_\bp_\bl
584 _\br_\be_\bp_\bl n
585
586 This command makes up an initial message form with a header that is
587 appropriate for replying to an existing message. The message being
588
589
590
591
592
593
594
595
596
597
598
599 -9-
600
601
602 answered is the current message if no message number is mentioned, or n
603 if a number is specified. After the header is completed, you can finish
604 the message as in _\bc_\bo_\bm_\bp (above).
605
606 This is enough information to get you going using _\bM_\bH. There are
607 more commands, and the commands described here have more features. Sub-
608 sequent sections explain _\bM_\bH in complete detail. The system is quite
609 powerful if you want to use its sophisticated features, but the forego-
610 ing commands suffice for sending and receiving messages.
611
612 There are numerous additional capabilities you may wish to explore.
613 For example, the _\bp_\bi_\bc_\bk command will select a subset of messages based on
614 specified criteria such as sender and/or subject. Groups of messages
615 may be designated, as described in Sec. IV, under Message Naming. The
616 file ._\bm_\bh__\bp_\br_\bo_\bf_\bi_\bl_\be can be used to tailor your use of the message system to
617 your needs and preferences, as described in Sec. IV, under The User Pro-
618 file. In general, you may learn additional features of the system
619 selectively, according to your requirements, by studying the relevant
620 sections of this manual. There is no need to learn all the details of
621 the system at once.
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668 _\b4. _\bD_\bE_\bT_\bA_\bI_\bL_\bE_\bD _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
669
670
671
672
673
674 This section describes the _\bM_\bH system in detail, including the com-
675 ponents of the user profile, the conventions for message naming, and
676 some of the other _\bM_\bH conventions. Readers who are generally familiar
677 with computer systems will be able to follow the principal ideas,
678 although some details may be meaningful only to those familiar with
679 UNIX.
680
681
682 _\bT_\bH_\bE _\bU_\bS_\bE_\bR _\bP_\bR_\bO_\bF_\bI_\bL_\bE
683
684 The first time an _\bM_\bH command is issued by a new user, the system
685 prompts for a "Path" and creates an _\bM_\bH "profile".
686
687 Each _\bM_\bH user has a profile which contains tailoring information for
688 each individual program. Other profile entries control the _\bM_\bH path
689 (where folders and special files are kept), folder and message protec-
690 tions, editor selection, and default arguments for each _\bM_\bH program.
691 Each user of _\bM_\bH also has a context file which contains current state
692 information for the _\bM_\bH package (the location of the context file is kept
693 in the user's _\bM_\bH directory, or may be named in the user profile). When
694 a folder becomes the current folder, it is recorded in the user's con-
695 text. (Other state information is kept in the context file, see the
696 manual entry for _\bm_\bh-_\bp_\br_\bo_\bf_\bi_\bl_\be (5) for more details.) In general, the term
697 "profile entry" refer to entries in either the profile or context file.
698 Users of _\bM_\bH needn't worry about the distinction, _\bM_\bH handles these things
699 automatically.
700
701 The _\bM_\bH profile is stored in the file ._\bm_\bh__\bp_\br_\bo_\bf_\bi_\bl_\be in the user's
702 $HOME directory[1]. It has the format of a message without any body.
703 That is, each profile entry is on one line, with a keyword followed by a
704 colon (:) followed by text particular to the keyword.
705 => _\bT_\bh_\bi_\bs _\bf_\bi_\bl_\be _\bm_\bu_\bs_\bt _\bn_\bo_\bt _\bh_\ba_\bv_\be _\bb_\bl_\ba_\bn_\bk _\bl_\bi_\bn_\be_\bs.
706 The keywords may have any combination of upper and lower case. (See the
707 information of _\bm_\bh-_\bm_\ba_\bi_\bl later on in this manual for a description of mes-
708 sage formats.)
709
710 For the average _\bM_\bH user, the only profile entry of importance is
711 "Path". Path specifies a directory in which _\bM_\bH folders and certain
712 files such as "draft" are found. The argument to this keyword must be a
713 legal UNIX path that names an existing directory. If this path is not
714 absolute (i.e., does not begin with a / ), it will be presumed to start
715
716
717 [1] By defining the envariable $MH, you can specify an alternate pro-
718 file to be used by _\bM_\bH commands.
719
720
721 -10-
722
723
724
725
726
727
728
729
730
731 -11-
732
733
734 from the user's $HOME directory. All folder and message references
735 within _\bM_\bH will relate to this path unless full path names are used.
736
737 Message protection defaults to 644, and folder protection to 711.
738 These may be changed by profile entries "Msg-Protect" and "Folder-
739 Protect", respectively. The argument to these keywords is an octal
740 number which is used as the UNIX file mode[2].
741
742 When an _\bM_\bH program starts running, it looks through the user's pro-
743 file for an entry with a keyword matching the program's name. For exam-
744 ple, when _\bc_\bo_\bm_\bp is run, it looks for a "comp" profile entry. If one is
745 found, the text of the profile entry is used as the default switch set-
746 ting until all defaults are overridden by explicit switches passed to
747 the program as arguments. Thus the profile entry
748 "comp: -form standard.list" would direct _\bc_\bo_\bm_\bp to use the file
749 "standard.list" as the message skeleton. If an explicit form switch is
750 given to the _\bc_\bo_\bm_\bp command, it will override the switch obtained from the
751 profile.
752
753 In UNIX, a program may exist under several names, either by linking
754 or aliasing. The actual invocation name is used by an _\bM_\bH program when
755 scanning for its profile defaults[3]. Thus, each _\bM_\bH program may have
756 several names by which it can be invoked, and each name may have a dif-
757 ferent set of default switches. For example, if _\bc_\bo_\bm_\bp is invoked by the
758 name _\bi_\bc_\bo_\bm_\bp, the profile entry "icomp" will control the default switches
759 for this invocation of the _\bc_\bo_\bm_\bp program. This provides a powerful
760 definitional facility for commonly used switch settings.
761
762 The default editor for editing within _\bc_\bo_\bm_\bp, _\br_\be_\bp_\bl, _\bf_\bo_\br_\bw, and _\bd_\bi_\bs_\bt,
763 is usually _\bp_\br_\bo_\bm_\bp_\bt_\be_\br, but might be something else at your site, such as
764 /_\bu_\bs_\br/_\bu_\bc_\bb/_\be_\bx or /_\bb_\bi_\bn/_\be. A different editor may be used by specifying the
765 profile entry "Editor: ". The argument to "Editor" is the name of an
766 executable program or shell command file which can be found via the
767 user's $PATH defined search path, excluding the current directory. The
768 "Editor:" profile specification may in turn be overridden by a
769 `-editor <editor>' profile switch associated with _\bc_\bo_\bm_\bp, _\br_\be_\bp_\bl, _\bf_\bo_\br_\bw, or
770 _\bd_\bi_\bs_\bt. Finally, an explicit editor switch specified with any of these
771 four commands will have ultimate precedence.
772
773 During message composition, more than one editor may be used. For
774 example, one editor (such as _\bp_\br_\bo_\bm_\bp_\bt_\be_\br ) may be used initially, and a
775
776
777 [2] See _\bc_\bh_\bm_\bo_\bd (1) in the _\bU_\bN_\bI_\bX _\bP_\br_\bo_\bg_\br_\ba_\bm_\bm_\be_\br'_\bs _\bM_\ba_\bn_\bu_\ba_\bl [5].
778 [3] Unfortunately, the shell does not preserve aliasing information
779 when calling a program, hence if a program is invoked by an alias dif-
780 ferent than its name, the program will examine the profile entry for
781 it's name, not the alias that the user invoked it as. The correct solu-
782 tion is to create a (soft) link in your $_\bH_\bO_\bM_\bE/_\bb_\bi_\bn directory to the _\bM_\bH
783 program of your choice. By giving this link a different name, you can
784 use an alternate set of defaults for the command.
785
786
787
788
789
790
791
792
793
794
795
796
797 -12-
798
799
800 second editor may be invoked later to revise the message being composed
801 (see the discussion of _\bc_\bo_\bm_\bp in Section 5 for details). A profile entry
802 "<lasteditor>-next: <editor>" specifies the name of the editor to be
803 used after a particular editor. Thus "comp: -e prompter" causes the
804 initial text to be collected by _\bp_\br_\bo_\bm_\bp_\bt_\be_\br, and the profile entry
805 "prompter-next: ed" names ed as the editor to be invoked for the next
806 round of editing.
807
808 Some of the _\bM_\bH commands, such as _\bs_\bh_\bo_\bw, can be used on message fold-
809 ers owned by others, if those folders are readable. However, you cannot
810 write in someone else's folder. All the _\bM_\bH command actions not requir-
811 ing write permission may be used with a "read-only" folder.
812
813 Table 1 lists examples of some of the currently defined profile
814 entries, typical arguments, and the programs that reference the entries.
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863 -13-
864
865
866 Table 1
867
868 PROFILE COMPONENTS
869 ______________________________________________________
870
871 _\bM_\bH Programs that
872 Keyword and Argument use Component\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b______________________________________________________
873
874 Path: Mail All
875 Current-Folder: inbox Most
876 Editor: /usr/ucb/ex _\bc_\bo_\bm_\bp, _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, _\br_\be_\bp_\bl
877 Inbox: inbox _\bi_\bn_\bc, _\br_\bm_\bf
878 Msg-Protect: 644 _\bi_\bn_\bc
879 Folder-Protect: 711 _\bi_\bn_\bc, _\bp_\bi_\bc_\bk, _\br_\be_\bf_\bi_\bl_\be
880 <program>: default switches All
881 prompter-next: ed _\bc_\bo_\bm_\bp, _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, _\br_\be_\bp_\bl
882 ______________________________________________________
883
884
885 Path should\b\b\b\b\b\b______ be present. Current-Folder is maintained automatically
886 by many _\bM_\bH commands (see the Context sections of the individual commands
887 in Sec. IV). All other entries are optional, defaulting to the values
888 described above.
889
890
891 _\bM_\bE_\bS_\bS_\bA_\bG_\bE _\bN_\bA_\bM_\bI_\bN_\bG
892
893 Messages may be referred to explicitly or implicitly when using _\bM_\bH
894 commands. A formal syntax of message names is given in Appendix B, but
895 the following description should be sufficient for most _\bM_\bH users. Some
896 details of message naming that apply only to certain commands are
897 included in the description of those commands.
898
899 Most of the _\bM_\bH commands accept arguments specifying one or more
900 folders, and one or more messages to operate on. The use of the word
901 "msg" as an argument to a command means that exactly one message name
902 may be specified. A message name may be a number, such as 1, 33, or
903 234, or it may be one of the "reserved" message names: first, last,
904 prev, next, and cur. (As a shorthand, a period (.) is equivalent to
905 cur.) The meanings of these names are straightforward: "first" is the
906 first message in the folder; "last" is the last message in the folder;
907 "prev" is the message numerically previous to the current message;
908 "next" is the message numerically following the current message; "cur"
909 (or ".") is the current message in the folder. In addition, _\bM_\bH supports
910 user-defined-sequences; see the description of the _\bm_\ba_\br_\bk command for more
911 information.
912
913 The default in commands that take a "msg" argument is always "cur".
914
915 The word "msgs" indicates that several messages may be specified.
916 Such a specification consists of several message designations separated
917 by spaces. A message designation is either a message name or a message
918
919
920
921
922
923
924
925
926
927
928
929 -14-
930
931
932 range. A message range is a specification of the form name1-name2 or
933 name1:n, where name1 and name2 are message names and n is an integer.
934 The first form designates all the messages from name1 to name2
935 inclusive; this must be a non-empty range. The second form specifies up
936 to n messages, starting with name1 if name1 is a number, or first, cur,
937 or next, and ending with name1 if name1 is last or prev. This interpre-
938 tation of n is overridden if n is preceded by a plus sign or a minus
939 sign; +n always means up to n messages starting with name1, and -n
940 always means up to n messages ending with name1. Repeated specifica-
941 tions of the same message have the same effect as a single specification
942 of the message. Examples of specifications are:
943
944
945 1 5 7-11 22
946 first 6 8 next
947 first-10
948 last:5
949
950
951 The message name "all" is a shorthand for "first-last", indicating
952 all of the messages in the folder.
953
954 In commands that accept "msgs" arguments, the default is either cur
955 or all, depending on which makes more sense.
956
957 In all of the _\bM_\bH commands, a plus sign preceding an argument indi-
958 cates a folder name. Thus, "+inbox" is the name of the user's standard
959 inbox. If an explicit folder argument is given to an _\bM_\bH command, it
960 will become the current folder (that is, the "Current-Folder:" entry in
961 the user's profile will be changed to this folder). In the case of the
962 _\br_\be_\bf_\bi_\bl_\be command, which can have multiple output folders, a new source
963 folder (other than the default current folder) is specified by
964 `-src +folder'.
965
966
967 _\bO_\bT_\bH_\bE_\bR _\bM_\bH _\bC_\bO_\bN_\bV_\bE_\bN_\bT_\bI_\bO_\bN_\bS
968
969 One very powerful feature of _\bM_\bH is that the _\bM_\bH commands may be
970 issued from any current directory, and the proper path to the appropri-
971 ate folder(s) will be taken from the user's profile. If the _\bM_\bH path is
972 not appropriate for a specific folder or file, the automatic prepending
973 of the _\bM_\bH path can be avoided by beginning a folder or file name with /,
974 or with ./ or ../ component. Thus any specific absolute path may be
975 specified along with any path relative to the current working directory.
976
977 Arguments to the various programs may be given in any order, with
978 the exception of a few switches whose arguments must follow immediately,
979 such as `-src +folder' for _\br_\be_\bf_\bi_\bl_\be.
980
981 Whenever an _\bM_\bH command prompts the user, the valid options will be
982 listed in response to a <RETURN>. (The first of the listed options is
983 the default if end-of-file is encountered, such as from a command file.)
984
985
986
987
988
989
990
991
992
993
994
995 -15-
996
997
998 A valid response is any _\bu_\bn_\bi_\bq_\bu_\be abbreviation of one of the listed
999 options.
1000
1001 Standard UNIX documentation conventions are used in this report to
1002 describe _\bM_\bH command syntax. Arguments enclosed in brackets ([ ]) are
1003 optional; exactly one of the arguments enclosed within braces ({ }) must
1004 be specified, and all other arguments are required. The use of ellipsis
1005 dots (...) indicates zero or more repetitions of the previous item. For
1006 example, "+folder ..." would indicate that one or more "+folder" argu-
1007 ments is required and "[+folder ...]" indicates that 0 or more "+folder"
1008 arguments may be given.
1009
1010 _\bM_\bH departs from UNIX standards by using switches that consist of
1011 more than one character, e.g. `-header'. To minimize typing, only a
1012 unique abbreviation of a switch need be typed; thus, for `-header',
1013 `-hea' is probably sufficient, depending on the other switches the com-
1014 mand accepts. Each _\bM_\bH program accepts the switch `-help' (which must be
1015 spelled out fully) and produces a syntax description and a list of
1016 switches. In the list of switches, parentheses indicate required char-
1017 acters. For example, all `-help' switches will appear as "-(help)",
1018 indicating that no abbreviation is accepted. Furthermore, the `-help'
1019 switch tells the version of the _\bM_\bH program you invoked.
1020
1021 Many _\bM_\bH switches have both on and off forms, such as `-format' and
1022 `-noformat'. In many of the descriptions which follow, only one form is
1023 defined; the other form, often used to nullify profile switch settings,
1024 is assumed to be the opposite.
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061 -16-
1062
1063
1064 _\bM_\bH _\bC_\bO_\bM_\bM_\bA_\bN_\bD_\bS
1065
1066 The _\bM_\bH package comprises several programs:
1067
1068 ali (1) - list mail aliases
1069 anno (1) - annotate messages
1070 bbc (1) - check on BBoards
1071 bboards (1) - the UCI BBoards facility
1072 burst (1) - explode digests into messages
1073 comp (1) - compose a message
1074 dist (1) - redistribute a message to additional addresses
1075 folder (1) - set/list current folder/message
1076 folders (1) - list all folders
1077 forw (1) - forward messages
1078 inc (1) - incorporate new mail
1079 mark (1) - mark messages
1080 mhl (1) - produce formatted listings of MH messages
1081 mhmail (1) - send or read mail
1082 mhook (1) - MH receive-mail hooks
1083 mhparam (1) - print MH profile components
1084 mhpath (1) - print full pathnames of MH messages and folders
1085 msgchk (1) - check for messages
1086 msh (1) - MH shell (and BBoard reader)
1087 next (1) - show the next message
1088 packf (1) - compress a folder into a single file
1089 pick (1) - select messages by content
1090 prev (1) - show the previous message
1091 prompter (1) - prompting editor front end
1092 rcvstore (1) - incorporate new mail asynchronously
1093 refile (1) - file messages in other folders
1094 repl (1) - reply to a message
1095 rmf (1) - remove folder
1096 rmm (1) - remove messages
1097 scan (1) - produce a one line per message scan listing
1098 send (1) - send a message
1099 show (1) - show (list) messages
1100 slocal (1) - special local mail delivery
1101 sortm (1) - sort messages
1102 vmh (1) - visual front-end to MH
1103 whatnow (1) - prompting front-end for send
1104 whom (1) - report to whom a message would go
1105
1106
1107 These programs are described below. The form of the descriptions
1108 conforms to the standard form for the description of UNIX commands.
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127 ALI(1) -17- ALI(1)
1128
1129
1130 _\bN_\bA_\bM_\bE
1131 ali - list mail aliases
1132
1133 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1134 ali [-alias aliasfile] [-list] [-nolist] [-normalize]
1135 [-nonormalize] [-user] [-nouser] aliases ... [-help]
1136
1137 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1138
1139 _\bA_\bl_\bi searches the named mail alias files for each of the given
1140 _\ba_\bl_\bi_\ba_\bs_\be_\bs. It creates a list of addresses for those _\ba_\bl_\bi_\ba_\bs_\be_\bs, and
1141 writes that list on standard output. If the `-list' option is
1142 specified, each address appears on a separate line; otherwise, the
1143 addresses are separated by commas and printed on as few lines as
1144 possible.
1145
1146 The `-user' option directs _\ba_\bl_\bi to perform its processing in an
1147 inverted fashion: instead of listing the addresses that each given
1148 alias expands to, _\ba_\bl_\bi will list the aliases that expand to each
1149 given address. If the `-normalize' switch is given, _\ba_\bl_\bi will try
1150 to track down the official hostname of the address.
1151
1152 The files specified by the profile entry "Aliasfile:" and any addi-
1153 tional alias files given by the `-alias aliasfile' switch will be
1154 read. Each _\ba_\bl_\bi_\ba_\bs is processed as described in _\bm_\bh-_\ba_\bl_\bi_\ba_\bs (5).
1155
1156 _\bF_\bi_\bl_\be_\bs
1157 $HOME/.mh_profile The user profile
1158 /etc/passwd List of users
1159 /etc/group List of groups
1160
1161
1162 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
1163 Path: To determine the user's MH directory
1164 Aliasfile: For a default alias file
1165
1166
1167 _\bS_\be_\be _\bA_\bl_\bs_\bo
1168 mh-alias(5)
1169
1170
1171 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
1172 `-alias /usr/local/lib/mh/MailAliases'
1173 `-nolist'
1174 `-nonormalize'
1175 `-nouser'
1176
1177
1178 _\bC_\bo_\bn_\bt_\be_\bx_\bt
1179 None
1180
1181
1182
1183 [mh.6] MH.6.8 UCI version
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193 ALI(1) -18- ALI(1)
1194
1195
1196 _\bB_\bu_\bg_\bs
1197 The `-user' option with `-nonormalize' is not entirely accurate, as
1198 it does not replace local nicknames for hosts with their official
1199 site names.
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249 [mh.6] MH.6.8 UCI version
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259 ANNO(1) -19- ANNO(1)
1260
1261
1262 _\bN_\bA_\bM_\bE
1263 anno - annotate messages
1264
1265 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1266 anno [+folder] [msgs] [-component field] [-inplace] [-noinplace]
1267 [-date] [-nodate] [-text body] [-help]
1268
1269 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1270
1271 _\bA_\bn_\bn_\bo annotates the specified messages in the named folder using the
1272 field and body. Annotation is optionally performed by _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw,
1273 and _\br_\be_\bp_\bl, to keep track of your distribution of, forwarding of, and
1274 replies to a message. By using _\ba_\bn_\bn_\bo, you can perform arbitrary
1275 annotations of your own. Each message selected will be annotated
1276 with the lines
1277
1278 field: date
1279 field: body
1280
1281 The `-nodate' switch inhibits the date annotation, leaving only the
1282 body annotation. The `-inplace' switch causes annotation to be
1283 done in place in order to preserve links to the annotated message.
1284
1285 The field specified should be a valid 822-style message field name,
1286 which means that it should consist of alphanumerics (or dashes)
1287 only. The body specified is arbitrary text.
1288
1289 If a `-component field' is not specified when _\ba_\bn_\bn_\bo is invoked, _\ba_\bn_\bn_\bo
1290 will prompt the user for the name of field for the annotation.
1291
1292 _\bF_\bi_\bl_\be_\bs
1293 $HOME/.mh_profile The user profile
1294
1295
1296 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
1297 Path: To determine the user's MH directory
1298 Current-Folder: To find the default current folder
1299
1300
1301 _\bS_\be_\be _\bA_\bl_\bs_\bo
1302 dist (1), forw (1), repl (1)
1303
1304
1305 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
1306 `+folder' defaults to the current folder
1307 `msgs' defaults to cur
1308 `-noinplace'
1309 `-date'
1310
1311
1312
1313
1314
1315 [mh.6] MH.6.8 UCI version
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325 ANNO(1) -20- ANNO(1)
1326
1327
1328 _\bC_\bo_\bn_\bt_\be_\bx_\bt
1329 If a folder is given, it will become the current folder. The first
1330 message annotated will become the current message.
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381 [mh.6] MH.6.8 UCI version
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391 BBC(1) -21- BBC(1)
1392
1393
1394 _\bN_\bA_\bM_\bE
1395 bbc - check on BBoards
1396
1397 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1398 bbc [bboards ...] [-topics] [-check] [-read] [-quiet] [-verbose]
1399 [-archive] [-noarchive] [-protocol] [-noprotocol]
1400 [-mshproc program] [switches for _\bm_\bs_\bh_\bp_\br_\bo_\bc] [-rcfile rcfile]
1401 [-norcfile] [-file BBoardsfile] [-user BBoardsuser] [-help]
1402
1403 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1404
1405 _\bb_\bb_\bc is a BBoard reading/checking program that interfaces to the
1406 BBoard channel.
1407
1408 The _\bb_\bb_\bc program has three action switches which direct its opera-
1409 tion:
1410
1411 The `-read' switch invokes the _\bm_\bs_\bh program on the named _\bB_\bB_\bo_\ba_\br_\bd_\bs.
1412 If you also specify the `-archive' switch, then _\bb_\bb_\bc will invoke
1413 the _\bm_\bs_\bh program on the archives of the named _\bB_\bB_\bo_\ba_\br_\bd_\bs. If no
1414 _\bB_\bB_\bo_\ba_\br_\bd_\bs are given on the command line, and you specified
1415 `-archive', _\bb_\bb_\bc will not read your `bboards' profile entry, but
1416 will read the archives of the "system" _\bB_\bB_\bo_\ba_\br_\bd instead.
1417
1418 The `-check' switch types out status information for the named
1419 _\bB_\bB_\bo_\ba_\br_\bd_\bs. _\bb_\bb_\bc can print one of several messages depending on the
1420 status of both the BBoard and the user's reading habits. As with
1421 each of these messages, the number given is the item number of the
1422 last item placed in the BBoard. This number (which is marked in
1423 the messages as the "BBoard-Id") is ever increasing. Hence, when
1424 _\bb_\bb_\bc says "n items", it really means that the highest BBoard-Id is
1425 "n". There may, or may not actually be "n" items in the BBoard.
1426 Some common messages are:
1427
1428 BBoard -- n items unseen
1429 This message tells how many items the user has not yet
1430 seen. When invoked with the `-quiet' switch, this is the
1431 only informative line that _\bb_\bb_\bc will possibly print out.
1432
1433 BBoard -- empty
1434 The BBoard is empty.
1435
1436 BBoard -- n items (none seen)
1437 The BBoard has items in it, but the user hasn't seen any.
1438
1439 BBoard -- n items (all seen)
1440 The BBoard is non-empty, and the user has seen everything
1441 in it.
1442
1443 BBoard -- n items seen out of m
1444 The BBoard has at most m-n items that the user has not
1445 seen.
1446
1447 [mh.6] MH.6.8 UCI version
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457 BBC(1) -22- BBC(1)
1458
1459
1460 The `-topics' switch directs _\bb_\bb_\bc to print three items about the
1461 named _\bB_\bB_\bo_\ba_\br_\bd_\bs: it's official name, the number of items present, and
1462 the date and time of the last update. If no _\bB_\bB_\bo_\ba_\br_\bd_\bs are named,
1463 then all BBoards are listed. If the `-verbose' switch is given,
1464 more information is output.
1465
1466 The `-quiet' switch specifies that _\bb_\bb_\bc should be silent if no
1467 _\bB_\bB_\bo_\ba_\br_\bd_\bs are found with new information. The `-verbose' switch
1468 specifies that _\bb_\bb_\bc is to consider you to be interested in _\bB_\bB_\bo_\ba_\br_\bd_\bs
1469 that you've already seen everything in.
1470
1471 To override the default _\bm_\bs_\bh_\bp_\br_\bo_\bc and the profile entry, use the
1472 `-mshproc program' switch. Any arguments not understood by _\bb_\bb_\bc are
1473 passed to this program. The `-protocol' switch tells _\bb_\bb_\bc that your
1474 _\bm_\bs_\bh_\bp_\br_\bo_\bc knows about the special _\bb_\bb_\bc protocol for reporting back
1475 information. _\bm_\bs_\bh (1), the default _\bm_\bs_\bh_\bp_\br_\bo_\bc, knows all about this.
1476
1477 The `-file BBoardsfile' switch tells _\bb_\bb_\bc to use a non-standard
1478 _\bB_\bB_\bo_\ba_\br_\bd_\bs file when performing its calculations. Similarly, the
1479 `-user BBoardsuser' switch tells _\bb_\bb_\bc to use a non-standard user-
1480 name. Both of these switches are useful for debugging a new
1481 _\bB_\bB_\bo_\ba_\br_\bd_\bs or _\bP_\bO_\bP file.
1482
1483 The ._\bb_\bb_\br_\bc file in the user's $HOME directory is used to keep track
1484 of what messages have been read. The `-rcfile rcfile' switch over-
1485 rides the use of ._\bb_\bb_\br_\bc for this purpose. If the value given to the
1486 switch is not absolute, (i.e., does not begin with a / ), it will
1487 be presumed to start from the current working directory. If this
1488 switch is not given (or the `-norcfile' switch is given), then _\bb_\bb_\bc
1489 consults the envariable $MHBBRC, and honors it similarly.
1490
1491 _\bF_\bi_\bl_\be_\bs
1492 $HOME/.mh_profile The user profile
1493 $HOME/.bbrc BBoard "current" message information
1494
1495
1496 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
1497 Path: To determine the user's MH directory
1498 bboards: To specify interesting BBoards
1499 mshproc: Program to read a given BBoard
1500
1501
1502 _\bS_\be_\be _\bA_\bl_\bs_\bo
1503 bbl(1), bboards(1), msh(1)
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513 [mh.6] MH.6.8 UCI version
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523 BBC(1) -23- BBC(1)
1524
1525
1526 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
1527 `-read'
1528 `-noarchive'
1529 `-protocol'
1530 `bboards' defaults to "system"
1531 `-file /usr/spool/bboards/BBoards'
1532 `-user bboards'
1533
1534
1535 _\bC_\bo_\bn_\bt_\be_\bx_\bt
1536 None
1537
1538
1539 _\bB_\bu_\bg_\bs
1540 The `-user' switch takes effect only if followed by the `-file'
1541 switch.
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579 [mh.6] MH.6.8 UCI version
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589 BBOARDS(1) -24- BBOARDS(1)
1590
1591
1592 _\bN_\bA_\bM_\bE
1593 bboards - the UCI BBoards facility
1594
1595 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1596 bbc [-check] [-read] bboards ... [-help]
1597
1598 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1599
1600 The home directory of _\bb_\bb_\bo_\ba_\br_\bd_\bs is where the BBoard system is kept.
1601 This documentation describes some of the nuances of the BBoard sys-
1602 tem.
1603
1604 BBoards, BBoard-IDs
1605 A BBoard is just a file containing a group of messages relat-
1606 ing to the same topic. These files live in the ~bboards home
1607 directory. Each message in a BBoard file has in its header
1608 the line "BBoard-Id: n", where "n" is an ascending decimal
1609 number. This id-number is unique for each message in a
1610 BBoards file. It should NOT be confused with the message
1611 number of a message, which can change as messages are removed
1612 from the BBoard.
1613
1614 BBoard Handling
1615 To read BBoards, use the _\bb_\bb_\bc and _\bm_\bs_\bh programs. The _\bm_\bs_\bh com-
1616 mand is a monolithic program which contains all the func-
1617 tionality of _\bM_\bH in a single program. The `-check' switch to
1618 _\bb_\bb_\bc lets you check on the status of BBoards, and the `-read'
1619 switch tells _\bb_\bb_\bc to invoke _\bm_\bs_\bh to read those BBoards.
1620
1621 Creating a BBoard
1622 Both public, and private BBoards are supported. Contact the
1623 mail address _\bP_\bo_\bs_\bt_\bM_\ba_\bs_\bt_\be_\br if you'd like to have a BBoard
1624 created.
1625
1626 BBoard addresses
1627 Each BBoard has associated with it 4 addresses, these are (for
1628 the ficticious BBoard called ``hacks''):
1629 hacks : The Internet wide distribution list.
1630 dist-hacks : The local BBoard.
1631 hacks-request : The people responsible for the BBoard at the
1632 Internet level.
1633 local-hacks-request : The people responsible for the BBoard
1634 locally.
1635
1636 _\bF_\bi_\bl_\be_\bs
1637 $HOME/.mh_profile The user profile
1638 $HOME/.bbrc BBoard information
1639
1640
1641
1642
1643
1644
1645 [mh.6] MH.6.8 UCI version
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655 BBOARDS(1) -25- BBOARDS(1)
1656
1657
1658 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
1659 Path: To determine the user's MH directory
1660 bboards: To specify interesting BBoards
1661 mshproc: Program to read a given BBoard
1662
1663
1664 _\bS_\be_\be _\bA_\bl_\bs_\bo
1665 bbc(1), bbl(1), bbleader(1), msh(1)
1666
1667
1668 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
1669 The default bboard is "system"
1670
1671
1672 _\bC_\bo_\bn_\bt_\be_\bx_\bt
1673 None
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711 [mh.6] MH.6.8 UCI version
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721 BURST(1) -26- BURST(1)
1722
1723
1724 _\bN_\bA_\bM_\bE
1725 burst - explode digests into messages
1726
1727 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1728 burst [+folder] [msgs] [-inplace] [-noinplace] [-quiet] [-noquiet]
1729 [-verbose] [-noverbose] [-help]
1730
1731 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1732
1733 _\bB_\bu_\br_\bs_\bt considers the specified messages in the named folder to be
1734 Internet digests, and explodes them in that folder.
1735
1736 If `-inplace' is given, each digest is replaced by the "table of
1737 contents" for the digest (the original digest is removed). _\bB_\bu_\br_\bs_\bt
1738 then renumbers all of the messages following the digest in the
1739 folder to make room for each of the messages contained within the
1740 digest. These messages are placed immediately after the digest.
1741
1742 If `-noinplace' is given, each digest is preserved, no table of
1743 contents is produced, and the messages contained within the digest
1744 are placed at the end of the folder. Other messages are not tam-
1745 pered with in any way.
1746
1747 The `-quiet' switch directs _\bb_\bu_\br_\bs_\bt to be silent about reporting mes-
1748 sages that are not in digest format.
1749
1750 The `-verbose' switch directs _\bb_\bu_\br_\bs_\bt to tell the user the general
1751 actions that it is taking to explode the digest.
1752
1753 It turns out that _\bb_\bu_\br_\bs_\bt works equally well on forwarded messages
1754 and blind-carbon-copies as on Internet digests, provided that the
1755 former two were generated by _\bf_\bo_\br_\bw or _\bs_\be_\bn_\bd.
1756
1757 _\bF_\bi_\bl_\be_\bs
1758 $HOME/.mh_profile The user profile
1759
1760
1761 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
1762 Path: To determine the user's MH directory
1763 Current-Folder: To find the default current folder
1764 Msg-Protect: To set mode when creating a new message
1765
1766
1767 _\bS_\be_\be _\bA_\bl_\bs_\bo
1768 _\bP_\br_\bo_\bp_\bo_\bs_\be_\bd _\bS_\bt_\ba_\bn_\bd_\ba_\br_\bd _\bf_\bo_\br _\bM_\be_\bs_\bs_\ba_\bg_\be _\bE_\bn_\bc_\ba_\bp_\bs_\bu_\bl_\ba_\bt_\bi_\bo_\bn (aka RFC-934),
1769 inc(1), msh(1), pack(1)
1770
1771
1772
1773
1774
1775
1776
1777 [mh.6] MH.6.8 UCI version
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787 BURST(1) -27- BURST(1)
1788
1789
1790 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
1791 `+folder' defaults to the current folder
1792 `msgs' defaults to cur
1793 `-noinplace'
1794 `-noquiet'
1795 `-noverbose'
1796
1797
1798 _\bC_\bo_\bn_\bt_\be_\bx_\bt
1799 If a folder is given, it will become the current folder. If `-in-
1800 place' is given, then the first message burst becomes the current
1801 message. This leaves the context ready for a _\bs_\bh_\bo_\bw of the table of
1802 contents of the digest, and a _\bn_\be_\bx_\bt to see the first message of the
1803 digest. If `-noinplace' is given, then the first message extracted
1804 from the first digest burst becomes the current message. This
1805 leaves the context in a similar, but not identical, state to the
1806 context achieved when using `-inplace'.
1807
1808
1809 _\bB_\bu_\bg_\bs
1810 The _\bb_\bu_\br_\bs_\bt program enforces a limit on the number of messages which
1811 may be _\bb_\bu_\br_\bs_\bt from a single message. This number is on the order of
1812 1000 messages. There is usually no limit on the number of messages
1813 which may reside in the folder after the _\bb_\bu_\br_\bs_\bting.
1814
1815 Although _\bb_\bu_\br_\bs_\bt uses a sophisticated algorithm to determine where
1816 one encapsulated message ends and another begins, not all digesti-
1817 fying programs use an encapsulation algorithm. In degenerate
1818 cases, this usually results in _\bb_\bu_\br_\bs_\bt finding an encapsulation boun-
1819 dary prematurely and splitting a single encapsulated message into
1820 two or more messages. These erroneous digestifying programs should
1821 be fixed.
1822
1823 Furthermore, any text which appears after the last encapsulated
1824 message is not placed in a seperate message by _\bb_\bu_\br_\bs_\bt. In the case
1825 of digestified messages, this text is usally an "End of digest"
1826 string. As a result of this possibly un-friendly behavior on the
1827 part of _\bb_\bu_\br_\bs_\bt, note that when the `-inplace' option is used, this
1828 trailing information is lost. In practice, this is not a problem
1829 since correspondents usually place remarks in text prior to the
1830 first encapsulated message, and this information is not lost.
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843 [mh.6] MH.6.8 UCI version
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853 COMP(1) -28- COMP(1)
1854
1855
1856 _\bN_\bA_\bM_\bE
1857 comp - compose a message
1858
1859 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1860 comp [+folder] [msg] [-draftfolder +folder] [-draftmessage msg]
1861 [-nodraftfolder] [-editor editor] [-noedit] [-file file]
1862 [-form formfile] [-use] [-nouse] [-whatnowproc program]
1863 [-nowhatnowproc] [-help]
1864
1865 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1866
1867 _\bC_\bo_\bm_\bp is used to create a new message to be mailed. It copies a
1868 message form to the draft being composed and then invokes an editor
1869 on the draft (unless `-noedit' is given, in which case the initial
1870 edit is suppressed).
1871
1872 The default message form contains the following elements:
1873
1874 To:
1875 cc:
1876 Subject:
1877 --------
1878
1879 If the file named "components" exists in the user's MH directory,
1880 it will be used instead of this form. The file specified by
1881 `-form formfile' will be used if given. You may also start _\bc_\bo_\bm_\bp
1882 using the contents of an existing message as the form. If you sup-
1883 ply either a `+folder' or `msg' argument, that message will be used
1884 as the form. You may not supply both a `-form formfile' and a
1885 `+folder' or `msg' argument. The line of dashes or a blank line
1886 must be left between the header and the body of the message for the
1887 message to be identified properly when it is sent (see _\bs_\be_\bn_\bd (1)).
1888 The switch `-use' directs _\bc_\bo_\bm_\bp to continue editing an already
1889 started message. That is, if a _\bc_\bo_\bm_\bp (or _\bd_\bi_\bs_\bt, _\br_\be_\bp_\bl, or _\bf_\bo_\br_\bw ) is
1890 terminated without sending the draft, the draft can be edited again
1891 via "comp -use".
1892
1893 If the draft already exists, _\bc_\bo_\bm_\bp will ask you as to the disposi-
1894 tion of the draft. A reply of quit will abort _\bc_\bo_\bm_\bp, leaving the
1895 draft intact; replace will replace the existing draft with the
1896 appropriate form; list will display the draft; use will use the
1897 draft for further composition; and refile +folder will file the
1898 draft in the given folder, and give you a new draft with the
1899 appropriate form. (The `+folder' argument to refile is required.)
1900
1901 The `-draftfolder +folder' and `-draftmessage msg' switches invoke
1902 the _\bM_\bH draft folder facility. This is an advanced (and highly use-
1903 ful) feature. Consult the Advanced Features section of the _\bM_\bH
1904 manual for more information.
1905
1906 The `-file file' switch says to use the named file as the message
1907 draft.
1908
1909 [mh.6] MH.6.8 UCI version
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919 COMP(1) -29- COMP(1)
1920
1921
1922 The `-editor editor' switch indicates the editor to use for the
1923 initial edit. Upon exiting from the editor, _\bc_\bo_\bm_\bp will invoke the
1924 _\bw_\bh_\ba_\bt_\bn_\bo_\bw program. See _\bw_\bh_\ba_\bt_\bn_\bo_\bw (1) for a discussion of available
1925 options. The invocation of this program can be inhibited by using
1926 the `-nowhatnowproc' switch. (In truth of fact, it is the _\bw_\bh_\ba_\bt_\bn_\bo_\bw
1927 program which starts the initial edit. Hence, `-nowhatnowproc'
1928 will prevent any edit from occurring.)
1929
1930 _\bF_\bi_\bl_\be_\bs
1931 /usr/local/lib/mh/components The message skeleton
1932 or <mh-dir>/components Rather than the standard skeleton
1933 $HOME/.mh_profile The user profile
1934 <mh-dir>/draft The draft file
1935
1936
1937 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
1938 Path: To determine the user's MH directory
1939 Draft-Folder: To find the default draft-folder
1940 Editor: To override the default editor
1941 Msg-Protect: To set mode when creating a new message
1942 (draft)
1943 fileproc: Program to refile the message
1944 whatnowproc: Program to ask the "What now?" questions
1945
1946
1947 _\bS_\be_\be _\bA_\bl_\bs_\bo
1948 dist(1), forw(1), repl(1), send(1), whatnow(1), mh-profile(5)
1949
1950
1951 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
1952 `+folder' defaults to the current folder
1953 `msg' defaults to the current message
1954 `-nodraftfolder'
1955 `-nouse'
1956
1957
1958 _\bC_\bo_\bn_\bt_\be_\bx_\bt
1959 None
1960
1961
1962 _\bB_\bu_\bg_\bs
1963 If _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc is _\bw_\bh_\ba_\bt_\bn_\bo_\bw, then _\bc_\bo_\bm_\bp uses a built-in _\bw_\bh_\ba_\bt_\bn_\bo_\bw, it
1964 does not actually run the _\bw_\bh_\ba_\bt_\bn_\bo_\bw program. Hence, if you define
1965 your own _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc, don't call it _\bw_\bh_\ba_\bt_\bn_\bo_\bw since _\bc_\bo_\bm_\bp won't run
1966 it.
1967
1968
1969
1970
1971
1972
1973
1974
1975 [mh.6] MH.6.8 UCI version
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985 DIST(1) -30- DIST(1)
1986
1987
1988 _\bN_\bA_\bM_\bE
1989 dist - redistribute a message to additional addresses
1990
1991 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1992 dist [+folder] [msg] [-annotate] [-noannotate]
1993 [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
1994 [-editor editor] [-noedit] [-form formfile] [-inplace]
1995 [-noinplace] [-whatnowproc program] [-nowhatnowproc] [-help]
1996
1997 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1998
1999 _\bD_\bi_\bs_\bt is similar to _\bf_\bo_\br_\bw. It prepares the specified message for
2000 redistribution to addresses that (presumably) are not on the origi-
2001 nal address list.
2002
2003 The default message form contains the following elements:
2004
2005 Resent-To:
2006 Resent-cc:
2007
2008 If the file named "distcomps" exists in the user's MH directory, it
2009 will be used instead of this form. In either case, the file speci-
2010 fied by `-form formfile' will be used if given. The form used will
2011 be prepended to the message being resent.
2012
2013 If the draft already exists, _\bd_\bi_\bs_\bt will ask you as to the disposi-
2014 tion of the draft. A reply of quit will abort _\bd_\bi_\bs_\bt, leaving the
2015 draft intact; replace will replace the existing draft with a blank
2016 skeleton; and list will display the draft.
2017
2018 Only those addresses in "Resent-To:", "Resent-cc:", and
2019 "Resent-Bcc:" will be sent. Also, a "Resent-Fcc: folder" will be
2020 honored (see _\bs_\be_\bn_\bd (1)). Note that with _\bd_\bi_\bs_\bt, the draft should con-
2021 tain only "Resent-xxx:" fields and no body. The headers and the
2022 body of the original message are copied to the draft when the mes-
2023 sage is sent. Use care in constructing the headers for the redis-
2024 tribution.
2025
2026 If the `-annotate' switch is given, the message being distributed
2027 will be annotated with the lines:
2028
2029 Resent: date
2030 Resent: addrs
2031
2032 where each address list contains as many lines as required. This
2033 annotation will be done only if the message is sent directly from
2034 _\bd_\bi_\bs_\bt. If the message is not sent immediately from _\bd_\bi_\bs_\bt, "comp
2035 -use" may be used to re-edit and send the constructed message, but
2036 the annotations won't take place. The '-inplace' switch causes
2037 annotation to be done in place in order to preserve links to the
2038 annotated message.
2039
2040
2041 [mh.6] MH.6.8 UCI version
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051 DIST(1) -31- DIST(1)
2052
2053
2054 See _\bc_\bo_\bm_\bp (1) for a description of the `-editor' and `-noedit'
2055 switches. Note that while in the editor, the message being resent
2056 is available through a link named "@" (assuming the default _\bw_\bh_\ba_\bt_\b-
2057 _\bn_\bo_\bw_\bp_\br_\bo_\bc ). In addition, the actual pathname of the message is
2058 stored in the envariable $editalt, and the pathname of the folder
2059 containing the message is stored in the envariable $mhfolder.
2060
2061 The `-draftfolder +folder' and `-draftmessage msg' switches invoke
2062 the _\bM_\bH draft folder facility. This is an advanced (and highly use-
2063 ful) feature. Consult the Advanced Features section of the _\bM_\bH
2064 manual for more information.
2065
2066 Upon exiting from the editor, _\bd_\bi_\bs_\bt will invoke the _\bw_\bh_\ba_\bt_\bn_\bo_\bw program.
2067 See _\bw_\bh_\ba_\bt_\bn_\bo_\bw (1) for a discussion of available options. The invoca-
2068 tion of this program can be inhibited by using the `-nowhatnowproc'
2069 switch. (In truth of fact, it is the _\bw_\bh_\ba_\bt_\bn_\bo_\bw program which starts
2070 the initial edit. Hence, `-nowhatnowproc' will prevent any edit
2071 from occurring.)
2072
2073 _\bF_\bi_\bl_\be_\bs
2074 /usr/local/lib/mh/distcomps The message skeleton
2075 or <mh-dir>/distcomps Rather than the standard skeleton
2076 $HOME/.mh_profile The user profile
2077 <mh-dir>/draft The draft file
2078
2079
2080 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
2081 Path: To determine the user's MH directory
2082 Current-Folder: To find the default current folder
2083 Draft-Folder: To find the default draft-folder
2084 Editor: To override the default editor
2085 fileproc: Program to refile the message
2086 whatnowproc: Program to ask the "What now?" questions
2087
2088
2089 _\bS_\be_\be _\bA_\bl_\bs_\bo
2090 comp(1), forw(1), repl(1), send(1), whatnow(1)
2091
2092
2093 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
2094 `+folder' defaults to the current folder
2095 `msg' defaults to cur
2096 `-noannotate'
2097 `-nodraftfolder'
2098 `-noinplace'
2099
2100
2101 _\bC_\bo_\bn_\bt_\be_\bx_\bt
2102 If a folder is given, it will become the current folder. The mes-
2103 sage distributed will become the current message.
2104
2105
2106
2107 [mh.6] MH.6.8 UCI version
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117 DIST(1) -32- DIST(1)
2118
2119
2120 _\bH_\bi_\bs_\bt_\bo_\br_\by
2121 _\bD_\bi_\bs_\bt originally used headers of the form "Distribute-xxx:" instead
2122 of "Resent-xxx:". In order to conform with the ARPA Internet stan-
2123 dard, RFC-822, the "Resent-xxx:" form is now used. _\bD_\bi_\bs_\bt will
2124 recognize "Distribute-xxx:" type headers and automatically convert
2125 them to "Resent-xxx:".
2126
2127
2128 _\bB_\bu_\bg_\bs
2129 _\bD_\bi_\bs_\bt does not _\br_\bi_\bg_\bo_\br_\bo_\bu_\bs_\bl_\by check the message being distributed for
2130 adherence to the transport standard, but _\bp_\bo_\bs_\bt called by _\bs_\be_\bn_\bd does.
2131 The _\bp_\bo_\bs_\bt program will balk (and rightly so) at poorly formatted
2132 messages, and _\bd_\bi_\bs_\bt won't correct things for you.
2133
2134 If _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc is _\bw_\bh_\ba_\bt_\bn_\bo_\bw, then _\bd_\bi_\bs_\bt uses a built-in _\bw_\bh_\ba_\bt_\bn_\bo_\bw, it
2135 does not actually run the _\bw_\bh_\ba_\bt_\bn_\bo_\bw program. Hence, if you define
2136 your own _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc, don't call it _\bw_\bh_\ba_\bt_\bn_\bo_\bw since _\bd_\bi_\bs_\bt won't run
2137 it.
2138
2139 If your current working directory is not writable, the link named
2140 "@" is not available.
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173 [mh.6] MH.6.8 UCI version
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183 FOLDER(1) -33- FOLDER(1)
2184
2185
2186 _\bN_\bA_\bM_\bE
2187 folder, folders - set/list current folder/message
2188
2189 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
2190 folder [+folder] [msg] [-all] [-create] [-nocreate] [-print]
2191 [-fast] [-nofast] [-header] [-noheader] [-recurse]
2192 [-norecurse] [-total] [-nototal] [-list] [-nolist] [-push]
2193 [-pop] [-pack] [-nopack] [-verbose] [-noverbose] [-help]
2194
2195 folders
2196
2197 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
2198
2199 Since the _\bM_\bH environment is the shell, it is easy to lose track of
2200 the current folder from day to day. When _\bf_\bo_\bl_\bd_\be_\br is given the
2201 `-print' switch (the default), _\bf_\bo_\bl_\bd_\be_\br will list the current folder,
2202 the number of messages in it, the range of the messages (low-high),
2203 and the current message within the folder, and will flag extra
2204 files if they exist. An example of this summary is:
2205
2206 inbox+ has 16 messages ( 3- 22); cur= 5.
2207
2208 If a `+folder' and/or `msg' are specified, they will become the
2209 current folder and/or message. By comparison, when a `+folder'
2210 argument is given, this corresponds to a "cd" operation in the
2211 _\bs_\bh_\be_\bl_\bl; when no `+folder' argument is given, this corresponds
2212 roughly to a "pwd" operation in the _\bs_\bh_\be_\bl_\bl.
2213
2214 If the specified (or default) folder doesn't exist, the default
2215 action is to query the user as to whether the folder should be
2216 created; when standard input is not a tty, the answer to the query
2217 is assumed to be "yes".
2218
2219 Specifying `-create' will cause _\bf_\bo_\bl_\bd_\be_\br to create new folders
2220 without any query. (This is the easy way to create an empty folder
2221 for use later.) Specifying `-nocreate' will cause _\bf_\bo_\bl_\bd_\be_\br to exit
2222 without creating a non-existant folder.
2223
2224 _\bM_\bu_\bl_\bt_\bi_\bp_\bl_\be _\bF_\bo_\bl_\bd_\be_\br_\bs
2225
2226 Specifying `-all' will produce a summary line for each top-level
2227 folder in the user's MH directory, sorted alphabetically. (If
2228 _\bf_\bo_\bl_\bd_\be_\br is invoked by a name ending with "s" (e.g., _\bf_\bo_\bl_\bd_\be_\br_\bs ),
2229 `-all' is assumed). Specifying `-recurse' with `-all' will also
2230 produce a line for all sub-folders. These folders are all preceded
2231 by the read-only folders, which occur as "atr-cur-" entries in the
2232 user's _\bM_\bH context. For example,
2233
2234
2235
2236
2237
2238
2239 [mh.6] MH.6.8 UCI version
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249 FOLDER(1) -34- FOLDER(1)
2250
2251
2252 Folder # of messages ( range ) cur msg (other files)
2253 /fsd/rs/m/tacc has 35 messages ( 1- 35); cur= 23.
2254 /rnd/phyl/Mail/EP has 82 messages ( 1-108); cur= 82.
2255 ff has no messages.
2256 inbox+ has 16 messages ( 3- 22); cur= 5.
2257 mh has 76 messages ( 1- 76); cur= 70.
2258 notes has 2 messages ( 1- 2); cur= 1.
2259 ucom has 124 messages ( 1-124); cur= 6; (others).
2260 TOTAL= 339 messages in 7 folders
2261
2262 The "+" after inbox indicates that it is the current folder. The
2263 "(others)" indicates that the folder `ucom' has files which aren't
2264 messages. These files may either be sub-folders, or files that
2265 don't belong under the MH file naming scheme.
2266
2267 The header is output if either a `-all' or a `-header' switch is
2268 specified; it is suppressed by `-noheader'. A `-total' switch will
2269 produce only the summary line.
2270
2271 If `-fast' is given, only the folder name (or names in the case of
2272 `-all') will be listed. (This is faster because the folders need
2273 not be read.)
2274
2275 If a `+folder' is given along with the `-all' switch, _\bf_\bo_\bl_\bd_\be_\br will,
2276 in addition to setting the current folder, list the top-level fold-
2277 ers for the current folder (with `-norecurse') or list all sub-
2278 folders under the current folder recursively (with `-recurse'). In
2279 this case, if a `msg' is also supplied, it will become the current
2280 message of `+folder'.
2281
2282 The `-recurse' switch lists each folder recursively, so use of this
2283 option effectively defeats the speed enhancement of the `-fast'
2284 option, since each folder must be searched for subfolders.
2285 Nevertheless, the combination of these options is useful.
2286
2287
2288 _\bC_\bo_\bm_\bp_\ba_\bc_\bt_\bi_\bn_\bg _\ba _\bF_\bo_\bl_\bd_\be_\br
2289
2290 The `-pack' switch will compress the message names in the desig-
2291 nated folders, removing holes in message numbering. The `-verbose'
2292 switch directs _\bf_\bo_\bl_\bd_\be_\br to tell the user the general actions that it
2293 is taking to compress the folder.
2294
2295
2296 _\bT_\bh_\be _\bF_\bo_\bl_\bd_\be_\br _\bS_\bt_\ba_\bc_\bk
2297
2298 The `-push' switch directs _\bf_\bo_\bl_\bd_\be_\br to push the current folder onto
2299 the _\bf_\bo_\bl_\bd_\be_\br-_\bs_\bt_\ba_\bc_\bk, and make the `+folder' argument the current
2300 folder. If `+folder' is not given, the current folder and the top
2301 of the _\bf_\bo_\bl_\bd_\be_\br-_\bs_\bt_\ba_\bc_\bk are exchanged. This corresponds to the "pushd"
2302 operation in the _\bC_\bS_\bh_\be_\bl_\bl.
2303
2304
2305 [mh.6] MH.6.8 UCI version
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315 FOLDER(1) -35- FOLDER(1)
2316
2317
2318 The `-pop' switch directs _\bf_\bo_\bl_\bd_\be_\br to discard the top of the
2319 _\bf_\bo_\bl_\bd_\be_\br-_\bs_\bt_\ba_\bc_\bk, after setting the current folder to that value. No
2320 `+folder' argument is allowed. This corresponds to the "popd"
2321 operation in the _\bC_\bS_\bh_\be_\bl_\bl. The `-push' switch and the `-pop' switch
2322 are mutually exclusive: the last occurrence of either one overrides
2323 any previous occurrence of the other. Both of these switches also
2324 set `-list' by default.
2325
2326 The `-list' switch directs _\bf_\bo_\bl_\bd_\be_\br to list the contents of the
2327 _\bf_\bo_\bl_\bd_\be_\br-_\bs_\bt_\ba_\bc_\bk. No `+folder' argument is allowed. After a success-
2328 ful `-push' or `-pop', the `-list' action is taken, unless a `-nol-
2329 ist' switch follows them on the command line. This corresponds to
2330 the "dirs" operation in the _\bC_\bS_\bh_\be_\bl_\bl. The `-push', `-pop', and
2331 `-list' switches turn off `-print'.
2332
2333 _\bF_\bi_\bl_\be_\bs
2334 $HOME/.mh_profile The user profile
2335
2336
2337 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
2338 Path: To determine the user's MH directory
2339 Current-Folder: To find the default current folder
2340 Folder-Protect: To set mode when creating a new folder
2341 Folder-Stack: To determine the folder stack
2342
2343
2344 _\bS_\be_\be _\bA_\bl_\bs_\bo
2345 refile(1), mhpath(1)
2346
2347
2348 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
2349 `+folder' defaults to the current folder
2350 `msg' defaults to none
2351 `-nofast'
2352 `-noheader'
2353 `-nototal'
2354 `-nopack'
2355 `-norecurse'
2356 `-noverbose'
2357 `-print' is the default if no `-list', `-push', or `-pop' is specified
2358 `-list' is the default if `-push', or `-pop' is specified
2359
2360
2361 _\bC_\bo_\bn_\bt_\be_\bx_\bt
2362 If `+folder' and/or `msg' are given, they will become the current
2363 folder and/or message.
2364
2365
2366
2367
2368
2369
2370
2371 [mh.6] MH.6.8 UCI version
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381 FOLDER(1) -36- FOLDER(1)
2382
2383
2384 _\bH_\bi_\bs_\bt_\bo_\br_\by
2385 In previous versions of _\bM_\bH, the `-fast' switch prevented context
2386 changes from occurring for the current folder. This is no longer
2387 the case: if `+folder' is given, then _\bf_\bo_\bl_\bd_\be_\br will always change the
2388 current folder to that.
2389
2390
2391 _\bB_\bu_\bg_\bs
2392 `-all' forces `-header' and `-total'.
2393
2394 There is no way to restore the default behavior (to ask the user
2395 whether to create a non-existant folder) after `-create' or `-no-
2396 create' is given.
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437 [mh.6] MH.6.8 UCI version
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447 FORW(1) -37- FORW(1)
2448
2449
2450 _\bN_\bA_\bM_\bE
2451 forw - forward messages
2452
2453 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
2454 forw [+folder] [msgs] [-annotate] [-noannotate]
2455 [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
2456 [-editor editor] [-noedit] [-filter filterfile]
2457 [-form formfile] [-format] [-noformat] [-inplace] [-noinplace]
2458 [-whatnowproc program] [-nowhatnowproc] [-help]
2459
2460 forw [+folder] [msgs] [-digest list] [-issue number]
2461 [-volume number] [other switches for _\bf_\bo_\br_\bw] [-help]
2462
2463 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
2464
2465 _\bF_\bo_\br_\bw may be used to prepare a message containing other messages.
2466 It constructs the new message from the components file or
2467 `-form formfile' (see _\bc_\bo_\bm_\bp ), with a body composed of the
2468 message(s) to be forwarded. An editor is invoked as in _\bc_\bo_\bm_\bp, and
2469 after editing is complete, the user is prompted before the message
2470 is sent.
2471
2472 The default message form contains the following elements:
2473
2474 To:
2475 cc:
2476 Subject:
2477 --------
2478
2479 If the file named "forwcomps" exists in the user's MH directory, it
2480 will be used instead of this form. In either case, the file speci-
2481 fied by `-form formfile' will be used if given.
2482
2483 If the draft already exists, _\bf_\bo_\br_\bw will ask you as to the disposi-
2484 tion of the draft. A reply of quit will abort _\bf_\bo_\br_\bw, leaving the
2485 draft intact; replace will replace the existing draft with a blank
2486 skeleton; and list will display the draft.
2487
2488 If the `-annotate' switch is given, each message being forwarded
2489 will be annotated with the lines
2490
2491 Forwarded: date
2492 Forwarded: addrs
2493
2494 where each address list contains as many lines as required. This
2495 annotation will be done only if the message is sent directly from
2496 _\bf_\bo_\br_\bw. If the message is not sent immediately from _\bf_\bo_\br_\bw,
2497 "comp -use" may be used to re-edit and send the constructed mes-
2498 sage, but the annotations won't take place. The '-inplace' switch
2499 causes annotation to be done in place in order to preserve links to
2500 the annotated message.
2501
2502
2503 [mh.6] MH.6.8 UCI version
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513 FORW(1) -38- FORW(1)
2514
2515
2516 See _\bc_\bo_\bm_\bp (1) for a description of the `-editor' and `-noedit'
2517 switches.
2518
2519 Although _\bf_\bo_\br_\bw uses the `-form formfile' switch to direct it how to
2520 construct the beginning of the draft, the `-filter filterfile',
2521 `-format', and `-noformat' switches direct _\bf_\bo_\br_\bw as to how each for-
2522 warded message should be formatted in the body of the draft. If
2523 `-noformat' is specified, then each forwarded message is output
2524 exactly as it appears. If `-format' or `-filter filterfile' is
2525 specified, then each forwarded message is filtered (re-formatted)
2526 prior to being output to the body of the draft. The filter file
2527 for _\bf_\bo_\br_\bw should be a standard form file for _\bm_\bh_\bl, as _\bf_\bo_\br_\bw will
2528 invoke _\bm_\bh_\bl to format the forwarded messages. The default message
2529 filter (what you get with `-format') is:
2530
2531 width=80,overflowtext=,overflowoffset=10
2532 leftadjust,compress,compwidth=9
2533 Date:formatfield="%<(nodate{text})%{text}%|%(tws{text})%>"
2534 From:
2535 To:
2536 cc:
2537 Subject:
2538 :
2539 body:nocomponent,overflowoffset=0,noleftadjust,nocompress
2540
2541 If the file named "mhl.forward" exists in the user's MH directory,
2542 it will be used instead of this form. In either case, the file
2543 specified by `-filter filterfile' will be used if given. To sum-
2544 marize: `-noformat' will reproduce each forwarded message exactly,
2545 `-format' will use _\bm_\bh_\bl and a default filterfile, "mhl.forward", to
2546 format each forwarded message, and `-filter filterfile' will use
2547 the named filterfile to format each forwarded message with _\bm_\bh_\bl.
2548
2549 Each forwarded message is separated with an encapsulation delimiter
2550 and dashes in the first column of the forwarded messages will be
2551 prepended with `- ' so that when received, the message is suitable
2552 for bursting by _\bb_\bu_\br_\bs_\bt (1). This follows the Internet RFC-934
2553 guidelines.
2554
2555 For users of _\bp_\br_\bo_\bm_\bp_\bt_\be_\br (1), by specifying prompter's `-prepend'
2556 switch in the .mh_profile file, any commentary text is entered
2557 before the forwarded messages. (A major win!)
2558
2559 The `-draftfolder +folder' and `-draftmessage msg' switches invoke
2560 the _\bM_\bH draft folder facility. This is an advanced (and highly use-
2561 ful) feature. Consult the Advanced Features section of the _\bM_\bH
2562 manual for more information.
2563
2564 Upon exiting from the editor, _\bf_\bo_\br_\bw will invoke the _\bw_\bh_\ba_\bt_\bn_\bo_\bw program.
2565 See _\bw_\bh_\ba_\bt_\bn_\bo_\bw (1) for a discussion of available options. The invoca-
2566 tion of this program can be inhibited by using the `-nowhatnowproc'
2567 switch. (In truth of fact, it is the _\bw_\bh_\ba_\bt_\bn_\bo_\bw program which starts
2568
2569 [mh.6] MH.6.8 UCI version
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579 FORW(1) -39- FORW(1)
2580
2581
2582 the initial edit. Hence, `-nowhatnowproc' will prevent any edit
2583 from occurring.)
2584
2585 The `-digest list', `-issue number', and `-volume number' switches
2586 implement a digest facility for _\bM_\bH. Specifying these switches
2587 enables and/or overloads the following escapes:
2588
2589 _\bT_\by_\bp_\be _\bE_\bs_\bc_\ba_\bp_\be _\bR_\be_\bt_\bu_\br_\bn_\bs _\bD_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn
2590 _\bc_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt _\bd_\bi_\bg_\be_\bs_\bt string Argument to `-digest'
2591 _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn _\bc_\bu_\br integer Argument to `-volume'
2592 _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn _\bm_\bs_\bg integer Argument to `-issue'
2593
2594 Consult the Advanced Features section of the _\bM_\bH User's Manual for
2595 more information on making digests.
2596
2597 _\bF_\bi_\bl_\be_\bs
2598 /usr/local/lib/mh/forwcomps The message skeleton
2599 or <mh-dir>/forwcomps Rather than the standard skeleton
2600 /usr/local/lib/mh/digestcomps The message skeleton if `-digest' is given
2601 or <mh-dir>/digestcomps Rather than the standard skeleton
2602 /usr/local/lib/mh/mhl.forward The message filter
2603 or <mh-dir>/mhl.forward Rather than the standard filter
2604 $HOME/.mh_profile The user profile
2605 <mh-dir>/draft The draft file
2606
2607
2608 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
2609 Path: To determine the user's MH directory
2610 Current-Folder: To find the default current folder
2611 Draft-Folder: To find the default draft-folder
2612 Editor: To override the default editor
2613 Msg-Protect: To set mode when creating a new message
2614 (draft)
2615 fileproc: Program to refile the message
2616 mhlproc: Program to filter messages being forwarded
2617 whatnowproc: Program to ask the "What now?" questions
2618
2619
2620 _\bS_\be_\be _\bA_\bl_\bs_\bo
2621 _\bP_\br_\bo_\bp_\bo_\bs_\be_\bd _\bS_\bt_\ba_\bn_\bd_\ba_\br_\bd _\bf_\bo_\br _\bM_\be_\bs_\bs_\ba_\bg_\be _\bE_\bn_\bc_\ba_\bp_\bs_\bu_\bl_\ba_\bt_\bi_\bo_\bn (aka RFC-934),
2622 comp(1), dist(1), repl(1), send(1), whatnow(1), mh-format(5)
2623
2624
2625 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
2626 `+folder' defaults to the current folder
2627 `msgs' defaults to cur
2628 `-noannotate'
2629 `-nodraftfolder'
2630 `-noformat'
2631 `-noinplace'
2632
2633
2634
2635 [mh.6] MH.6.8 UCI version
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645 FORW(1) -40- FORW(1)
2646
2647
2648 _\bC_\bo_\bn_\bt_\be_\bx_\bt
2649 If a folder is given, it will become the current folder. The first
2650 message forwarded will become the current message.
2651
2652
2653 _\bB_\bu_\bg_\bs
2654 If _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc is _\bw_\bh_\ba_\bt_\bn_\bo_\bw, then _\bf_\bo_\br_\bw uses a built-in _\bw_\bh_\ba_\bt_\bn_\bo_\bw, it
2655 does not actually run the _\bw_\bh_\ba_\bt_\bn_\bo_\bw program. Hence, if you define
2656 your own _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc, don't call it _\bw_\bh_\ba_\bt_\bn_\bo_\bw since _\bf_\bo_\br_\bw won't run
2657 it.
2658
2659 When _\bf_\bo_\br_\bw is told to annotate the messages it forwards, it doesn't
2660 actually annotate them until the draft is successfully sent. If
2661 from the _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc, you _\bp_\bu_\bs_\bh instead of _\bs_\be_\bn_\bd, it's possible to
2662 confuse _\bf_\bo_\br_\bw by re-ordering the file (e.g., by using
2663 `folder -pack') before the message is successfully sent. _\bD_\bi_\bs_\bt and
2664 _\br_\be_\bp_\bl don't have this problem.
2665
2666 To avoid prepending the leading dash characters in forwarded mes-
2667 sages, there is a `-nodashmunging' option. See the "Hidden
2668 Features" section of the _\bM_\bH _\bA_\bd_\bm_\bi_\bn_\bi_\bs_\bt_\br_\ba_\bt_\bo_\br'_\bs _\bG_\bu_\bi_\bd_\be for more details.
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701 [mh.6] MH.6.8 UCI version
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711 INC(1) -41- INC(1)
2712
2713
2714 _\bN_\bA_\bM_\bE
2715 inc - incorporate new mail
2716
2717 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
2718 inc [+folder] [-audit audit-file] [-noaudit] [-changecur]
2719 [-nochangecur] [-form formatfile] [-format string]
2720 [-file name] [-silent] [-nosilent] [-truncate] [-notruncate]
2721 [-width columns] [-help]
2722
2723 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
2724
2725 _\bI_\bn_\bc incorporates mail from the user's incoming mail drop into an _\bM_\bH
2726 folder. If `+folder' isn't specified, a folder in the user's _\bM_\bH
2727 directory will be used, either that specified by the "Inbox:" entry
2728 in the user's profile, or the folder named "inbox". The new mes-
2729 sages being incorporated are assigned numbers starting with the
2730 next highest number in the folder. If the specified (or default)
2731 folder doesn't exist, the user will be queried prior to its crea-
2732 tion. As the messages are processed, a _\bs_\bc_\ba_\bn listing of the new
2733 mail is produced.
2734
2735 If the user's profile contains a "Msg-Protect: nnn" entry, it will
2736 be used as the protection on the newly created messages, otherwise
2737 the _\bM_\bH default of 0644 will be used. During all operations on mes-
2738 sages, this initially assigned protection will be preserved for
2739 each message, so _\bc_\bh_\bm_\bo_\bd(1) may be used to set a protection on an
2740 individual message, and its protection will be preserved
2741 thereafter.
2742
2743 If the switch `-audit audit-file' is specified (usually as a
2744 default switch in the profile), then _\bi_\bn_\bc will append a header line
2745 and a line per message to the end of the specified audit-file with
2746 the format:
2747
2748 <<inc>> date
2749 <scan line for first message>
2750 <scan line for second message>
2751 <etc.>
2752
2753 This is useful for keeping track of volume and source of incoming
2754 mail. Eventually, _\br_\be_\bp_\bl, _\bf_\bo_\br_\bw, _\bc_\bo_\bm_\bp, and _\bd_\bi_\bs_\bt may also produce
2755 audits to this (or another) file, perhaps with "Message-Id:" infor-
2756 mation to keep an exact correspondence history. "Audit-file" will
2757 be in the user's MH directory unless a full path is specified.
2758
2759 _\bI_\bn_\bc will incorporate even improperly formatted messages into the
2760 user's MH folder, inserting a blank line prior to the offending
2761 component and printing a comment identifying the bad message.
2762
2763 In all cases, the user's mail drop will be zeroed, unless the
2764 `-notruncate' switch is given.
2765
2766
2767 [mh.6] MH.6.8 UCI version
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777 INC(1) -42- INC(1)
2778
2779
2780 If the profile entry "Unseen-Sequence" is present and non-empty,
2781 then _\bi_\bn_\bc will add each of the newly incorporated messages to each
2782 sequence named by the profile entry. This is similar to the
2783 "Previous-Sequence" profile entry supported by all _\bM_\bH commands
2784 which take `msgs' or `msg' arguments. Note that _\bi_\bn_\bc will not zero
2785 each sequence prior to adding messages.
2786
2787 The interpretation of the `-form formatfile', `-format string', and
2788 `-width columns' switches is the same as in _\bs_\bc_\ba_\bn (1).
2789
2790 By using the `-file name' switch, one can direct _\bi_\bn_\bc to incorporate
2791 messages from a file other than the user's maildrop. Note that the
2792 name file will NOT be zeroed, unless the `-truncate' switch is
2793 given.
2794
2795 If the envariable $MAILDROP is set, then _\bi_\bn_\bc uses it as the loca-
2796 tion of the user's maildrop instead of the default (the `-
2797 file name' switch still overrides this, however). If this envari-
2798 able is not set, then _\bi_\bn_\bc will consult the profile entry "MailDrop"
2799 for this information. If the value found is not absolute, then it
2800 is interpreted relative to the user's _\bM_\bH directory. If the value
2801 is not found, then _\bi_\bn_\bc will look in the standard system location
2802 for the user's maildrop.
2803
2804 The `-silent' switch directs _\bi_\bn_\bc to be quiet and not ask any ques-
2805 tions at all. This is useful for putting _\bi_\bn_\bc in the background and
2806 going on to other things.
2807
2808 _\bF_\bi_\bl_\be_\bs
2809 $HOME/.mh_profile The user profile
2810 /usr/local/lib/mh/mtstailor tailor file
2811 /usr/spool/mail/$USER Location of mail drop
2812
2813
2814 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
2815 Path: To determine the user's MH directory
2816 Alternate-Mailboxes: To determine the user's mailboxes
2817 Inbox: To determine the inbox, default "inbox"
2818 Folder-Protect: To set mode when creating a new folder
2819 Msg-Protect: To set mode when creating a new message and
2820 audit-file
2821 Unseen-Sequence: To name sequences denoting unseen messages
2822
2823
2824 _\bS_\be_\be _\bA_\bl_\bs_\bo
2825 mhmail(1), scan(1), mh-mail(5), post(8)
2826
2827
2828
2829
2830
2831
2832
2833 [mh.6] MH.6.8 UCI version
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843 INC(1) -43- INC(1)
2844
2845
2846 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
2847 `+folder' defaulted by "Inbox" above
2848 `-noaudit'
2849 `-changecur'
2850 `-format' defaulted as described above
2851 `-nosilent'
2852 `-truncate' if `-file name' not given, `-notruncate' otherwise
2853 `-width' defaulted to the width of the terminal
2854
2855
2856 _\bC_\bo_\bn_\bt_\be_\bx_\bt
2857 The folder into which messages are being incorporated will become
2858 the current folder. The first message incorporated will become the
2859 current message, unless the `-nochangecur' option is specified.
2860 This leaves the context ready for a _\bs_\bh_\bo_\bw of the first new message.
2861
2862
2863 _\bB_\bu_\bg_\bs
2864 The argument to the `-format' switch must be interpreted as a sin-
2865 gle token by the shell that invokes _\bi_\bn_\bc. Therefore, one must usu-
2866 ally place the argument to this switch inside double-quotes.
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899 [mh.6] MH.6.8 UCI version
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909 MARK(1) -44- MARK(1)
2910
2911
2912 _\bN_\bA_\bM_\bE
2913 mark - mark messages
2914
2915 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
2916 mark [+folder] [msgs] [-sequence name ...] [-add] [-delete] [-list]
2917 [-public] [-nopublic] [-zero] [-nozero] [-help]
2918
2919 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
2920
2921 The _\bm_\ba_\br_\bk command manipulates message sequences by adding or delet-
2922 ing message numbers from folder-specific message sequences, or by
2923 listing those sequences and messages. A message sequence is a key-
2924 word, just like one of the "reserved" message names, such as
2925 "first" or "next". Unlike the "reserved" message names, which have
2926 a fixed semantics on a per-folder basis, the semantics of a message
2927 sequence may be defined, modified, and removed by the user. Mes-
2928 sage sequences are folder-specific, e.g., the sequence name "seen"
2929 in the context of folder "+inbox" need not have any relation what-
2930 soever to the sequence of the same name in a folder of a different
2931 name.
2932
2933 Three action switches direct the operation of _\bm_\ba_\br_\bk. These switches
2934 are mutually exclusive: the last occurrence of any of them over-
2935 rides any previous occurrence of the other two.
2936
2937 The `-add' switch tells _\bm_\ba_\br_\bk to add messages to sequences or to
2938 create a new sequence. For each sequence named via the
2939 `-sequence name' argument (which must occur at least once) the mes-
2940 sages named via `msgs' (which defaults to "cur" if no `msgs' are
2941 given), are added to the sequence. The messages to be added need
2942 not be absent from the sequence. If the `-zero' switch is speci-
2943 fied, the sequence will be emptied prior to adding the messages.
2944 Hence, `-add -zero' means that each sequence should be initialized
2945 to the indicated messages, while `-add -nozero' means that each
2946 sequence should be appended to by the indicated messages.
2947
2948 The `-delete' switch tells _\bm_\ba_\br_\bk to delete messages from sequences,
2949 and is the dual of `-add'. For each of the named sequences, the
2950 named messages are removed from the sequence. These messages need
2951 not be already present in the sequence. If the `-zero' switch is
2952 specified, then all messages in the folder are appended to the
2953 sequence prior to removing the messages. Hence, `-delete -zero'
2954 means that each sequence should contain all messages except those
2955 indicated, while `-delete -nozero' means that only the indicated
2956 messages should be removed from each sequence. As expected, the
2957 command `mark -sequence seen -delete all' deletes the sequence
2958 "seen" from the current folder.
2959
2960 When creating (or modifying) a sequence, the `-public' switch indi-
2961 cates that the sequence should be made readable for other _\bM_\bH users.
2962 In contrast, the `-nopublic' switch indicates that the sequence
2963 should be private to the user's _\bM_\bH environment.
2964
2965 [mh.6] MH.6.8 UCI version
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975 MARK(1) -45- MARK(1)
2976
2977
2978 The `-list' switch tells _\bm_\ba_\br_\bk to list both the sequences defined
2979 for the folder and the messages associated with those sequences.
2980 _\bM_\ba_\br_\bk will list the name of each sequence given by `-sequence name'
2981 and the messages associated with that sequence. If `-sequence'
2982 isn't used, all sequences will be listed, with private sequences
2983 being so indicated. The `-zero' switch does not affect the opera-
2984 tion of `-list'.
2985
2986 The current restrictions on sequences are:
2987
2988 The name used to denote a message sequence must consist of an
2989 alphabetic character followed by zero or more alphanumeric char-
2990 acters, and cannot be one of the (reserved) message names "new",
2991 "first", "last", "all", "next", or "prev".
2992
2993 Only a certain number of sequences may be defined for a given
2994 folder. This number is usually limited to 26 (10 on small sys-
2995 tems).
2996
2997 Message ranges with user-defined sequence names are restricted to
2998 the form "name:n" or "name:-n", and refer to the first or last
2999 `n' messages of the sequence `name', respectively. Constructs of
3000 the form "name1-name2" are forbidden.
3001
3002 _\bF_\bi_\bl_\be_\bs
3003 $HOME/.mh_profile The user profile
3004
3005
3006 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
3007 Path: To determine the user's MH directory
3008 Current-Folder: To find the default current folder
3009
3010
3011 _\bS_\be_\be _\bA_\bl_\bs_\bo
3012 pick (1), mh-sequence (5)
3013
3014
3015 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
3016 `+folder' defaults to the current folder
3017 `-add' if `-sequence' is specified, `-list' otherwise
3018 `msgs' defaults to cur (or all if `-list' is specified)
3019 `-nopublic' if the folder is read-only, `-public' otherwise
3020 `-nozero'
3021
3022
3023 _\bC_\bo_\bn_\bt_\be_\bx_\bt
3024 If a folder is given, it will become the current folder.
3025
3026 _\bH_\be_\bl_\bp_\bf_\bu_\bl _\bH_\bi_\bn_\bt_\bs
3027
3028 Use "pick sequence -list" to enumerate the messages in a sequence
3029 (such as for use by a shell script).
3030
3031 [mh.6] MH.6.8 UCI version
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041 MARK(1) -46- MARK(1)
3042
3043
3044 _\bN_\bA_\bM_\bE
3045 mhl - produce formatted listings of MH messages
3046
3047 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
3048 /usr/local/lib/mh/mhl [-bell] [-nobell] [-clear] [-noclear]
3049 [-folder +folder] [-form formfile] [-length lines]
3050 [-width columns] [-moreproc program] [-nomoreproc] [files ...]
3051 [-help]
3052
3053 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
3054
3055 _\bM_\bh_\bl is a formatted message listing program. It can be used as a
3056 replacement for _\bm_\bo_\br_\be (1) (the default _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc ). As with _\bm_\bo_\br_\be,
3057 each of the messages specified as arguments (or the standard input)
3058 will be output. If more than one message file is specified, the
3059 user will be prompted prior to each one, and a <RETURN> or <EOT>
3060 will begin the output, with <RETURN> clearing the screen (if
3061 appropriate), and <EOT> (usually CTRL-D) suppressing the screen
3062 clear. An <INTERRUPT> (usually CTRL-C) will abort the current mes-
3063 sage output, prompting for the next message (if there is one), and
3064 a <QUIT> (usually CTRL-\) will terminate the program (without core
3065 dump).
3066
3067 The `-bell' option tells _\bm_\bh_\bl to ring the terminal's bell at the end
3068 of each page, while the `-clear' option tells _\bm_\bh_\bl to clear the
3069 scree at the end of each page (or output a formfeed after each mes-
3070 sage). Both of these switches (and their inverse counterparts)
3071 take effect only if the profile entry _\bm_\bo_\br_\be_\bp_\br_\bo_\bc is defined but
3072 empty, and _\bm_\bh_\bl is outputting to a terminal. If the _\bm_\bo_\br_\be_\bp_\br_\bo_\bc entry
3073 is defined and non-empty, and _\bm_\bh_\bl is outputting to a terminal, then
3074 _\bm_\bh_\bl will cause the _\bm_\bo_\br_\be_\bp_\br_\bo_\bc to be placed between the terminal and
3075 _\bm_\bh_\bl and the switches are ignored. Furthermore, if the `-clear'
3076 switch is used and _\bm_\bh_\bl'_\bs output is directed to a terminal, then _\bm_\bh_\bl
3077 will consult the $TERM and $TERMCAP envariables to determine the
3078 user's terminal type in order to find out how to clear the screen.
3079 If the `-clear' switch is used and _\bm_\bh_\bl'_\bs output is not directed to
3080 a terminal (e.g., a pipe or a file), then _\bm_\bh_\bl will send a formfeed
3081 after each message.
3082
3083 To override the default _\bm_\bo_\br_\be_\bp_\br_\bo_\bc and the profile entry, use the
3084 `-moreproc program' switch. Note that _\bm_\bh_\bl will never start a
3085 _\bm_\bo_\br_\be_\bp_\br_\bo_\bc if invoked on a hardcopy terminal.
3086
3087 The `-length length' and `-width width' switches set the screen
3088 length and width, respectively. These default to the values indi-
3089 cated by $TERMCAP, if appropriate, otherwise they default to 40 and
3090 80, respectively.
3091
3092 The default format file used by _\bm_\bh_\bl is called _\bm_\bh_\bl._\bf_\bo_\br_\bm_\ba_\bt (which is
3093 first searched for in the user's _\bM_\bH directory, and then sought in
3094 the /_\bu_\bs_\br/_\bl_\bo_\bc_\ba_\bl/_\bl_\bi_\bb/_\bm_\bh directory), this can be changed by using the
3095 `-form formatfile' switch.
3096
3097 [mh.6] MH.6.8 UCI version
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107 MHL(1) -47- MHL(1)
3108
3109
3110 Finally, the `-folder +folder' switch sets the _\bM_\bH folder name,
3111 which is used for the "messagename:" field described below. The
3112 envariable $mhfolder is consulted for the default value, which
3113 _\bs_\bh_\bo_\bw, _\bn_\be_\bx_\bt, and _\bp_\br_\be_\bv initialize appropriately.
3114
3115 _\bM_\bh_\bl operates in two phases: 1) read and parse the format file, and
3116 2) process each message (file). During phase 1, an internal
3117 description of the format is produced as a structured list. In
3118 phase 2, this list is walked for each message, outputting message
3119 information under the format constraints from the format file.
3120
3121 The "mhl.format" form file contains information controlling screen
3122 clearing, screen size, wrap-around control, transparent text, com-
3123 ponent ordering, and component formatting. Also, a list of com-
3124 ponents to ignore may be specified, and a couple of "special" com-
3125 ponents are defined to provide added functionality. Message output
3126 will be in the order specified by the order in the format file.
3127
3128 Each line of mhl.format has one of the formats:
3129
3130 ;comment
3131 :cleartext
3132 variable[,variable...]
3133 component:[variable,...]
3134
3135 A line beginning with a `;' is a comment, and is ignored. A line
3136 beginning with a `:' is clear text, and is output exactly as is. A
3137 line containing only a `:' produces a blank line in the output. A
3138 line beginning with "component:" defines the format for the speci-
3139 fied component, and finally, remaining lines define the global
3140 environment.
3141
3142 For example, the line:
3143
3144 width=80,length=40,clearscreen,overflowtext="***",overflowoffset=5
3145
3146 defines the screen size to be 80 columns by 40 rows, specifies that
3147 the screen should be cleared prior to each page, that the overflow
3148 indentation is 5, and that overflow text should be flagged with
3149 "***".
3150
3151 Following are all of the current variables and their arguments. If
3152 they follow a component, they apply only to that component, other-
3153 wise, their affect is global. Since the whole format is parsed
3154 before any output processing, the last global switch setting for a
3155 variable applies to the whole message if that variable is used in a
3156 global context (i.e., bell, clearscreen, width, length).
3157
3158 _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be _\bt_\by_\bp_\be _\bs_\be_\bm_\ba_\bn_\bt_\bi_\bc_\bs
3159 width integer screen width or component width
3160 length integer screen length or component length
3161 offset integer positions to indent "component: "
3162
3163 [mh.6] MH.6.8 UCI version
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173 MHL(1) -48- MHL(1)
3174
3175
3176 overflowtext string text to use at the beginning of an
3177 overflow line
3178 overflowoffset integer positions to indent overflow lines
3179 compwidth integer positions to indent component text
3180 after the first line is output
3181 uppercase flag output text of this component in all
3182 upper case
3183 nouppercase flag don't uppercase
3184 clearscreen flag/G clear the screen prior to each page
3185 noclearscreen flag/G don't clearscreen
3186 bell flag/G ring the bell at the end of each page
3187 nobell flag/G don't bell
3188 component string/L name to use instead of "component" for
3189 this component
3190 nocomponent flag don't output "component: " for this
3191 component
3192 center flag center component on line (works for
3193 one-line components only)
3194 nocenter flag don't center
3195 leftadjust flag strip off leading whitespace on each
3196 line of text
3197 noleftadjust flag don't leftadjust
3198 compress flag change newlines in text to spaces
3199 nocompress flag don't compress
3200 split flag don't combine multiple fields into a single field
3201 nosplit flag combine multiple fields into a single field
3202 newline flag print newline at end of components (default)
3203 nonewline flag don't print newline at end of components
3204 formatfield string format string for this component (see below)
3205 addrfield flag field contains addresses
3206 datefield flag field contains dates
3207
3208 To specify the value of integer-valued and string-valued variables,
3209 follow their name with an equals-sign and the value.
3210 Integer-valued variables are given decimal values, while
3211 string-valued variables are given arbitrary text bracketed by
3212 double-quotes. If a value is suffixed by "/G" or "/L", then its
3213 value is useful in a global-only or local-only context (respec-
3214 tively).
3215
3216 A line of the form:
3217
3218 ignores=component,...
3219
3220 specifies a list of components which are never output.
3221
3222 The component "MessageName" (case-insensitive) will output the
3223 actual message name (file name) preceded by the folder name if one
3224 is specified or found in the environment. The format is identical
3225 to that produced by the `-header' option to _\bs_\bh_\bo_\bw.
3226
3227 The component "Extras" will output all of the components of the
3228
3229 [mh.6] MH.6.8 UCI version
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239 MHL(1) -49- MHL(1)
3240
3241
3242 message which were not matched by explicit components, or included
3243 in the ignore list. If this component is not specified, an ignore
3244 list is not needed since all non-specified components will be
3245 ignored.
3246
3247 If "nocomponent" is NOT specified, then the component name will be
3248 output as it appears in the format file.
3249
3250 The default format is:
3251
3252 : -- using template mhl.format --
3253 overflowtext="***",overflowoffset=5
3254 leftadjust,compwidth=9
3255 ignores=msgid,message-id,received
3256 Date:formatfield="%<(nodate{text})%{text}%|%(pretty{text})%>"
3257 To:
3258 cc:
3259 :
3260 From:
3261 Subject:
3262 :
3263 extras:nocomponent
3264 :
3265 body:nocomponent,overflowtext=,overflowoffset=0,noleftadjust
3266
3267 The variable "formatfield" specifies a format string (see
3268 _\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt (5)). The flag variables "addrfield" and "datefield"
3269 (which are mutually exclusive), tell _\bm_\bh_\bl to interpret the escapes
3270 in the format string as either addresses or dates, respectively.
3271
3272 By default, _\bm_\bh_\bl does not apply any formatting string to fields con-
3273 taining address or dates (see _\bm_\bh-_\bm_\ba_\bi_\bl (5) for a list of these
3274 fields). Note that this results in faster operation since _\bm_\bh_\bl must
3275 parse both addresses and dates in order to apply a format string to
3276 them. If desired, _\bm_\bh_\bl can be given a default format string for
3277 either address or date fields (but not both). To do this, on a
3278 global line specify: either the flag addrfield or datefield, along
3279 with the apropriate formatfield variable string.
3280
3281 _\bF_\bi_\bl_\be_\bs
3282 /usr/local/lib/mh/mhl.format The message template
3283 or <mh-dir>/mhl.format Rather than the standard template
3284 $HOME/.mh_profile The user profile
3285
3286
3287 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
3288 moreproc: Program to use as interactive front-end
3289
3290
3291 _\bS_\be_\be _\bA_\bl_\bs_\bo
3292 show(1), ap(8), dp(8)
3293
3294
3295 [mh.6] MH.6.8 UCI version
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305 MHL(1) -50- MHL(1)
3306
3307
3308 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
3309 `-bell'
3310 `-noclear'
3311 `-length 40'
3312 `-width 80'
3313
3314
3315 _\bC_\bo_\bn_\bt_\be_\bx_\bt
3316 None
3317
3318
3319 _\bB_\bu_\bg_\bs
3320 There should be some way to pass `bell' and `clear' information to
3321 the front-end.
3322
3323 On hosts where _\bM_\bH was configured with the BERK option, address
3324 parsing is not enabled.
3325
3326 The "nonewline" option interacts badly with "compress" and "split".
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361 [mh.6] MH.6.8 UCI version
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371 MHMAIL(1) -51- MHMAIL(1)
3372
3373
3374 _\bN_\bA_\bM_\bE
3375 mhmail - send or read mail
3376
3377 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
3378 mhmail [ addrs ... [-body text] [-cc addrs ...] [-from addr]
3379 [-subject subject]] [-help]
3380
3381 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
3382
3383 _\bM_\bH_\bm_\ba_\bi_\bl is intended as a replacement for the standard Bell mail pro-
3384 gram (_\bb_\be_\bl_\bl_\bm_\ba_\bi_\bl (1)), compatible with _\bM_\bH. When invoked without
3385 arguments, it simply invokes _\bi_\bn_\bc (1) to incorporate new messages
3386 from the user's maildrop. When one or more users is specified, a
3387 message is read from the standard input and spooled to a temporary
3388 file. _\bM_\bH_\bm_\ba_\bi_\bl then invokes _\bp_\bo_\bs_\bt (8) with the name of the temporary
3389 file as its argument to deliver the message to the specified user.
3390
3391 The `-subject subject' switch can be used to specify the "Subject:"
3392 field of the message. The `-body text' switch can be used to
3393 specify the text of the message; if it is specified, then the stan-
3394 dard input is not read. Normally, addresses appearing as arguments
3395 are put in the "To:" field. If the `-cc' switch is used, all
3396 addresses following it are placed in the "cc:" field.
3397
3398 By using `-from addr', you can specify the "From:" header of the
3399 draft. Naturally, _\bp_\bo_\bs_\bt will fill-in the "Sender:" header
3400 correctly.
3401
3402 This program is intended for the use of programs such as _\ba_\bt (1),
3403 which expect to send mail automatically to various users. Nor-
3404 mally, real people (as opposed to the "unreal" ones) will prefer to
3405 use _\bc_\bo_\bm_\bp (1) and _\bs_\be_\bn_\bd (1) to send messages.
3406
3407 _\bF_\bi_\bl_\be_\bs
3408 /usr/local/inc Program to incorporate a maildrop into a folder
3409 /usr/local/lib/mh/post Program to deliver a message
3410 /tmp/mhmail* Temporary copy of message
3411
3412
3413 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
3414 None
3415
3416
3417 _\bS_\be_\be _\bA_\bl_\bs_\bo
3418 inc(1), post(8)
3419
3420
3421 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
3422 None
3423
3424
3425
3426
3427 [mh.6] MH.6.8 UCI version
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437 MHMAIL(1) -52- MHMAIL(1)
3438
3439
3440 _\bC_\bo_\bn_\bt_\be_\bx_\bt
3441 If _\bi_\bn_\bc is invoked, then _\bi_\bn_\bc's context changes occur.
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493 [mh.6] MH.6.8 UCI version
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503 MHOOK(1) -53- MHOOK(1)
3504
3505
3506 _\bN_\bA_\bM_\bE
3507 mhook, rcvdist, rcvpack, rcvtty - MH receive-mail hooks
3508
3509 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
3510 /usr/local/lib/mh/rcvdist [-form formfile] [switches for _\bp_\bo_\bs_\bt_\bp_\br_\bo_\bc]
3511 address ... [-help]
3512
3513 /usr/local/lib/mh/rcvpack file [-help]
3514
3515 /usr/local/lib/mh/rcvtty [command] [-form formatfile]
3516 [-format string] [-bell] [-nobell] [-newline] [-nonewline]
3517 [-biff] [-help]
3518
3519 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
3520
3521 A receive-mail hook is a program that is run whenever you receive a
3522 mail message. You do NOT invoke the hook yourself, rather the hook
3523 is invoked on your behalf by your system's Message Transport Agent.
3524 See _\bs_\bl_\bo_\bc_\ba_\bl (1) for details on how to activate receive-mail hooks on
3525 your system.
3526
3527 Four programs are currently available as part of _\bM_\bH, _\br_\bc_\bv_\bd_\bi_\bs_\bt
3528 (redistribute incoming messages to additional recipients), _\br_\bc_\bv_\bp_\ba_\bc_\bk
3529 (save incoming messages in a _\bp_\ba_\bc_\bk_\bf'd file), and _\br_\bc_\bv_\bt_\bt_\by (notify user
3530 of incoming messages). The fourth program, _\br_\bc_\bv_\bs_\bt_\bo_\br_\be (1) is
3531 described separately. They all reside in the /_\bu_\bs_\br/_\bl_\bo_\bc_\ba_\bl/_\bl_\bi_\bb/_\bm_\bh/
3532 directory.
3533
3534 The _\br_\bc_\bv_\bd_\bi_\bs_\bt program will resend a copy of the message to all of the
3535 addresses listed on its command line. It uses the format string
3536 facility described in _\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt (5).
3537
3538 The _\br_\bc_\bv_\bp_\ba_\bc_\bk program will append a copy of the message to the file
3539 listed on its command line. Its use is obsoleted by the "file"
3540 action of _\bs_\bl_\bo_\bc_\ba_\bl.
3541
3542 The _\br_\bc_\bv_\bt_\bt_\by program executes the named file with the message as its
3543 standard input, and writes the resulting output on your terminal.
3544
3545 If no file is specified, or is bogus, etc., then _\br_\bc_\bv_\bt_\bt_\by will
3546 instead write a one-line scan listing. Either the
3547 `-form formatfile' or `-format string' option may be used to over-
3548 ride the default output format (see _\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt (5)). A newline is
3549 output before the message output, and the terminal bell is rung
3550 after the output. The `-nonewline' and `-nobell' options will
3551 inhibit these functions.
3552
3553 In addition to the standard _\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt (5) escapes, _\br_\bc_\bv_\bt_\bt_\by also
3554 recognizes the following additional _\bc_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt escapes:
3555
3556
3557
3558
3559 [mh.6] MH.6.8 UCI version
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569 MHOOK(1) -54- MHOOK(1)
3570
3571
3572 _\bE_\bs_\bc_\ba_\bp_\be _\bR_\be_\bt_\bu_\br_\bn_\bs _\bD_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn
3573 body string the (compressed) first part of the body
3574 dtimenow date the current date
3575 folder string the name of the current folder
3576
3577 Normally, _\br_\bc_\bv_\bt_\bt_\by obeys write permission as granted by _\bm_\be_\bs_\bg (1).
3578 With the `-biff' option, _\br_\bc_\bv_\bt_\bt_\by will obey the notification status
3579 set by _\bb_\bi_\bf_\bf (1) instead. If the terminal access daemon (TTYD) is
3580 available on your system, then _\br_\bc_\bv_\bt_\bt_\by will give its output to the
3581 daemon for output instead of writing on the user's terminal.
3582
3583 _\bF_\bi_\bl_\be_\bs
3584 /usr/local/lib/mh/mtstailor tailor file
3585 $HOME/.maildelivery The file controlling local delivery
3586 /usr/local/lib/mh/maildelivery Rather than the standard file
3587
3588
3589 _\bS_\be_\be _\bA_\bl_\bs_\bo
3590 rcvstore (1), mh-format(5), slocal(1)
3591
3592
3593 _\bB_\bu_\bg_\bs
3594 Only two return codes are meaningful, others should be.
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625 [mh.6] MH.6.8 UCI version
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635 MHPARAM(1) -55- MHPARAM(1)
3636
3637
3638 _\bN_\bA_\bM_\bE
3639 mhparam - print MH profile components
3640
3641 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
3642 mhparam [components] [-all] [-component] [-nocomponent] [-help]
3643
3644 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
3645
3646 _\bM_\bh_\bp_\ba_\br_\ba_\bm writes the value of the specified profile component to the
3647 standard output separated by newlines. If the profile component is
3648 not present, the default value (or nothing if there is no default)
3649 is printed.
3650
3651 If more than one component is specified in the `components' list,
3652 the component value is preceded by the component name. If `-com-
3653 ponent' is specified, the component name is displayed even when
3654 only one component is specified. If `-nocomponent' is specified,
3655 the component name is not displayed even when more than one com-
3656 ponent is specified.
3657
3658 If `-all' is specified, all components if the MH profile are
3659 displayed and other arguments are ignored.
3660
3661 Examples:
3662
3663 % mhparam path
3664 Mail
3665
3666 % mhparam mhlproc
3667 /usr/local/lib/mh/mhl
3668
3669 % mhparam -component path
3670 Path: Mail
3671
3672 % mhparam AliasFile rmmproc
3673 AliasFile: aliases
3674 rmmproc: rmmproc
3675
3676 % mhparam -nocomponent AliasFile rmmproc
3677 aliases
3678 rmmproc
3679
3680 _\bM_\bh_\bp_\ba_\br_\ba_\bm is also useful in back-quoted operations:
3681
3682 % fgrep cornell.edu `mhpath +`/`mhparam aliasfile`
3683
3684
3685 _\bF_\bi_\bl_\be_\bs
3686 $HOME/.mh_profile The user profile
3687
3688
3689
3690
3691 [mh.6] MH.6.8 UCI version
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701 MHPARAM(1) -56- MHPARAM(1)
3702
3703
3704 _\bS_\be_\be _\bA_\bl_\bs_\bo
3705 mh-profile(5)
3706
3707
3708 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
3709 `-nocomponent' if only one component is specified
3710 `-component' if more than one component is specified
3711 `components' defaults to none
3712
3713
3714 _\bC_\bo_\bn_\bt_\be_\bx_\bt
3715 None
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757 [mh.6] MH.6.8 UCI version
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767 MHPATH(1) -57- MHPATH(1)
3768
3769
3770 _\bN_\bA_\bM_\bE
3771 mhpath - print full pathnames of MH messages and folders
3772
3773 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
3774 mhpath [+folder] [msgs] [-help]
3775
3776 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
3777
3778 _\bM_\bh_\bp_\ba_\bt_\bh expands and sorts the message list `msgs' and writes the
3779 full pathnames of the messages to the standard output separated by
3780 newlines. If no `msgs' are specified, _\bm_\bh_\bp_\ba_\bt_\bh outputs the folder
3781 pathname instead. If the only argument is `+', your MH _\bP_\ba_\bt_\bh is
3782 output; this can be useful is shell scripts.
3783
3784 Contrasted with other MH commands, a message argument to _\bm_\bh_\bp_\ba_\bt_\bh may
3785 often be intended for _\bw_\br_\bi_\bt_\bi_\bn_\bg. Because of this:
3786
3787 1) the name "new" has been added to _\bm_\bh_\bp_\ba_\bt_\bh's list of reserved mes-
3788 sage names (the others are "first", "last", "prev", "next", "cur",
3789 and "all"). The new message is equivalent to the message after the
3790 last message in a folder (and equivalent to 1 in a folder without
3791 messages). The "new" message may not be used as part of a message
3792 range.
3793
3794 2) Within a message list, the following designations may refer to
3795 messages that do not exist: a single numeric message name, the sin-
3796 gle message name "cur", and (obviously) the single message name
3797 "new". All other message designations must refer to at least one
3798 existing message.
3799
3800 3) An empty folder is not in itself an error.
3801
3802 Message numbers greater than the highest existing message in a
3803 folder as part of a range designation are replaced with the next
3804 free message number.
3805
3806 Examples: The current folder foo contains messages 3 5 6. Cur is
3807 4.
3808
3809 % mhpath
3810 /r/phyl/Mail/foo
3811
3812 % mhpath all
3813 /r/phyl/Mail/foo/3
3814 /r/phyl/Mail/foo/5
3815 /r/phyl/Mail/foo/6
3816
3817 % mhpath 2001
3818 /r/phyl/Mail/foo/7
3819
3820 % mhpath 1-2001
3821 /r/phyl/Mail/foo/3
3822
3823 [mh.6] MH.6.8 UCI version
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833 MHPATH(1) -58- MHPATH(1)
3834
3835
3836 /r/phyl/Mail/foo/5
3837 /r/phyl/Mail/foo/6
3838
3839 % mhpath new
3840 /r/phyl/Mail/foo/7
3841
3842 % mhpath last new
3843 /r/phyl/Mail/foo/6
3844 /r/phyl/Mail/foo/7
3845
3846 % mhpath last-new
3847 bad message list "last-new".
3848
3849 % mhpath cur
3850 /r/phyl/Mail/foo/4
3851
3852 % mhpath 1-2
3853 no messages in range "1-2".
3854
3855 % mhpath first:2
3856 /r/phyl/Mail/foo/3
3857 /r/phyl/Mail/foo/5
3858
3859 % mhpath 1 2
3860 /r/phyl/Mail/foo/1
3861 /r/phyl/Mail/foo/2
3862
3863 _\bM_\bH_\bp_\ba_\bt_\bh is also useful in back-quoted operations:
3864
3865 % cd `mhpath +inbox`
3866
3867 % echo `mhpath +`
3868 /r/phyl/Mail
3869
3870 _\bF_\bi_\bl_\be_\bs
3871 $HOME/.mh_profile The user profile
3872
3873
3874 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
3875 Path: To determine the user's MH directory
3876 Current-Folder: To find the default current folder
3877
3878
3879 _\bS_\be_\be _\bA_\bl_\bs_\bo
3880 folder(1)
3881
3882
3883 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
3884 `+folder' defaults to the current folder
3885 `msgs' defaults to none
3886
3887
3888
3889 [mh.6] MH.6.8 UCI version
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899 MHPATH(1) -59- MHPATH(1)
3900
3901
3902 _\bC_\bo_\bn_\bt_\be_\bx_\bt
3903 None
3904
3905
3906 _\bB_\bu_\bg_\bs
3907 Like all MH commands, _\bm_\bh_\bp_\ba_\bt_\bh expands and sorts [msgs]. So don't
3908 expect
3909
3910 mv `mhpath 501 500`
3911
3912 to move 501 to 500. Quite the reverse. But
3913
3914 mv `mhpath 501` `mhpath 500`
3915
3916 will do the trick.
3917
3918 Out of range message 0 is treated far more severely than large out
3919 of range message numbers.
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955 [mh.6] MH.6.8 UCI version
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965 MSGCHK(1) -60- MSGCHK(1)
3966
3967
3968 _\bN_\bA_\bM_\bE
3969 msgchk - check for messages
3970
3971 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
3972 msgchk [-date] [-nodate] [-notify all/mail/nomail]
3973 [-nonotify all/mail/nomail] [users ...] [-help]
3974
3975 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
3976
3977 The _\bm_\bs_\bg_\bc_\bh_\bk program checks all known mail drops for mail waiting for
3978 you. For those drops which have mail for you, _\bm_\bs_\bg_\bc_\bh_\bk will indicate
3979 if it believes that you have seen the mail in question before.
3980
3981 The `-notify type' switch indicates under what circumstances _\bm_\bs_\bg_\bc_\bh_\bk
3982 should produce a message. The default is `-notify all' which says
3983 that _\bm_\bs_\bg_\bc_\bh_\bk should always report the status of the users maildrop.
3984 Other values for `type' include `mail' which says that _\bm_\bs_\bg_\bc_\bh_\bk
3985 should report the status of waiting mail; and, `nomail' which says
3986 that _\bm_\bs_\bg_\bc_\bh_\bk should report the status of empty maildrops. The
3987 `-nonotify type' switch has the inverted sense, so `-nonotify all'
3988 directs _\bm_\bs_\bg_\bc_\bh_\bk to never report the status of maildrops. This is
3989 useful if the user wishes to check _\bm_\bs_\bg_\bc_\bh_\bk's exit status. A
3990 non-zero exit status indicates that mail was not waiting for at
3991 least one of the indicated users.
3992
3993 If _\bm_\bs_\bg_\bc_\bh_\bk produces output, then the `-date' switch directs _\bm_\bs_\bg_\bc_\bh_\bk
3994 to print out the last date mail was read, if this can be deter-
3995 mined.
3996
3997 _\bF_\bi_\bl_\be_\bs
3998 $HOME/.mh_profile The user profile
3999 /usr/local/lib/mh/mtstailor tailor file
4000 /usr/spool/mail/$USER Location of mail drop
4001
4002
4003 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
4004 None
4005
4006
4007 _\bS_\be_\be _\bA_\bl_\bs_\bo
4008 inc(1)
4009
4010
4011 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
4012 `user' defaults to the current user
4013 `-date'
4014 `-notify all'
4015
4016
4017 _\bC_\bo_\bn_\bt_\be_\bx_\bt
4018 None
4019
4020
4021 [mh.6] MH.6.8 UCI version
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031 MSGCHK(1) -61- MSGCHK(1)
4032
4033
4034 _\bN_\bA_\bM_\bE
4035 msh - MH shell (and BBoard reader)
4036
4037 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
4038 msh [-prompt string] [-scan] [-noscan] [-topcur] [-notopcur] [file]
4039 [-help]
4040
4041 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
4042
4043 _\bm_\bs_\bh is an interactive program that implements a subset of the nor-
4044 mal _\bM_\bH commands operating on a single file in _\bp_\ba_\bc_\bk_\bf'd format. That
4045 is, _\bm_\bs_\bh is used to read a file that contains a number of messages,
4046 as opposed to the standard _\bM_\bH style of reading a number of files,
4047 each file being a separate message in a folder. _\bm_\bs_\bh's chief advan-
4048 tage is that the normal _\bM_\bH style does not allow a file to have more
4049 than one message in it. Hence, _\bm_\bs_\bh is ideal for reading _\bB_\bB_\bo_\ba_\br_\bd_\bs,
4050 as these files are delivered by the transport system in this for-
4051 mat. In addition, _\bm_\bs_\bh can be used on other files, such as message
4052 archives which have been _\bp_\ba_\bc_\bked (see _\bp_\ba_\bc_\bk_\bf (1)). Finally, _\bm_\bs_\bh is
4053 an excellent _\bM_\bH tutor. As the only commands available to the user
4054 are _\bM_\bH commands, this allows _\bM_\bH beginners to concentrate on how
4055 commands to _\bM_\bH are formed and (more or less) what they mean.
4056
4057 When invoked, _\bm_\bs_\bh reads the named file, and enters a command loop.
4058 The user may type most of the normal _\bM_\bH commands. The syntax and
4059 semantics of these commands typed to _\bm_\bs_\bh are identical to their _\bM_\bH
4060 counterparts. In cases where the nature of _\bm_\bs_\bh would be incon-
4061 sistent (e.g., specifying a `+folder' with some commands), _\bm_\bs_\bh will
4062 duly inform the user. The commands that _\bm_\bs_\bh currently supports (in
4063 some slightly modified or restricted forms) are:
4064
4065 ali
4066 burst
4067 comp
4068 dist
4069 folder
4070 forw
4071 inc
4072 mark
4073 mhmail
4074 msgchk
4075 next
4076 packf
4077 pick
4078 prev
4079 refile
4080 repl
4081 rmm
4082 scan
4083 send
4084 show
4085 sortm
4086
4087 [mh.6] MH.6.8 UCI version
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097 MSH(1) -62- MSH(1)
4098
4099
4100 whatnow
4101 whom
4102
4103 In addition, _\bm_\bs_\bh has a "help" command which gives a brief overview.
4104 To terminate _\bm_\bs_\bh, type CTRL-D, or use the "quit" command. If _\bm_\bs_\bh
4105 is being invoked from _\bb_\bb_\bc, then typing CTRL-D will also tell _\bb_\bb_\bc to
4106 exit as well, while using the "quit" command will return control to
4107 _\bb_\bb_\bc, and _\bb_\bb_\bc will continue examining the list of BBoards that it is
4108 scanning.
4109
4110 If the file is writable and has been modified, then using "quit"
4111 will query the user if the file should be updated.
4112
4113 The `-prompt string' switch sets the prompting string for _\bm_\bs_\bh.
4114
4115 You may wish to use an alternate _\bM_\bH profile for the commands that
4116 _\bm_\bs_\bh executes; see _\bm_\bh-_\bp_\br_\bo_\bf_\bi_\bl_\be (5) for details about the $MH envari-
4117 able.
4118
4119 When invoked from _\bb_\bb_\bc, two special features are enabled: First, the
4120 `-scan' switch directs _\bm_\bs_\bh to do a `scan unseen' on start-up if new
4121 items are present in the BBoard. This feature is best used from
4122 _\bb_\bb_\bc, which correctly sets the stage. Second, the _\bm_\ba_\br_\bk command in
4123 _\bm_\bs_\bh acts specially when you are reading a BBoard, since _\bm_\bs_\bh will
4124 consult the sequence "unseen" in determining what messages you have
4125 actually read. When _\bm_\bs_\bh exits, it reports this information to _\bb_\bb_\bc.
4126 In addition, if you give the _\bm_\ba_\br_\bk command with no arguments, _\bm_\bs_\bh
4127 will interpret it as `mark -sequence unseen -delete -nozero all'
4128 Hence, to discard all of the messages in the current BBoard you're
4129 reading, just use the _\bm_\ba_\br_\bk command with no arguments.
4130
4131 Normally, the "exit" command is identical to the "quit" command in
4132 _\bm_\bs_\bh. When run under _\bb_\bb_\bc however, "exit" directs _\bm_\bs_\bh to mark all
4133 messages as seen and then "quit". For speedy type-in, this command
4134 is often abbreviated as just "e".
4135
4136 When invoked from _\bv_\bm_\bh, another special feature is enabled: The
4137 `topcur' switch directs _\bm_\bs_\bh to have the current message "track" the
4138 top line of the _\bv_\bm_\bh scan window. Normally, _\bm_\bs_\bh has the current
4139 message "track" the center of the window (under `-notopcur', which
4140 is the default).
4141
4142 _\bm_\bs_\bh supports an output redirection facility. Commands may be fol-
4143 lowed by one of
4144
4145 > _\bf_\bi_\bl_\be write output to _\bf_\bi_\bl_\be
4146 >> _\bf_\bi_\bl_\be append output to _\bf_\bi_\bl_\be
4147 | _\bc_\bo_\bm_\bm_\ba_\bn_\bd pipe output to UNIX _\bc_\bo_\bm_\bm_\ba_\bn_\bd
4148
4149 If _\bf_\bi_\bl_\be starts with a `~' (tilde), then a _\bc_\bs_\bh-like expansion takes
4150 place. Note that _\bc_\bo_\bm_\bm_\ba_\bn_\bd is interpreted by _\bs_\bh (1). Also note that
4151 _\bm_\bs_\bh does NOT support history substitutions, variable substitutions,
4152
4153 [mh.6] MH.6.8 UCI version
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163 MSH(1) -63- MSH(1)
4164
4165
4166 or alias substitutions.
4167
4168 When parsing commands to the left of any redirection symbol, _\bm_\bs_\bh
4169 will honor `\' (back-slash) as the quote next-character symbol, and
4170 `"' (double-quote) as quote-word delimiters. All other input
4171 tokens are separated by whitespace (spaces and tabs).
4172
4173 _\bF_\bi_\bl_\be_\bs
4174 $HOME/.mh_profile The user profile
4175 /usr/local/lib/mh/mtstailor tailor file
4176
4177
4178 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
4179 Path: To determine the user's MH directory
4180 Msg-Protect: To set mode when creating a new `file'
4181 fileproc: Program to file messages
4182 showproc: Program to show messages
4183
4184
4185 _\bS_\be_\be _\bA_\bl_\bs_\bo
4186 bbc(1)
4187
4188
4189 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
4190 `file' defaults to "./msgbox"
4191 `-prompt (msh) '
4192 `-noscan'
4193 `-notopcur'
4194
4195
4196 _\bC_\bo_\bn_\bt_\be_\bx_\bt
4197 None
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219 [mh.6] MH.6.8 UCI version
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229 MSH(1) -64- MSH(1)
4230
4231
4232 _\bB_\bu_\bg_\bs
4233 The argument to the `-prompt' switch must be interpreted as a sin-
4234 gle token by the shell that invokes _\bm_\bs_\bh. Therefore, one must usu-
4235 ally place the argument to this switch inside double-quotes.
4236
4237 There is a strict limit of messages per file in _\bp_\ba_\bc_\bk_\bf'd format
4238 which _\bm_\bs_\bh can handle. Usually, this limit is 1000 messages.
4239
4240 Please remember that _\bm_\bs_\bh is not the _\bC_\bS_\bh_\be_\bl_\bl, and that a lot of the
4241 nice facilities provided by the latter are not present in the form-
4242 er.
4243
4244 In particular, _\bm_\bs_\bh does not understand back-quoting, so the only
4245 effective way to use _\bp_\bi_\bc_\bk inside _\bm_\bs_\bh is to always use the
4246 `-seq select' switch. Clever users of _\bM_\bH will put the line
4247
4248 pick: -seq select -list
4249
4250 in their .mh_profile file so that _\bp_\bi_\bc_\bk works equally well from both
4251 the shell and _\bm_\bs_\bh.
4252
4253 _\bs_\bo_\br_\bt_\bm always uses "-noverbose" and if "-textfield field" is used,
4254 "-limit 0".
4255
4256 The _\bm_\bs_\bh program inherits most (if not all) of the bugs from the _\bM_\bH
4257 commands it implements.
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285 [mh.6] MH.6.8 UCI version
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295 NEXT(1) -65- NEXT(1)
4296
4297
4298 _\bN_\bA_\bM_\bE
4299 next - show the next message
4300
4301 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
4302 next [+folder] [-header] [-noheader] [-showproc program]
4303 [-noshowproc] [switches for _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc] [-help]
4304
4305 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
4306
4307 _\bN_\be_\bx_\bt performs a _\bs_\bh_\bo_\bw on the next message in the specified (or
4308 current) folder. Like _\bs_\bh_\bo_\bw, it passes any switches on to the pro-
4309 gram _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc, which is called to list the message. This command
4310 is almost exactly equivalent to "show next". Consult the manual
4311 entry for _\bs_\bh_\bo_\bw (1) for all the details.
4312
4313 _\bF_\bi_\bl_\be_\bs
4314 $HOME/.mh_profile The user profile
4315
4316
4317 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
4318 Path: To determine the user's MH directory
4319 Current-Folder: To find the default current folder
4320 showproc: Program to show the message
4321
4322
4323 _\bS_\be_\be _\bA_\bl_\bs_\bo
4324 show(1), prev(1)
4325
4326
4327 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
4328 `+folder' defaults to the current folder
4329 `-header'
4330
4331
4332 _\bC_\bo_\bn_\bt_\be_\bx_\bt
4333 If a folder is specified, it will become the current folder. The
4334 message that is shown (i.e., the next message in sequence) will be-
4335 come the current message.
4336
4337
4338 _\bB_\bu_\bg_\bs
4339 _\bn_\be_\bx_\bt is really a link to the _\bs_\bh_\bo_\bw program. As a result, if you
4340 make a link to _\bn_\be_\bx_\bt and that link is not called _\bn_\be_\bx_\bt, your link
4341 will act like _\bs_\bh_\bo_\bw instead. To circumvent this, add a
4342 profile-entry for the link to your _\bM_\bH profile and add the argument
4343 _\bn_\be_\bx_\bt to the entry.
4344
4345
4346
4347
4348
4349
4350
4351 [mh.6] MH.6.8 UCI version
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361 PACKF(1) -66- PACKF(1)
4362
4363
4364 _\bN_\bA_\bM_\bE
4365 packf - compress an MH folder into a single file
4366
4367 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
4368 packf [+folder] [msgs] [-file name] [-help]
4369
4370 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
4371
4372 _\bP_\ba_\bc_\bk_\bf takes messages from a folder and copies them to a single
4373 file. Each message in the file is separated by four CTRL-A's and a
4374 newline. Messages packed can be unpacked using _\bi_\bn_\bc.
4375
4376 If the _\bn_\ba_\bm_\be given to the `-file name' switch exists, then the mes-
4377 sages specified will be appended to the end of the file, otherwise
4378 the file will be created and the messages appended.
4379
4380 _\bF_\bi_\bl_\be_\bs
4381 $HOME/.mh_profile The user profile
4382 .msgbox.map A binary index of the file
4383
4384
4385 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
4386 Path: To determine the user's MH directory
4387 Current-Folder: To find the default current folder
4388 Msg-Protect: To set mode when creating a new `file'
4389
4390
4391 _\bS_\be_\be _\bA_\bl_\bs_\bo
4392 inc(1)
4393
4394
4395 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
4396 `+folder' defaults to the current folder
4397 `msgs' defaults to all
4398 `-file ./msgbox'
4399
4400
4401 _\bC_\bo_\bn_\bt_\be_\bx_\bt
4402 If a folder is given, it will become the current folder. The first
4403 message packed will become the current message.
4404
4405
4406 _\bB_\bu_\bg_\bs
4407 _\bP_\ba_\bc_\bk_\bf doesn't handle the old UUCP-style "mbox" format (used by
4408 _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl). To pack messages into this format, use the script
4409 /_\bu_\bs_\br/_\bl_\bo_\bc_\ba_\bl/_\bl_\bi_\bb/_\bm_\bh/_\bp_\ba_\bc_\bk_\bm_\bb_\bo_\bx. Note that _\bp_\ba_\bc_\bk_\bm_\bb_\bo_\bx does not take the
4410 `-file' option of _\bp_\ba_\bc_\bk_\bf, and instead writes its output on _\bs_\bt_\bd_\bo_\bu_\bt.
4411
4412
4413
4414
4415
4416
4417 [mh.6] MH.6.8 UCI version
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427 PICK(1) -67- PICK(1)
4428
4429
4430 _\bN_\bA_\bM_\bE
4431 pick - select messages by content
4432
4433 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
4434 pick [+folder] [msgs] [-and ...] [-or ...] [-not ...]
4435 [-lbrace ... -rbrace] [--component pattern] [-cc pattern]
4436 [-date pattern] [-from pattern] [-search pattern]
4437 [-subject pattern] [-to pattern] [-after date] [-before date]
4438 [-datefield field] [-sequence name ...] [-public] [-nopublic]
4439 [-zero] [-nozero] [-list] [-nolist] [-help]
4440
4441 typically:
4442 scan `pick -from jones`
4443 pick -to holloway -sequence select
4444 show `pick -before friday`
4445
4446 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
4447
4448 _\bP_\bi_\bc_\bk searches messages within a folder for the specified contents,
4449 and then identifies those messages. Two types of search primitives
4450 are available: pattern matching and date constraint operations.
4451
4452 A modified _\bg_\br_\be_\bp(1) is used to perform the matching, so the full
4453 regular expression (see _\be_\bd(1)) facility is available within `pat-
4454 tern'. With `-search', `pattern' is used directly, and with the
4455 others, the grep pattern constructed is:
4456
4457 "component[ \t]*:.*pattern"
4458
4459 This means that the pattern specified for a `-search' will be found
4460 everywhere in the message, including the header and the body, while
4461 the other pattern matching requests are limited to the single
4462 specified component. The expression
4463
4464 `--component pattern'
4465
4466 is a shorthand for specifying
4467
4468 `-search "component[ \t]*:.*pattern" '
4469
4470 It is used to pick a component which is not one of "To:", "cc:",
4471 "Date:", "From:", or "Subject:". An example is
4472 `pick --reply-to pooh'.
4473
4474 Pattern matching is performed on a per-line basis. Within the
4475 header of the message, each component is treated as one long line,
4476 but in the body, each line is separate. Lower-case letters in the
4477 search pattern will match either lower or upper case in the mes-
4478 sage, while upper case will match only upper case.
4479
4480 Note that since the `-date' switch is a pattern matching operation
4481 (as described above), to find messages sent on a certain date the
4482
4483 [mh.6] MH.6.8 UCI version
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493 PICK(1) -68- PICK(1)
4494
4495
4496 pattern string must match the text of the "Date:" field of the mes-
4497 sage.
4498
4499 Independent of any pattern matching operations requested, the
4500 switches `-after date' or `-before date' may also be used to intro-
4501 duce date/time contraints on all of the messages. By default, the
4502 "Date:" field is consulted, but if another date yielding field
4503 (such as "BB-Posted:" or "Delivery-Date:") should be used, the
4504 `-datefield field' switch may be used.
4505
4506 With `-before' and `-after', _\bp_\bi_\bc_\bk will actually parse the date
4507 fields in each of the messages specified in `msgs' and compare them
4508 to the date/time specified. If `-after' is given, then only those
4509 messages whose "Date:" field value is chronologically after the
4510 date specified will be considered. The `-before' switch specifies
4511 the complimentary action.
4512
4513 Both the `-after' and `-before' switches take legal 822-style date
4514 specifications as arguments. _\bP_\bi_\bc_\bk will default certain missing
4515 fields so that the entire date need not be specified. These fields
4516 are (in order of defaulting): timezone, time and timezone, date,
4517 date and timezone. All defaults are taken from the current date,
4518 time, and timezone.
4519
4520 In addition to 822-style dates, _\bp_\bi_\bc_\bk will also recognize any of the
4521 days of the week ("sunday", "monday", and so on), and the special
4522 dates "today", "yesterday" (24 hours ago), and "tomorrow" (24 hours
4523 from now). All days of the week are judged to refer to a day in
4524 the past (e.g., telling _\bp_\bi_\bc_\bk "saturday" on a "tuesday" means
4525 "last saturday" not "this saturday").
4526
4527 Finally, in addition to these special specifications, _\bp_\bi_\bc_\bk will
4528 also honor a specification of the form "-dd", which means "dd days
4529 ago".
4530
4531 _\bP_\bi_\bc_\bk supports complex boolean operations on the searching primi-
4532 tives with the `-and', `-or', `-not', and `-lbrace ... -rbrace'
4533 switches. For example,
4534
4535 pick -after yesterday -and
4536 -lbrace -from freida -or -from fear -rbrace
4537
4538 identifies messages recently sent by "frieda" or "fear".
4539
4540 The matching primitives take precedence over the `-not' switch,
4541 which in turn takes precedence over `-and' which in turn takes pre-
4542 cedence over `-or'. To override the default precedence, the
4543 `-lbrace' and `-rbrace' switches are provided, which act just like
4544 opening and closing parentheses in logical expressions.
4545
4546 If no search criteria are given, all the messages specified on the
4547 command line are selected (this defaults to "all").
4548
4549 [mh.6] MH.6.8 UCI version
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559 PICK(1) -69- PICK(1)
4560
4561
4562 Once the search has been performed, if the `-list' switch is given,
4563 the message numbers of the selected messages are written to the
4564 standard output separated by newlines. This is _\be_\bx_\bt_\br_\be_\bm_\be_\bl_\by useful
4565 for quickly generating arguments for other _\bM_\bH programs by using the
4566 "backquoting" syntax of the shell. For example, the command
4567
4568 scan `pick +todo -after "31 Mar 83 0123 PST"`
4569
4570 says to _\bs_\bc_\ba_\bn those messages in the indicated folder which meet the
4571 appropriate criterion. Note that since _\bp_\bi_\bc_\bk 's context changes are
4572 written out prior to _\bs_\bc_\ba_\bn 's invocation, you need not give the
4573 folder argument to _\bs_\bc_\ba_\bn as well.
4574
4575 Regardless of the operation of the `-list' switch, the `-sequence
4576 name' switch may be given once for each sequence the user wishes to
4577 define. For each sequence named, that sequence will be defined to
4578 mean exactly those messages selected by _\bp_\bi_\bc_\bk. For example,
4579
4580 pick -from frated -seq fred
4581
4582 defines a new message sequence for the current folder called "fred"
4583 which contains exactly those messages that were selected.
4584
4585 Note that whenever _\bp_\bi_\bc_\bk processes a `-sequence name' switch, it
4586 sets `-nolist'.
4587
4588 By default, _\bp_\bi_\bc_\bk will zero the sequence before adding it. This
4589 action can be disabled with the `-nozero' switch, which means that
4590 the messages selected by _\bp_\bi_\bc_\bk will be added to the sequence, if it
4591 already exists, and any messages already a part of that sequence
4592 will remain so.
4593
4594 The `-public' and `-nopublic' switches are used by _\bp_\bi_\bc_\bk in the same
4595 way _\bm_\ba_\br_\bk uses them.
4596
4597 _\bF_\bi_\bl_\be_\bs
4598 $HOME/.mh_profile The user profile
4599
4600
4601 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
4602 Path: To determine the user's MH directory
4603 Current-Folder: To find the default current folder
4604
4605
4606 _\bS_\be_\be _\bA_\bl_\bs_\bo
4607 mark(1)
4608
4609
4610
4611
4612
4613
4614
4615 [mh.6] MH.6.8 UCI version
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625 PICK(1) -70- PICK(1)
4626
4627
4628 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
4629 `+folder' defaults to the current folder
4630 `msgs' defaults to all
4631 `-datefield date'
4632 `-nopublic' if the folder is read-only, `-public' otherwise
4633 `-zero'
4634 `-list' is the default if no `-sequence', `-nolist' otherwise
4635
4636
4637 _\bC_\bo_\bn_\bt_\be_\bx_\bt
4638 If a folder is given, it will become the current folder.
4639
4640
4641 _\bH_\bi_\bs_\bt_\bo_\br_\by
4642 In previous versions of _\bM_\bH, the _\bp_\bi_\bc_\bk command would _\bs_\bh_\bo_\bw, _\bs_\bc_\ba_\bn, or
4643 _\br_\be_\bf_\bi_\bl_\be the selected messages. This was rather "inverted logic"
4644 from the UNIX point of view, so _\bp_\bi_\bc_\bk was changed to define se-
4645 quences and output those sequences. Hence, _\bp_\bi_\bc_\bk can be used to
4646 generate the arguments for all other _\bM_\bH commands, instead of giving
4647 _\bp_\bi_\bc_\bk endless switches for invoking those commands itself.
4648
4649 Also, previous versions of _\bp_\bi_\bc_\bk balked if you didn't specify a
4650 search string or a date/time constraint. The current version does
4651 not, and merely matches the messages you specify. This lets you
4652 type something like:
4653
4654 show `pick last:20 -seq fear`
4655
4656 instead of typing
4657
4658 mark -add -nozero -seq fear last:20
4659 show fear
4660
4661 Finally, timezones used to be ignored when comparing dates: they
4662 aren't any more.
4663
4664 _\bH_\be_\bl_\bp_\bf_\bu_\bl _\bH_\bi_\bn_\bt_\bs
4665
4666 Use "pick sequence -list" to enumerate the messages in a sequence
4667 (such as for use by a shell script).
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681 [mh.6] MH.6.8 UCI version
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691 PICK(1) -71- PICK(1)
4692
4693
4694 _\bB_\bu_\bg_\bs
4695 The argument to the `-after' and `-before' switches must be inter-
4696 preted as a single token by the shell that invokes _\bp_\bi_\bc_\bk. There-
4697 fore, one must usually place the argument to this switch inside
4698 double-quotes. Furthermore, any occurance of `-datefield' must oc-
4699 cur prior to the `-after' or `-before' switch it applies to.
4700
4701 If _\bp_\bi_\bc_\bk is used in a back-quoted operation, such as
4702
4703 scan `pick -from jones`
4704
4705 and _\bp_\bi_\bc_\bk selects no messages (e.g., no messages are from "jones"),
4706 then the shell will still run the outer command (e.g., "scan").
4707 Since no messages were matched, _\bp_\bi_\bc_\bk produced no output, and the
4708 argument given to the outer command as a result of backquoting _\bp_\bi_\bc_\bk
4709 is empty. In the case of _\bM_\bH programs, the outer command now acts
4710 as if the default `msg' or `msgs' should be used (e.g., "all" in
4711 the case of _\bs_\bc_\ba_\bn ). To prevent this unexpected behavior, if
4712 `-list' was given, and if its standard output is not a tty, then
4713 _\bp_\bi_\bc_\bk outputs the illegal message number "0" when it fails. This
4714 lets the outer command fail gracefully as well.
4715
4716 The pattern syntax "[l-r]" is not supported; each letter to be
4717 matched must be included within the square brackets.
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747 [mh.6] MH.6.8 UCI version
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757 PREV(1) -72- PREV(1)
4758
4759
4760 _\bN_\bA_\bM_\bE
4761 prev - show the previous message
4762
4763 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
4764 prev [+folder] [-header] [-noheader] [-showproc program]
4765 [-noshowproc] [-switches for _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc] [-help]
4766
4767 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
4768
4769 _\bP_\br_\be_\bv performs a _\bs_\bh_\bo_\bw on the previous message in the specified (or
4770 current) folder. Like _\bs_\bh_\bo_\bw, it passes any switches on to the pro-
4771 gram named by _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc, which is called to list the message. This
4772 command is almost exactly equivalent to "show prev". Consult the
4773 manual entry for _\bs_\bh_\bo_\bw (1) for all the details.
4774
4775 _\bF_\bi_\bl_\be_\bs
4776 $HOME/.mh_profile The user profile
4777
4778
4779 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
4780 Path: To determine the user's MH directory
4781 Current-Folder: To find the default current folder
4782 showproc: Program to show the message
4783
4784
4785 _\bS_\be_\be _\bA_\bl_\bs_\bo
4786 show(1), next(1)
4787
4788
4789 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
4790 `+folder' defaults to the current folder
4791 `-header'
4792
4793
4794 _\bC_\bo_\bn_\bt_\be_\bx_\bt
4795 If a folder is specified, it will become the current folder. The
4796 message that is shown (i.e., the previous message in sequence) will
4797 become the current message.
4798
4799
4800 _\bB_\bu_\bg_\bs
4801 _\bp_\br_\be_\bv is really a link to the _\bs_\bh_\bo_\bw program. As a result, if you
4802 make a link to _\bp_\br_\be_\bv and that link is not called _\bp_\br_\be_\bv, your link
4803 will act like _\bs_\bh_\bo_\bw instead. To circumvent this, add a
4804 profile-entry for the link to your _\bM_\bH profile and add the argument
4805 _\bp_\br_\be_\bv to the entry.
4806
4807
4808
4809
4810
4811
4812
4813 [mh.6] MH.6.8 UCI version
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823 PROMPTER(1) -73- PROMPTER(1)
4824
4825
4826 _\bN_\bA_\bM_\bE
4827 prompter - prompting editor front-end for MH
4828
4829 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
4830 prompter [-erase chr] [-kill chr] [-prepend] [-noprepend] [-rapid]
4831 [-norapid] [-doteof] [-nodoteof] file [-help]
4832
4833 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
4834
4835 This program is normally not invoked directly by users but takes
4836 the place of an editor and acts as an editor front-end. It
4837 operates on an 822-style message draft skeleton specified by file,
4838 normally provided by _\bc_\bo_\bm_\bp, _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, or _\br_\be_\bp_\bl.
4839
4840 _\bP_\br_\bo_\bm_\bp_\bt_\be_\br is an editor which allows rapid composition of messages.
4841 It is particularly useful to network and low-speed (less than 2400
4842 baud) users of _\bM_\bH. It is an _\bM_\bH program in that it can have its own
4843 profile entry with switches, but it is not invoked directly by the
4844 user. The commands _\bc_\bo_\bm_\bp, _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, and _\br_\be_\bp_\bl invoke _\bp_\br_\bo_\bm_\bp_\bt_\be_\br as
4845 an editor, either when invoked with `-editor prompter', or by the
4846 profile entry "Editor: prompter", or when given the command
4847 `edit prompter' at "What now?" level.
4848
4849 For each empty component _\bp_\br_\bo_\bm_\bp_\bt_\be_\br finds in the draft, the user is
4850 prompted for a response; A <RETURN> will cause the whole component
4851 to be left out. Otherwise, a `\' preceding a <RETURN> will con-
4852 tinue the response on the next line, allowing for multiline com-
4853 ponents. Continuation lines must begin with a space or tab.
4854
4855 Each non-empty component is copied to the draft and displayed on
4856 the terminal.
4857
4858 The start of the message body is denoted by a blank line or a line
4859 of dashes. If the body is non-empty, the prompt, which isn't writ-
4860 ten to the file, is
4861
4862 "--------Enter additional text",
4863
4864 or (if `-prepend' was given)
4865
4866 "--------Enter initial text".
4867
4868 Message-body typing is terminated with an end-of-file (usually
4869 CTRL-D). With the `-doteof' switch, a period on a line all by
4870 itself also signifies end-of-file. At this point control is
4871 returned to the calling program, where the user is asked "What
4872 now?". See _\bw_\bh_\ba_\bt_\bn_\bo_\bw for the valid options to this query.
4873
4874 By using the `-prepend' switch, the user can add type-in to the
4875 beginning of the message body and have the rest of the body follow.
4876 This is useful for the _\bf_\bo_\br_\bw command.
4877
4878
4879 [mh.6] MH.6.8 UCI version
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889 PROMPTER(1) -74- PROMPTER(1)
4890
4891
4892 By using the `-rapid' switch, if the draft already contains text in
4893 the message-body, it is not displayed on the user's terminal. This
4894 is useful for low-speed terminals.
4895
4896 The line editing characters for kill and erase may be specified by
4897 the user via the arguments `-kill chr' and `-erase chr', where chr
4898 may be a character; or `\nnn', where "nnn" is the octal value for
4899 the character.
4900
4901 An interrupt (usually CTRL-C) during component typing will abort
4902 _\bp_\br_\bo_\bm_\bp_\bt_\be_\br and the _\bM_\bH command that invoked it. An interrupt during
4903 message-body typing is equivalent to CTRL-D, for historical rea-
4904 sons. This means that _\bp_\br_\bo_\bm_\bp_\bt_\be_\br should finish up and exit.
4905
4906 The first non-flag argument to _\bp_\br_\bo_\bm_\bp_\bt_\be_\br is taken as the name of the
4907 draft file, and subsequent non-flag arguments are ignored.
4908
4909 _\bF_\bi_\bl_\be_\bs
4910 $HOME/.mh_profile The user profile
4911 /tmp/prompter* Temporary copy of message
4912
4913
4914 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
4915 prompter-next: To name the editor to be used on exit from
4916 _\bp_\br_\bo_\bm_\bp_\bt_\be_\br
4917 Msg-Protect: To set mode when creating a new draft
4918
4919
4920 _\bS_\be_\be _\bA_\bl_\bs_\bo
4921 comp(1), dist(1), forw(1), repl(1), whatnow(1)
4922
4923
4924 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
4925 `-prepend'
4926 `-norapid'
4927 `-nodoteof'
4928
4929
4930 _\bC_\bo_\bn_\bt_\be_\bx_\bt
4931 None
4932
4933 _\bH_\be_\bl_\bp_\bf_\bu_\bl _\bH_\bi_\bn_\bt_\bs
4934
4935 The `-rapid' option is particularly useful with _\bf_\bo_\br_\bw, and
4936 `-noprepend' is useful with _\bc_\bo_\bm_\bp -_\bu_\bs_\be.
4937
4938 The user may wish to link _\bp_\br_\bo_\bm_\bp_\bt_\be_\br under several names (e.g., "ra-
4939 pid") and give appropriate switches in the profile entries under
4940 these names (e.g., "rapid: -rapid"). This facilitates invoking
4941 prompter differently for different _\bM_\bH commands (e.g., "forw: -edi-
4942 tor rapid").
4943
4944
4945 [mh.6] MH.6.8 UCI version
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955 PROMPTER(1) -75- PROMPTER(1)
4956
4957
4958 _\bB_\bu_\bg_\bs
4959 _\bP_\br_\bo_\bm_\bp_\bt_\be_\br uses _\bs_\bt_\bd_\bi_\bo (3), so it will lose if you edit files with
4960 nulls in them.
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011 [mh.6] MH.6.8 UCI version
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021 RCVSTORE(1) -76- RCVSTORE(1)
5022
5023
5024 _\bN_\bA_\bM_\bE
5025 rcvstore - incorporate new mail asynchronously
5026
5027 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
5028 /usr/local/lib/mh/rcvstore [+folder] [-create] [-nocreate]
5029 [-sequence name ...] [-public] [-nopublic] [-zero] [-nozero]
5030 [-help]
5031
5032 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
5033
5034 _\bR_\bc_\bv_\bs_\bt_\bo_\br_\be incorporates a message from the standard input into an _\bM_\bH
5035 folder. If `+folder' isn't specified, a folder in the user's _\bM_\bH
5036 directory will be used, either that specified by the "Inbox:" entry
5037 in the user's profile, or the folder named "inbox". The new mes-
5038 sage being incorporated is assigned the next highest number in the
5039 folder. If the specified (or default) folder doesn't exist, then
5040 it will be created if the `-create' option is specified, otherwise
5041 _\br_\bc_\bv_\bs_\bt_\bo_\br_\be will exit.
5042
5043 If the user's profile contains a "Msg-Protect: nnn" entry, it will
5044 be used as the protection on the newly created messages, otherwise
5045 the _\bM_\bH default of 0644 will be used. During all operations on mes-
5046 sages, this initially assigned protection will be preserved for
5047 each message, so _\bc_\bh_\bm_\bo_\bd(1) may be used to set a protection on an
5048 individual message, and its protection will be preserved
5049 thereafter.
5050
5051 _\bR_\bc_\bv_\bs_\bt_\bo_\br_\be will incorporate anything except zero length messages into
5052 the user's MH folder.
5053
5054 If the profile entry "Unseen-Sequence" is present and non-empty,
5055 then _\br_\bc_\bv_\bs_\bt_\bo_\br_\be will add the newly incorporated message to each
5056 sequence named by the profile entry. This is similar to the
5057 "Previous-Sequence" profile entry supported by all _\bM_\bH commands
5058 which take `msgs' or `msg' arguments. Note that _\br_\bc_\bv_\bs_\bt_\bo_\br_\be will not
5059 zero each sequence prior to adding messages.
5060
5061 Furthermore, the incoming messages may be added to user-defined
5062 sequences as they arrive by appropriate use of the `-sequence'
5063 option. As with _\bp_\bi_\bc_\bk, use of the `-zero' and `-nozero' switches
5064 can also be used to zero old sequences or not. Similarly, use of
5065 the `-public' and `-nopublic switches may be used to force addi-
5066 tions to public and private sequences.
5067
5068 _\bF_\bi_\bl_\be_\bs
5069 $HOME/.mh_profile The user profile
5070
5071
5072
5073
5074
5075
5076
5077 [mh.6] MH.6.8 UCI version
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087 RCVSTORE(1) -77- RCVSTORE(1)
5088
5089
5090 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
5091 Path: To determine the user's MH directory
5092 Folder-Protect: To set mode when creating a new folder
5093 Inbox: To find the default inbox
5094 Msg-Protect: To set mode when creating a new message
5095 Unseen-Sequence: To name sequences denoting unseen messages
5096
5097
5098 _\bS_\be_\be _\bA_\bl_\bs_\bo
5099 inc(1), pick(1), mh-mail(5)
5100
5101
5102 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
5103 `+folder' defaults to "inbox"
5104 `-create'
5105 `-nopublic' if the folder is read-only, `-public' otherwise
5106 `-nozero'
5107
5108
5109 _\bC_\bo_\bn_\bt_\be_\bx_\bt
5110 No context changes will be attempted, with the exception of se-
5111 quence manipulation.
5112
5113
5114 _\bB_\bu_\bg_\bs
5115 If you use the "Unseen-Sequence" profile entry, _\br_\bc_\bv_\bs_\bt_\bo_\br_\be could try
5116 to update the context while another _\bM_\bH process is also trying to do
5117 so. This can cause the context to become corrupted. To avoid
5118 this, do not use _\br_\bc_\bv_\bs_\bt_\bo_\br_\be if you use the "Unseen-Sequence" profile
5119 entry.
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143 [mh.6] MH.6.8 UCI version
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153 REFILE(1) -78- REFILE(1)
5154
5155
5156 _\bN_\bA_\bM_\bE
5157 refile - file message in other folders
5158
5159 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
5160 refile [msgs] [-draft] [-link] [-nolink] [-preserve] [-nopreserve]
5161 [-src +folder] [-file file] [-rmmproc program] [-normmproc]
5162 +folder ... [-help]
5163
5164 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
5165
5166 _\bR_\be_\bf_\bi_\bl_\be moves (_\bm_\bv (1)) or links (_\bl_\bn (1)) messages from a source
5167 folder into one or more destination folders. If you think of a
5168 message as a sheet of paper, this operation is not unlike filing
5169 the sheet of paper (or copies) in file cabinet folders. When a
5170 message is filed, it is linked into the destination folder(s) if
5171 possible, and is copied otherwise. As long as the destination
5172 folders are all on the same file system, multiple filing causes
5173 little storage overhead. This facility provides a good way to
5174 cross-file or multiply-index messages. For example, if a message
5175 is received from Jones about the ARPA Map Project, the command
5176
5177 refile cur +jones +Map
5178
5179 would allow the message to be found in either of the two folders
5180 `jones' or `Map'.
5181
5182 The option `-file file' directs _\br_\be_\bf_\bi_\bl_\be to use the specified file as
5183 the source message to be filed, rather than a message from a
5184 folder. Note that the file should be a validly formatted message,
5185 just like any other _\bM_\bH message. It should NOT be in mail drop for-
5186 mat (to convert a file in mail drop format to a folder of _\bM_\bH mes-
5187 sages, see _\bi_\bn_\bc (1)).
5188
5189 If a destination folder doesn't exist, _\br_\be_\bf_\bi_\bl_\be will ask if you want
5190 to create it. A negative response will abort the file operation.
5191 If the standard input for _\br_\be_\bf_\bi_\bl_\be is _\bn_\bo_\bt a tty, then _\br_\be_\bf_\bi_\bl_\be will not
5192 ask any questions and will proceed as if the user answered "yes" to
5193 all questions.
5194
5195 The option `-link' preserves the source folder copy of the message
5196 (i.e., it does a _\bl_\bn(1) rather than a _\bm_\bv(1)), whereas, `-nolink'
5197 deletes the filed messages from the source folder. Normally, when
5198 a message is filed, it is assigned the next highest number avail-
5199 able in each of the destination folders. Use of the `-preserve'
5200 switch will override this message renaming, but name conflicts may
5201 occur, so use this switch cautiously.
5202
5203 If `-link' is not specified (or `-nolink' is specified), the filed
5204 messages will be removed from the source folder, by renaming them
5205 with a site-dependent prefix (usually a comma).
5206
5207
5208
5209 [mh.6] MH.6.8 UCI version
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219 REFILE(1) -79- REFILE(1)
5220
5221
5222 If the user has a profile component such as
5223
5224 rmmproc: /bin/rm
5225
5226 then _\br_\be_\bf_\bi_\bl_\be will instead call the named program to delete the mes-
5227 sage files. The user may specify `-rmmproc program' on the command
5228 line to override this profile specification. The `-normmproc'
5229 option forces the message files to be deleted by renaming them as
5230 described above.
5231
5232 The `-draft' switch tells _\br_\be_\bf_\bi_\bl_\be to file the <mh-dir>/draft.
5233
5234 _\bF_\bi_\bl_\be_\bs
5235 $HOME/.mh_profile The user profile
5236
5237
5238 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
5239 Path: To determine the user's MH directory
5240 Current-Folder: To find the default current folder
5241 Folder-Protect: To set mode when creating a new folder
5242 rmmproc: Program to delete the message
5243
5244
5245 _\bS_\be_\be _\bA_\bl_\bs_\bo
5246 folder(1)
5247
5248
5249 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
5250 `-src +folder' defaults to the current folder
5251 `msgs' defaults to cur
5252 `-nolink'
5253 `-nopreserve'
5254
5255
5256 _\bC_\bo_\bn_\bt_\be_\bx_\bt
5257 If `-src +folder' is given, it will become the current folder. If
5258 neither `-link' nor `all' is specified, the current message in the
5259 source folder will be set to the last message specified; otherwise,
5260 the current message won't be changed.
5261
5262 If the Previous-Sequence profile entry is set, in addition to de-
5263 fining the named sequences from the source folder, _\br_\be_\bf_\bi_\bl_\be will also
5264 define those sequences for the destination folders. See
5265 _\bm_\bh-_\bs_\be_\bq_\bu_\be_\bn_\bc_\be (5) for information concerning the previous sequence.
5266
5267
5268 _\bB_\bu_\bg_\bs
5269 Since _\br_\be_\bf_\bi_\bl_\be uses your _\br_\bm_\bm_\bp_\br_\bo_\bc to delete the message, the _\br_\bm_\bm_\bp_\br_\bo_\bc
5270 must NOT call _\br_\be_\bf_\bi_\bl_\be without specifying `-normmproc', or you will
5271 create an infinte loop.
5272
5273
5274
5275 [mh.6] MH.6.8 UCI version
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285 REPL(1) -80- REPL(1)
5286
5287
5288 _\bN_\bA_\bM_\bE
5289 repl - reply to a message
5290
5291 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
5292 repl [+folder] [msg] [-annotate] [-noannotate] [-cc all/to/cc/me]
5293 [-nocc all/to/cc/me] [-draftfolder +folder]
5294 [-draftmessage msg] [-nodraftfolder] [-editor editor]
5295 [-noedit] [-fcc +folder] [-filter filterfile] [-form formfile]
5296 [-inplace] [-noinplace] [-query] [-noquery] [-width columns]
5297 [-whatnowproc program] [-nowhatnowproc] [-help]
5298
5299 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
5300
5301 _\bR_\be_\bp_\bl aids a user in producing a reply to an existing message. _\bR_\be_\bp_\bl
5302 uses a reply template to guide its actions when constructing the
5303 message draft of the reply. In its simplest form (with no argu-
5304 ments), it will set up a message-form skeleton in reply to the
5305 current message in the current folder, and invoke the whatnow
5306 shell. The default reply template will direct _\br_\be_\bp_\bl to construct
5307 the composed message as follows:
5308
5309 To: <Reply-To> or <From>
5310 cc: <cc>, <To>, and yourself
5311 Subject: Re: <Subject>
5312 In-reply-to: Your message of <Date>.
5313 <Message-Id>
5314
5315 where field names enclosed in angle brackets (< >) indicate the
5316 contents of the named field from the message to which the reply is
5317 being made. A reply template is simply a format file. See
5318 _\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt (5) for the details.
5319
5320 The `-cc type' switch takes an argument which specifies who gets
5321 placed on the "cc:" list of the reply. The `-query' switch modi-
5322 fies the action of `-cc type' switch by interactively asking you if
5323 each address that normally would be placed in the "To:" and "cc:"
5324 list should actually be sent a copy. (This is useful for
5325 special-purpose replies.) Note that the position of the `-cc' and
5326 `-nocc' switches, like all other switches which take a positive and
5327 negative form, is important.
5328
5329 Lines beginning with the fields "To:", "cc:", and "Bcc:" will be
5330 standardized and have duplicate addresses removed. In addition,
5331 the `-width columns' switch will guide _\br_\be_\bp_\bl's formatting of these
5332 fields.
5333
5334 If the file named "replcomps" exists in the user's MH directory, it
5335 will be used instead of the default form. In either case, the file
5336 specified by `-form formfile' will be used if given.
5337
5338 If the draft already exists, _\br_\be_\bp_\bl will ask you as to the disposi-
5339 tion of the draft. A reply of quit will abort _\br_\be_\bp_\bl, leaving the
5340
5341 [mh.6] MH.6.8 UCI version
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351 REPL(1) -81- REPL(1)
5352
5353
5354 draft intact; replace will replace the existing draft with a blank
5355 skeleton; and list will display the draft.
5356
5357 See _\bc_\bo_\bm_\bp (1) for a description of the `-editor' and `-noedit'
5358 switches. Note that while in the editor, the message being replied
5359 to is available through a link named "@" (assuming the default
5360 _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc ). In addition, the actual pathname of the message is
5361 stored in the envariable $editalt, and the pathname of the folder
5362 containing the message is stored in the envariable $mhfolder.
5363
5364 Although _\br_\be_\bp_\bl uses the `-form formfile' switch to direct it how to
5365 construct the beginning of the draft, the `-filter filterfile'
5366 switch directs _\br_\be_\bp_\bl as to how the message being replied-to should
5367 be formatted in the body of the draft. If `-filter' is not speci-
5368 fied, then the message being replied-to is not included in the body
5369 of the draft. If `-filter filterfile' is specified, then the mes-
5370 sage being replied-to is filtered (re-formatted) prior to being
5371 output to the body of the draft. The filter file for _\br_\be_\bp_\bl should
5372 be a standard form file for _\bm_\bh_\bl, as _\br_\be_\bp_\bl will invoke _\bm_\bh_\bl to format
5373 the message being replied-to. There is no default message filter
5374 (`-filter' must be followed by a file name). A filter file that is
5375 commonly used is:
5376
5377 :
5378 body:nocomponent,compwidth=9,offset=9
5379
5380 which says to output a blank line and then the body of the message
5381 being replied-to, indented by one tab-stop. Another format popular
5382 on USENET is:
5383
5384
5385 message-id:nocomponent,nonewline,\
5386 formatfield="In message %{text}, "
5387 from:nocomponent,formatfield="%(friendly{text}) writes:"
5388 body:component=">",overflowtext=">",overflowoffset=0
5389
5390 Which cites the Message-ID and author of the message being
5391 replied-to, and then outputs each line of the body prefaced with
5392 the ">" character.
5393
5394 If the `-annotate' switch is given, the message being replied-to
5395 will be annotated with the lines
5396
5397 Replied: date
5398 Replied: addrs
5399
5400 where the address list contains one line for each addressee. The
5401 annotation will be done only if the message is sent directly from
5402 _\br_\be_\bp_\bl. If the message is not sent immediately from _\br_\be_\bp_\bl,
5403 "comp -use" may be used to re-edit and send the constructed mes-
5404 sage, but the annotations won't take place. The `-inplace' switch
5405 causes annotation to be done in place in order to preserve links to
5406
5407 [mh.6] MH.6.8 UCI version
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417 REPL(1) -82- REPL(1)
5418
5419
5420 the annotated message.
5421
5422 The `-fcc +folder' switch can be used to automatically specify a
5423 folder to receive Fcc:s. More than one folder, each preceeded by
5424 `-fcc' can be named.
5425
5426 In addition to the standard _\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt (5) escapes, _\br_\be_\bp_\bl also recog-
5427 nizes the following additional _\bc_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt escape:
5428
5429 _\bE_\bs_\bc_\ba_\bp_\be _\bR_\be_\bt_\bu_\br_\bn_\bs _\bD_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn
5430 _\bf_\bc_\bc string Any folders specified with `-fcc folder'
5431
5432 To avoid reiteration, _\br_\be_\bp_\bl strips any leading `Re: ' strings from
5433 the _\bs_\bu_\bb_\bj_\be_\bc_\bt component.
5434
5435 The `-draftfolder +folder' and `-draftmessage msg' switches invoke
5436 the _\bM_\bH draft folder facility. This is an advanced (and highly use-
5437 ful) feature. Consult the Advanced Features section of the _\bM_\bH
5438 manual for more information.
5439
5440 Upon exiting from the editor, _\br_\be_\bp_\bl will invoke the _\bw_\bh_\ba_\bt_\bn_\bo_\bw program.
5441 See _\bw_\bh_\ba_\bt_\bn_\bo_\bw (1) for a discussion of available options. The invoca-
5442 tion of this program can be inhibited by using the `-nowhatnowproc'
5443 switch. (In truth of fact, it is the _\bw_\bh_\ba_\bt_\bn_\bo_\bw program which starts
5444 the initial edit. Hence, `-nowhatnowproc' will prevent any edit
5445 from occurring.)
5446
5447 _\bF_\bi_\bl_\be_\bs
5448 /usr/local/lib/mh/replcomps The reply template
5449 or <mh-dir>/replcomps Rather than the standard template
5450 $HOME/.mh_profile The user profile
5451 <mh-dir>/draft The draft file
5452
5453
5454 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
5455 Path: To determine the user's MH directory
5456 Alternate-Mailboxes: To determine the user's mailboxes
5457 Current-Folder: To find the default current folder
5458 Draft-Folder: To find the default draft-folder
5459 Editor: To override the default editor
5460 Msg-Protect: To set mode when creating a new message
5461 (draft)
5462 fileproc: Program to refile the message
5463 mhlproc: Program to filter message being replied-to
5464 whatnowproc: Program to ask the "What now?" questions
5465
5466
5467 _\bS_\be_\be _\bA_\bl_\bs_\bo
5468 comp(1), dist(1), forw(1), send(1), whatnow(1), mh-format(5)
5469
5470
5471
5472
5473 [mh.6] MH.6.8 UCI version
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483 REPL(1) -83- REPL(1)
5484
5485
5486 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
5487 `+folder' defaults to the current folder
5488 `msg' defaults to cur
5489 `-nocc all' at ATHENA sites, `-cc all' otherwise
5490 `-noannotate'
5491 `-nodraftfolder'
5492 `-noinplace'
5493 `-noquery'
5494 `-width 72'
5495
5496
5497 _\bC_\bo_\bn_\bt_\be_\bx_\bt
5498 If a folder is given, it will become the current folder. The mes-
5499 sage replied-to will become the current message.
5500
5501
5502 _\bH_\bi_\bs_\bt_\bo_\br_\by
5503 Prior to using the format string mechanism, `-noformat' used to
5504 cause address headers to be output as-is. Now all address fields
5505 are formatted using Internet standard guidelines.
5506
5507
5508 _\bB_\bu_\bg_\bs
5509 If any addresses occur in the reply template, addresses in the tem-
5510 plate that do not contain hosts are defaulted incorrectly. Instead
5511 of using the localhost for the default, _\br_\be_\bp_\bl uses the sender's
5512 host. Moral of the story: if you're going to include addresses in
5513 a reply template, include the host portion of the address.
5514
5515 The `-width columns' switch is only used to do address-folding;
5516 other headers are not line-wrapped.
5517
5518 If _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc is _\bw_\bh_\ba_\bt_\bn_\bo_\bw, then _\br_\be_\bp_\bl uses a built-in _\bw_\bh_\ba_\bt_\bn_\bo_\bw, it
5519 does not actually run the _\bw_\bh_\ba_\bt_\bn_\bo_\bw program. Hence, if you define
5520 your own _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc, don't call it _\bw_\bh_\ba_\bt_\bn_\bo_\bw since _\br_\be_\bp_\bl won't run
5521 it.
5522
5523 If your current working directory is not writable, the link named
5524 "@" is not available.
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539 [mh.6] MH.6.8 UCI version
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549 RMF(1) -84- RMF(1)
5550
5551
5552 _\bN_\bA_\bM_\bE
5553 rmf - remove an MH folder
5554
5555 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
5556 rmf [+folder] [-interactive] [-nointeractive] [-help]
5557
5558 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
5559
5560 _\bR_\bm_\bf removes all of the messages (files) within the specified (or
5561 default) folder, and then removes the folder (directory) itself.
5562 If there are any files within the folder which are not a part of
5563 _\bM_\bH, they will _\bn_\bo_\bt be removed, and an error will be produced. If
5564 the folder is given explicitly or the `-nointeractive' option is
5565 given, then the folder will be removed without confirmation. Oth-
5566 erwise, the user will be asked for confirmation. If _\br_\bm_\bf can't find
5567 the current folder, for some reason, the folder to be removed
5568 defaults to `+inbox' (unless overridden by user's profile entry
5569 "Inbox") with confirmation.
5570
5571 _\bR_\bm_\bf irreversibly deletes messages that don't have other links, so
5572 use it with caution.
5573
5574 If the folder being removed is a subfolder, the parent folder will
5575 become the new current folder, and _\br_\bm_\bf will produce a message tel-
5576 ling the user this has happened. This provides an easy mechanism
5577 for selecting a set of messages, operating on the list, then remov-
5578 ing the list and returning to the current folder from which the
5579 list was extracted.
5580
5581 _\bR_\bm_\bf of a read-only folder will delete the private sequence and cur
5582 information (i.e., "atr-_\bs_\be_\bq-_\bf_\bo_\bl_\bd_\be_\br" entries) from the profile
5583 without affecting the folder itself.
5584
5585 _\bF_\bi_\bl_\be_\bs
5586 $HOME/.mh_profile The user profile
5587
5588
5589 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
5590 Path: To determine the user's MH directory
5591 Current-Folder: To find the default current folder
5592 Inbox: To find the default inbox
5593
5594
5595 _\bS_\be_\be _\bA_\bl_\bs_\bo
5596 rmm(1)
5597
5598
5599 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
5600 `+folder' defaults to the current folder, usually with confirmation
5601 `-interactive' if +folder' not given, `-nointeractive' otherwise
5602
5603
5604
5605 [mh.6] MH.6.8 UCI version
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615 RMF(1) -85- RMF(1)
5616
5617
5618 _\bC_\bo_\bn_\bt_\be_\bx_\bt
5619 _\bR_\bm_\bf will set the current folder to the parent folder if a subfolder
5620 is removed; or if the current folder is removed, it will make "in-
5621 box" current. Otherwise, it doesn't change the current folder or
5622 message.
5623
5624
5625 _\bB_\bu_\bg_\bs
5626 Although intuitively one would suspect that _\br_\bm_\bf works recursively,
5627 it does not. Hence if you have a sub-folder within a folder, in
5628 order to _\br_\bm_\bf the parent, you must first _\br_\bm_\bf each of the children.
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671 [mh.6] MH.6.8 UCI version
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681 RMM(1) -86- RMM(1)
5682
5683
5684 _\bN_\bA_\bM_\bE
5685 rmm - remove messages
5686
5687 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
5688 rmm [+folder] [msgs] [-help]
5689
5690 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
5691
5692 _\bR_\bm_\bm removes the specified messages by renaming the message files
5693 with preceding commas. Many sites consider files that start with a
5694 comma to be a temporary backup, and arrange for _\bc_\br_\bo_\bn (8) to remove
5695 such files once a day.
5696
5697 If the user has a profile component such as
5698
5699 rmmproc: /bin/rm
5700
5701 then instead of simply renaming the message file, _\br_\bm_\bm will call the
5702 named program to delete the file. Note that at most installations,
5703 _\bc_\br_\bo_\bn (8) is told to remove files that begin with a comma once a
5704 night.
5705
5706 Some users of csh prefer the following:
5707
5708 alias rmm 'refile +d'
5709
5710 where folder +d is a folder for deleted messages, and
5711
5712 alias mexp 'rm `mhpath +d all`'
5713
5714 is used to "expunge" deleted messages.
5715
5716 The current message is not changed by _\br_\bm_\bm, so a _\bn_\be_\bx_\bt will advance
5717 to the next message in the folder as expected.
5718
5719 _\bF_\bi_\bl_\be_\bs
5720 $HOME/.mh_profile The user profile
5721
5722
5723 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
5724 Path: To determine the user's MH directory
5725 Current-Folder: To find the default current folder
5726 rmmproc: Program to delete the message
5727
5728
5729 _\bS_\be_\be _\bA_\bl_\bs_\bo
5730 rmf(1)
5731
5732
5733 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
5734 `+folder' defaults to the current folder
5735 `msgs' defaults to cur
5736
5737 [mh.6] MH.6.8 UCI version
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747 RMM(1) -87- RMM(1)
5748
5749
5750 _\bC_\bo_\bn_\bt_\be_\bx_\bt
5751 If a folder is given, it will become the current folder.
5752
5753
5754 _\bB_\bu_\bg_\bs
5755 Since _\br_\be_\bf_\bi_\bl_\be uses your _\br_\bm_\bm_\bp_\br_\bo_\bc to delete the message, the _\br_\bm_\bm_\bp_\br_\bo_\bc
5756 must NOT call _\br_\be_\bf_\bi_\bl_\be without specifying `-normmproc', or you will
5757 create an infinte loop.
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803 [mh.6] MH.6.8 UCI version
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813 SCAN(1) -88- SCAN(1)
5814
5815
5816 _\bN_\bA_\bM_\bE
5817 scan - produce a one line per message scan listing
5818
5819 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
5820 scan [+folder] [msgs] [-clear] [-noclear] [-form formatfile]
5821 [-format string] [-header] [-noheader] [-width columns]
5822 [-reverse] [-noreverse] [-file filename] [-help]
5823
5824 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
5825
5826 _\bS_\bc_\ba_\bn produces a one-line-per-message listing of the specified mes-
5827 sages. Each _\bs_\bc_\ba_\bn line contains the message number (name), the
5828 date, the "From:" field, the "Subject" field, and, if room allows,
5829 some of the body of the message. For example:
5830
5831 15+ 7/ 5 Dcrocker nned <<Last week I asked some of
5832 16 - 7/ 5 dcrocker message id format <<I recommend
5833 18 7/ 6 Obrien Re: Exit status from mkdir
5834 19 7/ 7 Obrien "scan" listing format in MH
5835
5836 The `+' on message 15 indicates that it is the current message.
5837 The `-' on message 16 indicates that it has been replied to, as
5838 indicated by a "Replied:" component produced by an `-annotate'
5839 switch to the _\br_\be_\bp_\bl command.
5840
5841 If there is sufficient room left on the _\bs_\bc_\ba_\bn line after the sub-
5842 ject, the line will be filled with text from the body, preceded by
5843 <<, and terminated by >> if the body is sufficiently short. _\bS_\bc_\ba_\bn
5844 actually reads each of the specified messages and parses them to
5845 extract the desired fields. During parsing, appropriate error mes-
5846 sages will be produced if there are format errors in any of the
5847 messages.
5848
5849 The `-header' switch produces a header line prior to the _\bs_\bc_\ba_\bn list-
5850 ing. Currently, the name of the folder and the current date and
5851 time are output (see the HISTORY section for more information).
5852
5853 If the `-clear' switch is used and _\bs_\bc_\ba_\bn'_\bs output is directed to a
5854 terminal, then _\bs_\bc_\ba_\bn will consult the $TERM and $TERMCAP envariables
5855 to determine your terminal type in order to find out how to clear
5856 the screen prior to exiting. If the `-clear' switch is used and
5857 _\bs_\bc_\ba_\bn'_\bs output is not directed to a terminal (e.g., a pipe or a
5858 file), then _\bs_\bc_\ba_\bn will send a formfeed prior to exiting.
5859
5860 For example, the command:
5861
5862 (scan -clear -header; show all -show pr -f) | lpr
5863
5864 produces a scan listing of the current folder, followed by a
5865 formfeed, followed by a formatted listing of all messages in the
5866 folder, one per page. Omitting `-show pr -f' will cause the mes-
5867 sages to be concatenated, separated by a one-line header and two
5868
5869 [mh.6] MH.6.8 UCI version
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879 SCAN(1) -89- SCAN(1)
5880
5881
5882 blank lines.
5883
5884 If _\bs_\bc_\ba_\bn encounters a message without a "Date:" field, rather than
5885 leaving that portion of the scan listing blank, the date is
5886 filled-in with the last write date of the message, and post-fixed
5887 with a `*'. This is particularly handy for scanning a _\bd_\br_\ba_\bf_\bt
5888 _\bf_\bo_\bl_\bd_\be_\br, as message drafts usually aren't allowed to have dates in
5889 them.
5890
5891 To override the output format used by _\bs_\bc_\ba_\bn, the `-format string' or
5892 `-form file' switches are used. This permits individual fields of
5893 the scan listing to be extracted with ease. The string is simply a
5894 format string and the file is simply a format file. See
5895 _\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt (5) for the details.
5896
5897 In addition to the standard _\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt (5) escapes, _\bs_\bc_\ba_\bn also recog-
5898 nizes the following additional _\bc_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt escapes:
5899
5900 _\bE_\bs_\bc_\ba_\bp_\be _\bR_\be_\bt_\bu_\br_\bn_\bs _\bD_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn
5901 body string the (compressed) first part of the body
5902 dtimenow date the current date
5903 folder string the name of the current folder
5904
5905 Also, if no date header was present in the message, the _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
5906 escapes which operate on {_\bd_\ba_\bt_\be} will return values for the date of
5907 last modification of the message file itself.
5908
5909 _\bs_\bc_\ba_\bn will update the _\bM_\bH context prior to starting the listing, so
5910 interrupting a long _\bs_\bc_\ba_\bn listing preserves the new context. _\bM_\bH
5911 purists hate this idea.
5912
5913 _\bF_\bi_\bl_\be_\bs
5914 $HOME/.mh_profile The user profile
5915
5916
5917 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
5918 Path: To determine the user's MH directory
5919 Alternate-Mailboxes: To determine the user's mailboxes
5920 Current-Folder: To find the default current folder
5921
5922
5923 _\bS_\be_\be _\bA_\bl_\bs_\bo
5924 inc(1), pick(1), show(1), mh-format(5)
5925
5926
5927 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
5928 `+folder' defaults to the folder current
5929 `msgs' defaults to all
5930 `-format' defaulted as described above
5931 `-noheader'
5932 `-width' defaulted to the width of the terminal
5933
5934
5935 [mh.6] MH.6.8 UCI version
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945 SCAN(1) -90- SCAN(1)
5946
5947
5948 _\bC_\bo_\bn_\bt_\be_\bx_\bt
5949 If a folder is given, it will become the current folder.
5950
5951
5952 _\bH_\bi_\bs_\bt_\bo_\br_\by
5953 Prior to using the format string mechanism, `-header' used to gen-
5954 erate a heading saying what each column in the listing was. Format
5955 strings prevent this from happening.
5956
5957
5958 _\bB_\bu_\bg_\bs
5959 The argument to the `-format' switch must be interpreted as a sin-
5960 gle token by the shell that invokes _\bs_\bc_\ba_\bn. Therefore, one must usu-
5961 ally place the argument to this switch inside double-quotes.
5962 The value of each _\bc_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt escape is set by _\bs_\bc_\ba_\bn to the contents
5963 of the first message header _\bs_\bc_\ba_\bn encounters with the corresponding
5964 component name; any following headers with the same component name
5965 are ignored.
5966
5967 The switch `-reverse', makes _\bs_\bc_\ba_\bn list the messages in reverse ord-
5968 er; this should be considered a bug.
5969
5970 The `-file filename' switch allows the user to obtain a _\bs_\bc_\ba_\bn list-
5971 ing of a maildrop file as produced by _\bp_\ba_\bc_\bk_\bf. This listing includes
5972 every message in the file. The user should use _\bm_\bs_\bh for more selec-
5973 tive processing of the file. `-reverse' is ignored with this op-
5974 tion.
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001 [mh.6] MH.6.8 UCI version
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011 SEND(1) -91- SEND(1)
6012
6013
6014 _\bN_\bA_\bM_\bE
6015 send - send a message
6016
6017 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
6018 send [-alias aliasfile] [-draft] [-draftfolder +folder]
6019 [-draftmessage msg] [-nodraftfolder] [-filter filterfile]
6020 [-nofilter] [-format] [-noformat] [-forward] [-noforward]
6021 [-msgid] [-nomsgid] [-push] [-nopush] [-verbose] [-noverbose]
6022 [-watch] [-nowatch] [-width columns] [file ...] [-help]
6023
6024 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
6025
6026 _\bS_\be_\bn_\bd will cause each of the specified files to be delivered (via
6027 _\bp_\bo_\bs_\bt (8)) to each of the destinations in the "To:", "cc:", "Bcc:",
6028 and "Fcc:" fields of the message. If _\bs_\be_\bn_\bd is re-distributing a
6029 message, as invoked from _\bd_\bi_\bs_\bt, then the corresponding "Resent-xxx"
6030 fields are examined instead.
6031
6032 If `-push' is specified, _\bs_\be_\bn_\bd will detach itself from the user's
6033 terminal and perform its actions in the background. If _\bp_\bu_\bs_\bh 'd and
6034 the draft can't be sent, then the `-forward' switch says that draft
6035 should be forwarded with the failure notice sent to the user. This
6036 differs from putting _\bs_\be_\bn_\bd in the background because the output is
6037 trapped and analyzed by _\bM_\bH.
6038
6039 If `-verbose' is specified, _\bs_\be_\bn_\bd will indicate the interactions
6040 occurring with the transport system, prior to actual delivery. If
6041 `-watch' is specified _\bs_\be_\bn_\bd will monitor the delivery of local and
6042 network mail. Hence, by specifying both switches, a large detail
6043 of information can be gathered about each step of the message's
6044 entry into the transport system.
6045
6046 The `-draftfolder +folder' and `-draftmessage msg' switches invoke
6047 the _\bM_\bH draft folder facility. This is an advanced (and highly use-
6048 ful) feature. Consult the Advanced Features section of the _\bM_\bH
6049 manual for more information.
6050
6051 _\bS_\be_\bn_\bd with no _\bf_\bi_\bl_\be argument will query whether the draft is the
6052 intended file, whereas `-draft' will suppress this question. Once
6053 the transport system has successfully accepted custody of the mes-
6054 sage, the file will be renamed with a leading comma, which allows
6055 it to be retrieved until the next draft message is sent. If there
6056 are errors in the formatting of the message, _\bs_\be_\bn_\bd will abort with a
6057 (hopefully) helpful error message.
6058
6059 If a "Bcc:" field is encountered, its addresses will be used for
6060 delivery, and the "Bcc:" field will be removed from the message
6061 sent to sighted recipients. The blind recipients will receive an
6062 entirely new message with a minimal set of headers. Included in
6063 the body of the message will be a copy of the message sent to the
6064 sighted recipients. If `-filter filterfile' is specified, then
6065 this copy is filtered (re-formatted) prior to being sent to the
6066
6067 [mh.6] MH.6.8 UCI version
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077 SEND(1) -92- SEND(1)
6078
6079
6080 blind recipients.
6081
6082 Prior to sending the message, the fields "From: user@local", and
6083 "Date: now" will be appended to the headers in the message. If the
6084 envariable $SIGNATURE is set, then its value is used as your per-
6085 sonal name when constructing the "From:" line of the message. If
6086 this envariable is not set, then _\bs_\be_\bn_\bd will consult the profile
6087 entry "Signature" for this information. On hosts where _\bM_\bH was con-
6088 figured with the UCI option, if $SIGNATURE is not set and the "Sig-
6089 nature" profile entry is not present, then the file
6090 $HOME/.signature is consulted. If `-msgid' is specified, then a
6091 "Message-ID:" field will also be added to the message.
6092
6093 If _\bs_\be_\bn_\bd is re-distributing a message (when invoked by _\bd_\bi_\bs_\bt ), then
6094 "Resent-" will be prepended to each of these fields: "From:",
6095 "Date:", and "Message-ID:". If the message already contains a
6096 "From:" field, then a "Sender: user@local" field will be added as
6097 well. (An already existing "Sender:" field is an error!)
6098
6099 By using the `-format' switch, each of the entries in the "To:" and
6100 "cc:" fields will be replaced with "standard" format entries. This
6101 standard format is designed to be usable by all of the message
6102 handlers on the various systems around the Internet. If `-nofor-
6103 mat' is given, then headers are output exactly as they appear in
6104 the message draft.
6105
6106 If an "Fcc: folder" is encountered, the message will be copied to
6107 the specified folder for the sender in the format in which it will
6108 appear to any non-Bcc receivers of the message. That is, it will
6109 have the appended fields and field reformatting. The "Fcc:" fields
6110 will be removed from all outgoing copies of the message.
6111
6112 By using the `-width columns' switch, the user can direct _\bs_\be_\bn_\bd as
6113 to how long it should make header lines containing addresses.
6114
6115 The files specified by the profile entry "Aliasfile:" and any addi-
6116 tional alias files given by the `-alias aliasfile' switch will be
6117 read (more than one file, each preceeded by `-alias', can be
6118 named). See _\bm_\bh-_\ba_\bl_\bi_\ba_\bs (5) for more information.
6119
6120 _\bF_\bi_\bl_\be_\bs
6121 $HOME/.mh_profile The user profile
6122
6123
6124 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
6125 Path: To determine the user's MH directory
6126 Draft-Folder: To find the default draft-folder
6127 Aliasfile: For a default alias file
6128 Signature: To determine the user's mail signature
6129 mailproc: Program to post failure notices
6130 postproc: Program to post the message
6131
6132
6133 [mh.6] MH.6.8 UCI version
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143 SEND(1) -93- SEND(1)
6144
6145
6146 _\bS_\be_\be _\bA_\bl_\bs_\bo
6147 comp(1), dist(1), forw(1), repl(1), mh-alias(5), post(8)
6148
6149
6150 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
6151 `file' defaults to <mh-dir>/draft
6152 `-alias /usr/local/lib/mh/MailAliases'
6153 `-nodraftfolder'
6154 `-nofilter'
6155 `-format'
6156 `-forward'
6157 `-nomsgid'
6158 `-nopush'
6159 `-noverbose'
6160 `-nowatch'
6161 `-width 72'
6162
6163
6164 _\bC_\bo_\bn_\bt_\be_\bx_\bt
6165 None
6166
6167
6168 _\bB_\bu_\bg_\bs
6169 Under some configurations, it is not possible to mointor the mail
6170 delivery transaction; `-watch' is a no-op on those systems.
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199 [mh.6] MH.6.8 UCI version
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209 SHOW(1) -94- SHOW(1)
6210
6211
6212 _\bN_\bA_\bM_\bE
6213 show - show (list) messages
6214
6215 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
6216 show [+folder] [msgs] [-draft] [-header] [-noheader]
6217 [-showproc program] [-noshowproc] [switches for _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc]
6218 [-help]
6219
6220 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
6221
6222 _\bS_\bh_\bo_\bw lists each of the specified messages to the standard output
6223 (typically, the terminal). Typically, the messages are listed
6224 exactly as they are, with no reformatting. A program named by the
6225 _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc profile component is invoked to do the listing, and any
6226 switches not recognized by _\bs_\bh_\bo_\bw are passed along to that program.
6227 The default program is known as _\bm_\bo_\br_\be (1). To override the default
6228 and the _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc profile component, use the `-showproc program'
6229 switch. For example, `-show pr' will cause the _\bp_\br (1) program to
6230 list the messages. The _\bM_\bH command _\bm_\bh_\bl can be used as a _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc to
6231 show messages in a more uniform format. Normally, this program is
6232 specified as the _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc is the user's .mh_profile. See _\bm_\bh_\bl (1)
6233 for the details. If the `-noshowproc' option is specified,
6234 `/bin/cat' is used instead of _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc.
6235
6236 The `-header' switch tells _\bs_\bh_\bo_\bw to display a one-line description
6237 of the message being shown. This description includes the folder
6238 and the message number.
6239
6240 If no `msgs' are specified, the current message is used. If more
6241 than one message is specified, _\bm_\bo_\br_\be will prompt for a <RETURN>
6242 prior to listing each message. _\bm_\bo_\br_\be will list each message, a page
6243 at a time. When the end of page is reached, _\bm_\bo_\br_\be will ring the
6244 bell and wait for a <SPACE> or <RETURN>. If a <RETURN> is entered,
6245 _\bm_\bo_\br_\be will print the next line, whereas <SPACE> will print the next
6246 screenful. To exit _\bm_\bo_\br_\be, type "q".
6247
6248 If the standard output is not a terminal, no queries are made, and
6249 each file is listed with a one-line header and two lines of separa-
6250 tion.
6251
6252 "show -draft" will list the file <mh-dir>/draft if it exists.
6253
6254 If the profile entry "Unseen-Sequence" is present and non-empty,
6255 then _\bs_\bh_\bo_\bw will remove each of the messages shown from each sequence
6256 named by the profile entry. This is similar to the
6257 "Previous-Sequence" profile entry supported by all _\bM_\bH commands
6258 which take `msgs' or `msg' arguments.
6259
6260 _\bF_\bi_\bl_\be_\bs
6261 $HOME/.mh_profile The user profile
6262
6263
6264
6265 [mh.6] MH.6.8 UCI version
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275 SHOW(1) -95- SHOW(1)
6276
6277
6278 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
6279 Path: To determine the user's MH directory
6280 Current-Folder: To find the default current folder
6281 Unseen-Sequence: To name sequences denoting unseen messages
6282 showproc: Program to show messages
6283
6284
6285 _\bS_\be_\be _\bA_\bl_\bs_\bo
6286 mhl(1), more(1), next(1), pick(1), prev(1), scan(1)
6287
6288
6289 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
6290 `+folder' defaults to the current folder
6291 `msgs' defaults to cur
6292 `-header'
6293
6294
6295 _\bC_\bo_\bn_\bt_\be_\bx_\bt
6296 If a folder is given, it will become the current folder. The last
6297 message shown will become the current message.
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331 [mh.6] MH.6.8 UCI version
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341 SHOW(1) -96- SHOW(1)
6342
6343
6344 _\bB_\bu_\bg_\bs
6345 The `-header' switch doesn't work when `msgs' expands to more than
6346 one message. If the _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc is _\bm_\bh_\bl, then is problem can be cir-
6347 cumvented by referencing the "messagename" field in the _\bm_\bh_\bl format
6348 file.
6349
6350 _\bS_\bh_\bo_\bw updates the user's context before showing the message. Hence
6351 _\bs_\bh_\bo_\bw will mark messages as seen prior to the user actually seeing
6352 them. This is generally not a problem, unless the user relies on
6353 the "unseen" messages mechanism, and interrupts _\bs_\bh_\bo_\bw while it is
6354 showing "unseen" messages.
6355
6356 If _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc is _\bm_\bh_\bl, then _\bs_\bh_\bo_\bw uses a built-in _\bm_\bh_\bl: it does not ac-
6357 tually run the _\bm_\bh_\bl program. Hence, if you define your own
6358 _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc, don't call it _\bm_\bh_\bl since _\bs_\bh_\bo_\bw won't run it.
6359
6360 If _\bm_\bo_\br_\be (1) is your showproc (the default), then avoid running _\bs_\bh_\bo_\bw
6361 in the background with only its standard output piped to another
6362 process, as in
6363
6364 show | imprint &
6365
6366 Due to a bug in _\bm_\bo_\br_\be, show will go into a "tty input" state. To
6367 avoid this problem, re-direct _\bs_\bh_\bo_\bw's diagnostic output as well.
6368 For users of _\bc_\bs_\bh:
6369
6370 show |& imprint &
6371
6372 For users of _\bs_\bh:
6373
6374 show 2>&1 | imprint &
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397 [mh.6] MH.6.8 UCI version
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407 SLOCAL(1) -97- SLOCAL(1)
6408
6409
6410 _\bN_\bA_\bM_\bE
6411 slocal - special local mail delivery
6412
6413 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
6414 /usr/local/lib/mh/slocal [address info sender]
6415 [-addr address] [-info data] [-sender sender]
6416 [-user username] [-mailbox mbox] [-file file]
6417 [-maildelivery deliveryfile] [-verbose] [-noverbose] [-debug]
6418 [-help]
6419
6420 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
6421
6422 _\bS_\bl_\bo_\bc_\ba_\bl is a program designed to allow you to have your inbound mail
6423 processed according to a complex set of selection criteria. You do
6424 not normally invoke _\bs_\bl_\bo_\bc_\ba_\bl yourself, rather _\bs_\bl_\bo_\bc_\ba_\bl is invoked on
6425 your behalf by your system's Message Transfer Agent.
6426
6427 The message selection criteria used by _\bs_\bl_\bo_\bc_\ba_\bl is specified in the
6428 file ._\bm_\ba_\bi_\bl_\bd_\be_\bl_\bi_\bv_\be_\br_\by in the user's home directory. The format of
6429 this file is given below.
6430
6431 The message delivery address and message sender are determined from
6432 the Message Transfer Agent envelope information, if possible.
6433 Under _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl, the sender will obtained from the UUCP "From "
6434 line, if present. The user may override these values with command
6435 line arguments, or arguments to the `-addr' and `-sender' switches.
6436
6437 The message is normally read from the standard input. The `-file'
6438 switch sets the name of the file from which the message should be
6439 read, instead of reading stdin. The `-user' switch tells _\bs_\bl_\bo_\bc_\ba_\bl
6440 the name of the user for whom it is delivering mail. The `-mail-
6441 box' switch tells _\bs_\bl_\bo_\bc_\ba_\bl the name of the user's maildrop file.
6442
6443 The `-info' switch may be used to pass an arbitrary argument to
6444 sub-processes which _\bs_\bl_\bo_\bc_\ba_\bl may invoke on your behalf. The `-ver-
6445 bose' switch causes _\bs_\bl_\bo_\bc_\ba_\bl to give information on stdout about its
6446 progress. The `-debug' switch produces more verbose debugging out-
6447 put on stderr.
6448
6449
6450 _\bM_\be_\bs_\bs_\ba_\bg_\be _\bT_\br_\ba_\bn_\bs_\bf_\be_\br _\bA_\bg_\be_\bn_\bt_\bs
6451
6452 If your MTA is _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl, you should include the line
6453
6454 "| /usr/local/lib/mh/slocal -user username"
6455
6456 in your .forward file in your home directory. This will cause
6457 _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl to invoke _\bs_\bl_\bo_\bc_\ba_\bl on your behalf.
6458
6459 If your MTA is _\bM_\bM_\bD_\bF-_\bI, you should (symbolically) link
6460 /usr/local/lib/mh/slocal to the file bin/rcvmail in your home
6461 directory. This will cause _\bM_\bM_\bD_\bF-_\bI to invoke _\bs_\bl_\bo_\bc_\ba_\bl on your behalf
6462
6463 [mh.6] MH.6.8 UCI version
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473 SLOCAL(1) -98- SLOCAL(1)
6474
6475
6476 with the correct "_\ba_\bd_\bd_\br_\be_\bs_\bs _\bi_\bn_\bf_\bo _\bs_\be_\bn_\bd_\be_\br" arguments.
6477
6478 If your MTA is _\bM_\bM_\bD_\bF-_\bI_\bI, then you should not use _\bs_\bl_\bo_\bc_\ba_\bl. An
6479 equivalent functionality is already provided by _\bM_\bM_\bD_\bF-_\bI_\bI; see mail-
6480 delivery(5) for details.
6481
6482
6483 _\bT_\bh_\be _\bM_\ba_\bi_\bl_\bd_\be_\bl_\bi_\bv_\be_\br_\by _\bF_\bi_\bl_\be
6484
6485
6486 The ._\bm_\ba_\bi_\bl_\bd_\be_\bl_\bi_\bv_\be_\br_\by file controls how local delivery is performed.
6487 Each line of this file consists of five fields, separated by
6488 white-space or comma. Since double-quotes are honored, these char-
6489 acters may be included in a single argument by enclosing the entire
6490 argument in double-quotes. A double-quote can be included by
6491 preceding it with a backslash. Lines beginning with `#' are
6492 ignored. The format of each line in the ._\bm_\ba_\bi_\bl_\bd_\be_\bl_\bi_\bv_\be_\br_\by file is:
6493
6494
6495 header pattern action result string
6496
6497 header:
6498 The name of a header field that is to be searched for a pat-
6499 tern. This is any field in the headers of the message that
6500 might be present. The following special fields are also
6501 defined:
6502
6503 _\bs_\bo_\bu_\br_\bc_\be the out-of-band sender information
6504 _\ba_\bd_\bd_\br the address that was used to cause delivery to the
6505 recipient
6506 _\bd_\be_\bf_\ba_\bu_\bl_\bt this matches _\bo_\bn_\bl_\by if the message hasn't been
6507 delivered yet
6508 * this always matches
6509
6510 pattern:
6511 The sequence of characters to match in the specified header
6512 field. Matching is case-insensitive, but does not use regular
6513 expressions.
6514
6515 action:
6516 The action to take to deliver the message:
6517
6518 _\bd_\be_\bs_\bt_\br_\bo_\by This action always succeeds.
6519
6520 _\bf_\bi_\bl_\be or > Append the message to the file named by string. The
6521 message is appended to the file in the maildrop for-
6522 mat which is used by your message transport system.
6523 If the message can be appended to the file, then
6524 this action succeeds. When writing to the file, a
6525 "Delivery-Date: date" header is added which indi-
6526 cates the date and time that message was appended to
6527 the file.
6528
6529 [mh.6] MH.6.8 UCI version
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539 SLOCAL(1) -99- SLOCAL(1)
6540
6541
6542 _\bm_\bb_\bo_\bx Identical to _\bf_\bi_\bl_\be, but always appends the message
6543 using the format used by _\bp_\ba_\bc_\bk_\bf (the MMDF mailbox
6544 format).
6545
6546 _\bp_\bi_\bp_\be or | Pipe the message as the standard input to the com-
6547 mand named by string, using the Bourne shell _\bs_\bh(1)
6548 to interpret the string. Prior to giving the string
6549 to the shell, it is expanded with the following
6550 built-in variables:
6551
6552 $(sender) the out-of-band sender information
6553 $(address) the address that was used to cause
6554 delivery to the recipient
6555 $(size) the size of the message in bytes
6556 $(reply-to) either the "Reply-To:" or "From:" field
6557 of the message
6558 $(info) the out-of-band information specified
6559 _\bq_\bp_\bi_\bp_\be or
6560 <_\bc_\ba_\br_\be_\bt> Similar to _\bp_\bi_\bp_\be, but executes the command directly,
6561 after built-in variable expansion, without assis-
6562 tance from the shell. This action can be used to
6563 avoid quoting special characters which your shell
6564 might interpret.
6565
6566 result:
6567 Indicates how the action should be performed:
6568
6569 _\bA Perform the action. If the action succeeds, then
6570 the message is considered delivered.
6571
6572 _\bR Perform the action. Regardless of the outcome of
6573 the action, the message is not considered delivered.
6574
6575 ? Perform the action only if the message has not been
6576 delivered. If the action succeeds, then the message
6577 is considered delivered.
6578
6579 _\bN Perform the action only if the message has not been
6580 delivered and the previous action succeeded. If
6581 this action succeeds, then the message is considered
6582 delivered.
6583
6584 To summarize, here's an example:
6585
6586 #_\bf_\bi_\be_\bl_\bd _\bp_\ba_\bt_\bt_\be_\br_\bn _\ba_\bc_\bt_\bi_\bo_\bn _\br_\be_\bs_\bu_\bl_\bt _\bs_\bt_\br_\bi_\bn_\bg
6587 # lines starting with a '#' are ignored, as are blank lines
6588 #
6589 # file mail with mmdf2 in the "To:" line into file mmdf2.log
6590 _\bT_\bo _\bm_\bm_\bd_\bf_\b2 _\bf_\bi_\bl_\be _\bA _\bm_\bm_\bd_\bf_\b2._\bl_\bo_\bg
6591 # Messages from mmdf pipe to the program err-message-archive
6592 _\bF_\br_\bo_\bm _\bm_\bm_\bd_\bf _\bp_\bi_\bp_\be _\bA /_\bb_\bi_\bn/_\be_\br_\br-_\bm_\be_\bs_\bs_\ba_\bg_\be-_\ba_\br_\bc_\bh_\bi_\bv_\be
6593 # Anything with the "Sender:" address "mh-workers"
6594
6595 [mh.6] MH.6.8 UCI version
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605 SLOCAL(1) -100- SLOCAL(1)
6606
6607
6608 # file in mh.log if not filed already
6609 _\bS_\be_\bn_\bd_\be_\br _\bm_\bh-_\bw_\bo_\br_\bk_\be_\br_\bs _\bf_\bi_\bl_\be ? _\bm_\bh._\bl_\bo_\bg
6610 # "To:" unix - put in file unix-news
6611 _\bT_\bo _\bU_\bn_\bi_\bx > _\bA _\bu_\bn_\bi_\bx-_\bn_\be_\bw_\bs
6612 # if the address is jpo=ack - send an acknowledgement copy back
6613 _\ba_\bd_\bd_\br _\bj_\bp_\bo=_\ba_\bc_\bk | _\bR "/_\bb_\bi_\bn/_\br_\be_\bs_\be_\bn_\bd -_\br $(_\br_\be_\bp_\bl_\by-_\bt_\bo)"
6614 # anything from steve - destroy!
6615 _\bF_\br_\bo_\bm _\bs_\bt_\be_\bv_\be _\bd_\be_\bs_\bt_\br_\bo_\by _\bA -
6616 # anything not matched yet - put into mailbox
6617 _\bd_\be_\bf_\ba_\bu_\bl_\bt - > ? _\bm_\ba_\bi_\bl_\bb_\bo_\bx
6618 # always run rcvtty
6619 * - | _\bR /_\bm_\bh/_\bl_\bi_\bb/_\br_\bc_\bv_\bt_\bt_\by
6620
6621 The file is always read completely, so that several matches can be
6622 made and several actions can be taken. The ._\bm_\ba_\bi_\bl_\bd_\be_\bl_\bi_\bv_\be_\br_\by file must
6623 be owned either by the user or by root, and must be writable only
6624 by the owner. If the ._\bm_\ba_\bi_\bl_\bd_\be_\bl_\bi_\bv_\be_\br_\by file cannot be found, or does
6625 not perform an action which delivers the message, then the file
6626 /usr/local/lib/mh/maildelivery is read according to the same rules.
6627 This file must be owned by the root and must be writable only by
6628 the root. If this file cannot be found or does not perform an
6629 action which delivers the message, then standard delivery to the
6630 user's maildrop is performed.
6631
6632
6633 _\bS_\bu_\bb-_\bp_\br_\bo_\bc_\be_\bs_\bs _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt
6634
6635 When a process is invoked, its environment is: the user/group-ids
6636 are set to recipient's ids; the working directory is the
6637 recipient's home directory; the umask is 0077; the process has no
6638 /dev/tty; the standard input is set to the message; the standard
6639 output and diagnostic output are set to /dev/null; all other file-
6640 descriptors are closed; the envariables $USER, $HOME, $SHELL are
6641 set appropriately, and no other envariables exist.
6642
6643 The process is given a certain amount of time to execute. If the
6644 process does not exit within this limit, the process will be ter-
6645 minated with extreme prejudice. The amount of time is calculated
6646 as ((size x 60) + 300) seconds, where size is the number of bytes
6647 in the message.
6648
6649 The exit status of the process is consulted in determining the suc-
6650 cess of the action. An exit status of zero means that the action
6651 succeeded. Any other exit status (or abnormal termination) means
6652 that the action failed.
6653
6654 In order to avoid any time limitations, you might implement a pro-
6655 cess that began by _\bf_\bo_\br_\bk_\bi_\bn_\bg. The parent would return the appropri-
6656 ate value immediately, and the child could continue on, doing what-
6657 ever it wanted for as long as it wanted. This approach is somewhat
6658 risky if the parent is going to return an exit status of zero. If
6659 the parent is going to return a non-zero exit status, then this
6660
6661 [mh.6] MH.6.8 UCI version
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671 SLOCAL(1) -101- SLOCAL(1)
6672
6673
6674 approach can lead to quicker delivery into your maildrop.
6675
6676 _\bF_\bi_\bl_\be_\bs
6677 /usr/local/lib/mh/mtstailor MH tailor file
6678 $HOME/.maildelivery The file controlling local delivery
6679 /usr/local/lib/mh/maildelivery Rather than the standard file
6680 /usr/spool/mail/$USER The default maildrop
6681
6682
6683 _\bS_\be_\be _\bA_\bl_\bs_\bo
6684 rcvstore(1), mhook(1), mh-format(5)
6685
6686
6687 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
6688 `-noverbose'
6689 `-maildelivery .maildelivery'
6690 `-mailbox /usr/spool/mail/$USER'
6691 `-file' defaults to stdin
6692 `-user' defaults to the current user
6693
6694
6695 _\bC_\bo_\bn_\bt_\be_\bx_\bt
6696 None
6697
6698
6699 _\bH_\bi_\bs_\bt_\bo_\br_\by
6700 _\bS_\bl_\bo_\bc_\ba_\bl is designed to be backward-compatible with the _\bm_\ba_\bi_\bl_\bd_\be_\bl_\bi_\bv_\be_\br_\by
6701 facility provided by _\bM_\bM_\bD_\bF-_\bI_\bI. Thus, the ._\bm_\ba_\bi_\bl_\bd_\be_\bl_\bi_\bv_\be_\br_\by file syntax
6702 is limited, as is the functionality of _\bs_\bl_\bo_\bc_\ba_\bl.
6703
6704 In addition to an exit status of zero, the _\bM_\bM_\bD_\bF values _\bR_\bP__\bM_\bO_\bK (32)
6705 and _\bR_\bP__\bO_\bK (9) mean that the message has been fully delivered. Any
6706 other non-zero exit status, including abnormal termination, is in-
6707 terpreted as the _\bM_\bM_\bD_\bF value _\bR_\bP__\bM_\bE_\bC_\bH (200), which means "use an al-
6708 ternate route" (deliver the message to the maildrop).
6709
6710
6711 _\bB_\bu_\bg_\bs
6712 Only two return codes are meaningful, others should be.
6713
6714 _\bS_\bl_\bo_\bc_\ba_\bl is designed to be backwards-compatible with the _\bm_\ba_\bi_\bl_\bd_\be_\bl_\bi_\bv_\be_\br_\by
6715 functionality provided by MMDF-II.
6716
6717 Versions of _\bM_\bM_\bD_\bF with the _\bm_\ba_\bi_\bl_\bd_\be_\bl_\bi_\bv_\be_\br_\by mechanism aren't entirely
6718 backwards-compatible with earlier versions of _\bM_\bM_\bD_\bF. If you have an
6719 _\bM_\bM_\bD_\bF-_\bI old-style hook, the best you can do is to have a one-line
6720 ._\bm_\ba_\bi_\bl_\bd_\be_\bl_\bi_\bv_\be_\br_\by file:
6721
6722 default - pipe A "bin/rcvmail $(address) $(info) $(sender)"
6723
6724
6725
6726
6727 [mh.6] MH.6.8 UCI version
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737 SORTM(1) -102- SORTM(1)
6738
6739
6740 _\bN_\bA_\bM_\bE
6741 sortm - sort messages
6742
6743 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
6744 sortm [+folder] [msgs] [-datefield field] [-textfield field]
6745 [-notextfield] [-limit days] [-nolimit] [-verbose]
6746 [-noverbose] [-help]
6747
6748 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
6749
6750 _\bS_\bo_\br_\bt_\bm sorts the specified messages in the named folder according to
6751 the chronological order of the "Date:" field of each message.
6752
6753 The `-verbose' switch directs _\bs_\bo_\br_\bt_\bm to tell the user the general
6754 actions that it is taking to place the folder in sorted order.
6755
6756 The `-datefield field' switch tells _\bs_\bo_\br_\bt_\bm the name of the field to
6757 use when making the date comparison. If the user has a special
6758 field in each message, such as "BB-Posted:" or "Delivery-Date:",
6759 then the `-datefield' switch can be used to direct _\bs_\bo_\br_\bt_\bm which
6760 field to examine.
6761
6762 The `-textfield field' switch causes _\bs_\bo_\br_\bt_\bm to sort messages by the
6763 specified text field. If this field is "subject", any leading
6764 "re:" is stripped off. In any case, all characters except letters
6765 and numbers are stripped and the resulting strings are sorted
6766 datefield-major, textfield-minor, using a case insensitive com-
6767 parison.
6768
6769 With `-textfield field', if `-limit days' is specified, messages
6770 with similar textfields that are dated within `days' of each other
6771 appear together. Specifying `-nolimit' makes the limit infinity.
6772 With `-limit 0', the sort is instead made textfield-major,
6773 date-minor.
6774
6775 For example, to order a folder by date-major, subject-minor, use:
6776
6777 sortm -textfield subject +folder
6778
6779
6780 _\bF_\bi_\bl_\be_\bs
6781 $HOME/.mh_profile The user profile
6782
6783
6784 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
6785 Path: To determine the user's MH directory
6786 Current-Folder: To find the default current folder
6787
6788
6789 _\bS_\be_\be _\bA_\bl_\bs_\bo
6790 folder (1)
6791
6792
6793 [mh.6] MH.6.8 UCI version
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803 SORTM(1) -103- SORTM(1)
6804
6805
6806 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
6807 `+folder' defaults to the current folder
6808 `msgs' defaults to all
6809 `-datefield date'
6810 `-notextfield'
6811 `-noverbose'
6812 `-nolimit'
6813
6814
6815 _\bC_\bo_\bn_\bt_\be_\bx_\bt
6816 If a folder is given, it will become the current folder. If the
6817 current message is moved, _\bs_\bo_\br_\bt_\bm will preserve its status as
6818 current.
6819
6820
6821 _\bH_\bi_\bs_\bt_\bo_\br_\by
6822 Timezones used to be ignored when comparing dates: they aren't any
6823 more.
6824
6825 Messages which were in the folder, but not specified by `msgs',
6826 used to be moved to the end of the folder; now such messages are
6827 left untouched.
6828
6829 _\bS_\bo_\br_\bt_\bm sometimes did not preserve the message numbering in a folder
6830 (e.g., messages 1, 3, and 5, might have been renumbered to 1, 2, 3
6831 after sorting). This was a bug, and has been fixed. To compress
6832 the message numbering in a folder, use "_\bf_\bo_\bl_\bd_\be_\br -_\bp_\ba_\bc_\bk" as always.
6833
6834
6835 _\bB_\bu_\bg_\bs
6836 If _\bs_\bo_\br_\bt_\bm encounters a message without a date-field, or if the mes-
6837 sage has a date-field that _\bs_\bo_\br_\bt_\bm cannot parse, then _\bs_\bo_\br_\bt_\bm attempts
6838 to keep the message in the same relative position. This does not
6839 always work. For instance, if the first message encountered lacks
6840 a date which can be parsed, then it will usually be placed at the
6841 end of the messages being sorted.
6842
6843 When _\bs_\bo_\br_\bt_\bm complains about a message which it can't temporally ord-
6844 er, it complains about the message number _\bp_\br_\bi_\bo_\br to sorting. It
6845 should indicate what the message number will be _\ba_\bf_\bt_\be_\br sorting.
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859 [mh.6] MH.6.8 UCI version
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869 VMH(1) -104- VMH(1)
6870
6871
6872 _\bN_\bA_\bM_\bE
6873 vmh - visual front-end to MH
6874
6875 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
6876 vmh [-prompt string] [-vmhproc program] [-novmhproc]
6877 [switches for _\bv_\bm_\bh_\bp_\br_\bo_\bc] [-help]
6878
6879 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
6880
6881 _\bv_\bm_\bh is a program which implements the server side of the _\bM_\bH window
6882 management protocol and uses _\bc_\bu_\br_\bs_\be_\bs (3) routines to maintain a
6883 split-screen interface to any program which implements the client
6884 side of the protocol. This latter program, called the _\bv_\bm_\bh_\bp_\br_\bo_\bc, is
6885 specified using the `-vmhproc program' switch.
6886
6887 The upshot of all this is that one can run _\bm_\bs_\bh on a display termi-
6888 nal and get a nice visual interface. To do this, for example, just
6889 add the line
6890
6891 mshproc: vmh
6892
6893 to your .mh_profile. (This takes advantage of the fact that _\bm_\bs_\bh is
6894 the default _\bv_\bm_\bh_\bp_\br_\bo_\bc for _\bv_\bm_\bh.)
6895
6896 In order to facilitate things, if the `-novmhproc' switch is given,
6897 and _\bv_\bm_\bh can't run on the user's terminal, the _\bv_\bm_\bh_\bp_\br_\bo_\bc is run
6898 directly without the window management protocol.
6899
6900 After initializing the protocol, _\bv_\bm_\bh prompts the user for a command
6901 to be given to the client. Usually, this results in output being
6902 sent to one or more windows. If a output to a window would cause
6903 it to scroll, _\bv_\bm_\bh prompts the user for instructions, roughly per-
6904 mitting the capabilities of _\bl_\be_\bs_\bs or _\bm_\bo_\br_\be (e.g., the ability to
6905 scroll backwards and forwards):
6906
6907 SPACE advance to the next windowful
6908 RETURN * advance to the next line
6909 y * retreat to the previous line
6910 d * advance to the next ten lines
6911 u * retreat to the previous ten lines
6912 g * go to an arbitrary line
6913 (preceed g with the line number)
6914 G * go to the end of the window
6915 (if a line number is given, this acts like `g')
6916 CTRL-L refresh the entire screen
6917 h print a help message
6918 q abort the window
6919
6920 (A `*' indicates that a numeric prefix is meaningful for this com-
6921 mand.)
6922
6923 Note that if a command resulted in more than one window's worth of
6924
6925 [mh.6] MH.6.8 UCI version
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935 VMH(1) -105- VMH(1)
6936
6937
6938 information being displayed, and you allow the command which is
6939 generating information for the window to gracefully finish (i.e.,
6940 you don't use the `q' command to abort information being sent to
6941 the window), then _\bv_\bm_\bh will give you one last change to peruse the
6942 window. This is useful for scrolling back and forth. Just type
6943 `q' when you're done.
6944
6945 To abnormally terminate _\bv_\bm_\bh (without core dump), use <QUIT> (usu-
6946 ally CTRL-\). For instance, this does the "right" thing with _\bb_\bb_\bc
6947 and _\bm_\bs_\bh.
6948
6949 _\bF_\bi_\bl_\be_\bs
6950 $HOME/.mh_profile The user profile
6951
6952
6953 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
6954 Path: To determine the user's MH directory
6955
6956
6957 _\bS_\be_\be _\bA_\bl_\bs_\bo
6958 msh(1)
6959
6960
6961 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
6962 `-prompt (vmh) '
6963 `-vmhproc msh'
6964
6965
6966 _\bC_\bo_\bn_\bt_\be_\bx_\bt
6967 None
6968
6969
6970 _\bB_\bu_\bg_\bs
6971 The argument to the `-prompt' switch must be interpreted as a sin-
6972 gle token by the shell that invokes _\bv_\bm_\bh. Therefore, one must usu-
6973 ally place the argument to this switch inside double-quotes.
6974
6975 At present, there is no way to pass signals (e.g., interrupt, quit)
6976 to the client. However, generating QUIT when _\bv_\bm_\bh is reading a com-
6977 mand from the terminal is sufficient to tell the client to go away
6978 quickly.
6979
6980 Acts strangely (loses peer or botches window management protocol
6981 with peer) on random occasions.
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991 [mh.6] MH.6.8 UCI version
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001 WHATNOW(1) -106- WHATNOW(1)
7002
7003
7004 _\bN_\bA_\bM_\bE
7005 whatnow - prompting front-end for send
7006
7007 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
7008 whatnow [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
7009 [-editor editor] [-noedit] [-prompt string] [file] [-help]
7010
7011 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
7012
7013 _\bW_\bh_\ba_\bt_\bn_\bo_\bw is the default program that queries the user about the
7014 disposition of a composed draft. It is normally invoked by one of
7015 _\bc_\bo_\bm_\bp, _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, or _\br_\be_\bp_\bl after the initial edit.
7016
7017 When started, the editor is started on the draft (unless `-noedit'
7018 is given, in which case the initial edit is suppressed). Then,
7019 _\bw_\bh_\ba_\bt_\bn_\bo_\bw repetitively prompts the user with "What now?" and awaits a
7020 response. The valid responses are:
7021
7022 display to list the message being distributed/replied-to on
7023 the terminal
7024 edit to re-edit using the same editor that was used on the
7025 preceding round unless a profile entry
7026 "<lasteditor>-next: <editor>" names an alternate editor
7027 edit <editor> to invoke <editor> for further editing
7028 list to list the draft on the terminal
7029 push to send the message in the background
7030 quit to terminate the session and preserve the draft
7031 quit -delete to terminate, then delete the draft
7032 refile +folder to refile the draft into the given folder
7033 send to send the message
7034 send -watch to cause the delivery process to be monitored
7035 whom to list the addresses that the message will go to
7036 whom -check to list the addresses and verify that they are
7037 acceptable to the transport service
7038
7039 For the edit response, any valid switch to the editor is valid.
7040 Similarly, for the send and whom responses, any valid switch to
7041 _\bs_\be_\bn_\bd (1) and _\bw_\bh_\bo_\bm (1) commands, respectively, are valid. For the
7042 push response, any valid switch to _\bs_\be_\bn_\bd (1) is valid (as this
7043 merely invokes _\bs_\be_\bn_\bd with the `-push' option). For the _\br_\be_\bf_\bi_\bl_\be
7044 response, any valid switch to the _\bf_\bi_\bl_\be_\bp_\br_\bo_\bc is valid. For the
7045 display and list responses, any valid argument to the _\bl_\bp_\br_\bo_\bc is
7046 valid. If any non-switch arguments are present, then the pathname
7047 of the draft will be excluded from the argument list given to the
7048 _\bl_\bp_\br_\bo_\bc (this is useful for listing another _\bM_\bH message).
7049
7050 See _\bm_\bh-_\bp_\br_\bo_\bf_\bi_\bl_\be (5) for further information about how editors are
7051 used by MH. It also discusses how complex envariables can be used
7052 to direct _\bw_\bh_\ba_\bt_\bn_\bo_\bw's actions.
7053
7054 The `-prompt string' switch sets the prompting string for _\bw_\bh_\ba_\bt_\bn_\bo_\bw.
7055
7056
7057 [mh.6] MH.6.8 UCI version
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067 WHATNOW(1) -107- WHATNOW(1)
7068
7069
7070 The `-draftfolder +folder' and `-draftmessage msg' switches invoke
7071 the _\bM_\bH draft folder facility. This is an advanced (and highly use-
7072 ful) feature. Consult the Advanced Features section of the _\bM_\bH
7073 manual for more information.
7074
7075 _\bF_\bi_\bl_\be_\bs
7076 $HOME/.mh_profile The user profile
7077 <mh-dir>/draft The draft file
7078
7079
7080 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
7081 Path: To determine the user's MH directory
7082 Draft-Folder: To find the default draft-folder
7083 Editor: To override the default editor
7084 <lasteditor>-next: To name an editor to be used after exit from
7085 <lasteditor>
7086 fileproc: Program to refile the message
7087 lproc: Program to list the contents of a message
7088 sendproc: Program to use to send the message
7089 whomproc: Program to determine who a message would go to
7090
7091
7092 _\bS_\be_\be _\bA_\bl_\bs_\bo
7093 send(1), whom(1)
7094
7095
7096 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
7097 `-prompt "What Now? "'
7098
7099
7100 _\bC_\bo_\bn_\bt_\be_\bx_\bt
7101 None
7102
7103
7104 _\bB_\bu_\bg_\bs
7105 The argument to the `-prompt' switch must be interpreted as a sin-
7106 gle token by the shell that invokes _\bw_\bh_\ba_\bt_\bn_\bo_\bw. Therefore, one must
7107 usually place the argument to this switch inside double-quotes.
7108
7109 If the initial edit fails, _\bw_\bh_\ba_\bt_\bn_\bo_\bw deletes your draft (by renaming
7110 it with a leading comma); failure of a later edit preverves the
7111 draft.
7112
7113 If _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc is _\bw_\bh_\ba_\bt_\bn_\bo_\bw, then _\bc_\bo_\bm_\bp, _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, and _\br_\be_\bp_\bl use a
7114 built-in _\bw_\bh_\ba_\bt_\bn_\bo_\bw, and do not actually run the _\bw_\bh_\ba_\bt_\bn_\bo_\bw program.
7115 Hence, if you define your own _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc, don't call it _\bw_\bh_\ba_\bt_\bn_\bo_\bw
7116 since it won't be run.
7117
7118 If _\bs_\be_\bn_\bd_\bp_\br_\bo_\bc is _\bs_\be_\bn_\bd, then _\bw_\bh_\ba_\bt_\bn_\bo_\bw uses a built-in _\bs_\be_\bn_\bd, it does not
7119 actually run the _\bs_\be_\bn_\bd program. Hence, if you define your own
7120 _\bs_\be_\bn_\bd_\bp_\br_\bo_\bc, don't call it _\bs_\be_\bn_\bd since _\bw_\bh_\ba_\bt_\bn_\bo_\bw won't run it.
7121
7122
7123 [mh.6] MH.6.8 UCI version
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133 WHATNOW(1) -108- WHATNOW(1)
7134
7135
7136 _\bN_\bA_\bM_\bE
7137 whom - report to whom a message would go
7138
7139 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
7140 whom [-alias aliasfile] [-check] [-nocheck] [-draft]
7141 [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
7142 [file] [-help]
7143
7144 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
7145
7146 _\bW_\bh_\bo_\bm is used to expand the headers of a message into a set of
7147 addresses and optionally verify that those addresses are deliver-
7148 able at that time (if `-check' is given).
7149
7150 The `-draftfolder +folder' and `-draftmessage msg' switches invoke
7151 the _\bM_\bH draft folder facility. This is an advanced (and highly use-
7152 ful) feature. Consult the Advanced Features section of the _\bM_\bH
7153 manual for more information.
7154
7155 The files specified by the profile entry "Aliasfile:" and any addi-
7156 tional alias files given by the `-alias aliasfile' switch will be
7157 read (more than one file, each preceeded by `-alias', can be
7158 named). See _\bm_\bh-_\ba_\bl_\bi_\ba_\bs (5) for more information.
7159
7160 _\bF_\bi_\bl_\be_\bs
7161 $HOME/.mh_profile The user profile
7162
7163
7164 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
7165 Path: To determine the user's MH directory
7166 Draft-Folder: To find the default draft-folder
7167 Aliasfile: For a default alias file
7168 postproc: Program to post the message
7169
7170
7171 _\bS_\be_\be _\bA_\bl_\bs_\bo
7172 mh-alias(5), post(8)
7173
7174
7175 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
7176 `file' defaults to <mh-dir>/draft
7177 `-nocheck'
7178 `-alias /usr/local/lib/mh/MailAliases'
7179
7180
7181 _\bC_\bo_\bn_\bt_\be_\bx_\bt
7182 None
7183
7184
7185
7186
7187
7188
7189 [mh.6] MH.6.8 UCI version
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199 WHOM(1) -109- WHOM(1)
7200
7201
7202 _\bB_\bu_\bg_\bs
7203 With the `-check' option, _\bw_\bh_\bo_\bm makes no guarantees that the ad-
7204 dresses listed as being ok are really deliverable, rather, an ad-
7205 dress being listed as ok means that at the time that _\bw_\bh_\bo_\bm was run
7206 the address was thought to be deliverable by the transport service.
7207 For local addresses, this is absolute; for network addresses, it
7208 means that the host is known; for uucp addresses, it (often) means
7209 that the _\bU_\bU_\bC_\bP network is available for use.
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255 [mh.6] MH.6.8 UCI version
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265 -110-
7266
7267
7268 _\bM_\bO_\bR_\bE _\bD_\bE_\bT_\bA_\bI_\bL_\bS
7269
7270 This section describes some of the more intense points of the _\bM_\bH
7271 system, by expanding on topics previously discussed. The format
7272 presented conforms to the standard form for the description of UNIX
7273 documentation.
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331 MH-ALIAS(5) -111- MH-ALIAS(5)
7332
7333
7334 _\bN_\bA_\bM_\bE
7335 mh-alias - alias file for MH message system
7336
7337 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
7338 any _\bM_\bH command
7339
7340 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
7341
7342 This describes both _\bM_\bH personal alias files and the (primary) alias
7343 file for mail delivery, the file
7344
7345 /usr/local/lib/mh/MailAliases
7346
7347 It does not describe aliases files used by the message transport
7348 system. Each line of the alias file has the format:
7349
7350 alias : address-group
7351 or
7352 alias ; address-group
7353 or
7354 < alias-file
7355 or
7356 ; comment
7357
7358 where:
7359
7360 address-group := address-list
7361 | "<" file
7362 | "=" UNIX-group
7363 | "+" UNIX-group
7364 | "*"
7365
7366 address-list := address
7367 | address-list, address
7368
7369 Continuation lines in alias files end with `\' followed by the new-
7370 line character.
7371
7372 Alias-file and file are UNIX file names. UNIX-group is a group
7373 name (or number) from /_\be_\bt_\bc/_\bg_\br_\bo_\bu_\bp. An address is a "simple"
7374 Internet-style address. Througout this file, case is ignored,
7375 except for alias-file names.
7376
7377 If the line starts with a `<', then the file named after the `<' is
7378 read for more alias definitions. The reading is done recursively,
7379 so a `<' may occur in the beginning of an alias file with the
7380 expected results.
7381
7382 If the address-group starts with a `<', then the file named after
7383 the `<' is read and its contents are added to the address-list for
7384 the alias.
7385
7386
7387 [mh.6] MH.6.8 UCI version
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397 MH-ALIAS(5) -112- MH-ALIAS(5)
7398
7399
7400 If the address-group starts with an `=', then the file /_\be_\bt_\bc/_\bg_\br_\bo_\bu_\bp
7401 is consulted for the UNIX-group named after the `='. Each login
7402 name occurring as a member of the group is added to the
7403 address-list for the alias.
7404
7405 In contrast, if the address-group starts with a `+', then the file
7406 /_\be_\bt_\bc/_\bg_\br_\bo_\bu_\bp is consulted to determine the group-id of the UNIX-group
7407 named after the `+'. Each login name occurring in the /_\be_\bt_\bc/_\bp_\ba_\bs_\bs_\bw_\bd
7408 file whose group-id is indicated by this group is added to the
7409 address-list for the alias.
7410
7411 If the address-group is simply `*', then the file /_\be_\bt_\bc/_\bp_\ba_\bs_\bs_\bw_\bd is
7412 consulted and all login names with a userid greater than some magic
7413 number (usually 200) are added to the address-list for the alias.
7414
7415 In match, a trailing * on an alias will match just about anything
7416 appropriate. (See example below.)
7417
7418 An approximation of the way aliases are resolved at posting time is
7419 (it's not really done this way):
7420
7421 1) Build a list of all addresses from the message to be
7422 delivered, eliminating duplicate addresses.
7423
7424 2) If this draft originated on the local host, then for those
7425 addresses in the message that have no host specified, perform
7426 alias resolution.
7427
7428 3) For each line in the alias file, compare "alias" against
7429 all of the existing addresses. If a match, remove the matched
7430 "alias" from the address list, and add each new address in the
7431 address-group to the address list if it is not already on the
7432 list. The alias itself is not usually output, rather the
7433 address-group that the alias maps to is output instead. If
7434 "alias" is terminated with a `;' instead of a `:', then both
7435 the "alias" and the address are output in the correct format.
7436 (This makes replies possible since _\bM_\bH aliases and personal
7437 aliases are unknown to the mail transport system.)
7438
7439 Since the alias file is read line by line, forward references work,
7440 but backward references are not recognized, thus, there is no
7441 recursion.
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453 [mh.6] MH.6.8 UCI version
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463 MH-ALIAS(5) -113- MH-ALIAS(5)
7464
7465
7466 Example:
7467 </usr/local/lib/mh/BBoardAliases
7468 sgroup: fred, fear, freida
7469 b-people: Blind List: bill, betty;
7470 fred: frated@UCI
7471 UNIX-committee: <unix.aliases
7472 staff: =staff
7473 wheels: +wheel
7474 everyone: *
7475 news.*: news
7476
7477 The first line says that more aliases should immediately be read
7478 from the file /_\bu_\bs_\br/_\bl_\bo_\bc_\ba_\bl/_\bl_\bi_\bb/_\bm_\bh/_\bB_\bB_\bo_\ba_\br_\bd_\bA_\bl_\bi_\ba_\bs_\be_\bs. Following this,
7479 "fred" is defined as an alias for "frated@UCI", and "sgroup" is
7480 defined as an alias for the three names "frated@UCI", "fear", and
7481 "freida".
7482
7483 The alias "b-people" is a blind list which includes the addresses
7484 "bill" and "betty"; the message will be delieved to those
7485 addresses, but the message header will show only "Blind List: ;"
7486 (not the addresses).
7487
7488 Next, the definition of "UNIX-committee" is given by reading the
7489 file _\bu_\bn_\bi_\bx._\ba_\bl_\bi_\ba_\bs_\be_\bs in the users _\bM_\bH directory, "staff" is defined as
7490 all users who are listed as members of the group "staff" in the
7491 /_\be_\bt_\bc/_\bg_\br_\bo_\bu_\bp file, and "wheels" is defined as all users whose
7492 group-id in /_\be_\bt_\bc/_\bp_\ba_\bs_\bs_\bw_\bd is equivalent to the "wheel" group.
7493
7494 Finally, "everyone" is defined as all users with a user-id in
7495 /_\be_\bt_\bc/_\bp_\ba_\bs_\bs_\bw_\bd greater than 200, and all aliases of the form
7496 "news.<anything>" are defined to be "news".
7497
7498 The key thing to understand about aliasing in _\bM_\bH is that aliases in
7499 _\bM_\bH alias files are expanded into the headers of messages posted.
7500 This aliasing occurs first, at posting time, without the knowledge
7501 of the message transport system. In contrast, once the message
7502 transport system is given a message to deliver to a list of
7503 addresses, for each address that appears to be local, a system-wide
7504 alias file is consulted. These aliases are NOT expanded into the
7505 headers of messages delivered.
7506
7507 _\bH_\be_\bl_\bp_\bf_\bu_\bl _\bH_\bi_\bn_\bt_\bs
7508
7509 To use aliasing in _\bM_\bH quickly, do the following:
7510
7511 First, in your ._\bm_\bh__\bp_\br_\bo_\bf_\bi_\bl_\be, choose a name for your alias file,
7512 say "aliases", and add the line:
7513
7514 Aliasfile: aliases
7515
7516 Second, create the file "aliases" in your _\bM_\bH directory.
7517
7518
7519 [mh.6] MH.6.8 UCI version
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529 MH-ALIAS(5) -114- MH-ALIAS(5)
7530
7531
7532 Third, start adding aliases to your "aliases" file as
7533 appropriate.
7534
7535 _\bF_\bi_\bl_\be_\bs
7536 /usr/local/lib/mh/MailAliases Primary alias file
7537
7538
7539 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
7540 Aliasfile: For a default alias file
7541
7542
7543 _\bS_\be_\be _\bA_\bl_\bs_\bo
7544 ali(1), send(1), whom(1), group(5), passwd(5), conflict(8), post(8)
7545
7546
7547 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
7548 None
7549
7550
7551 _\bC_\bo_\bn_\bt_\be_\bx_\bt
7552 None
7553
7554
7555 _\bH_\bi_\bs_\bt_\bo_\br_\by
7556 In previous releases of _\bM_\bH, only a single, system-wide mh-alias
7557 file was supported. This led to a number of problems, since only
7558 mail-system administrators were capable of (un)defining aliases.
7559 Hence, the semantics of mh-alias were extended to support personal
7560 alias files. Users of _\bM_\bH no longer need to bother mail-system ad-
7561 ministrators for keeping information in the system-wide alias file,
7562 as each _\bM_\bH user can create/modify/remove aliases at will from any
7563 number of personal files.
7564
7565
7566 _\bB_\bu_\bg_\bs
7567 Although the forward-referencing semantics of _\bm_\bh-_\ba_\bl_\bi_\ba_\bs files
7568 prevent recursion, the "< alias-file" command may defeat this.
7569 Since the number of file descriptors is finite (and very limited),
7570 such infinite recursion will terminate with a meaningless diagnos-
7571 tic when all the fds are used up.
7572
7573 Forward references do not work correctly inside blind lists.
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585 [mh.6] MH.6.8 UCI version
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595 MH-FORMAT(5) -115- MH-FORMAT(5)
7596
7597
7598 _\bN_\bA_\bM_\bE
7599 mh-format - format file for MH message system
7600
7601 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
7602 some _\bM_\bH commands
7603
7604 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
7605
7606 Several _\bM_\bH commands utilize either a _\bf_\bo_\br_\bm_\ba_\bt string or a _\bf_\bo_\br_\bm_\ba_\bt file
7607 during their execution. For example, _\bs_\bc_\ba_\bn (1) uses a format string
7608 which directs it how to generate the scan listing for each message;
7609 _\br_\be_\bp_\bl (1) uses a format file which directs it how to generate the
7610 reply to a message, and so on.
7611
7612 Format strings are designed to be efficiently parsed by _\bM_\bH which
7613 means they are not necessarily simple to write and understand.
7614 This means that novice, casual, or even advanced users of _\bM_\bH should
7615 not have to deal with them. Some canned scan listing formats are
7616 in /usr/local/lib/mh/scan.time, /usr/local/lib/mh/scan.size, and
7617 /usr/local/lib/mh/scan.timely. Look in /usr/local/lib/mh for other
7618 _\bs_\bc_\ba_\bn and _\br_\be_\bp_\bl format files which may have been written at your
7619 site.
7620
7621 It suffices to have your local _\bM_\bH expert actually write new format
7622 commands or modify existing ones. This manual section explains how
7623 to do that. Note: familiarity with the C _\bp_\br_\bi_\bn_\bt_\bf routine is
7624 assumed.
7625
7626 A format string consists of ordinary text, and special multi-
7627 character _\be_\bs_\bc_\ba_\bp_\be sequences which begin with `%'. When specifying a
7628 format string, the usual C backslash characters are honored: `\b',
7629 `\f', `\n', `\r', and `\t'. Continuation lines in format files end
7630 with `\' followed by the newline character. There are three types
7631 of _\be_\bs_\bc_\ba_\bp_\be sequences: header _\bc_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs, built-in _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs, and
7632 flow _\bc_\bo_\bn_\bt_\br_\bo_\bl.
7633
7634 A _\bc_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt escape is specified as `%{_\bc_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt}', and exists for
7635 each header found in the message being processed. For example
7636 `%{date}' refers to the "Date:" field of the appropriate message.
7637 All component escapes have a string value. Normally, component
7638 values are compressed by converting any control characters (tab and
7639 newline included) to spaces, then eliding any leading or multiple
7640 spaces. However, commands may give different interpretations to
7641 some component escapes; be sure to refer to each command's manual
7642 entry for complete details.
7643
7644 A _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn escape is specified as `%(_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn)'. All functions are
7645 built-in, and most have a string or numeric value.
7646
7647
7648
7649
7650
7651 [mh.6] MH.6.8 UCI version
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661 MH-FORMAT(5) -116- MH-FORMAT(5)
7662
7663
7664 _\bC_\bo_\bn_\bt_\br_\bo_\bl-_\bf_\bl_\bo_\bw _\be_\bs_\bc_\ba_\bp_\be_\bs
7665
7666 A _\bc_\bo_\bn_\bt_\br_\bo_\bl escape is one of: `%<', `%?', `%|', or `%>'. These are
7667 combined into the conditional execution construct:
7668
7669 %<condition
7670 _\bf_\bo_\br_\bm_\ba_\bt _\bt_\be_\bx_\bt _\b1
7671 %?condition2
7672 _\bf_\bo_\br_\bm_\ba_\bt _\bt_\be_\bx_\bt _\b2
7673 %?condition3
7674 _\bf_\bo_\br_\bm_\ba_\bt _\bt_\be_\bx_\bt _\b3
7675 ...
7676 %|
7677 _\bf_\bo_\br_\bm_\ba_\bt _\bt_\be_\bx_\bt _\bN
7678 %>
7679
7680 Extra white space is shown here only for clarity. These constructs
7681 may be nested without ambiguity. They form a general
7682 if-elseif-else-endif block where only one of the _\bf_\bo_\br_\bm_\ba_\bt _\bt_\be_\bx_\bt seg-
7683 ments is interpreted.
7684
7685 The `%<' and `%?' control escapes causes a condition to be
7686 evaluated. This condition may be either a _\bc_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt or a _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn.
7687 The four constructs have the following syntax:
7688
7689 %<{component}
7690 %<(function)
7691 %?{component}
7692 %?(function)
7693
7694 These control escapes test whether the function or component value
7695 is non-zero (for integer-valued escapes), or non-empty (for
7696 string-valued escapes).
7697
7698 If this test evaulates true, then the format text up to the next
7699 corresponding control escape (one of `%|', `%?', or `%>') is inter-
7700 preted normally. Next, all format text (if any) up to the
7701 corresponding `%>' control escape is skipped. The `%>' control
7702 escape is not interpreted; normal interpretation resumes after the
7703 `%>' escape.
7704
7705 If the test evaluates false, however, then the format text up to
7706 the next corresponding control escape (again, one of `%|', `%?', or
7707 `%>') is skipped, instead of being interpreted. If the control
7708 escape encountered was `%?', then the condition associated with
7709 that control escape is evaluated, and interpretation proceeds after
7710 that test as described in the previous paragraph. If the control
7711 escape encountered was `%|', then the format text up to the
7712 corresponding `%>' escape is interpreted normally. As above, the
7713 `%>' escape is not interpreted and normal interpretation resumes
7714 after the `%>' escape.
7715
7716
7717 [mh.6] MH.6.8 UCI version
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727 MH-FORMAT(5) -117- MH-FORMAT(5)
7728
7729
7730 The `%?' control escape and its following format text is optional,
7731 and may be included zero or more times. The `%|' control escape
7732 and its following format text is also optional, and may be included
7733 zero or one times.
7734
7735
7736 _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn _\be_\bs_\bc_\ba_\bp_\be_\bs
7737
7738 Most functions expect an argument of a particular type:
7739
7740 _\bA_\br_\bg_\bu_\bm_\be_\bn_\bt _\bD_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn _\bE_\bx_\ba_\bm_\bp_\bl_\be _\bS_\by_\bn_\bt_\ba_\bx
7741 literal A literal number, %(_\bf_\bu_\bn_\bc 1234)
7742 or string %(_\bf_\bu_\bn_\bc text string)
7743 comp Any header component %(_\bf_\bu_\bn_\bc{_\bi_\bn-_\br_\be_\bp_\bl_\by-_\bt_\bo})
7744 date A date component %(_\bf_\bu_\bn_\bc{_\bd_\ba_\bt_\be})
7745 addr An address component %(_\bf_\bu_\bn_\bc{_\bf_\br_\bo_\bm})
7746 expr An optional component, %(_\bf_\bu_\bn_\bc(_\bf_\bu_\bn_\bc_\b2))
7747 function or control, %(_\bf_\bu_\bn_\bc %<{_\br_\be_\bp_\bl_\by-_\bt_\bo}%|%{_\bf_\br_\bo_\bm}%>)
7748 perhaps nested %(_\bf_\bu_\bn_\bc(_\bf_\bu_\bn_\bc_\b2{_\bc_\bo_\bm_\bp}))
7749
7750 The types _\bd_\ba_\bt_\be and _\ba_\bd_\bd_\br have the same syntax as _\bc_\bo_\bm_\bp, but require
7751 that the header component be a date string, or address string,
7752 respectively.
7753
7754 All arguments except those of type _\be_\bx_\bp_\br are required. For the _\be_\bx_\bp_\br
7755 argument type, the leading `%' must be omitted for component and
7756 function escape arguments, and must be present (with a leading
7757 space) for control escape arguments.
7758
7759 The evaluation of format strings is based on a simple machine with
7760 an integer register _\bn_\bu_\bm, and a text string register _\bs_\bt_\br. When a
7761 function escape is processed, if it accepts an optional _\be_\bx_\bp_\br argu-
7762 ment which is not present, it reads the current value of either _\bn_\bu_\bm
7763 or _\bs_\bt_\br as appropriate.
7764
7765
7766 _\bR_\be_\bt_\bu_\br_\bn _\bv_\ba_\bl_\bu_\be_\bs
7767
7768 Component escapes write the value of their message header in _\bs_\bt_\br.
7769 Function escapes write their return value in _\bn_\bu_\bm for functions
7770 returning _\bi_\bn_\bt_\be_\bg_\be_\br or _\bb_\bo_\bo_\bl_\be_\ba_\bn values, and in _\bs_\bt_\br for functions
7771 returning string values. (The _\bb_\bo_\bo_\bl_\be_\ba_\bn type is a subset of integers
7772 with usual values 0=false and 1=true.) Control escapes return a
7773 _\bb_\bo_\bo_\bl_\be_\ba_\bn value, and set _\bn_\bu_\bm.
7774
7775 All component escapes, and those function escapes which return an
7776 _\bi_\bn_\bt_\be_\bg_\be_\br or _\bs_\bt_\br_\bi_\bn_\bg value, pass this value back to their caller in
7777 addition to setting _\bs_\bt_\br or _\bn_\bu_\bm. These escapes will print out this
7778 value unless called as part of an argument to another escape
7779 sequence. Escapes which return a _\bb_\bo_\bo_\bl_\be_\ba_\bn value do pass this value
7780 back to their caller in _\bn_\bu_\bm, but will never print out the value.
7781
7782
7783 [mh.6] MH.6.8 UCI version
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793 MH-FORMAT(5) -118- MH-FORMAT(5)
7794
7795
7796 _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn _\bA_\br_\bg_\bu_\bm_\be_\bn_\bt _\bR_\be_\bt_\bu_\br_\bn _\bD_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn
7797 msg integer message number
7798 cur integer message is current
7799 size integer size of message
7800 strlen integer length of _\bs_\bt_\br
7801 width integer output buffer size in bytes
7802 charleft integer bytes left in output buffer
7803 timenow integer seconds since the UNIX epoch
7804 me string the user's mailbox
7805 eq literal boolean _\bn_\bu_\bm == _\ba_\br_\bg
7806 ne literal boolean _\bn_\bu_\bm != _\ba_\br_\bg
7807 gt literal boolean _\bn_\bu_\bm > _\ba_\br_\bg
7808 match literal boolean _\bs_\bt_\br contains _\ba_\br_\bg
7809 amatch literal boolean _\bs_\bt_\br starts with _\ba_\br_\bg
7810 plus literal integer _\ba_\br_\bg plus _\bn_\bu_\bm
7811 minus literal integer _\ba_\br_\bg minus _\bn_\bu_\bm
7812 divide literal integer _\bn_\bu_\bm divided by _\ba_\br_\bg
7813 modulo literal integer _\bn_\bu_\bm modulo _\ba_\br_\bg
7814 num literal integer Set _\bn_\bu_\bm to _\ba_\br_\bg
7815 lit literal string Set _\bs_\bt_\br to _\ba_\br_\bg
7816 getenv literal string Set _\bs_\bt_\br to environment value of _\ba_\br_\bg
7817 profile literal string Set _\bs_\bt_\br to profile component _\ba_\br_\bg value
7818 nonzero expr boolean _\bn_\bu_\bm is non-zero
7819 zero expr boolean _\bn_\bu_\bm is zero
7820 null expr boolean _\bs_\bt_\br is empty
7821 nonnull expr boolean _\bs_\bt_\br is non-empty
7822 void expr Set _\bs_\bt_\br or _\bn_\bu_\bm
7823 comp comp string Set _\bs_\bt_\br to component text
7824 compval comp integer _\bn_\bu_\bm set to "atoi(_\bc_\bo_\bm_\bp)"
7825 trim expr trim trailing white-space from _\bs_\bt_\br
7826 putstr expr print _\bs_\bt_\br
7827 putstrf expr print _\bs_\bt_\br in a fixed width
7828 putnum expr print _\bn_\bu_\bm
7829 putnumf expr print _\bn_\bu_\bm in a fixed width
7830
7831 These functions require a date component as an argument:
7832
7833 _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn _\bA_\br_\bg_\bu_\bm_\be_\bn_\bt _\bR_\be_\bt_\bu_\br_\bn _\bD_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn
7834 sec date integer seconds of the minute
7835 min date integer minutes of the hour
7836 hour date integer hours of the day (0-23)
7837 wday date integer day of the week (Sun=0)
7838 day date string day of the week (abbrev.)
7839 weekday date string day of the week
7840 sday date integer day of the week known?
7841 (0=implicit,-1=unknown)
7842 mday date integer day of the month
7843 yday date integer day of the year
7844 mon date integer month of the year
7845 month date string month of the year (abbrev.)
7846 lmonth date string month of the year
7847 year date integer year (may be > 100)
7848
7849 [mh.6] MH.6.8 UCI version
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859 MH-FORMAT(5) -119- MH-FORMAT(5)
7860
7861
7862 zone date integer timezone in hours
7863 tzone date string timezone string
7864 szone date integer timezone explicit?
7865 (0=implicit,-1=unknown)
7866 date2local date coerce date to local timezone
7867 date2gmt date coerce date to GMT
7868 dst date integer daylight savings in effect?
7869 clock date integer seconds since the UNIX epoch
7870 rclock date integer seconds prior to current time
7871 tws date string official 822 rendering
7872 pretty date string user-friendly rendering
7873 nodate date integer _\bs_\bt_\br not a date string
7874
7875 These functions require an address component as an argument. The
7876 return value of functions noted with `*' pertain only to the first
7877 address present in the header component.
7878
7879 _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn _\bA_\br_\bg_\bu_\bm_\be_\bn_\bt _\bR_\be_\bt_\bu_\br_\bn _\bD_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn
7880 proper addr string official 822 rendering
7881 friendly addr string user-friendly rendering
7882 addr addr string mbox@host or host!mbox rendering*
7883 pers addr string the personal name*
7884 note addr string commentary text*
7885 mbox addr string the local mailbox*
7886 mymbox addr integer the user's addresses? (0=no,1=yes)
7887 host addr string the host domain*
7888 nohost addr integer no host was present*
7889 type addr integer host type* (0=local,1=network,
7890 -1=uucp,2=unknown)
7891 path addr string any leading host route*
7892 ingrp addr integer address was inside a group*
7893 gname addr string name of group*
7894 formataddr expr append _\ba_\br_\bg to _\bs_\bt_\br as a
7895 (comma separated) address list
7896 putaddr literal print _\bs_\bt_\br address list with
7897 _\ba_\br_\bg as optional label;
7898 get line width from _\bn_\bu_\bm
7899
7900 When escapes are nested, evaluation is done from inner-most to
7901 outer-most. The outer-most escape must begin with `%'; the inner
7902 escapes must not. For example,
7903
7904 %<(mymbox{from}) To: %{to}%>
7905
7906 writes the value of the header component "From:" to _\bs_\bt_\br; then (_\bm_\by_\bm_\b-
7907 _\bb_\bo_\bx) reads _\bs_\bt_\br and writes its result to _\bn_\bu_\bm; then the control
7908 escape evaluates _\bn_\bu_\bm. If _\bn_\bu_\bm is non-zero, the string "To: " is
7909 printed followed by the value of the header component "To:".
7910
7911 A minor explanation of (_\bm_\by_\bm_\bb_\bo_\bx{_\bc_\bo_\bm_\bp}) is in order. In general, it
7912 checks each of the addresses in the header component "_\bc_\bo_\bm_\bp" against
7913 the user's mailbox name and any _\bA_\bl_\bt_\be_\br_\bn_\ba_\bt_\be-_\bM_\ba_\bi_\bl_\bb_\bo_\bx_\be_\bs. It returns
7914
7915 [mh.6] MH.6.8 UCI version
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925 MH-FORMAT(5) -120- MH-FORMAT(5)
7926
7927
7928 true if any address matches, however, it also returns true if the
7929 "_\bc_\bo_\bm_\bp" header is not present in the message. If needed, the (_\bn_\bu_\bl_\bl)
7930 function can be used to explicitly test for this condition.
7931
7932 When a function or component escape is interpreted and the result
7933 will be immediately printed, an optional field width can be speci-
7934 fied to print the field in exactly a given number of characters.
7935 For example, a numeric escape like %4(_\bs_\bi_\bz_\be) will print at most 4
7936 digits of the message size; overflow will be indicated by a `?' in
7937 the first position (like `?234'). A string escape like %4(_\bm_\be) will
7938 print the first 4 characters and truncate at the end. Short fields
7939 are padded at the right with the fill character (normally, a
7940 blank). If the field width argument begins with a leading zero,
7941 then the fill character is set to a zero.
7942
7943 As above, the functions (_\bp_\bu_\bt_\bn_\bu_\bm_\bf) and (_\bp_\bu_\bt_\bs_\bt_\br_\bf) print their result
7944 in exactly the number of characters specified by their leading
7945 field width argument. For example, %06(_\bp_\bu_\bt_\bn_\bu_\bm_\bf(_\bs_\bi_\bz_\be)) will print
7946 the message size in a field six characters wide filled with leading
7947 zeros; %14(_\bp_\bu_\bt_\bs_\bt_\br_\bf{_\bf_\br_\bo_\bm}) will print the "From:" header component
7948 in fourteen characters with trailing spaces added as needed. For
7949 _\bp_\bu_\bt_\bs_\bt_\br_\bf, using a negative value for the field width causes right-
7950 justification of the string within the field, with padding on the
7951 left up to the field width. The functions (_\bp_\bu_\bt_\bn_\bu_\bm) and (_\bp_\bu_\bt_\bs_\bt_\br)
7952 print their result in the minimum number of characters required,
7953 and ignore any leading field width argument.
7954
7955 The available output width is kept in an internal register; any
7956 output past this width will be truncated.
7957
7958 Comments may be inserted in most places where a function argument
7959 is not expected. A comment begins with `%;' and ends with a (non-
7960 escaped) newline.
7961
7962 With all this in mind, here's the default format string for _\bs_\bc_\ba_\bn.
7963 It's been divided into several pieces for readability. The first
7964 part is:
7965
7966 %4(msg)%<(cur)+%| %>%<{replied}-%?{encrypted}E%| %>
7967
7968 which says that the message number should be printed in four
7969 digits, if the message is the current message then a `+' else a
7970 space should be printed, and if a "Replied:" field is present then
7971 a `-' else if an "Encrypted:" field is present then an `E' other-
7972 wise a space should be printed. Next:
7973
7974 %02(mon{date})/%02(mday{date})
7975
7976 the month and date are printed in two digits (zero filled)
7977 separated by a slash. Next,
7978
7979 %<{date} %|*>
7980
7981 [mh.6] MH.6.8 UCI version
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991 MH-FORMAT(5) -121- MH-FORMAT(5)
7992
7993
7994 If a "Date:" field was present, then a space is printed, otherwise
7995 a `*'. Next,
7996
7997 %<(mymbox{from})%<{to}To:%14(friendly{to})%>%>
7998
7999 if the message is from me, and there is a "To:" header, print `To:'
8000 followed by a "user-friendly" rendering of the first address in the
8001 "To:" field. Continuing,
8002
8003 %<(zero)%17(friendly{from})%>
8004
8005 if either of the above two tests failed, then the "From:" address
8006 is printed in a "user-friendly" format. And finally,
8007
8008 %{subject}%<{body}<<%{body}%>
8009
8010 the subject and initial body (if any) are printed.
8011
8012 For a more complicated example, next consider the default _\br_\be_\bp_\bl_\bc_\bo_\bm_\bp_\bs
8013 format file.
8014
8015 %(lit)%(formataddr %<{reply-to}
8016
8017 This clears _\bs_\bt_\br and formats the "Reply-To:" header if present. If
8018 not present, the else-if clause is executed.
8019
8020 %?{from}%?{sender}%?{return-path}%>)\
8021
8022 This formats the "From:", "Sender:" and "Return-Path:" headers,
8023 stopping as soon as one of them is present. Next:
8024
8025 %<(nonnull)%(void(width))%(putaddr To: )\n%>\
8026
8027 If the _\bf_\bo_\br_\bm_\ba_\bt_\ba_\bd_\bd_\br result is non-null, it is printed as an address
8028 (with line folding if needed) in a field _\bw_\bi_\bd_\bt_\bh wide with a leading
8029 label of "To: ".
8030
8031 %(lit)%(formataddr{to})%(formataddr{cc})%(formataddr(me))\
8032
8033 _\bs_\bt_\br is cleared, and the "To:" and "Cc:" headers, along with the
8034 user's address (depending on what was specified with the "-cc"
8035 switch to _\br_\be_\bp_\bl) are formatted.
8036
8037 %<(nonnull)%(void(width))%(putaddr cc: )\n%>\
8038
8039 If the result is non-null, it is printed as above with a leading
8040 label of "cc: ".
8041
8042 %<{fcc}Fcc: %{fcc}\n%>\
8043
8044 If a "-fcc folder" switch was given to _\br_\be_\bp_\bl (see _\br_\be_\bp_\bl (1) for more
8045 details about %{_\bf_\bc_\bc}), an "Fcc:" header is output.
8046
8047 [mh.6] MH.6.8 UCI version
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057 MH-FORMAT(5) -122- MH-FORMAT(5)
8058
8059
8060 %<{subject}Subject: Re: %{subject}\n%>\
8061
8062 If a subject component was present, a suitable reply subject is
8063 output.
8064
8065 %<{date}In-reply-to: Your message of "\
8066 %<(nodate{date})%{date}%|%(pretty{date})%>."%<{message-id}
8067 %{message-id}%>\n%>\
8068 --------
8069
8070 If a date component was present, an "In-Reply-To:" header is output
8071 with the preface "Your message of ". If the date was parseable, it
8072 is output in a user-friendly format, otherwise it is output as-is.
8073 The message-id is included if present. As with all plain-text, the
8074 row of dashes are output as-is.
8075
8076 This last part is a good example for a little more elaboration.
8077 Here's that part again in pseudo-code:
8078
8079 if (comp_exists(date)) then
8080 print ("In-reply-to: Your message of \"")
8081 if (not_date_string(date.value) then
8082 print (date.value)
8083 else
8084 print (pretty(date.value))
8085 endif
8086 print ("\"")
8087 if (comp_exists(message-id)) then
8088 print ("\n\t")
8089 print (message-id.value)
8090 endif
8091 print ("\n")
8092 endif
8093
8094 Although this seems complicated, in point of fact, this method is
8095 flexible enough to extract individual fields and print them in any
8096 format the user desires.
8097
8098 _\bF_\bi_\bl_\be_\bs
8099 None
8100
8101
8102 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
8103 None
8104
8105
8106 _\bS_\be_\be _\bA_\bl_\bs_\bo
8107 scan(1), repl(1), ap(8), dp(8)
8108
8109
8110 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
8111 None
8112
8113 [mh.6] MH.6.8 UCI version
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123 MH-FORMAT(5) -123- MH-FORMAT(5)
8124
8125
8126 _\bC_\bo_\bn_\bt_\be_\bx_\bt
8127 None
8128
8129
8130 _\bH_\bi_\bs_\bt_\bo_\br_\by
8131 This software was contributed for MH 6.3. Prior to this, output
8132 format specifications were much easier to write, but considerably
8133 less flexible.
8134
8135
8136 _\bB_\bu_\bg_\bs
8137 On hosts where _\bM_\bH was configured with the BERK option, address
8138 parsing is not enabled.
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179 [mh.6] MH.6.8 UCI version
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189 MH-MAIL(5) -124- MH-MAIL(5)
8190
8191
8192 _\bN_\bA_\bM_\bE
8193 mh-mail - message format for MH message system
8194
8195 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
8196 any _\bM_\bH command
8197
8198 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
8199
8200 _\bM_\bH processes messages in a particular format. It should be noted
8201 that although neither Bell nor Berkeley mailers produce message
8202 files in the format that _\bM_\bH prefers, _\bM_\bH can read message files in
8203 that antiquated format.
8204
8205 Each user possesses a mail drop box which initially receives all
8206 messages processed by _\bp_\bo_\bs_\bt (8). _\bI_\bn_\bc (1) will read from that drop
8207 box and incorporate the new messages found there into the user's
8208 own mail folders (typically `+inbox'). The mail drop box consists
8209 of one or more messages.
8210
8211 Messages are expected to consist of lines of text. Graphics and
8212 binary data are not handled. No data compression is accepted. All
8213 text is clear ASCII 7-bit data.
8214
8215 The general "memo" framework of RFC-822 is used. A message con-
8216 sists of a block of information in a rigid format, followed by gen-
8217 eral text with no specified format. The rigidly formatted first
8218 part of a message is called the header, and the free-format portion
8219 is called the body. The header must always exist, but the body is
8220 optional. These parts are separated by an empty line, i.e., two
8221 consecutive newline characters. Within _\bM_\bH, the header and body may
8222 be separated by a line consisting of dashes:
8223
8224 To:
8225 cc:
8226 Subject:
8227 --------
8228
8229 The header is composed of one or more header items. Each header
8230 item can be viewed as a single logical line of ASCII characters.
8231 If the text of a header item extends across several real lines, the
8232 continuation lines are indicated by leading spaces or tabs.
8233
8234 Each header item is called a component and is composed of a keyword
8235 or name, along with associated text. The keyword begins at the
8236 left margin, may NOT contain spaces or tabs, may not exceed 63
8237 characters (as specified by RFC-822), and is terminated by a colon
8238 (`:'). Certain components (as identified by their keywords) must
8239 follow rigidly defined formats in their text portions.
8240
8241 The text for most formatted components (e.g., "Date:" and
8242 "Message-Id:") is produced automatically. The only ones entered by
8243 the user are address fields such as "To:", "cc:", etc. Internet
8244
8245 [mh.6] MH.6.8 UCI version
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255 MH-MAIL(5) -125- MH-MAIL(5)
8256
8257
8258 addresses are assigned mailbox names and host computer specifica-
8259 tions. The rough format is "local@domain", such as "MH@UCI", or
8260 "MH@UCI-ICSA.ARPA". Multiple addresses are separated by commas. A
8261 missing host/domain is assumed to be the local host/domain.
8262
8263 As mentioned above, a blank line (or a line of dashes) signals that
8264 all following text up to the end of the file is the body. No for-
8265 matting is expected or enforced within the body.
8266
8267 Following is a list of header components that are considered mean-
8268 ingful to various MH programs.
8269 Date:
8270 Added by _\bp_\bo_\bs_\bt (8), contains date and time of the message's
8271 entry into the transport system.
8272
8273 From:
8274 Added by _\bp_\bo_\bs_\bt (8), contains the address of the author or
8275 authors (may be more than one if a "Sender:" field is
8276 present). Replies are typically directed to addresses in the
8277 "Reply-To:" or "From:" field (the former has precedence if
8278 present).
8279
8280 Sender:
8281 Added by _\bp_\bo_\bs_\bt (8) in the event that the message already has a
8282 "From:" line. This line contains the address of the actual
8283 sender. Replies are never sent to addresses in the "Sender:"
8284 field.
8285
8286 To:
8287 Contains addresses of primary recipients.
8288
8289 cc:
8290 Contains addresses of secondary recipients.
8291
8292 Bcc:
8293 Still more recipients. However, the "Bcc:" line is not copied
8294 onto the message as delivered, so these recipients are not
8295 listed. _\bM_\bH uses an encapsulation method for blind copies, see
8296 _\bs_\be_\bn_\bd (1).
8297
8298 Fcc:
8299 Causes _\bp_\bo_\bs_\bt (8) to copy the message into the specified folder
8300 for the sender, if the message was successfully given to the
8301 transport system.
8302
8303 Message-ID:
8304 A unique message identifier added by _\bp_\bo_\bs_\bt (8) if the `-msgid'
8305 flag is set.
8306
8307 Subject:
8308 Sender's commentary. It is displayed by _\bs_\bc_\ba_\bn (1).
8309
8310
8311 [mh.6] MH.6.8 UCI version
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321 MH-MAIL(5) -126- MH-MAIL(5)
8322
8323
8324 In-Reply-To:
8325 A commentary line added by _\br_\be_\bp_\bl (1) when replying to a mes-
8326 sage.
8327
8328 Resent-Date:
8329 Added when redistributing a message by _\bp_\bo_\bs_\bt (8).
8330
8331 Resent-From:
8332 Added when redistributing a message by _\bp_\bo_\bs_\bt (8).
8333
8334 Resent-To:
8335 New recipients for a message resent by _\bd_\bi_\bs_\bt (1).
8336
8337 Resent-cc:
8338 Still more recipients. See "cc:" and "Resent-To:".
8339
8340 Resent-Bcc:
8341 Even more recipients. See "Bcc:" and "Resent-To:".
8342
8343 Resent-Fcc:
8344 Copy resent message into a folder. See "Fcc:" and
8345 "Resent-To:".
8346
8347 Resent-Message-Id:
8348 A unique identifier glued on by _\bp_\bo_\bs_\bt (8) if the `-msgid' flag
8349 is set. See "Message-Id:" and "Resent-To:".
8350
8351 Resent:
8352 Annotation for _\bd_\bi_\bs_\bt (1) under the `-annotate' option.
8353
8354 Forwarded:
8355 Annotation for _\bf_\bo_\br_\bw (1) under the `-annotate' option.
8356
8357 Replied:
8358 Annotation for _\br_\be_\bp_\bl (1) under the `-annotate' option.
8359
8360
8361 _\bF_\bi_\bl_\be_\bs
8362 /usr/spool/mail/$USER Location of mail drop
8363
8364
8365 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
8366 None
8367
8368
8369 _\bS_\be_\be _\bA_\bl_\bs_\bo
8370 _\bS_\bt_\ba_\bn_\bd_\ba_\br_\bd _\bf_\bo_\br _\bt_\bh_\be _\bF_\bo_\br_\bm_\ba_\bt _\bo_\bf _\bA_\bR_\bP_\bA _\bI_\bn_\bt_\be_\br_\bn_\be_\bt _\bT_\be_\bx_\bt _\bM_\be_\bs_\bs_\ba_\bg_\be_\bs (aka
8371 RFC-822)
8372
8373
8374 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
8375 None
8376
8377 [mh.6] MH.6.8 UCI version
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387 MH-MAIL(5) -127- MH-MAIL(5)
8388
8389
8390 _\bC_\bo_\bn_\bt_\be_\bx_\bt
8391 None
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443 [mh.6] MH.6.8 UCI version
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453 MH-PROFILE(5) -128- MH-PROFILE(5)
8454
8455
8456 _\bN_\bA_\bM_\bE
8457 mh-profile - user profile customization for MH message handler
8458
8459 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
8460 ._\bm_\bh__\bp_\br_\bo_\bf_\bi_\bl_\be
8461
8462 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
8463
8464 Each user of _\bM_\bH is expected to have a file named ._\bm_\bh__\bp_\br_\bo_\bf_\bi_\bl_\be in his
8465 or her home directory. This file contains a set of user parameters
8466 used by some or all of the _\bM_\bH family of programs. Each line of the
8467 file is of the format
8468
8469 _\bp_\br_\bo_\bf_\bi_\bl_\be-_\bc_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt: _\bv_\ba_\bl_\bu_\be
8470
8471 The possible profile components are exemplified below. Only
8472 `Path:' is mandatory. The others are optional; some have default
8473 values if they are not present. In the notation used below, (pro-
8474 file, default) indicates whether the information is kept in the
8475 user's _\bM_\bH profile or _\bM_\bH context, and indicates what the default
8476 value is.
8477
8478 Path: Mail
8479 Locates _\bM_\bH transactions in directory "Mail". (profile,
8480 no default)
8481
8482 context: context
8483 Declares the location of the _\bM_\bH context file, see the
8484 HISTORY section below. (profile, default:
8485 <mh-dir>/context)
8486
8487 Current-Folder: inbox
8488 Keeps track of the current open folder. (context,
8489 default: folder specified by "Inbox")
8490
8491 Inbox: inbox
8492 Defines the name of your inbox. (profile, default:
8493 inbox)
8494
8495 Previous-Sequence: pseq
8496 Names the sequences which should be defined as the `msgs'
8497 or `msg' argument given to the program. If not present,
8498 or empty, no sequences are defined. Otherwise, for each
8499 name given, the sequence is first zero'd and then each
8500 message is added to the sequence. (profile, no default)
8501
8502 Sequence-Negation: not
8503 Defines the string which, when prefixed to a sequence
8504 name, negates that sequence. Hence, "notseen" means all
8505 those messages that are not a member of the sequence
8506 "seen". (profile, no default)
8507
8508
8509 [mh.6] MH.6.8 UCI version
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519 MH-PROFILE(5) -129- MH-PROFILE(5)
8520
8521
8522 Unseen-Sequence: unseen
8523 Names the sequences which should be defined as those mes-
8524 sages recently incorporated by _\bi_\bn_\bc. _\bS_\bh_\bo_\bw knows to remove
8525 messages from this sequence once it thinks they have been
8526 seen. If not present, or empty, no sequences are
8527 defined. Otherwise, each message is added to each
8528 sequence name given. (profile, no default)
8529
8530 mh-sequences: .mh_sequences
8531 The name of the file in each folder which defines public
8532 sequences. To disable the use of public sequences, leave
8533 the value portion of this entry blank. (profile,
8534 default: .mh_sequences)
8535
8536 atr-_\bs_\be_\bq-_\bf_\bo_\bl_\bd_\be_\br: 172 178-181 212
8537 Keeps track of the private sequence called _\bs_\be_\bq in the
8538 specified folder. (context, no default)
8539
8540 Editor: /usr/ucb/ex
8541 Defines editor to be used by _\bc_\bo_\bm_\bp (1), _\bd_\bi_\bs_\bt (1),
8542 _\bf_\bo_\br_\bw (1), and _\br_\be_\bp_\bl (1). (profile, default: prompter)
8543
8544 Msg-Protect: 644
8545 Defines octal protection bits for message files. See
8546 _\bc_\bh_\bm_\bo_\bd (1) for an explanation of the octal number. (pro-
8547 file, default: 0644)
8548
8549 Folder-Protect: 711
8550 Defines protection bits for folder directories. (pro-
8551 file, default: 0711)
8552
8553 _\bp_\br_\bo_\bg_\br_\ba_\bm: default switches
8554 Sets default switches to be used whenever the mh program
8555 _\bp_\br_\bo_\bg_\br_\ba_\bm is invoked. For example, one could override the
8556 _\bE_\bd_\bi_\bt_\bo_\br: profile component when replying to messages by
8557 adding a component such as:
8558 repl: -editor /bin/ed
8559 (profile, no defaults)
8560
8561 _\bl_\ba_\bs_\bt_\be_\bd_\bi_\bt_\bo_\br-next: nexteditor
8562 Names "nexteditor" to be the default editor after using
8563 "lasteditor". This takes effect at "What now?" level in
8564 _\bc_\bo_\bm_\bp, _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, and _\br_\be_\bp_\bl. After editing the draft with
8565 "lasteditor", the default editor is set to be "nextedi-
8566 tor". If the user types "edit" without any arguments to
8567 "What now?", then "nexteditor" is used. (profile, no
8568 default)
8569
8570 bboards: system
8571 Tells _\bb_\bb_\bc which BBoards you are interested in. (profile,
8572 default: system)
8573
8574
8575 [mh.6] MH.6.8 UCI version
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585 MH-PROFILE(5) -130- MH-PROFILE(5)
8586
8587
8588 Folder-Stack: _\bf_\bo_\bl_\bd_\be_\br_\bs
8589 The contents of the folder-stack for the _\bf_\bo_\bl_\bd_\be_\br command.
8590 (context, no default)
8591
8592 mhe:
8593 If present, tells _\bi_\bn_\bc to compose an _\bM_\bH_\bE auditfile in
8594 addition to its other tasks. _\bM_\bH_\bE is Brian Reid's _\bE_\bm_\ba_\bc_\bs
8595 front-end for _\bM_\bH. An early version is supplied with the
8596 _\bm_\bh._\b6 distribution. (profile, no default)
8597
8598 Alternate-Mailboxes: mh@uci-750a, bug-mh*
8599 Tells _\br_\be_\bp_\bl and _\bs_\bc_\ba_\bn which addresses are really yours. In
8600 this way, _\br_\be_\bp_\bl knows which addresses should be included
8601 in the reply, and _\bs_\bc_\ba_\bn knows if the message really ori-
8602 ginated from you. Addresses must be separated by a
8603 comma, and the hostnames listed should be the "official"
8604 hostnames for the mailboxes you indicate, as local nick-
8605 names for hosts are not replaced with their official site
8606 names. For each address, if a host is not given, then
8607 that address on any host is considered to be you. In
8608 addition, an asterisk (`*') may appear at either or both
8609 ends of the mailbox and host to indicate wild-card match-
8610 ing. (profile, default: your user-id)
8611
8612 Aliasfile: aliases other-alias
8613 Indicates aliases files for _\ba_\bl_\bi, _\bw_\bh_\bo_\bm, and _\bs_\be_\bn_\bd. This
8614 may be used instead of the `-alias file' switch. (pro-
8615 file, no default)
8616
8617 Draft-Folder: drafts
8618 Indicates a default draft folder for _\bc_\bo_\bm_\bp, _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw,
8619 and _\br_\be_\bp_\bl. (profile, no default)
8620
8621 digest-issue-_\bl_\bi_\bs_\bt: 1
8622 Tells _\bf_\bo_\br_\bw the last issue of the last volume sent for the
8623 digest _\bl_\bi_\bs_\bt. (context, no default)
8624
8625 digest-volume-_\bl_\bi_\bs_\bt: 1
8626 Tells _\bf_\bo_\br_\bw the last volume sent for the digest _\bl_\bi_\bs_\bt.
8627 (context, no default)
8628
8629 MailDrop: .mail
8630 Tells _\bi_\bn_\bc your maildrop, if different from the default.
8631 This is superceded by the MAILDROP envariable. (profile,
8632 default: /usr/spool/mail/$USER)
8633
8634 Signature: RAND MH System (agent: Marshall Rose)
8635 Tells _\bs_\be_\bn_\bd your mail signature. This is superceded by
8636 the SIGNATURE envariable. If SIGNATURE is not set and
8637 this profile entry is not present, the "gcos" field of
8638 the /_\be_\bt_\bc/_\bp_\ba_\bs_\bs_\bw_\bd file will be used; otherwise, on hosts
8639 where _\bM_\bH was configured with the UCI option, the file
8640
8641 [mh.6] MH.6.8 UCI version
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651 MH-PROFILE(5) -131- MH-PROFILE(5)
8652
8653
8654 $HOME/.signature is consulted. Your signature will be
8655 added to the address _\bs_\be_\bn_\bd puts in the "From:" header; do
8656 not include an address in the signature text. (profile,
8657 no default)
8658
8659 The following profile elements are used whenever an _\bM_\bH program
8660 invokes some other program such as _\bm_\bo_\br_\be (1). The ._\bm_\bh__\bp_\br_\bo_\bf_\bi_\bl_\be can
8661 be used to select alternate programs if the user wishes. The
8662 default values are given in the examples.
8663
8664 fileproc: /usr/local/refile
8665 incproc: /usr/local/inc
8666 installproc: /usr/local/lib/mh/install-mh
8667 lproc: /usr/ucb/more
8668 mailproc: /usr/local/mhmail
8669 mhlproc: /usr/local/lib/mh/mhl
8670 moreproc: /usr/ucb/more
8671 mshproc: /usr/local/msh
8672 packproc: /usr/local/packf
8673 postproc: /usr/local/lib/mh/post
8674 rmmproc: none
8675 rmfproc: /usr/local/rmf
8676 sendproc: /usr/local/send
8677 showproc: /usr/ucb/more
8678 whatnowproc: /usr/local/whatnow
8679 whomproc: /usr/local/whom
8680
8681 If you define the envariable MH, you can specify a profile other
8682 than ._\bm_\bh__\bp_\br_\bo_\bf_\bi_\bl_\be to be read by the _\bM_\bH programs that you invoke. If
8683 the value of MH is not absolute, (i.e., does not begin with a / ),
8684 it will be presumed to start from the current working directory.
8685 This is one of the very few exceptions in _\bM_\bH where non-absolute
8686 pathnames are not considered relative to the user's _\bM_\bH directory.
8687
8688 Similarly, if you define the envariable MHCONTEXT, you can specify
8689 a context other than the normal context file (as specified in the
8690 _\bM_\bH profile). As always, unless the value of MHCONTEXT is absolute,
8691 it will be presumed to start from your _\bM_\bH directory.
8692
8693 _\bM_\bH programs also support other envariables:
8694
8695 MAILDROP : tells _\bi_\bn_\bc the default maildrop
8696 This supercedes the "MailDrop:" profile entry.
8697
8698 SIGNATURE : tells _\bs_\be_\bn_\bd and _\bp_\bo_\bs_\bt your mail signature
8699 This supercedes the "Signature:" profile entry.
8700
8701 HOME : tells all _\bM_\bH programs your home directory
8702
8703 SHELL : tells _\bb_\bb_\bl the default shell to run
8704
8705 TERM : tells _\bM_\bH your terminal type
8706
8707 [mh.6] MH.6.8 UCI version
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717 MH-PROFILE(5) -132- MH-PROFILE(5)
8718
8719
8720 The TERMCAP envariable is also consulted. In particular,
8721 these tell _\bs_\bc_\ba_\bn and _\bm_\bh_\bl how to clear your terminal, and how
8722 many columns wide your terminal is. They also tell _\bm_\bh_\bl how
8723 many lines long your terminal screen is.
8724
8725 editalt : the alternate message
8726 This is set by _\bd_\bi_\bs_\bt and _\br_\be_\bp_\bl during edit sessions so you can
8727 peruse the message being distributed or replied to. The mes-
8728 sage is also available through a link called "@" in the
8729 current directory if your current working directory and the
8730 folder the message lives in are on the same UNIX filesystem.
8731
8732 mhdraft : the path to the working draft
8733 This is set by _\bc_\bo_\bm_\bp, _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, and _\br_\be_\bp_\bl to tell the _\bw_\bh_\ba_\bt_\b-
8734 _\bn_\bo_\bw_\bp_\br_\bo_\bc which file to ask "What now?" questions about. In
8735 addition, _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, and _\br_\be_\bp_\bl set mhfolder if appropriate.
8736 Further, _\bd_\bi_\bs_\bt and _\br_\be_\bp_\bl set mhaltmsg to tell the _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc
8737 about an alternate message associated with the draft (the mes-
8738 sage being distributed or replied to), and _\bd_\bi_\bs_\bt sets mhdist to
8739 tell the _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc that message re-distribution is occur-
8740 ring. Also, mheditor is set to tell the _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc the
8741 user's choice of editor (unless overridden by `-noedit').
8742 Similarly, mhuse may be set by _\bc_\bo_\bm_\bp. Finally, mhmessages is
8743 set by _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, and _\br_\be_\bp_\bl if annotations are to occur (along
8744 with mhannotate, and mhinplace). It's amazing all the infor-
8745 mation that has to get passed via envariables to make the
8746 "What now?" interface look squeaky clean to the _\bM_\bH user, isn't
8747 it? The reason for all this is that the _\bM_\bH user can select
8748 _\ba_\bn_\by program as the _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc, including one of the standard
8749 shells. As a result, it's not possible to pass information
8750 via an argument list.
8751 If the WHATNOW option was set during _\bM_\bH configuration (type
8752 `-help' to an _\bM_\bH command to find out), and if this envariable
8753 is set, if the commands _\br_\be_\bf_\bi_\bl_\be, _\bs_\be_\bn_\bd, _\bs_\bh_\bo_\bw, or _\bw_\bh_\bo_\bm are not
8754 given any `msgs' arguments, then they will default to using
8755 the file indicated by mhdraft. This is useful for getting the
8756 default behavior supplied by the default _\bw_\bh_\ba_\bt_\bn_\bo_\bw_\bp_\br_\bo_\bc.
8757
8758 mhfolder : the folder containing the alternate message
8759 This is set by _\bd_\bi_\bs_\bt and _\br_\be_\bp_\bl during edit sessions so you can
8760 peruse other messages in the current folder besides the one
8761 being distributed or replied to. The mhfolder envariable is
8762 also set by _\bs_\bh_\bo_\bw, _\bp_\br_\be_\bv, and _\bn_\be_\bx_\bt for use by _\bm_\bh_\bl.
8763
8764 MHBBRC :
8765 If you define the envariable MHBBRC, you can specify a BBoards
8766 information file other than ._\bb_\bb_\br_\bc to be read by _\bb_\bb_\bc. If the
8767 value of MHBBRC is not absolute, (i.e., does not begin with a
8768 / ), it will be presumed to start from the current working
8769 directory.
8770
8771 MHFD :
8772
8773 [mh.6] MH.6.8 UCI version
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783 MH-PROFILE(5) -133- MH-PROFILE(5)
8784
8785
8786 If the OVERHEAD option was set during _\bM_\bH configuration (type
8787 `-help' to an _\bM_\bH command to find out), then if this envariable
8788 is set, _\bM_\bH considers it to be the number of a file descriptor
8789 which is opened, read-only to the _\bM_\bH profile. Similarly, if
8790 the envariable MHCONTEXTFD is set, this is the number of a
8791 file descriptor which is opened read-only to the _\bM_\bH context.
8792 This feature of _\bM_\bH is experimental, and is used to examine
8793 possible speed improvements for _\bM_\bH startup. Note that these
8794 envariables must be set and non-empty to enable this feature.
8795 However, if OVERHEAD is enabled during _\bM_\bH configuration, then
8796 when _\bM_\bH programs call other _\bM_\bH programs, this scheme is used.
8797 These file descriptors are not closed throughout the execution
8798 of the _\bM_\bH program, so children may take advantage of this.
8799 This approach is thought to be completely safe and does result
8800 in some performance enhancements.
8801
8802
8803 _\bF_\bi_\bl_\be_\bs
8804 $HOME/.mh_profile The user profile
8805 or $MH Rather than the standard profile
8806 <mh-dir>/context The user context
8807 or $CONTEXT Rather than the standard context
8808 <folder>/.mh_sequences Public sequences for <folder>
8809
8810
8811 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
8812 All
8813
8814
8815 _\bS_\be_\be _\bA_\bl_\bs_\bo
8816 mh(1), environ(5), mh-sequence(5)
8817
8818
8819 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
8820 None
8821
8822
8823 _\bC_\bo_\bn_\bt_\be_\bx_\bt
8824 All
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839 [mh.6] MH.6.8 UCI version
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849 MH-PROFILE(5) -134- MH-PROFILE(5)
8850
8851
8852 _\bH_\bi_\bs_\bt_\bo_\br_\by
8853 In previous versions of _\bM_\bH, the current-message value of a writable
8854 folder was kept in a file called "cur" in the folder itself. In
8855 _\bm_\bh._\b3, the ._\bm_\bh__\bp_\br_\bo_\bf_\bi_\bl_\be contained the current-message values for all
8856 folders, regardless of their writability.
8857
8858 In all versions of _\bM_\bH since _\bm_\bh._\b4, the ._\bm_\bh__\bp_\br_\bo_\bf_\bi_\bl_\be contains only
8859 static information, which _\bM_\bH programs will NOT update. Changes in
8860 context are made to the _\bc_\bo_\bn_\bt_\be_\bx_\bt file kept in the users MH _\bd_\bi_\br_\be_\bc_\bt_\bo-
8861 _\br_\by. This includes, but is not limited to: the "Current-Folder" en-
8862 try and all private sequence information. Public sequence informa-
8863 tion is kept in a file called ._\bm_\bh__\bs_\be_\bq_\bu_\be_\bn_\bc_\be_\bs in each folder.
8864
8865 To convert from the format used in releases of _\bM_\bH prior to the for-
8866 mat used in the _\bm_\bh._\b4 release, _\bi_\bn_\bs_\bt_\ba_\bl_\bl-_\bm_\bh should be invoked with the
8867 `-compat' switch. This generally happens automatically on _\bM_\bH sys-
8868 tems generated with the "COMPAT" option during _\bM_\bH configuration.
8869
8870 The ._\bm_\bh__\bp_\br_\bo_\bf_\bi_\bl_\be may override the path of the _\bc_\bo_\bn_\bt_\be_\bx_\bt file, by
8871 specifying a "context" entry (this must be in lower-case). If the
8872 entry is not absolute (does not start with a / ), then it is inter-
8873 preted relative to the user's _\bM_\bH directory. As a result, you can
8874 actually have more than one set of private sequences by using dif-
8875 ferent context files.
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905 [mh.6] MH.6.8 UCI version
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915 MH-PROFILE(5) -135- MH-PROFILE(5)
8916
8917
8918 _\bB_\bu_\bg_\bs
8919 The shell quoting conventions are not available in the .mh_profile.
8920 Each token is separated by whitespace.
8921
8922 There is some question as to what kind of arguments should be
8923 placed in the profile as options. In order to provide a clear
8924 answer, recall command line semantics of all _\bM_\bH programs: conflict-
8925 ing switches (e.g., `-header and `-noheader') may occur more than
8926 one time on the command line, with the last switch taking effect.
8927 Other arguments, such as message sequences, filenames and folders,
8928 are always remembered on the invocation line and are not superseded
8929 by following arguments of the same type. Hence, it is safe to
8930 place only switches (and their arguments) in the profile.
8931
8932 If one finds that an _\bM_\bH program is being invoked again and again
8933 with the same arguments, and those arguments aren't switches, then
8934 there are a few possible solutions to this problem. The first is
8935 to create a (soft) link in your $_\bH_\bO_\bM_\bE/_\bb_\bi_\bn directory to the _\bM_\bH pro-
8936 gram of your choice. By giving this link a different name, you can
8937 create a new entry in your profile and use an alternate set of de-
8938 faults for the _\bM_\bH command. Similarly, you could create a small
8939 shell script which called the _\bM_\bH program of your choice with an al-
8940 ternate set of invocation line switches (using links and an alter-
8941 nate profile entry is preferable to this solution).
8942
8943 Finally, the _\bc_\bs_\bh user could create an alias for the command of the
8944 form:
8945
8946 alias cmd 'cmd arg1 arg2 ...'
8947
8948 In this way, the user can avoid lengthy type-in to the shell, and
8949 still give _\bM_\bH commands safely. (Recall that some _\bM_\bH commands in-
8950 voke others, and that in all cases, the profile is read, meaning
8951 that aliases are disregarded beyond an initial command invocation)
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971 [mh.6] MH.6.8 UCI version
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981 MH-SEQUENCE(5) -136- MH-SEQUENCE(5)
8982
8983
8984 _\bN_\bA_\bM_\bE
8985 mh-sequence - sequence specification for MH message system
8986
8987 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
8988 most _\bM_\bH commands
8989
8990 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
8991
8992 Most _\bM_\bH commands accept a `msg' or `msgs' specification, where
8993 `msg' indicates one message and `msgs' indicates one or more mes-
8994 sages. To designate a message, you may use either its number
8995 (e.g., 1, 10, 234) or one of these "reserved" message names:
8996
8997 _\bN_\ba_\bm_\be _\bD_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn
8998 first the first message in the folder
8999 last the last message in the folder
9000 cur the most recently accessed message
9001 prev the message numerically preceding "cur"
9002 next the message numerically following "cur"
9003
9004 In commands that take a `msg' argument, the default is "cur". As a
9005 shorthand, "." is equivalent to "cur".
9006
9007 For example: In a folder containing five messages numbered 5, 10,
9008 94, 177 and 325, "first" is 5 and "last" is 325. If "cur" is 94,
9009 then "prev" is 10 and "next" is 177.
9010
9011 The word `msgs' indicates that one or more messages may be speci-
9012 fied. Such a specification consists of one message designation or
9013 of several message designations separated by spaces. A message
9014 designation consists either of a message name as defined above, or
9015 a message range.
9016
9017 A message range is specified as "name1-name2" or "name:n", where
9018 `name', `name1' and `name2' are message names, and `n' is an
9019 integer.
9020
9021 The specification "name1-name2" designates all currently-existing
9022 messages from `name1' to `name2' inclusive. The message name "all"
9023 is a shorthand for the message range "first-last".
9024
9025 The specification "name:n" designates up to `n' messages. These
9026 messages start with `name' if `name' is a message number or one of
9027 the reserved names "first" "cur", or "next", The messages end with
9028 `name' if `name' is "prev" or "last". The interpretation of `n'
9029 may be overridden by preceding `n' with a plus or minus sign; `+n'
9030 always means up to `n' messages starting with `name', and `-n'
9031 always means up to `n' messages ending with `name'.
9032
9033 In commands which accept a `msgs' argument, the default is either
9034 "cur" or "all", depending on which makes more sense for each com-
9035 mand (see the individual man pages for details). Repeated
9036
9037 [mh.6] MH.6.8 UCI version
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047 MH-SEQUENCE(5) -137- MH-SEQUENCE(5)
9048
9049
9050 specifications of the same message have the same effect as a single
9051 specification of the message.
9052
9053
9054 _\bU_\bs_\be_\br-_\bD_\be_\bf_\bi_\bn_\be_\bd _\bM_\be_\bs_\bs_\ba_\bg_\be _\bS_\be_\bq_\bu_\be_\bn_\bc_\be_\bs
9055
9056 In addition to the "reserved" (pre-defined) message names given
9057 above, _\bM_\bH supports user-defined sequence names. User-defined
9058 sequences allow the _\bM_\bH user a tremendous amount of power in dealing
9059 with groups of messages in the same folder by allowing the user to
9060 bind a group of messages to a meaningful symbolic name.
9061
9062 The name used to denote a message sequence must consist of an
9063 alphabetic character followed by zero or more alphanumeric charac-
9064 ters, and can not be one of the "reserved" message names above.
9065 After defining a sequence, it can be used wherever an _\bM_\bH command
9066 expects a `msg' or `msgs' argument.
9067
9068 Some forms of message ranges are allowed with user-defined
9069 sequences. The specification "name:n" may be used, and it desig-
9070 nates up to the first `n' messages (or last `n' messages for `-n')
9071 which are elements of the user-defined sequence `name'.
9072
9073 The specifications "name:next" and "name:prev" may also be used,
9074 and they designate the next or previous message (relative to the
9075 current message) which is an element of the user-defined sequence
9076 `name'. The specificaitions "name:first" and "name:last" are
9077 equivalent to "name:1" and "name:-1", respectively. The specifica-
9078 tion "name:cur" is not allowed (use just "cur" instead). The syn-
9079 tax of these message range specifcations is subject to change in
9080 the future.
9081
9082 User-defined sequence names are specific to each folder. They are
9083 defined using the _\bp_\bi_\bc_\bk and _\bm_\ba_\br_\bk commands.
9084
9085
9086 _\bP_\bu_\bb_\bl_\bi_\bc _\ba_\bn_\bd _\bP_\br_\bi_\bv_\ba_\bt_\be _\bU_\bs_\be_\br-_\bD_\be_\bf_\bi_\bn_\be_\bd _\bS_\be_\bq_\bu_\be_\bn_\bc_\be_\bs
9087
9088 There are two varieties of sequences: _\bp_\bu_\bb_\bl_\bi_\bc sequences and _\bp_\br_\bi_\bv_\ba_\bt_\be
9089 sequences. _\bP_\bu_\bb_\bl_\bi_\bc sequences of a folder are accessible to any _\bM_\bH
9090 user that can read that folder and are kept in the .mh_sequences
9091 file in the folder. _\bP_\br_\bi_\bv_\ba_\bt_\be sequences are accessible only to the
9092 _\bM_\bH user that defined those sequences and are kept in the user's _\bM_\bH
9093 context file. By default, _\bp_\bi_\bc_\bk and _\bm_\ba_\br_\bk create _\bp_\bu_\bb_\bl_\bi_\bc sequences if
9094 the folder for which the sequences are being defined is writable by
9095 the _\bM_\bH user. Otherwise, _\bp_\br_\bi_\bv_\ba_\bt_\be sequences are created. This can
9096 be overridden with the `-public' and `-private' switches to _\bm_\ba_\br_\bk.
9097
9098
9099 _\bS_\be_\bq_\bu_\be_\bn_\bc_\be _\bN_\be_\bg_\ba_\bt_\bi_\bo_\bn
9100
9101 _\bM_\bH provides the ability to select all messages not elements of a
9102
9103 [mh.6] MH.6.8 UCI version
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113 MH-SEQUENCE(5) -138- MH-SEQUENCE(5)
9114
9115
9116 user-defined sequence. To do this, the user should define the
9117 entry "Sequence-Negation" in the _\bM_\bH profile file; its value may be
9118 any string. This string is then used to preface an existing user-
9119 defined sequence name. This specification then refers to those
9120 messages not elements of the specified sequence name. For example,
9121 if the profile entry is:
9122
9123 Sequence-Negation: not
9124
9125 then anytime an _\bM_\bH command is given "notfoo" as a `msg' or `msgs'
9126 argument, it would substitute all messages that are not elements of
9127 the sequence "foo".
9128
9129 Obviously, the user should beware of defining sequences with names
9130 that begin with the value of the "Sequence-Negation" profile entry.
9131
9132
9133 _\bT_\bh_\be _\bP_\br_\be_\bv_\bi_\bo_\bu_\bs _\bS_\be_\bq_\bu_\be_\bn_\bc_\be
9134
9135 _\bM_\bH provides the ability to remember the `msgs' or `msg' argument
9136 last given to an _\bM_\bH command. The entry "Previous-Sequence" should
9137 be defined in the _\bM_\bH profile; its value should be a sequence name
9138 or multiple sequence names separated by spaces. If this entry is
9139 defined, when when an _\bM_\bH command finishes, it will define the
9140 sequence(s) named in the value of this entry to be those messages
9141 that were specified to the command. Hence, a profile entry of
9142
9143 Previous-Sequence: pseq
9144
9145 directs any _\bM_\bH command that accepts a `msg' or `msgs' argument to
9146 define the sequence "pseq" as those messages when it finishes.
9147
9148 Note: there can be a performance penalty in using the
9149 "Previous-Sequence" facility. If it is used, all _\bM_\bH programs have
9150 to write the sequence information to the .mh_sequences file for the
9151 folder each time they run. If the "Previous-Sequence" profile
9152 entry is not included, only _\bp_\bi_\bc_\bk and _\bm_\ba_\br_\bk will write to the
9153 .mh_sequences file.
9154
9155
9156 _\bT_\bh_\be _\bU_\bn_\bs_\be_\be_\bn _\bS_\be_\bq_\bu_\be_\bn_\bc_\be
9157
9158 Finally, some users like to indicate messages which have not been
9159 previously seen by them. Both _\bi_\bn_\bc and _\bs_\bh_\bo_\bw honor the profile entry
9160 "Unseen-Sequence" to support this activity. This entry in the
9161 .mh_profile should be defined as one or more sequence names
9162 separated by spaces. If there is a value for "Unseen-Sequence" in
9163 the profile, then whenever _\bi_\bn_\bc places new messages in a folder, the
9164 new messages will also be added to the sequence(s) named in the
9165 value of this entry. Hence, a profile entry of
9166
9167 Unseen-Sequence: unseen
9168
9169 [mh.6] MH.6.8 UCI version
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179 MH-SEQUENCE(5) -139- MH-SEQUENCE(5)
9180
9181
9182 directs _\bi_\bn_\bc to add new messages to the sequence "unseen". Unlike
9183 the behavior of the "Previous-Sequence" entry in the profile, how-
9184 ever, the sequence(s) will not be zeroed by _\bi_\bn_\bc.
9185
9186 Similarly, whenever _\bs_\bh_\bo_\bw (or _\bn_\be_\bx_\bt or _\bp_\br_\be_\bv) displays a message, that
9187 message will be removed from any sequences named by the
9188 "Unseen-Sequence" entry in the profile.
9189
9190
9191 _\bF_\bi_\bl_\be_\bs
9192 $HOME/.mh_profile The user profile
9193 <mh-dir>/context The user context
9194 <folder>/.mh_sequences Public sequences for <folder>
9195
9196
9197 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
9198 Sequence-Negation: To designate messages not in a sequence
9199 Previous-Sequence: The last message specification given
9200 Unseen-Sequence: Those messages not yet seen by the user
9201
9202
9203 _\bS_\be_\be _\bA_\bl_\bs_\bo
9204 mh(1), mark(1), pick(1), mh-profile(5)
9205
9206
9207 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
9208 None
9209
9210
9211 _\bC_\bo_\bn_\bt_\be_\bx_\bt
9212 All
9213
9214
9215 _\bB_\bu_\bg_\bs
9216 User-defined sequences are stored in the .mh_sequences file as a
9217 series of message specifications separated by spaces. If a user-
9218 defined sequence contains too many individual message specifica-
9219 tions, that line in the file may become too long for _\bM_\bH to handle.
9220 This will generate the error message ".mh_sequences is poorly for-
9221 matted". You'll have to edit the file by hand to remove the of-
9222 fending line.
9223
9224 This can happen to users who define the "Previous-Sequence" entry
9225 in the _\bM_\bH profile and have a folder containing many messages with
9226 gaps in the numbering. A workaround for large folders is to minim-
9227 ize numbering gaps by using "folder -pack" often.
9228
9229
9230
9231
9232
9233
9234
9235 [mh.6] MH.6.8 UCI version
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245 AP(8) -140- AP(8)
9246
9247
9248 _\bN_\bA_\bM_\bE
9249 ap - parse addresses 822-style
9250
9251 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
9252 /usr/local/lib/mh/ap [-form formatfile] [-format string]
9253 [-normalize] [-nonormalize] [-width columns] addrs ...
9254 [-help]
9255
9256 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
9257
9258 _\bA_\bp is a program that parses addresses according to the ARPA Inter-
9259 net standard. It also understands many non-standard formats. It
9260 is useful for seeing how _\bM_\bH will interpret an address.
9261
9262 The _\ba_\bp program treats each argument as one or more addresses, and
9263 prints those addresses out in the official 822-format. Hence, it
9264 is usually best to enclose each argument in double-quotes for the
9265 shell.
9266
9267 To override the output format used by _\ba_\bp, the `-format string' or
9268 `-format file' switches are used. This permits individual fields
9269 of the address to be extracted with ease. The string is simply a
9270 format stringand thefile is simply a format file. See
9271 _\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt (5) for the details.
9272
9273 In addition to the standard escapes, _\ba_\bp also recognizes the follow-
9274 ing additional escape:
9275
9276 _\bE_\bs_\bc_\ba_\bp_\be _\bR_\be_\bt_\bu_\br_\bn_\bs _\bD_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn
9277 error string A diagnostic if the parse failed
9278
9279 If the `-normalize' switch is given, _\ba_\bp will try to track down the
9280 official hostname of the address.
9281
9282 Here is the default format string used by _\ba_\bp:
9283
9284 %<{error}%{error}: %{text}%|%(putstr(proper{text}))%>
9285
9286 which says that if an error was detected, print the error, a `:',
9287 and the address in error. Otherwise, output the 822-proper format
9288 of the address.
9289
9290 _\bF_\bi_\bl_\be_\bs
9291 $HOME/.mh_profile The user profile
9292 /usr/local/lib/mh/mtstailor tailor file
9293
9294
9295 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
9296 None
9297
9298
9299
9300
9301 [mh.6] MH.6.8 UCI version
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311 AP(8) -141- AP(8)
9312
9313
9314 _\bS_\be_\be _\bA_\bl_\bs_\bo
9315 dp(8),
9316 _\bS_\bt_\ba_\bn_\bd_\ba_\br_\bd _\bf_\bo_\br _\bt_\bh_\be _\bF_\bo_\br_\bm_\ba_\bt _\bo_\bf _\bA_\bR_\bP_\bA _\bI_\bn_\bt_\be_\br_\bn_\be_\bt _\bT_\be_\bx_\bt _\bM_\be_\bs_\bs_\ba_\bg_\be_\bs (aka
9317 RFC-822)
9318
9319
9320 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
9321 `-format' defaults as described above
9322 `-normalize'
9323 `-width' defaults to the width of the terminal
9324
9325
9326 _\bC_\bo_\bn_\bt_\be_\bx_\bt
9327 None
9328
9329
9330 _\bB_\bu_\bg_\bs
9331 The argument to the `-format' switch must be interpreted as a sin-
9332 gle token by the shell that invokes _\ba_\bp. Therefore, one must usual-
9333 ly place the argument to this switch inside double-quotes.
9334
9335 On hosts where _\bM_\bH was configured with the BERK option, address
9336 parsing is not enabled.
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367 [mh.6] MH.6.8 UCI version
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377 CONFLICT(8) -142- CONFLICT(8)
9378
9379
9380 _\bN_\bA_\bM_\bE
9381 conflict - search for alias/password conflicts
9382
9383 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
9384 /usr/local/lib/mh/conflict [-mail name] [-search directory]
9385 [aliasfiles...] [-help]
9386
9387 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
9388
9389 _\bC_\bo_\bn_\bf_\bl_\bi_\bc_\bt is a program that checks to see if the interface between
9390 _\bM_\bH and transport system is in good shape
9391
9392 _\bC_\bo_\bn_\bf_\bl_\bi_\bc_\bt also checks for maildrops in /usr/spool/mail which do not
9393 belong to a valid user. It assumes that no user name will start
9394 with `.', and thus ignores files in /usr/spool/mail which begin
9395 with `.'. It also checks for entries in the _\bg_\br_\bo_\bu_\bp (5) file which
9396 do not belong to a valid user, and for users who do not have a
9397 valid group number. In addition duplicate users and groups are
9398 noted.
9399
9400 If the `-mail name' switch is used, then the results will be sent
9401 to the specified _\bn_\ba_\bm_\be. Otherwise, the results are sent to the
9402 standard output.
9403
9404 The `-search directory' switch can be used to search directories
9405 other than /usr/spool/mail and to report anomalies in those direc-
9406 tories. The `-search directory' switch can appear more than one
9407 time in an invocation to _\bc_\bo_\bn_\bf_\bl_\bi_\bc_\bt.
9408
9409 _\bC_\bo_\bn_\bf_\bl_\bi_\bc_\bt should be run under _\bc_\br_\bo_\bn (8), or whenever system account-
9410 ing takes place.
9411
9412 _\bF_\bi_\bl_\be_\bs
9413 /usr/local/lib/mh/mtstailor tailor file
9414 /etc/passwd List of users
9415 /etc/group List of groups
9416 /usr/local/mhmail Program to send mail
9417 /usr/spool/mail/ Directory of mail drop
9418
9419
9420 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
9421 None
9422
9423
9424 _\bS_\be_\be _\bA_\bl_\bs_\bo
9425 mh-alias(5)
9426
9427
9428 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
9429 `aliasfiles' defaults to /usr/local/lib/mh/MailAliases
9430
9431
9432
9433 [mh.6] MH.6.8 UCI version
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443 CONFLICT(8) -143- CONFLICT(8)
9444
9445
9446 _\bC_\bo_\bn_\bt_\be_\bx_\bt
9447 None
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499 [mh.6] MH.6.8 UCI version
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509 DP(8) -144- DP(8)
9510
9511
9512 _\bN_\bA_\bM_\bE
9513 dp - parse dates 822-style
9514
9515 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
9516 /usr/local/lib/mh/dp [-form formatfile] [-format string]
9517 [-width columns] dates ... [-help]
9518
9519 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
9520
9521 _\bD_\bp is a program that parses dates according to the ARPA Internet
9522 standard. It also understands many non-standard formats, such as
9523 those produced by TOPS-20 sites and some UNIX sites using
9524 _\bc_\bt_\bi_\bm_\be (3). It is useful for seeing how _\bM_\bH will interpret a date.
9525
9526 The _\bd_\bp program treats each argument as a single date, and prints
9527 the date out in the official 822-format. Hence, it is usually best
9528 to enclose each argument in double-quotes for the shell.
9529
9530 To override the output format used by _\bd_\bp, the `-format string' or
9531 `-format file' switches are used. This permits individual fields
9532 of the address to be extracted with ease. The string is simply a
9533 format stringand thefile is simply a format file. See
9534 _\bm_\bh-_\bf_\bo_\br_\bm_\ba_\bt (5) for the details.
9535
9536 Here is the default format string used by _\bd_\bp:
9537
9538 %<(nodate{text})error: %{text}%|%(putstr(pretty{text}))%>
9539
9540 which says that if an error was detected, print the error, a `:',
9541 and the date in error. Otherwise, output the 822-proper format of
9542 the date.
9543
9544 _\bF_\bi_\bl_\be_\bs
9545 $HOME/.mh_profile The user profile
9546
9547
9548 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
9549 None
9550
9551
9552 _\bS_\be_\be _\bA_\bl_\bs_\bo
9553 ap(8)
9554 _\bS_\bt_\ba_\bn_\bd_\ba_\br_\bd _\bf_\bo_\br _\bt_\bh_\be _\bF_\bo_\br_\bm_\ba_\bt _\bo_\bf _\bA_\bR_\bP_\bA _\bI_\bn_\bt_\be_\br_\bn_\be_\bt _\bT_\be_\bx_\bt _\bM_\be_\bs_\bs_\ba_\bg_\be_\bs (aka
9555 RFC-822)
9556
9557
9558 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
9559 `-format' default as described above
9560 `-width' default to the width of the terminal
9561
9562
9563
9564
9565 [mh.6] MH.6.8 UCI version
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575 DP(8) -145- DP(8)
9576
9577
9578 _\bC_\bo_\bn_\bt_\be_\bx_\bt
9579 None
9580
9581
9582 _\bB_\bu_\bg_\bs
9583 The argument to the `-format' switch must be interpreted as a sin-
9584 gle token by the shell that invokes _\bd_\bp. Therefore, one must usual-
9585 ly place the argument to this switch inside double-quotes.
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631 [mh.6] MH.6.8 UCI version
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641 FMTDUMP(8) -146- FMTDUMP(8)
9642
9643
9644 _\bN_\bA_\bM_\bE
9645 fmtdump - decode MH format files
9646
9647 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
9648 /usr/local/lib/mh/fmtdump [-form formatfile] [-format string]
9649 [-help]
9650
9651 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
9652
9653 _\bF_\bm_\bt_\bd_\bu_\bm_\bp is a program that parses an _\bM_\bH format file and produces a
9654 pseudo-language listing of the how _\bM_\bH interprets the file.
9655
9656 The `-format string' and `-form formatfile' switches may be used to
9657 specify a format string or format file to read. The string is sim-
9658 ply a format string and the file is simply a format file. See _\bm_\bh-
9659 _\bf_\bo_\br_\bm_\ba_\bt(5) for the details.
9660
9661 _\bF_\bi_\bl_\be_\bs
9662 $HOME/.mh_profile The user profile
9663 /usr/local/lib/mh/scan.default The default format file
9664
9665
9666 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
9667 Path: To determine the user's MH directory
9668
9669
9670 _\bS_\be_\be _\bA_\bl_\bs_\bo
9671 mh-format(5), mh-sequences(8)
9672
9673
9674 _\bC_\bo_\bn_\bt_\be_\bx_\bt
9675 None
9676
9677
9678 _\bB_\bu_\bg_\bs
9679 The output may not be useful unless you are familiar with the
9680 internals of the mh-format subroutines.
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697 [mh.6] MH.6.8 UCI version
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707 INSTALL-MH(8) -147- INSTALL-MH(8)
9708
9709
9710 _\bN_\bA_\bM_\bE
9711 install-mh - initialize the MH environment
9712
9713 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
9714 /usr/local/lib/mh/install-mh [-auto] [-compat]
9715
9716 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
9717
9718 When a user runs any _\bM_\bH program for the first time, the program
9719 will invoke _\bi_\bn_\bs_\bt_\ba_\bl_\bl-_\bm_\bh (with the `-auto' switch) to query the user
9720 for the initial _\bM_\bH environment. The user does NOT invoke this pro-
9721 gram directly. The user is asked for the name of the directory
9722 that will be designated as the user's _\bM_\bH directory. If this direc-
9723 tory does not exist, the user is asked if it should be created.
9724 Normally, this directory should be under the user's home directory,
9725 and has the default name of Mail/. After _\bi_\bn_\bs_\bt_\ba_\bl_\bl-_\bm_\bh has written
9726 the initial .mh_profile for the user, control returns to the origi-
9727 nal _\bM_\bH program.
9728
9729 As with all _\bM_\bH commands, _\bi_\bn_\bs_\bt_\ba_\bl_\bl-_\bm_\bh first consults the $HOME
9730 envariable to determine the user's home directory. If $HOME is not
9731 set, then the /_\be_\bt_\bc/_\bp_\ba_\bs_\bs_\bw_\bd file is consulted.
9732
9733 When converting from _\bm_\bh._\b3 to _\bm_\bh._\b4, _\bi_\bn_\bs_\bt_\ba_\bl_\bl-_\bm_\bh is automatically
9734 invoked with the `-compat' switch.
9735
9736 _\bF_\bi_\bl_\be_\bs
9737 $HOME/.mh_profile The user profile
9738
9739
9740 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
9741 Path: To set the user's MH directory
9742
9743
9744 _\bC_\bo_\bn_\bt_\be_\bx_\bt
9745 With `-auto', the current folder is changed to "inbox".
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763 [mh.6] MH.6.8 UCI version
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773 POST(8) -148- POST(8)
9774
9775
9776 _\bN_\bA_\bM_\bE
9777 post - deliver a message
9778
9779 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
9780 /usr/local/lib/mh/post [-alias aliasfile] [-filter filterfile]
9781 [-nofilter] [-format] [-noformat] [-msgid] [-nomsgid]
9782 [-verbose] [-noverbose] [-watch] [-nowatch] [-width columns]
9783 file [-help]
9784
9785 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
9786
9787 _\bP_\bo_\bs_\bt is the program called by _\bs_\be_\bn_\bd (1) to deliver the message in
9788 _\bf_\bi_\bl_\be to local and remote users. In fact, all of the functions
9789 attributed to _\bs_\be_\bn_\bd on its manual page are performed by _\bp_\bo_\bs_\bt, with
9790 _\bs_\be_\bn_\bd acting as a relatively simple preprocessor. Thus, it is _\bp_\bo_\bs_\bt
9791 which parses the various header fields, appends From: and Date:
9792 lines, and interacts with the _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl transport system. _\bP_\bo_\bs_\bt will
9793 not normally be called directly by the user.
9794
9795 _\bP_\bo_\bs_\bt searches the "To:", "cc:", "Bcc:", "Fcc:", and "Resent-xxx:"
9796 header lines of the specified message for destination addresses,
9797 checks these addresses for validity, and formats them so as to con-
9798 form to ARPAnet Internet Message Format protocol, unless the
9799 `-noformat' flag is set. This will normally cause "@_\bl_\bo_\bc_\ba_\bl-_\bs_\bi_\bt_\be" to
9800 be appended to each local destination address, as well as any local
9801 return addresses. The `-width columns' switch can be used to indi-
9802 cate the preferred length of the header components that contain
9803 addresses.
9804
9805 If a "Bcc:" field is encountered, its addresses will be used for
9806 delivery, and the "Bcc:" field will be removed from the message
9807 sent to sighted recipients. The blind recipients will receive an
9808 entirely new message with a minimal set of headers. Included in
9809 the body of the message will be a copy of the message sent to the
9810 sighted recipients. If `-filter filterfile' is specified, then
9811 this copy is filtered (re-formatted) prior to being sent to the
9812 blind recipients.
9813
9814 The `-alias aliasfile' switch can be used to specify a file that
9815 post should take aliases from. More than one file can be speci-
9816 fied, each being preceded with `-alias'. In any event, the primary
9817 alias file is read first.
9818
9819 The `-msgid' switch indicates that a "Message-ID:" or
9820 "Resent-Message-ID:" field should be added to the header.
9821
9822 The `-verbose' switch indicates that the user should be informed of
9823 each step of the posting/filing process.
9824
9825 The `-watch' switch indicates that the user would like to watch the
9826 transport system's handling of the message (e.g., local and "fast"
9827 delivery).
9828
9829 [mh.6] MH.6.8 UCI version
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839 POST(8) -149- POST(8)
9840
9841
9842 _\bP_\bo_\bs_\bt consults the envariable $SIGNATURE to determine the sender's
9843 personal name in constructing the "From:" line of the message.
9844
9845 _\bF_\bi_\bl_\be_\bs
9846 /usr/local/lib/mh/mtstailor tailor file
9847 /usr/local/refile Program to process Fcc:s
9848 /usr/local/lib/mh/mhl Program to process Bcc:s
9849 /usr/local/lib/mh/MailAliases Primary alias file
9850
9851
9852 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
9853 _\bp_\bo_\bs_\bt does NOT consult the user's .mh_profile
9854
9855
9856 _\bS_\be_\be _\bA_\bl_\bs_\bo
9857 _\bS_\bt_\ba_\bn_\bd_\ba_\br_\bd _\bf_\bo_\br _\bt_\bh_\be _\bF_\bo_\br_\bm_\ba_\bt _\bo_\bf _\bA_\bR_\bP_\bA _\bI_\bn_\bt_\be_\br_\bn_\be_\bt _\bT_\be_\bx_\bt _\bM_\be_\bs_\bs_\ba_\bg_\be_\bs (aka
9858 RFC-822),
9859 mhmail(1), send(1), mh-mail(5), mh-alias(5)
9860
9861
9862 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
9863 `-alias /usr/local/lib/mh/MailAliases'
9864 `-format'
9865 `-nomsgid'
9866 `-noverbose'
9867 `-nowatch'
9868 `-width 72'
9869 `-nofilter'
9870
9871
9872 _\bC_\bo_\bn_\bt_\be_\bx_\bt
9873 None
9874
9875
9876 _\bB_\bu_\bg_\bs
9877 "Reply-To:" fields are allowed to have groups in them according to
9878 the 822 specification, but _\bp_\bo_\bs_\bt won't let you use them.
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895 [mh.6] MH.6.8 UCI version
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908 _\b5. _\bR_\bE_\bP_\bO_\bR_\bT_\bI_\bN_\bG _\bP_\bR_\bO_\bB_\bL_\bE_\bM_\bS
9909
9910
9911
9912
9913
9914 If problems are encountered with an _\bM_\bH program, the problems should
9915 be reported to the local maintainers of _\bM_\bH. When doing this, the name
9916 of the program should be reported, along with the version information
9917 for the program. To find out what version of an _\bM_\bH program is being
9918 run, invoke the program with the `-help' switch. In addition to listing
9919 the syntax of the command, the program will list information pertaining
9920 to its version. This information includes the version of _\bM_\bH, the host
9921 it was generated on, and the date the program was loaded. A second line
9922 of information, found on versions of _\bM_\bH after #5.380 include _\bM_\bH confi-
9923 guration options. For example,
9924
9925 version: MH 6.1 #1[UCI] (nrtc-gremlin) of Wed Nov 6 01:13:53 PST
9926 1985
9927 options: [BSD42] [MHE] [NETWORK] [SENDMTS] [MMDFII] [SMTP] [POP]
9928
9929 The `6.1 #1[UCI]' indicates that the program is from the UCI _\bm_\bh._\b6 ver-
9930 sion of _\bM_\bH. The program was generated on the host `nrtc-gremlin' on
9931 `Wed Nov 6 01:13:53 PST 1985'. It's usually a good idea to send the
9932 output of the `-help' switch along with your report.
9933
9934 If there is no local _\bM_\bH maintainer, try the address Bug-MH. If that
9935 fails, use the Internet mailbox Bug-MH@ICS.UCI.EDU.
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961 -150-
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974 _\b6. _\bA_\bD_\bV_\bA_\bN_\bC_\bE_\bD _\bF_\bE_\bA_\bT_\bU_\bR_\bE_\bS
9975
9976
9977
9978
9979
9980 This section describes some features of _\bM_\bH that were included
9981 strictly for advanced _\bM_\bH users. These capabilities permit _\bM_\bH to exhibit
9982 more powerful behavior for the seasoned _\bM_\bH users.
9983
9984
9985 _\bU_\bS_\bE_\bR-_\bD_\bE_\bF_\bI_\bN_\bE_\bD _\bS_\bE_\bQ_\bU_\bE_\bN_\bC_\bE_\bS
9986
9987 User-defined sequences allow the _\bM_\bH user a tremendous amount of
9988 power in dealing with groups of messages in the same folder by allowing
9989 the user to bind a group of messages to a meaningful symbolic name. The
9990 user may choose any name for a message sequence, as long as it consists
9991 of alphanumeric characters and does not conflict with the standard _\bM_\bH
9992 reserved message names (e.g., "first", etc). After defining a sequence,
9993 it can be used wherever an _\bM_\bH command expects a `msg' or `msgs' argu-
9994 ment.
9995
9996 A restricted form of message ranges are allowed with user-defined
9997 sequences. The form "name:n", specifies up to the first `n' messages
9998 which are part of the user-defined sequence `name'. A leading plus sign
9999 is allowed on `n', but is ignored. The interpretation of n is overrid-
10000 den if n is preceded by a minus sign; `-n' always means up to the last
10001 `n' messages which are part of the sequence `name'.
10002
10003 Although all _\bM_\bH commands expand user-defined sequences as appropri-
10004 ate, there are two commands that allow the user to define and manipulate
10005 them: _\bp_\bi_\bc_\bk and _\bm_\ba_\br_\bk.
10006
10007 _\bP_\bi_\bc_\bk _\ba_\bn_\bd _\bU_\bs_\be_\br-_\bD_\be_\bf_\bi_\bn_\be_\bd _\bS_\be_\bq_\bu_\be_\bn_\bc_\be_\bs
10008
10009 Most users of _\bM_\bH will use user-defined sequences only with the _\bp_\bi_\bc_\bk
10010 command. By giving the `-sequence name' switch to _\bp_\bi_\bc_\bk (which can occur
10011 more than once on the command line), each sequence named is defined as
10012 those messages which _\bp_\bi_\bc_\bk matched according the the selection criteria
10013 it was given. Hence,
10014
10015 pick -from frated -seq fred
10016
10017 finds all those messages in the current folder which were from "frated",
10018 creates a sequence called "fred", and then adds them to the sequence.
10019 The user could then invoke
10020
10021 scan fred
10022
10023 to get a _\bs_\bc_\ba_\bn listing of those messages. Note that by default, _\bp_\bi_\bc_\bk
10024 creates the named sequences before it adds the selected messages to the
10025 sequence. Hence, if the named sequence already existed, the sequence is
10026
10027 -151-
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037 -152-
10038
10039
10040 destroyed prior to being re-defined (nothing happens to the messages
10041 that were a part of this sequence, they simply cease to be members of
10042 that sequence). By using the `-nozero' switch, this behavior can be
10043 inhibited, as in
10044
10045 pick -from frated -seq sgroup
10046 pick -from fear -seq sgroup -nozero
10047 pick -from freida -seq sgroup -nozero
10048
10049 finds all those messages in the current folder which were from "frated",
10050 "fear", or "freida", and defines the sequence called "sgroup" as exactly
10051 those messages. These operations amounted to an "inclusive-or" of three
10052 selection criteria, using _\bp_\bi_\bc_\bk, one can also generate the "and" of some
10053 selection criteria as well:
10054
10055 pick -from frated -seq fred
10056 pick -before friday -seq fred fred
10057
10058 This example defines the sequence called "fred" as exactly those mes-
10059 sages from "frated" that were dated prior to "friday".[1]
10060
10061 _\bP_\bi_\bc_\bk is normally used as a back-quoted command, for example,
10062
10063 scan `pick -from postmaster`
10064
10065 Now suppose that the user decides that another command should be issued,
10066 using exactly those messages. Since, _\bp_\bi_\bc_\bk wasn't given a
10067 `-sequence name' argument in this example, the user would end-up typing
10068 the entire back-quoted command again. A simpler way is to add a default
10069 sequence name to the .mh_profile. For example,
10070
10071 pick: -seq select -list
10072
10073 will tell _\bp_\bi_\bc_\bk to always define the sequence "select" whenever it's run.
10074 The `-list' is necessary since the `-sequence name' switch sets `-nol-
10075 ist' whenever the former is encountered. Hence, this profile entry
10076 makes _\bp_\bi_\bc_\bk define the "select" sequence and otherwise behave exactly as
10077
10078
10079 [1] Of course, it is much easier to simply use the built-in boolean
10080 operation of _\bp_\bi_\bc_\bk to get the desired results:
10081
10082 pick -from frated -or -from fear -or -from freida -seq sgroup
10083
10084 and
10085
10086 pick -from frated -and -before friday -seq fred
10087
10088 do exactly the same thing as the five commands listed above. Hence, the
10089 `-nozero' option to _\bp_\bi_\bc_\bk is only useful to manipulate existing se-
10090 quences.
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103 -153-
10104
10105
10106 if there was no profile entry at all.
10107
10108 _\bM_\ba_\br_\bk _\ba_\bn_\bd _\bU_\bs_\be_\br-_\bD_\be_\bf_\bi_\bn_\be_\bd _\bS_\be_\bq_\bu_\be_\bn_\bc_\be_\bs
10109
10110 The _\bm_\ba_\br_\bk command lets the user perform low-level manipulation of
10111 sequences, and also provides a well-needed debug facility to the
10112 implementors/developers/maintainers of _\bM_\bH (the _\bM_\bH-hacks). In the
10113 future, a user-friendly "front-end" for _\bm_\ba_\br_\bk will probably be developed
10114 to give the _\bM_\bH user a way to take better advantage of the underlying
10115 facilities.
10116
10117 _\bP_\bu_\bb_\bl_\bi_\bc _\ba_\bn_\bd _\bP_\br_\bi_\bv_\ba_\bt_\be _\bU_\bs_\be_\br-_\bD_\be_\bf_\bi_\bn_\be_\bd _\bS_\be_\bq_\bu_\be_\bn_\bc_\be_\bs
10118
10119 There are two kinds of sequences: _\bp_\bu_\bb_\bl_\bi_\bc sequences, and _\bp_\br_\bi_\bv_\ba_\bt_\be
10120 sequences. _\bP_\bu_\bb_\bl_\bi_\bc sequences of a folder are accessible to any _\bM_\bH user
10121 that can read that folder and are kept in the .mh_sequences file in the
10122 folder. _\bP_\br_\bi_\bv_\ba_\bt_\be sequences are accessible only to the _\bM_\bH user that
10123 defined those sequences and are kept in the user's _\bM_\bH context file. By
10124 default, _\bp_\bi_\bc_\bk (and _\bm_\ba_\br_\bk ) create _\bp_\bu_\bb_\bl_\bi_\bc sequences if the folder for
10125 which the sequences are being defined is writable by the _\bM_\bH user. Oth-
10126 erwise, _\bp_\br_\bi_\bv_\ba_\bt_\be sequences are created. This can be overridden with the
10127 `-public' and `-nopublic' switches.
10128
10129 _\bS_\be_\bq_\bu_\be_\bn_\bc_\be _\bN_\be_\bg_\ba_\bt_\bi_\bo_\bn
10130
10131 In addition to telling an _\bM_\bH command to use the messages in the
10132 sequence "seen", as in
10133
10134 refile seen +old
10135
10136 it would be useful to be easily able to tell an _\bM_\bH command to use all
10137 messages _\be_\bx_\bc_\be_\bp_\bt those in the sequence. One way of doing this would be
10138 to use _\bm_\ba_\br_\bk and define the sequence explicitly, as in
10139
10140 mark -delete -zero seen -seq notseen
10141
10142 which, owing to _\bm_\ba_\br_\bk 's cryptic interpretation of `-delete' and `-zero',
10143 defines the sequence "notseen" to be all messages not in the sequence
10144 "seen". Naturally, anytime the sequence "seen" is changed, "notseen"
10145 will have to be updated. Another way to achieve this is to define the
10146 entry "Sequence-Negation:" in the .mh_profile. If the entry was
10147
10148 Sequence-Negation: not
10149
10150 then anytime an _\bM_\bH command was given "notseen" as a `msg' or `msgs'
10151 argument, it would substitute all messages that are not a member of the
10152 sequence "seen". That is,
10153
10154 refile notseen +new
10155
10156 does just that. The value of the "Sequence-Negation:" entry in the pro-
10157 file can be any string. Hence, experienced users of _\bM_\bH do not use a
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169 -154-
10170
10171
10172 word, but rather a special character which their shell does not inter-
10173 pret (users of the _\bC_\bS_\bh_\be_\bl_\bl use a single caret or circumflex (usually
10174 shift-6), while users of the Bourne shell use an exclamation-mark).
10175 This is because there is nothing to prevent a user of _\bM_\bH from defining a
10176 sequence with this string as its prefix, if the string is nothing by
10177 letters and digits. Obviously, this could lead to confusing behavior if
10178 the "Sequence-Negation:" entry leads _\bM_\bH to believe that two sequences
10179 are opposites by virtue of their names differing by the prefix string.
10180
10181 _\bT_\bh_\be _\bP_\br_\be_\bv_\bi_\bo_\bu_\bs _\bS_\be_\bq_\bu_\be_\bn_\bc_\be
10182
10183 Many times users find themselves issuing a series of commands on
10184 the same sequences of messages. If the user first defined these mes-
10185 sages as a sequence, then considerable typing may be saved. If the user
10186 doesn't have this foresight, _\bM_\bH provides a handy way of having _\bM_\bH
10187 remember the `msgs' or `msg' argument last given to an _\bM_\bH command. If
10188 the entry "Previous-Sequence:" is defined in the .mh_profile, then when
10189 the command finishes, it will define the sequence(s) named in the value
10190 of this entry as being exactly those messages that were specified.
10191 Hence, a profile entry of
10192
10193 Previous-Sequence: pseq
10194
10195 directs any _\bM_\bH command that accepts a `msg' or `msgs' argument to define
10196 the sequence "pseq" as those messages when it finishes. More than one
10197 sequence name may be placed in this entry, separated with spaces. The
10198 one disadvantage of this approach is that the _\bM_\bH progams have to update
10199 the sequence information for the folder each time they run (although
10200 most programs read this information, usually only _\bp_\bi_\bc_\bk and _\bm_\ba_\br_\bk have to
10201 write this information out).
10202
10203 _\bT_\bh_\be _\bU_\bn_\bs_\be_\be_\bn _\bS_\be_\bq_\bu_\be_\bn_\bc_\be
10204
10205 Finally, some users like to distinguish between messages which have
10206 been previously seen by them. Both _\bi_\bn_\bc and _\bs_\bh_\bo_\bw honorthe profile entry
10207 "Unseen-Sequence" to support this activity. Whenever _\bi_\bn_\bc places new
10208 messages in a folder, if the entry "Unseen-Sequence" is defined in the
10209 .mh_profile, then when the command finishes, _\bi_\bn_\bc will add the new mes-
10210 sages to the sequence(s) named in the value of this entry. Hence, a
10211 profile entry of
10212
10213 Unseen-Sequence: unseen
10214
10215 directs _\bi_\bn_\bc to add new messages to the sequence "unseen". Unlike the
10216 behavior of the "Previous-Sequence" entry in the profile however, the
10217 sequence(s) will not be zero'd.
10218
10219 Similarly, whenever _\bs_\bh_\bo_\bw (or _\bn_\be_\bx_\bt or _\bp_\br_\be_\bv ) displays a message,
10220 they remove those messages from any sequences named by the
10221 "Unseen-Sequence" entry in the profile.
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235 -155-
10236
10237
10238 _\bC_\bO_\bM_\bP_\bO_\bS_\bI_\bT_\bI_\bO_\bN _\bO_\bF _\bM_\bA_\bI_\bL
10239
10240 There are a number of interesting advanced facilities for the com-
10241 position of outgoing mail.
10242
10243
10244 _\bT_\bh_\be _\bD_\br_\ba_\bf_\bt _\bF_\bo_\bl_\bd_\be_\br
10245
10246 The _\bc_\bo_\bm_\bp, _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, and _\br_\be_\bp_\bl commands have two switches,
10247 `-draftfolder +folder' and `-draftmessage msg'. If
10248 `-draftfolder +folder' is used, these commands are directed to construct
10249 a draft message in the indicated folder. (The "Draft-Folder:" profile
10250 entry may be used to declare a default draft folder for use with _\bc_\bo_\bm_\bp,
10251 _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, and _\br_\be_\bp_\bl) If `-draftmessage msg' is not used, it defaults to
10252 `new' (unless the user invokes _\bc_\bo_\bm_\bp with `-use', in which case the
10253 default is `cur'). Hence, the user may have several message composi-
10254 tions in progress simultaneously. Now, all of the _\bM_\bH tools are avail-
10255 able on each of the user's message drafts (e.g., _\bs_\bh_\bo_\bw, _\bs_\bc_\ba_\bn, _\bp_\bi_\bc_\bk, and
10256 so on). If the folder does not exist, the user is asked if it should be
10257 created (just like with _\br_\be_\bf_\bi_\bl_\be ). Also, the last draft message the user
10258 was composing is known as `cur' in the draft folder.
10259
10260 Furthermore, the _\bs_\be_\bn_\bd command has these switches as well. Hence,
10261 from the shell, the user can send off whatever drafts desired using the
10262 standard _\bM_\bH `msgs' convention with `-draftmessage msgs'. If no `msgs'
10263 are given, it defaults to `cur'.
10264
10265 In addition, all five programs have a `-nodraftfolder' switch,
10266 which undoes the last occurrence of `-draftfolder folder' (useful if the
10267 latter occurs in the user's _\bM_\bH profile).
10268
10269 If the user does not give the `-draftfolder +folder' switch, then
10270 all these commands act ``normally''. Note that the `-draft' switch to
10271 _\bs_\be_\bn_\bd and _\bs_\bh_\bo_\bw still refers to the file called `draft' in the user's _\bM_\bH
10272 directory. In the interests of economy of expression, when using _\bc_\bo_\bm_\bp
10273 or _\bs_\be_\bn_\bd, the user needn't prefix the draft `msg' or `msgs' with `-draft-
10274 message'. Both of these commands accept a `file' or `files' argument,
10275 and they will, if given `-draftfolder +folder' treat these arguments as
10276 `msg' or `msgs'.[2] Hence,
10277
10278 send -draftf +drafts first
10279
10280 is the same as
10281
10282 send -draftf +drafts -draftm first
10283
10284
10285
10286
10287 [2] This may appear to be inconsistent, at first, but it saves a lot
10288 of typing.
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301 -156-
10302
10303
10304 To make all this a bit more clear, here are some examples. Let's
10305 assume that the following entries are in the _\bM_\bH profile:
10306
10307 Draft-Folder: +drafts
10308 sendf: -draftfolder +drafts
10309
10310 Furthermore, let's assume that the program _\bs_\be_\bn_\bd_\bf is a (symbolic) link in
10311 the user's $HOME/bin/ directory to _\bs_\be_\bn_\bd. Then, any of the commands
10312
10313 comp
10314 dist
10315 forw
10316 repl
10317
10318 constructs the message draft in the `draft' folder using the `new' mes-
10319 sage number. Furthermore, they each define `cur' in this folder to be
10320 that message draft. If the user were to use the _\bq_\bu_\bi_\bt option at `What
10321 now?' level, then later on, if no other draft composition was done, the
10322 draft could be sent with simply
10323
10324 sendf
10325
10326 Or, if more editing was required, the draft could be edited with
10327
10328 comp -use
10329
10330 Instead, if other drafts had been composed in the meantime, so that this
10331 message draft was no longer known as `cur' in the `draft' folder, then
10332 the user could _\bs_\bc_\ba_\bn the folder to see which message draft in the folder
10333 should be used for editing or sending. Clever users could even employ a
10334 back-quoted _\bp_\bi_\bc_\bk to do the work:
10335
10336 comp -use `pick +drafts -to bug-mh`
10337
10338 or
10339
10340 sendf `pick +drafts -to bug-mh`
10341
10342 Note that in the _\bc_\bo_\bm_\bp example, the output from _\bp_\bi_\bc_\bk must resolve to a
10343 single message draft (it makes no sense to talk about composing two or
10344 more drafts with one invocation of _\bc_\bo_\bm_\bp ). In contrast, in the _\bs_\be_\bn_\bd
10345 example, as many message drafts as desired can appear, since _\bs_\be_\bn_\bd
10346 doesn't mind sending more than one draft at a time.
10347
10348 Note that the argument `-draftfolder +folder' is not included in
10349 the profile entry for _\bs_\be_\bn_\bd, since when _\bc_\bo_\bm_\bp, et. al., invoke _\bs_\be_\bn_\bd
10350 directly, they supply _\bs_\be_\bn_\bd with the UNIX pathname of the message draft,
10351 and not a `draftmessage msg' argument. As far as _\bs_\be_\bn_\bd is concerned, a
10352 _\bd_\br_\ba_\bf_\bt _\bf_\bo_\bl_\bd_\be_\br is not being used.
10353
10354 It is important to realize that _\bM_\bH treats the draft folder like a
10355 standard _\bM_\bH folder in nearly all respects. There are two exceptions:
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367 -157-
10368
10369
10370 first\b\b\b\b\b_____, under no circumstancs will the `-draftfolder folder' switch cause
10371 the named folder to become the current folder.[3] Second\b\b\b\b\b\b______, although con-
10372 ceptually _\bs_\be_\bn_\bd deletes the `msgs' named in the draft folder, it does not
10373 call `delete-prog' to perform the deletion.
10374
10375
10376 _\bW_\bh_\ba_\bt _\bH_\ba_\bp_\bp_\be_\bn_\bs _\bi_\bf _\bt_\bh_\be _\bD_\br_\ba_\bf_\bt _\bE_\bx_\bi_\bs_\bt_\bs
10377
10378 When the _\bc_\bo_\bm_\bp, _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, and _\br_\be_\bp_\bl commands are invoked and the
10379 draft you indicated already exists, these programs will prompt the user
10380 for a reponse directing the program's action. The prompt is
10381
10382 Draft ``/usr/src/uci/mh/mhbox/draft'' exists (xx bytes).
10383 Disposition?
10384
10385 The appropriate responses and their meanings are: replace\b\b\b\b\b\b\b_______: deletes the
10386 draft and starts afresh; list\b\b\b\b____: lists the draft; refile\b\b\b\b\b\b______: files the draft
10387 into a folder and starts afresh; and, quit\b\b\b\b____: leaves the draft intact and
10388 exits. In addition, if you specified `-draftfolder folder' to the com-
10389 mand, then one other response will be accepted: new\b\b\b___: finds a new draft,
10390 just as if `-draftmessage new' had been given. Finally, the _\bc_\bo_\bm_\bp com-
10391 mand will accept one more response: use\b\b\b___: re-uses the draft, just as if
10392 `-use' had been given.
10393
10394
10395 _\bT_\bh_\be _\bP_\bu_\bs_\bh _\bO_\bp_\bt_\bi_\bo_\bn _\ba_\bt _\bW_\bh_\ba_\bt _\bn_\bo_\bw? _\bL_\be_\bv_\be_\bl
10396
10397 The _\bp_\bu_\bs_\bh option to the "What now?" query in the _\bc_\bo_\bm_\bp, _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw,
10398 and _\br_\be_\bp_\bl commands, directs the command to _\bs_\be_\bn_\bd the draft in a special
10399 detached fashion, with all normal output discarded. If _\bp_\bu_\bs_\bh is used and
10400 the draft can not be sent, then _\bM_\bH will send the user a message, indi-
10401 cating the name of the draft file, and an explanation of the failure.
10402
10403 The user can also invoke _\bs_\be_\bn_\bd from the shell with the `-push'
10404 switch, which makes _\bs_\be_\bn_\bd act like it had been _\bp_\bu_\bs_\bh 'd by one of the com-
10405 position commands.
10406
10407 By using _\bp_\bu_\bs_\bh, the user can free the shell to do other things,
10408 because it appears to the shell that the _\bM_\bH command has finished. As a
10409 result the shell will immediately prompt for another command, despite
10410 the fact that the command is really still running. Note that if the
10411 user indicates that annotations are to be performed (with `-annotate' to
10412
10413
10414 [3] Obviously, if the folder appeared in the context of a standard
10415 `+folder' argument to an _\bM_\bH program, as in
10416
10417 scan +drafts
10418
10419 it might become the current folder, depending on the context changes of
10420 the _\bM_\bH program in question.
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433 -158-
10434
10435
10436 _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, or _\br_\be_\bp_\bl), the annotations will be performed after the mes-
10437 sage has been successfully sent. This action will appear to occur asyn-
10438 chronously. Obviously, if one of the messages that is to be annotated
10439 is removed before the draft has been successfully sent, then when _\bM_\bH
10440 tries to make the annotations, it won't be able to do so. In previous
10441 versions of _\bM_\bH, this resulted in an error message mysteriously appearing
10442 on the user's terminal. In _\bm_\bh._\b5 and later versions, in this special
10443 circumstance, no error will be generated.
10444
10445 If send is _\bp_\bu_\bs_\bh 'd, then the `-forward' switch is examined if a
10446 failure notice is generated. If given, then the draft is forwarded with
10447 the failure notice sent to the user. This allows rapid _\bb_\bu_\br_\bs_\bt 'ing of
10448 the failure notice to retrieve the unsent draft.
10449
10450
10451 _\bO_\bp_\bt_\bi_\bo_\bn_\bs _\ba_\bt _\bW_\bh_\ba_\bt _\bn_\bo_\bw? _\bL_\be_\bv_\be_\bl
10452
10453 By default, the message composition programs call a program called
10454 _\bw_\bh_\ba_\bt_\bn_\bo_\bw before the initial draft composition. The _\bM_\bH user can specify
10455 any program for this. Following is some information about the default
10456 "What now?" level. More detailed information can be found in the _\bw_\bh_\ba_\bt_\b-
10457 _\bn_\bo_\bw (1) manual entry.
10458
10459 When using the _\bc_\bo_\bm_\bp, _\bd_\bi_\bs_\bt, _\bf_\bo_\br_\bw, and _\br_\be_\bp_\bl commands at "What now?"
10460 level, the _\be_\bd_\bi_\bt, _\bl_\bi_\bs_\bt, _\bh_\be_\ba_\bd_\be_\br_\bs, _\br_\be_\bf_\bi_\bl_\be, and (for the _\bd_\bi_\bs_\bt and _\br_\be_\bp_\bl com-
10461 mands) the _\bd_\bi_\bs_\bp_\bl_\ba_\by options will pass on any additional arguments given
10462 them to whatever program they invoke.
10463
10464 In _\bm_\bh._\b1 (the original RAND _\bM_\bH ) and _\bm_\bh._\b2 (the first UCI version of
10465 _\bM_\bH ), _\bM_\bH used a complicated heuristic to determine if the draft should
10466 be deleted or preserved after an unsuccessful edit. In _\bm_\bh._\b3, _\bM_\bH was
10467 changed to preserve the draft always, since _\bc_\bo_\bm_\bp, et. al., could usually
10468 look at a draft, apply another set of heuristics, and decide if it was
10469 important or not. With the notion of a _\bd_\br_\ba_\bf_\bt _\bf_\bo_\bl_\bd_\be_\br, in which one by
10470 default gets a `new' message draft, the edit deletion/preservation algo-
10471 rithm was re-implemented, to keep the draft folder from being cluttered
10472 with aborted edits.
10473
10474 Also, note that by default, if the draft cannot be successfully
10475 sent, these commands return to "What now?" level. But, when _\bp_\bu_\bs_\bh is
10476 used, this does not happen (obviously). Hence, if these commands were
10477 expected to annotate any messages, this will have to be done by hand,
10478 later on, with the _\ba_\bn_\bn_\bo command.
10479
10480 Finally, if the `-delete' switch is not given to the _\bq_\bu_\bi_\bt option,
10481 then these commands will inform the user of the name of the unsent draft
10482 file.
10483
10484
10485 _\bD_\bi_\bg_\be_\bs_\bt_\bs
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499 -159-
10500
10501
10502 The _\bf_\bo_\br_\bw command has the beginnings of a digestifying facility,
10503 with the `-digest list', `-issue number', and `-volume number' switches.
10504
10505 If _\bf_\bo_\br_\bw is given "list" to the `-digest' switch as the name of the dis-
10506 cussion group, and the `-issue number' switch is not given, then _\bf_\bo_\br_\bw
10507 looks for an entry in the user's _\bM_\bH context called "_\bd_\bi_\bg_\be_\bs_\bt-issue-list"
10508 and increments its value to use as the issue number. Similarly, if the
10509 `-volume number' switch is not given, then _\bf_\bo_\br_\bw looks for
10510 "_\bd_\bi_\bg_\be_\bs_\bt-volume-list" (but does not increment its value) to use as the
10511 volume number.
10512
10513 Having calculated the name of the digest and the volume and issue
10514 numbers, _\bf_\bo_\br_\bw will now process the components file using the same format
10515 string mechanism used by _\br_\be_\bp_\bl. The current `%'-escapes are:
10516
10517 _\be_\bs_\bc_\ba_\bp_\be _\bt_\by_\bp_\be _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn
10518 digest string digest name
10519 msg integer issue number
10520 cur integer volume number
10521
10522 In addition, to capture the current date, any of the escapes valid for
10523 _\bd_\bp (8) are also valid for _\bf_\bo_\br_\bw.
10524
10525 The default components file used by _\bf_\bo_\br_\bw when in digest mode is:
10526
10527 From: %{digest}-Request
10528 To: %{digest} Distribution: dist-%{digest};
10529 Subject: %{digest} Digest V%(cur) #%(msg)
10530 Reply-To: %{digest}
10531 --------
10532 %{digest} Digest %(weekday{date}), %2(mday{date}) %(month{date}) 19%02(year{date})
10533 Volume %(cur) : Issue %(msg)
10534
10535 Today's Topics:
10536
10537 Hence, when the `-digest' switch is present, the first step taken by
10538 _\bf_\bo_\br_\bw is to expand the format strings in the component file. The next
10539 step is to compose the draft using the standard digest encapsulation
10540 algorithm (even putting an "End of list Digest" trailer in the draft).
10541 Once the draft is composed by _\bf_\bo_\br_\bw, _\bf_\bo_\br_\bw writes out the volume and issue
10542 profile entries for the digest, and then invokes the editor.
10543
10544 Naturally, when composing the draft, _\bf_\bo_\br_\bw will honor the
10545 `-filter filterfile' switch, which is given to _\bm_\bh_\bl to filter each mes-
10546 sage being forwarded prior to encapsulation in the draft. A good filter
10547 file to use, which is called _\bm_\bh_\bl._\bd_\bi_\bg_\be_\bs_\bt, is:
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565 -160-
10566
10567
10568 width=80,overflowoffset=10
10569 leftadjust,compress,compwidth=9
10570 Date:formatfield="%<(nodate{text})%{text}%|%(tws{text})%>"
10571 From:
10572 Subject:
10573 :
10574 body:nocomponent,overflowoffset=0,noleftadjust,nocompress
10575
10576
10577
10578 _\bF_\bO_\bL_\bD_\bE_\bR _\bH_\bA_\bN_\bD_\bL_\bI_\bN_\bG
10579
10580 There are two interesting facilities for manipulating folders:
10581 relative folder addressing, which allows a user to shorten the typing of
10582 long folder names; and the folder-stack, which permits a user to keep a
10583 stack of current folders.
10584
10585
10586 _\bR_\be_\bl_\ba_\bt_\bi_\bv_\be _\bF_\bo_\bl_\bd_\be_\br _\bA_\bd_\bd_\br_\be_\bs_\bs_\bi_\bn_\bg
10587
10588 By default, when `+folder' is given, and the folder name is not
10589 absolute (does not start with /, ./, or ../), then the UNIX pathname of
10590 the folder is interpreted relative to the user's _\bM_\bH directory. Although
10591 this mechanism works fine for top-level folders and their immediate
10592 sub-folders, once the depth of the sub-folder tree grows, it becomes
10593 rather unwieldly:
10594
10595 scan +mh/mh.4/draft/flames
10596
10597 is a lot of typing. _\bM_\bH can't do anything if the current folder was
10598 "+inbox", but if the current folder was, say, "+mh/mh.4/draft", _\bM_\bH has a
10599 short-hand notation to reference a sub-folder of the current folder.
10600 Using the `@folder' notation, the _\bM_\bH user can direct any _\bM_\bH program
10601 which expects a `+folder' argument to look for the folder relative to
10602 the current folder instead of the user's _\bM_\bH directory. Hence, if the
10603 current folder _\bw_\ba_\bs "+mh/mh.4/draft", then
10604
10605 scan @flames
10606
10607 would do the trick handily. In addition, if the current folder _\bw_\ba_\bs
10608 "+mh/mh.4/draft",
10609
10610 scan @../pick
10611
10612 would scan the folder "+mh/mh.4/pick", since, in the UNIX fashion, it
10613 references the folder "pick" which is a sub-folder of the folder that is
10614 the parent of the current folder. Since most advanced _\bM_\bH users seem to
10615 exhibit a large degree of locality in referencing folders when they pro-
10616 cess mail, this convention should receive a wide range of uses.
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631 -161-
10632
10633
10634 _\bT_\bh_\be _\bF_\bo_\bl_\bd_\be_\br-_\bS_\bt_\ba_\bc_\bk
10635
10636 The _\bf_\bo_\bl_\bd_\be_\br-_\bs_\bt_\ba_\bc_\bk mechanism in _\bM_\bH gives the _\bM_\bH user a facility simi-
10637 lar to the _\bC_\bS_\bh_\be_\bl_\bl 's directory-stack. Simply put,
10638
10639 folder -push +foo
10640
10641 makes "foo" the current folder, saving the folder that was previously
10642 the current folder on the _\bf_\bo_\bl_\bd_\be_\br-_\bs_\bt_\ba_\bc_\bk. As expected,
10643
10644 folder -pop
10645
10646 takes the top of the _\bf_\bo_\bl_\bd_\be_\br-_\bs_\bt_\ba_\bc_\bk and makes it the current folder. Each
10647 of these switches lists the _\bf_\bo_\bl_\bd_\be_\br-_\bs_\bt_\ba_\bc_\bk when they execute. It is sim-
10648 ple to write a _\bp_\bu_\bs_\bh_\bf command as a shell script. It's one line:
10649
10650 exec folder -push $@
10651
10652 Probably a better way is to link _\bf_\bo_\bl_\bd_\be_\br to the $HOME/bin/ directory
10653 under the name of _\bp_\bu_\bs_\bh_\bf and then add the entry
10654
10655 pushf: -push
10656
10657 to the .mh_profile.
10658
10659 The manual page for _\bf_\bo_\bl_\bd_\be_\br discusses the analogy between the _\bC_\bS_\bh_\be_\bl_\bl
10660 directory stack commands and the switches in _\bf_\bo_\bl_\bd_\be_\br which manipulate the
10661 _\bf_\bo_\bl_\bd_\be_\br-_\bs_\bt_\ba_\bc_\bk. The _\bf_\bo_\bl_\bd_\be_\br command uses the context entry `Folder-Stack:'
10662 to keep track of the folders in the user's stack of folders.
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700 Appendix A
10701 _\bC_\bO_\bM_\bM_\bA_\bN_\bD _\bS_\bU_\bM_\bM_\bA_\bR_\bY
10702
10703
10704
10705
10706 ali [-alias aliasfile] [-list] [-nolist] [-normalize]
10707 [-nonormalize] [-user] [-nouser] aliases ... [-help]
10708
10709 anno [+folder] [msgs] [-component field] [-inplace] [-noinplace]
10710 [-date] [-nodate] [-text body] [-help]
10711
10712 bbc [bboards ...] [-topics] [-check] [-read] [-quiet] [-verbose]
10713 [-archive] [-noarchive] [-protocol] [-noprotocol]
10714 [-mshproc program] [switches for _\bm_\bs_\bh_\bp_\br_\bo_\bc] [-rcfile rcfile]
10715 [-norcfile] [-file BBoardsfile] [-user BBoardsuser] [-help]
10716
10717 burst [+folder] [msgs] [-inplace] [-noinplace] [-quiet] [-noquiet]
10718 [-verbose] [-noverbose] [-help]
10719
10720 comp [+folder] [msg] [-draftfolder +folder] [-draftmessage msg]
10721 [-nodraftfolder] [-editor editor] [-noedit] [-file file]
10722 [-form formfile] [-use] [-nouse] [-whatnowproc program]
10723 [-nowhatnowproc] [-help]
10724
10725 dist [+folder] [msg] [-annotate] [-noannotate]
10726 [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
10727 [-editor editor] [-noedit] [-form formfile] [-inplace]
10728 [-noinplace] [-whatnowproc program] [-nowhatnowproc] [-help]
10729
10730 /usr/local/lib/mh/fmtdump [-form formatfile] [-format string]
10731 [-help]
10732
10733 folder [+folder] [msg] [-all] [-fast] [-nofast] [-header]
10734 [-noheader] [-pack] [-nopack] [-recurse] [-norecurse] [-total]
10735 [-nototal] [-print] [-noprint] [-list] [-nolist] [-push]
10736 [-pop] [-help]
10737
10738 folders
10739
10740 forw [+folder] [msgs] [-annotate] [-noannotate]
10741 [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
10742 [-editor editor] [-noedit] [-filter filterfile]
10743 [-form formfile] [-format] [-noformat] [-inplace] [-noinplace]
10744 [-whatnowproc program] [-nowhatnowproc] [-help]
10745
10746 forw [+folder] [msgs] [-digest list] [-issue number]
10747 [-volume number] [other switches for _\bf_\bo_\br_\bw] [-help]
10748
10749
10750
10751
10752
10753 -162-
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766 inc [+folder] [-audit audit-file] [-noaudit] [-changecur]
10767 [-nochangecur] [-file name] [-form formatfile]
10768 [-format string] [-silent] [-nosilent] [-truncate]
10769 [-notruncate] [-width columns] [-help]
10770
10771 mark [+folder] [msgs] [-sequence name ...] [-add] [-delete] [-list]
10772 [-public] [-nopublic] [-zero] [-nozero] [-help]
10773
10774 /usr/local/lib/mh/mhl [-bell] [-nobell] [-clear] [-noclear]
10775 [-folder +folder] [-form formfile] [-length lines]
10776 [-width columns] [-moreproc program] [-nomoreproc] [files ...]
10777 [-help]
10778
10779 mhmail [ addrs ... [-body text] [-cc addrs ...] [-from addr]
10780 [-subject subject]] [-help]
10781
10782 mhparam [profile-components] [-components] [-nocomponents] [-all]
10783 [-help]
10784
10785 mhpath [+folder] [msgs] [-help]
10786
10787 msgchk [-date] [-nodate] [-notify all/mail/nomail]
10788 [-nonotify all/mail/nomail] [users ...] [-help]
10789
10790 msh [-prompt string] [-scan] [-noscan] [-topcur] [-notopcur] [file]
10791 [-help]
10792
10793 next [+folder] [-header] [-noheader] [-showproc program]
10794 [-noshowproc] [switches for _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc] [-help]
10795
10796 packf [+folder] [msgs] [-file name] [-help]
10797
10798 pick [+folder] [msgs] [-and ...] [-or ...] [-not ...]
10799 [-lbrace ... -rbrace] [--component pattern] [-after date]
10800 [-before date] [-datefield field] [-sequence name ...]
10801 [-public] [-nopublic] [-zero] [-nozero] [-list] [-nolist]
10802 [-help]
10803
10804
10805 prev [+folder] [-header] [-noheader] [-showproc program]
10806 [-noshowproc] [switches for _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc] [-help]
10807
10808 prompter [-erase chr] [-kill chr] [-prepend] [-noprepend] [-rapid]
10809 [-norapid] [-doteof] [-nodoteof] file [-help]
10810
10811 /usr/local/lib/mh/rcvstore [+folder] [-create] [-nocreate]
10812 [-sequence name ...] [-public] [-nopublic] [-zero] [-nozero]
10813 [-help]
10814
10815
10816
10817
10818
10819 -163-
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832 refile [msgs] [-draft] [-link] [-nolink] [-preserve] [-nopreserve]
10833 [-src +folder] [-file file] +folder ... [-help]
10834
10835 repl [+folder] [msg] [-annotate] [-noannotate] [-cc all/to/cc/me]
10836 [-nocc all/to/cc/me] [-draftfolder +folder]
10837 [-draftmessage msg] [-nodraftfolder] [-editor editor]
10838 [-noedit] [-fcc +folder] [-filter filterfile] [-form formfile]
10839 [-inplace] [-noinplace] [-query] [-noquery]
10840 [-whatnowproc program] [-nowhatnowproc] [-width columns]
10841 [-help]
10842
10843 rmf [+folder] [-interactive] [-nointeractive] [-help]
10844
10845 rmm [+folder] [msgs] [-help]
10846
10847 scan [+folder] [msgs] [-clear] [-noclear] [-form formatfile]
10848 [-format string] [-header] [-noheader] [-width columns]
10849 [-reverse] [-noreverse] [-file filename] [-help]
10850
10851 send [-alias aliasfile] [-draft] [-draftfolder +folder]
10852 [-draftmessage msg] [-nodraftfolder] [-filter filterfile]
10853 [-nofilter] [-format] [-noformat] [-forward] [-noforward]
10854 [-msgid] [-nomsgid] [-push] [-nopush] [-verbose] [-noverbose]
10855 [-watch] [-nowatch] [-width columns] [file ...] [-help]
10856
10857 show [+folder] [msgs] [-draft] [-header] [-noheader]
10858 [-showproc program] [-noshowproc] [switches for _\bs_\bh_\bo_\bw_\bp_\br_\bo_\bc]
10859 [-help]
10860
10861 sortm [+folder] [msgs] [-datefield field] [-textfield field]
10862 [-notextfield] [-limit days] [-nolimit] [-verbose]
10863 [-noverbose] [-help]
10864
10865 vmh [-prompt string] [-vmhproc program] [-novmhproc]
10866 [switches for _\bv_\bm_\bh_\bp_\br_\bo_\bc] [-help]
10867
10868 whatnow [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
10869 [-editor editor] [-noedit] [-prompt string] [file] [-help]
10870
10871 whom [-alias aliasfile] [-check] [-nocheck] [-draft]
10872 [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder]
10873 [file] [-help]
10874
10875 /usr/local/lib/mh/ap [-form formatfile] [-format string]
10876 [-normalize] [-nonormalize] [-width columns] addrs ...
10877 [-help]
10878
10879 /usr/local/lib/mh/conflict [-mail name] [-search directory]
10880 [aliasfiles ...] [-help]
10881
10882
10883
10884
10885 -164-
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898 /usr/local/lib/mh/dp [-form formatfile] [-format string]
10899 [-width columns] dates ... [-help]
10900
10901 /usr/local/lib/mh/install-mh [-auto] [-compat]
10902
10903 /usr/local/lib/mh/post [-alias aliasfile] [-filter filterfile]
10904 [-nofilter] [-format] [-noformat] [-msgid] [-nomsgid]
10905 [-verbose] [-noverbose] [-watch] [-nowatch] [-width columns]
10906 file [-help]
10907
10908 /usr/local/lib/mh/slocal [address info sender] [-addr address]
10909 [-info data] [-sender sender] [-user username] [-mailbox mbox]
10910 [-file file] [-maildelivery deliveryfile] [-verbose]
10911 [-noverbose] [-debug] [-help]
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951 -165-
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964 Appendix B
10965 _\bM_\bE_\bS_\bS_\bA_\bG_\bE _\bN_\bA_\bM_\bE _\bB_\bN_\bF
10966
10967
10968
10969
10970
10971 msgs := msgspec |
10972 msgs msgspec
10973
10974 msgspec := msg |
10975 msg-range |
10976 msg-sequence |
10977 user-defined-sequence
10978
10979 msg := msg-name |
10980 <number>
10981
10982 msg-name := "first" |
10983 "last" |
10984 "cur" |
10985 "." |
10986 "next" |
10987 "prev"
10988
10989 msg-range := msg"-"msg |
10990 "all"
10991
10992 msg-sequence := msg":"signed-number
10993
10994 signed-number := "+"<number> |
10995 "-"<number> |
10996 <number>
10997
10998 user-defined-sequence := <alpha> |
10999 <alpha><alphanumeric>*
11000
11001
11002 Where <number> is a decimal number greater than zero.
11003
11004 Msg-range specifies all of the messages in the given range and must not
11005 be empty.
11006
11007 Msg-sequence specifies up to <number> of messages, beginning with "msg"
11008 (in the case of first, cur, next, or <number>), or ending with "msg" (in
11009 the case of prev or last). +<number> forces "starting with msg", and
11010 -<number> forces "ending with number". In all cases, "msg" must exist.
11011
11012 User-defined sequences are defined and manipulated with the _\bp_\bi_\bc_\bk and
11013 _\bm_\ba_\br_\bk commands.
11014
11015
11016
11017 -166-
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030 _\bR_\bE_\bF_\bE_\bR_\bE_\bN_\bC_\bE_\bS
11031
11032
11033
11034 1. Crocker, D. H., J. J. Vittal, K. T. Pogran, and D. A. Henderson,
11035 Jr., "Standard for the Format of ARPA Network Text Messages,"
11036 _\bR_\bF_\bC_\b7_\b3_\b3, November 1977.
11037
11038 2. Thompson, K., and D. M. Ritchie, "The UNIX Time-sharing System,"
11039 _\bC_\bo_\bm_\bm_\bu_\bn_\bi_\bc_\ba_\bt_\bi_\bo_\bn_\bs _\bo_\bf _\bt_\bh_\be _\bA_\bC_\bM, Vol. 17, July 1974, pp. 365-375.
11040
11041 3. McCauley, E. J., and P. J. Drongowski, "KSOS-The Design of a Secure
11042 Operating System," _\bA_\bF_\bI_\bP_\bS _\bC_\bo_\bn_\bf_\be_\br_\be_\bn_\bc_\be _\bP_\br_\bo_\bc_\be_\be_\bd_\bi_\bn_\bg_\bs, National Computer
11043 Conference, Vol. 48, 1979, pp. 345-353.
11044
11045 4. Crocker, David H., _\bF_\br_\ba_\bm_\be_\bw_\bo_\br_\bk _\ba_\bn_\bd _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs _\bo_\bf _\bt_\bh_\be "_\bM_\bS" _\bP_\be_\br_\bs_\bo_\bn_\ba_\bl _\bM_\be_\bs_\b-
11046 _\bs_\ba_\bg_\be _\bS_\by_\bs_\bt_\be_\bm, The RAND Corporation, R-2134-ARPA, December 1977.
11047
11048 5. Thompson, K., and D. M. Ritchie, _\bU_\bN_\bI_\bX _\bP_\br_\bo_\bg_\br_\ba_\bm_\bm_\be_\br'_\bs _\bM_\ba_\bn_\bu_\ba_\bl, 6th ed.,
11049 Western Electric Company, May 1975 (available only to UNIX licen-
11050 sees).
11051
11052 6. Crocker, D. H., "Standard for the Format of ARPA Internet Text Mes-
11053 sages," _\bR_\bF_\bC_\b8_\b2_\b2, August 1982.
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083 -167-
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149 -i-
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162 _\bR_\bE_\bA_\bD _\bT_\bH_\bI_\bS
11163
11164
11165
11166
11167 Although the _\bM_\bH system was originally developed by the RAND Cor-
11168 poration, and is now in the public domain, the RAND Corporation assumes
11169 no responsibility for _\bM_\bH or this particular version of _\bM_\bH.
11170
11171 In addition, the Regents of the University of California issue the
11172 following disclaimer in regard to the UCI version of _\bM_\bH:
11173
11174 "Although each program has been tested by its contributor, no war-
11175 ranty, express or implied, is made by the contributor or the
11176 University of California, as to the accuracy and functioning of the
11177 program and related program material, nor shall the fact of distri-
11178 bution constitute any such warranty, and no responsibility is
11179 assumed by the contributor or the University of California in con-
11180 nection herewith."
11181
11182 This version of _\bM_\bH is in the public domain, and as such, there are
11183 no real restrictions on its use. The _\bM_\bH source code and documentation
11184 have no licensing restrictions whatsoever. As a courtesy, the authors
11185 ask only that you provide appropriate credit to the RAND Corporation and
11186 the University of California for having developed the software.
11187
11188 _\bM_\bH is a software package that is supported neither by the RAND Cor-
11189 poration nor the University of California. However, since we do use the
11190 software ourselves and plan to continue using (and improving) _\bM_\bH, bug
11191 reports and their associated fixes should be reported back to us so that
11192 we may include them in future releases. The current computer mailbox
11193 for _\bM_\bH is Bug-MH@ICS.UCI.EDU (in the ARPA Internet), and
11194 ...!ucbvax!ucivax!bug-mh (UUCP). Presently, there are two Internet dis-
11195 cussion groups, MH-Users@ICS.UCI.EDU and MH-Workers@ICS.UCI.EDU.
11196 MH-Workers is for people discussing code changes to _\bM_\bH. MH-Users is for
11197 general discussion about how to use _\bM_\bH. MH-Users is bi-directionally
11198 gatewayed into USENET as comp.mail.mh.
11199
11200 _\bH_\bO_\bW _\bT_\bO _\bG_\bE_\bT _\bM_\bH
11201
11202 Since you probably already have _\bM_\bH, you may not need to read this
11203 unless you suspect you have an old version. There are two ways to get
11204 the latest release:
11205
11206 1. If you can FTP to the ARPA Internet, use anonymous FTP to
11207 ics.uci.edu [128.195.1.1] and retrieve the file pub/mh/mh-6.8.tar.Z.
11208 This is a tar image after being run through the compress program
11209 (approximately 1.8MB). There should also be a README file in that
11210 directory which tells what the current release of _\bM_\bH is, and how to get
11211 updates.
11212
11213
11214
11215 -i-
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225 -ii-
11226
11227
11228 This tar file is also available on louie.udel.edu [128.175.1.3] in
11229 portal/mh-6.8.tar.Z. You may also find MH on various other hosts; to
11230 make sure you get the latest version and don't waste your time re-fixing
11231 bugs, it's best to get it from either ics.uci.edu or louie.udel.edu.
11232
11233 2. You can send $75 US to the address below. This covers the cost
11234 of a 6250 BPI 9-track magtape, handling, and shipping. In addition,
11235 you'll get a laser-printed hard-copy of the entire MH documentation set.
11236 Be sure to include your USPS address with your check. Checks must be
11237 drawn on U.S. funds and should be made payable to:
11238
11239 Regents of the University of California
11240
11241 The distribution address is:
11242
11243 Computing Support Group
11244 Attn: MH distribution
11245 Department of Information and Computer Science
11246 University of California, Irvine
11247 Irvine, CA 92717
11248
11249 714/856-7554
11250
11251 If you just want the hard-copies of the documentation, you still
11252 have to pay the $75. The tar image has the documentation source (the
11253 manual is in roff format, but the rest are in TeX format). Postscript
11254 formatted versions of the TeX papers are available, as are crude tty-
11255 conversions of those papers.
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294 _\bF_\bO_\bR_\bE_\bW_\bO_\bR_\bD
11295
11296
11297
11298
11299 This document describes the RAND _\bM_\bH Message Handling System. Its
11300 primary purpose is to serve as a user's manual. It has been heavily
11301 based on a previous version of the manual, prepared by Bruce Borden,
11302 Stockton Gaines, and Norman Shapiro.
11303
11304 _\bM_\bH is a particularly novel system, and thus it is often more prone
11305 to change than other pieces of production software. As such, some
11306 specific points in this manual may not be correct in the future. In all
11307 cases, the on-line sections of this manual, available through the
11308 UNIX[1] _\bm_\ba_\bn command, should present the most current information.
11309
11310 When reading this document as a user's manual, certain sections are
11311 more interesting than others. The Preface and Summary are not particu-
11312 larly interesting to those interested in learning _\bM_\bH. The Introduction
11313 is slightly more interesting, as it touches upon the organization of the
11314 remainder of this document. The most useful sections are the Overview,
11315 Tutorial, and Detailed Description. The Overview should be read by all
11316 _\bM_\bH users, regardless of their expertise (beginning, novice, advanced, or
11317 hacker). The Tutorial should be read by all beginning and novice _\bM_\bH
11318 users, as it presents a nice description of the _\bM_\bH system. The Detailed
11319 Description should be read by the day-to-day user of _\bM_\bH, as it spells
11320 out all of the realities of the _\bM_\bH system. The Advanced Features sec-
11321 tion discusses some powerful _\bM_\bH capabilities for advanced users. Appen-
11322 dix A is particularly useful for novices, as it summarizes the invoca-
11323 tion syntax of all the _\bM_\bH commands.
11324
11325 There are also several other documents which may be useful to you:
11326 _\bT_\bh_\be _\bR_\bA_\bN_\bD _\bM_\bH _\bM_\be_\bs_\bs_\ba_\bg_\be _\bH_\ba_\bn_\bd_\bl_\bi_\bn_\bg _\bS_\by_\bs_\bt_\be_\bm: _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl, which is a tutorial for
11327 _\bM_\bH; _\bT_\bh_\be _\bR_\bA_\bN_\bD _\bM_\bH _\bM_\be_\bs_\bs_\ba_\bg_\be _\bH_\ba_\bn_\bd_\bl_\bi_\bn_\bg _\bS_\by_\bs_\bt_\be_\bm: _\bT_\bh_\be _\bU_\bC_\bI _\bB_\bB_\bo_\ba_\br_\bd_\bs _\bF_\ba_\bc_\bi_\bl_\bi_\bt_\by, which
11328 describes the BBoards handling under _\bM_\bH; _\bM_\bH._\b5: _\bH_\bo_\bw _\bt_\bo _\bp_\br_\bo_\bc_\be_\bs_\bs _\b2_\b0_\b0 _\bm_\be_\bs_\b-
11329 _\bs_\ba_\bg_\be_\bs _\ba _\bd_\ba_\by _\ba_\bn_\bd _\bs_\bt_\bi_\bl_\bl _\bg_\be_\bt _\bs_\bo_\bm_\be _\br_\be_\ba_\bl _\bw_\bo_\br_\bk _\bd_\bo_\bn_\be, which was presented at
11330 the 1985 Summer Usenix Conference and Exhibition in Portland, Oregon;
11331 _\bM_\bH: _\bA _\bM_\bu_\bl_\bt_\bi_\bf_\ba_\br_\bi_\bo_\bu_\bs _\bU_\bs_\be_\br _\bA_\bg_\be_\bn_\bt, which has been accepted for publication
11332 by Computer Networks; _\bM_\bZ_\bn_\be_\bt: _\bM_\ba_\bi_\bl _\bS_\be_\br_\bv_\bi_\bc_\be _\bf_\bo_\br _\bP_\be_\br_\bs_\bo_\bn_\ba_\bl _\bM_\bi_\bc_\br_\bo-_\bC_\bo_\bm_\bp_\bu_\bt_\be_\br
11333 _\bS_\by_\bs_\bt_\be_\bm_\bs, which was presented at the First International Symposium on
11334 Computer Message Systems in Nottingham, U.K.; and, _\bD_\be_\bs_\bi_\bg_\bn _\bo_\bf _\bt_\bh_\be _\bT_\bT_\bI
11335 _\bP_\br_\bo_\bt_\bo_\bt_\by_\bp_\be _\bT_\br_\bu_\bs_\bt_\be_\bd _\bM_\ba_\bi_\bl _\bA_\bg_\be_\bn_\bt, which describes a proprietary "trusted"
11336 mail system built on _\bM_\bH. There are also documents, mostly specific to
11337 U.C. Irvine which you may find interesting: _\bM_\bH _\bf_\bo_\br _\bB_\be_\bg_\bi_\bn_\bn_\be_\br_\bs, and _\bM_\bH _\bf_\bo_\br
11338 _\bM_\bM _\bU_\bs_\be_\br_\bs. All of these documents exist in the _\bm_\bh._\b6 distribution sent to
11339 your site. There's also a document, _\bC_\bh_\ba_\bn_\bg_\be_\bs _\bt_\bo _\bt_\bh_\be _\bR_\bA_\bN_\bD _\bM_\bH _\bM_\be_\bs_\bs_\ba_\bg_\be _\bH_\ba_\bn_\b-
11340 _\bd_\bl_\bi_\bn_\bg _\bS_\by_\bs_\bt_\be_\bm: _\bM_\bH._\b6, which describes user-visible changes made to _\bM_\bH
11341 since the last major release.
11342
11343
11344 [1] UNIX is a trademark of AT&T Bell Laboratories.
11345
11346
11347 -iii-
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357 -iv-
11358
11359
11360 This manual is very large, as it describes a large, powerful system
11361 in gruesome detail. The important thing to remember is:
11362
11363
11364 _\bD_\bO_\bN'_\bT _\bP_\bA_\bN_\bI_\bC[_\b2]
11365
11366
11367 As explained in the tutorial, you really need to know only 5 commands to
11368 handle most of your mail.
11369
11370 Very advanced users may wish to consult _\bT_\bh_\be _\bR_\bA_\bN_\bD _\bM_\bH _\bM_\be_\bs_\bs_\ba_\bg_\be _\bH_\ba_\bn_\b-
11371 _\bd_\bl_\bi_\bn_\bg _\bS_\by_\bs_\bt_\be_\bm: _\bA_\bd_\bm_\bi_\bn_\bi_\bs_\bt_\br_\ba_\bt_\bo_\br'_\bs _\bG_\bu_\bi_\bd_\be, which is also present in the _\bm_\bh._\b6
11372 distribution sent to your site.
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410 [2] Note the large, _\bf_\br_\bi_\be_\bn_\bd_\bl_\by letters.
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426 _\bA_\bC_\bK_\bN_\bO_\bW_\bL_\bE_\bD_\bG_\bM_\bE_\bN_\bT_\bS
11427
11428
11429
11430
11431 The _\bM_\bH system described herein is based on the original RAND _\bM_\bH
11432 system. It has been extensively developed (perhaps too much so) by
11433 Marshall T. Rose and John L. Romine at the University of California,
11434 Irvine. Einar A. Stefferud, Jerry N. Sweet, and Terry P. Domae provided
11435 numerous suggestions to improve the UCI version of _\bM_\bH. Of course, a
11436 large number of people have helped _\bM_\bH along. The list of ``_\bM_\bH immor-
11437 tals'' is too long to list here. However, Van Jacobson deserves a spe-
11438 cial acknowledgement for his tireless work in improving the performance
11439 of _\bM_\bH. Some programs have been speeded-up by a factor of 10 or 20. All
11440 of users of _\bM_\bH, everywhere, owe a special thanks to Van. For this
11441 release, numerous _\bM_\bH-_\bW_\bo_\br_\bk_\be_\br_\bs sent in fixes and other changes. A handful
11442 of courageous _\bM_\bH-_\bW_\bo_\br_\bk_\be_\br_\bs volunteered to beta-test these changes; their
11443 help is particularly appreciated.
11444
11445 This manual is based on the original _\bM_\bH manual written at RAND by
11446 Bruce Borden, Stockton Gaines, and Norman Shapiro.
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479 -v-
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492 _\bP_\bR_\bE_\bF_\bA_\bC_\bE
11493
11494
11495
11496
11497 This report describes a system for dealing with messages transmit-
11498 ted on a computer. Such messages might originate with other users of
11499 the same computer or might come from an outside source through a network
11500 to which the user's computer is connected. Such computer-based message
11501 systems are becoming increasingly widely used, both within and outside
11502 the Department of Defense.
11503
11504 The message handling system _\bM_\bH was developed for two reasons. One
11505 was to investigate some research ideas concerning how a message system
11506 might take advantage of the architecture of the UNIX time-sharing
11507 operating system for Digital Equipment Corporation PDP-11 and VAX com-
11508 puters, and the special features of UNIX's command-level interface with
11509 the user (the "shell"). The other reason was to provide a better and
11510 more adaptable base than that of conventional designs on which to build
11511 a command and control message system. The effort has succeeded in both
11512 regards, although this report mainly describes the message system itself
11513 and how it fits in with UNIX.
11514
11515 The present report should be of interest to three groups of
11516 readers. First, it is a complete reference manual for the users of _\bM_\bH.
11517 Second, it should be of interest to those who have a general knowledge
11518 of computer-based message systems, both in civilian and military appli-
11519 cations. Finally, it should be of interest to those who build large
11520 subsystems that interface with users, since it illustrates a new
11521 approach to such interfaces.
11522
11523 The original _\bM_\bH system was developed by Bruce Borden, using an
11524 approach suggested by Stockton Gaines and Norman Shapiro. Valuable
11525 assistance was provided by Phyllis Kantar in the later stages of the
11526 system's implementation. Several colleagues contributed to the ideas
11527 included in this system, particularly Robert Anderson and David Crocker.
11528 In addition, valuable experience in message systems, and a valuable
11529 source of ideas, was available to us in the form of a previous message
11530 system for UNIX called MS, designed at RAND by David Crocker.
11531
11532 This report was originally prepared as part of the RAND project
11533 entitled "Data Automation Research", sponsored by Project AIR FORCE.
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545 -vi-
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558 _\bS_\bU_\bM_\bM_\bA_\bR_\bY
11559
11560
11561
11562
11563 Electronic communication of text messages is becoming commonplace.
11564 Computer-based message systems-software packages that provide tools for
11565 dealing with messages-are used in many contexts. In particular, message
11566 systems are becoming increasingly important in command and control and
11567 intelligence applications.
11568
11569 This report describes a message handling system called _\bM_\bH. This
11570 system provides the user with tools to compose, send, receive, store,
11571 retrieve, forward, and reply to messages. _\bM_\bH has been built on the UNIX
11572 time-sharing system, a popular operating system developed for the DEC
11573 PDP-11 and VAX classes of computers.
11574
11575 A complete description of _\bM_\bH is given for users of the system. For
11576 those who do not intend to use the system, this description gives a gen-
11577 eral idea of what a message system is like. The system involves some
11578 new ideas about how large subsystems can be constructed.
11579
11580 The interesting and unusual features of _\bM_\bH include the following:
11581 The user command interface to _\bM_\bH is the UNIX "shell" (the standard UNIX
11582 command interpreter). Each separable component of message handling,
11583 such as message composition or message display, is a separate command.
11584 Each program is driven from and updates a private user environment,
11585 which is stored as a file between program invocations. This private
11586 environment also contains information to "custom tailor" _\bM_\bH to the
11587 individual's tastes. _\bM_\bH stores each message as a separate file under
11588 UNIX, and it utilizes the tree-structured UNIX file system to organize
11589 groups of files within separate directories or "folders". All of the
11590 UNIX facilities for dealing with files and directories, such as renam-
11591 ing, copying, deleting, cataloging, off-line printing, etc., are appli-
11592 cable to messages and directories of messages (folders). Thus, impor-
11593 tant capabilities needed in a message system are available in _\bM_\bH without
11594 the need (often seen in other message systems) for code that duplicates
11595 the facilities of the supporting operating system. It also allows users
11596 familiar with the shell to use _\bM_\bH with minimal effort.
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611 -vii-
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624 _\bC_\bO_\bN_\bT_\bE_\bN_\bT_\bS
11625
11626
11627
11628
11629 READ THIS ......................................................... i
11630
11631 FOREWORD .......................................................... iii
11632
11633 ACKNOWLEDGMENTS ................................................... v
11634
11635 PREFACE ........................................................... vi
11636
11637 SUMMARY ........................................................... vii
11638
11639 Section
11640
11641 1. INTRODUCTION ............................................... 1
11642
11643 2. OVERVIEW ................................................... 4
11644
11645 3. TUTORIAL ................................................... 7
11646
11647 4. DETAILED DESCRIPTION ....................................... 10
11648 THE USER PROFILE ............................................. 10
11649 MESSAGE NAMING ............................................... 13
11650 OTHER MH CONVENTIONS ......................................... 14
11651 MH COMMANDS .................................................. 16
11652 ALI ....................................................... 17
11653 ANNO ...................................................... 19
11654 BBC ....................................................... 21
11655 BBOARDS ................................................... 24
11656 BURST ..................................................... 26
11657 COMP ...................................................... 28
11658 DIST ...................................................... 30
11659 FOLDER .................................................... 33
11660 FORW ...................................................... 37
11661 INC ....................................................... 41
11662 MARK ...................................................... 44
11663 MHL ....................................................... 46
11664 MHMAIL .................................................... 51
11665 MHOOK ..................................................... 53
11666 MHPARAM ................................................... 55
11667 MHPATH .................................................... 57
11668 MSGCHK .................................................... 60
11669 MSH ....................................................... 61
11670 NEXT ...................................................... 65
11671 PACKF ..................................................... 66
11672 PICK ...................................................... 67
11673 PREV ...................................................... 72
11674 PROMPTER .................................................. 73
11675 RCVSTORE .................................................. 76
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690 REFILE .................................................... 78
11691 REPL ...................................................... 80
11692 RMF ....................................................... 84
11693 RMM ....................................................... 86
11694 SCAN ...................................................... 88
11695 SEND ...................................................... 91
11696 SHOW ...................................................... 94
11697 SLOCAL .................................................... 97
11698 SORTM ..................................................... 102
11699 VMH ....................................................... 104
11700 WHATNOW ................................................... 106
11701 WHOM ...................................................... 108
11702 MORE DETAILS ................................................. 110
11703 MH-ALIAS .................................................. 111
11704 MH-FORMAT ................................................. 115
11705 MH-MAIL ................................................... 124
11706 MH-PROFILE ................................................ 128
11707 MH-SEQUENCE ............................................... 136
11708 AP ........................................................ 140
11709 CONFLICT .................................................. 142
11710 DP ........................................................ 144
11711 FMTDUMP ................................................... 146
11712 INSTALL-MH ................................................ 147
11713 POST ...................................................... 148
11714
11715 5. REPORTING PROBLEMS ......................................... 150
11716
11717 6. ADVANCED FEATURES .......................................... 151
11718 USER-DEFINED SEQUENCES ....................................... 151
11719 Pick and User-Defined Sequences ........................... 151
11720 Mark and User-Defined Sequences ........................... 153
11721 Public and Private User-Defined Sequences ................. 153
11722 Sequence Negation ......................................... 153
11723 The Previous Sequence ..................................... 154
11724 The Unseen Sequence ....................................... 154
11725 COMPOSITION OF MAIL .......................................... 155
11726 The Draft Folder .......................................... 155
11727 What Happens if the Draft Exists .......................... 157
11728 The Push Option at What now? Level ........................ 157
11729 Options at What now? Level ................................ 158
11730 Digests ................................................... 159
11731 FOLDER HANDLING .............................................. 160
11732 Relative Folder Addressing ................................ 160
11733 The Folder-Stack .......................................... 161
11734
11735 Appendix
11736 A. Command Summary ............................................ 162
11737 B. Message Name BNF ........................................... 166
11738
11739 REFERENCES ........................................................ 167
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768 THE RAND MH
11769
11770
11771 MESSAGE HANDLING
11772
11773
11774 SYSTEM:
11775
11776
11777 USER'S MANUAL
11778
11779
11780
11781
11782
11783
11784 UCI Version
11785
11786
11787
11788
11789
11790 Marshall T. Rose
11791
11792 John L. Romine
11793
11794
11795
11796
11797 Based on the original manual by
11798
11799 Borden, Gaines, and Shapiro
11800
11801
11802
11803
11804
11805
11806
11807 November 30, 1993
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823 6.8.3 #1[UCI]
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880