Added test-refile.
[mmh] / man / mh-profile.man
1 .\"
2 .\" %nmhwarning%
3 .\"
4 .TH MH-PROFILE %manext5% "%nmhdate%" MH.6.8 [%nmhversion%]
5 .SH NAME
6 mh-profile \- user profile customization for nmh message handler
7 .SH SYNOPSIS
8 .I $HOME/.mh\(ruprofile
9 .SH DESCRIPTION
10 Each user of
11 .B nmh
12 is expected to have a file named
13 .I \&.mh\(ruprofile
14 in his or her home directory.  This file contains
15 a set of user parameters used by some or all of the
16 .B nmh
17 family of programs.  Each entry in the file is of the format
18 .PP
19 .RS 5
20 .IR profile\-component ": " value
21 .RE
22 .PP
23 If the text of profile entry is long, you may extend it across several
24 real lines by indenting the continuation lines with leading spaces or tabs.
25
26 .SS "Standard Profile Entries"
27 The possible profile components are exemplified below.  The only mandatory
28 entry is `Path:'.  The others are optional; some have default values if
29 they are not present.  In the notation used below, (profile, default)
30 indicates whether the information is kept in the user's
31 .B nmh
32 profile or
33 .B nmh
34 context, and indicates what the default value is.
35 .PP
36 .BR Path :
37 Mail
38 .RS 5
39 Locates
40 .B nmh
41 transactions in directory \*(lqMail\*(rq.  This is the
42 only mandatory profile entry.  (profile, no default)
43 .RE
44 .PP
45 .BR context :
46 context
47 .RS 5
48 Declares the location of the
49 .B nmh
50 context file.  This is overridden by the environment variable
51 .BR $MHCONTEXT .
52 See the
53 .B HISTORY
54 section below.
55 (profile, default: <nmh\-dir>/context)
56 .RE
57 .PP
58 .BR Current\-Folder :
59 inbox
60 .RS 5
61 Keeps track of the current open folder.
62 (context, default: folder specified by \*(lqInbox\*(rq)
63 .RE
64 .PP
65 .BR Inbox :
66 inbox
67 .RS 5
68 Defines the name of your default inbox.
69 (profile, default: inbox)
70 .RE
71 .PP
72 .BR Previous\-Sequence :
73 .I pseq
74 .RS 5
75 Names the sequence or sequences which should be defined as the `msgs' or
76 `msg' argument given to any
77 .B nmh
78 command.  If not present or empty,
79 no such sequences are defined.  Otherwise, for each name given, the
80 sequence is first zero'd and then each message is added to the sequence.
81 Read the
82 .BR mh\-sequence (5)
83 man page for the details about this sequence. (profile, no default)
84 .RE
85 .PP
86 .BR Sequence\-Negation :
87 not
88 .RS 5
89 Defines the string which, when prefixed to a sequence name, negates
90 that sequence.  Hence, \*(lqnotseen\*(rq means all those messages that
91 are not a member of the sequence \*(lqseen\*(rq.  Read the
92 .BR mh\-sequence (5)
93 man page for the details.  (profile, no default)
94 .RE
95 .PP
96 .BR Unseen\-Sequence :
97 unseen
98 .RS 5
99 Names the sequence or sequences which should be defined as those
100 messages which are unread.  The commands
101 .BR inc ,
102 .BR rcvstore ,
103 .BR mhshow ,
104 and
105 .B show
106 will add or remove messages from these
107 sequences when they are incorporated or read.  If not present or
108 empty, no such sequences are defined.  Otherwise, each message is
109 added to, or removed from, each sequence name given.  Read the
110 .BR mh\-sequence (5)
111 man page for the details about this sequence.
112 (profile, no default)
113 .RE
114 .PP
115 .BR mh\-sequences :
116 \&.mh\(rusequences
117 .RS 5
118 The name of the file in each folder which defines public sequences.
119 To disable the use of public sequences, leave the value portion of this
120 entry blank.  (profile, default: \&.mh\(rusequences)
121 .RE
122 .PP
123 .BI atr\- seq \- folder :
124 172\0178\-181\0212
125 .RS 5
126 Keeps track of the private sequence called \*(lqseq\*(rq in the specified
127 folder.  Private sequences are generally used for read\-only folders.
128 See the
129 .BR mh\-sequence (5)
130 man page for details about private sequences.
131 (context, no default)
132 .RE
133 .PP
134 .BR Editor :
135 /usr/bin/vi
136 .RS 5
137 Defines the editor to be used by the commands
138 .BR comp ,
139 .BR dist ,
140 .BR forw ,
141 and
142 .BR repl .
143 (profile, default: %default_editor%)
144 .RE
145 .PP
146 .BR automimeproc :
147 .RS 5
148 If defined and set to 1, then the
149 .B whatnow
150 program will automatically
151 invoke the buildmimeproc (discussed below) to process each message as a MIME
152 composition draft before it is sent.
153 (profile, no default)
154 .RE
155 .PP
156 .BR Msg\-Protect :
157 600
158 .RS 5
159 An octal number which defines the permission bits for new message files.
160 See
161 .BR chmod (1)
162 for an explanation of the octal number.
163 (profile, default: 0600)
164 .RE
165 .PP
166 .BR Folder\-Protect :
167 700
168 .RS 5
169 An octal number which defines the permission bits for new folder
170 directories.  See
171 .BR chmod (1)
172 for an explanation of the octal number.
173 (profile, default: 700)
174 .RE
175 .PP
176 .IR program :
177 .I default switches
178 .RS 5
179 Sets default switches to be used whenever the mh program
180 .I program
181 is invoked.  For example, one could override the \*(lqEditor:\*(rq profile
182 component when replying to messages by adding a component such as:
183 .PP
184 .RS 5
185 repl: \-editor /bin/ed
186 .RE
187 .PP
188 (profile, no defaults)
189 .RE
190 .PP
191 .IB lasteditor "-next:"
192 .I nexteditor
193 .RS 5
194 Names \*(lqnexteditor\*(rq to be the default editor after using
195 \*(lqlasteditor\*(rq.  This takes effect at \*(lqWhat now?\*(rq prompt
196 in
197 .BR comp ,
198 .BR dist ,
199 .BR forw ,
200 and
201 .BR repl .
202 After editing
203 the draft with \*(lqlasteditor\*(rq, the default editor is set to be
204 \*(lqnexteditor\*(rq.  If the user types \*(lqedit\*(rq without any
205 arguments to \*(lqWhat now?\*(rq, then \*(lqnexteditor\*(rq is used.
206 (profile, no default)
207 .RE
208 .PP
209 .BR Folder\-Stack :
210 .I folders
211 .RS 5
212 The contents of the folder-stack for the
213 .B folder
214 command.
215 (context, no default)
216 .RE
217 .PP
218 .BR Local\-Mailbox :
219 Your Username <user@some.host>
220 .RS 5
221 Tells the various MH tools what your local mailbox is.  If set, will be used
222 by the default component files by tools like
223 .B comp
224 and
225 .B repl
226 to construct your default \*(lqFrom\*(rq header.  The text used here will
227 be copied exactly to your From: header, so it should already be RFC-822
228 compliant.  If this is set, the
229 .B Signature
230 profile entry is NOT used, so it should include a signature as well.  (profile,
231 default: userid@local.hostname)
232 .RE
233 .PP
234 .BR Alternate\-Mailboxes :
235 mh@uci\-750a, bug-mh*
236 .RS 5
237 Tells
238 .B repl
239 and
240 .B scan
241 which addresses are really yours.
242 In this way,
243 .B repl
244 knows which addresses should be included in the
245 reply, and
246 scan
247 knows if the message really originated from you.
248 Addresses must be separated by a comma, and the hostnames listed should
249 be the \*(lqofficial\*(rq hostnames for the mailboxes you indicate, as
250 local nicknames for hosts are not replaced with their official site names.
251 For each address, if a host is not given, then that address on any host is
252 considered to be you.  In addition, an asterisk (`*') may appear at either
253 or both ends of the mailbox and host to indicate wild-card matching.
254 (profile, default: your user-id)
255 .RE
256 .PP
257 .BR Aliasfile :
258 aliases
259 .I other-alias
260 .RS 5
261 Indicates aliases files for
262 .BR ali ,
263 .BR whom ,
264 and
265 .BR send .
266 This may be used instead of the
267 .B \-alias
268 .I file
269 switch.  (profile, no default)
270 .RE
271 .PP
272 .BR Draft\-Folder :
273 drafts
274 .RS 5
275 Indicates a default draft folder for
276 .BR comp ,
277 .BR dist ,
278 .BR forw ,
279 .BR refile ,
280 and
281 .BR repl .
282 Read the
283 .BR mh\-draft (5)
284 man page for details. (profile, no default)
285 .RE
286 .PP
287 .BI digest\-issue\- list :
288 1
289 .RS 5
290 Tells
291 .B forw
292 the last issue of the last volume sent for the digest
293 .IR list .
294 (context, no default)
295 .RE
296 .PP
297 .BI digest\-volume\- list :
298 1
299 .RS 5
300 Tells
301 .B forw
302 the last volume sent for the digest
303 .IR list .
304 (context, no default)
305 .RE
306 .PP
307 .BR MailDrop :
308 \&.mail
309 .RS 5
310 Tells
311 .B inc
312 your maildrop, if different from the default.  This is
313 superseded by the environment variable
314 .BR $MAILDROP .
315 (profile, default: %mailspool%/$USER)
316 .RE
317 .PP
318 .BR Signature :
319 RAND MH System (agent: Marshall Rose)
320 .RS 5
321 Tells
322 .B send
323 your mail signature.  This is superseded by the
324 environment variable
325 .BR $SIGNATURE .
326 If
327 .B $SIGNATURE
328 is not set and this profile entry is not present, the \*(lqgcos\*(rq field of
329 the \fI/etc/passwd\fP file will be used.
330 Your signature will be added to the address
331 .B send
332 puts in the \*(lqFrom:\*(rq header; do not include an address in the
333 signature text.  (profile, no default)
334 .RE
335
336 .SS "Process Profile Entries"
337 The following profile elements are used whenever an
338 .B nmh
339 program invokes some other program such as
340 .BR more .
341 The
342 .I \&.mh\(ruprofile
343 can be used to select alternate programs if the
344 user wishes.  The default values are given in the examples.
345 .RE
346 .PP
347 .BR buildmimeproc :
348 %bindir%/mhbuild
349 .RS 5
350 This is the program used by
351 .B whatnow
352 to process drafts which are MIME composition files.
353 .RE
354 .PP
355 .BR fileproc :
356 %bindir%/refile
357 .RS 5
358 This program is used to refile or link a message to another folder.
359 It is used by
360 .B send
361 to file a copy of a message into a folder given
362 by a \*(lqFcc:\*(rq field.  It is used by the draft folder facility in
363 .BR comp ,
364 .BR dist ,
365 .BR forw ,
366 and
367 .B repl
368 to refile a draft
369 message into another folder.  It is used to refile a draft message in
370 response to the
371 .B refile
372 directive at the \*(lqWhat now?\*(rq prompt.
373 .RE
374 .PP
375 .BR formatproc :
376 .RS 5
377 Program called by
378 .B mhl
379 to filter a component when it is tagged with the \*(lqformat\*(rq variable
380 in the mhl filter.  See
381 .BR mhl (5)
382 for more information.
383 .RE
384 .PP
385 .BR incproc :
386 %bindir%/inc
387 .RS 5
388 Program called by
389 .B mhmail
390 to incorporate new mail when it
391 is invoked with no arguments.
392 .RE
393 .PP
394 .BR installproc :
395 %libdir%/install\-mh
396 .RS 5
397 This program is called to initialize the environment for
398 new users of
399 .BR nmh .
400 .RE
401 .PP
402 .BR lproc :
403 %default_pager%
404 .RS 5
405 This program is used to list the contents of a message in response
406 to the
407 .B list
408 directive at the \*(lqWhat now?\*(rq prompt.  It is
409 also used by the draft folder facility in
410 .BR comp ,
411 .BR dist ,
412 .BR forw ,
413 and
414 .B repl
415 to display the draft message.
416 .RE
417 .PP
418 .BR mailproc :
419 %bindir%/mhmail
420 .RS 5
421 This is the program used to automatically mail various messages
422 and notifications.  It is used by
423 .B conflict
424 when using the
425 .B \-mail
426 option.  It is used by
427 .B send
428 to post failure notices.
429 It is used to retrieve an external-body with access-type `mail-server'
430 (such as when storing the body with
431 .BR mhstore ).
432 .RE
433 .PP
434 .BR mhlproc :
435 %libdir%/mhl
436 .RS 5
437 This is the program used to filter messages in various ways.  It
438 is used by
439 .B mhshow
440 to filter and display the message headers
441 of MIME messages.  When the
442 .B \-format
443 or
444 .B \-filter
445 option is used
446 by
447 .B forw
448 or
449 .BR repl ,
450 the
451 .I mhlproc
452 is used to filter the
453 message that you are forwarding, or to which you are replying.
454 When the
455 .B \-filter
456 option is given to
457 .BR send ,
458 the
459 .I mhlproc
460 is used to filter the copy of the message
461 that is sent to \*(lqBcc:\*(rq recipients.
462 .RE
463 .PP
464 .BR moreproc :
465 %default_pager%
466 .RS 5
467 This is the program used by
468 .B mhl
469 to page the
470 .B mhl
471 formatted message when displaying to a terminal.  It is also the default
472 program used by
473 .B mhshow
474 to display message bodies (or message parts) of type text/plain.
475 .RE
476 .PP
477 .BR mshproc :
478 %bindir%/msh
479 .RS 5
480 Currently not used.
481 .RE
482 .PP
483 .BR packproc :
484 %bindir%/packf
485 .RS 5
486 Currently not used.
487 .RE
488 .PP
489 .BR postproc :
490 %libdir%/post
491 .RS 5
492 This is the program used by
493 .BR send ,
494 .BR mhmail ,
495 .BR rcvdist ,
496 and
497 .B viamail
498 (used by the
499 .B sendfiles
500 shell script) to
501 post a message to the mail transport system.  It is also called by
502 .B whom
503 (called with the switches
504 .B \-whom
505 and
506 .BR \-library )
507 to do address verification.
508 .RE
509 .PP
510 .BR rmmproc :
511 none
512 .RS 5
513 This is the program used by
514 .B rmm
515 and
516 .B refile
517 to delete a message from a folder.
518 .RE
519 .PP
520 .BR sendproc :
521 %bindir%/send
522 .RS 5
523 This is the program to use by
524 .B whatnow
525 to actually send the message
526 .RE
527 .PP
528 .BR showmimeproc :
529 %bindir%/mhshow
530 .RS 5
531 This is the program used by
532 .B show
533 to process and display non-text (MIME) messages.
534 .RE
535 .PP
536 .BR showproc :
537 %libdir%/mhl
538 .RS 5
539 This is the program used by
540 .B show
541 to filter and display text (non-MIME) messages.
542 .RE
543 .PP
544 .BR whatnowproc :
545 %bindir%/whatnow
546 .RS 5
547 This is the program invoked by
548 .BR comp ,
549 .BR forw ,
550 .BR dist ,
551 and
552 .B repl
553 to query about the disposition of a composed draft message.
554 .RE
555 .PP
556 .BR whomproc :
557 %bindir%/whom
558 .RS 5
559 This is the program used by
560 .B whatnow
561 to determine to whom a message would be sent.
562 .RE
563
564 .SS "Environment Variables"
565 The operation of
566 .B nmh
567 and its commands it also controlled by the
568 presence of certain environment variables.
569 .PP
570 Many of these environment variables are used internally by the
571 \*(lqWhat now?\*(rq interface.  It's amazing all the information
572 that has to get passed via environment variables to make the
573 \*(lqWhat now?\*(rq interface look squeaky clean to the
574 .B nmh
575 user, isn't it?  The reason for all this is that the
576 .B nmh
577 user
578 can select
579 .B any
580 program as the
581 .IR whatnowproc ,
582 including
583 one of the standard shells.  As a result, it's not possible to pass
584 information via an argument list. The convention is that environment
585 variables whose names are all upper-case are user-settable; those
586 whose names are lower-case only are used internally by nmh and should
587 not generally be set by the user.
588 .PP
589 If the
590 .B WHATNOW
591 option was set during
592 .B nmh
593 configuration, and
594 if this environment variable is set, then if the commands
595 .BR refile\ ,
596 .BR send ,
597 .BR show ,
598 or
599 .B whom
600 are not given any `msgs'
601 arguments, then they will default to using the file indicated by
602 .BR mh\-draft (5).
603 This is useful for getting the default behavior
604 supplied by the default
605 .IR whatnowproc .
606 .PP
607 .B $MH
608 .RS 5
609 With this environment variable, you can specify a profile
610 other than
611 .I \&.mh\(ruprofile
612 to be read by the
613 .B nmh
614 programs
615 that you invoke.  If the value of
616 .B $MH
617 is not absolute, (i.e., does
618 not begin with a \*(lq/\*(rq), it will be presumed to start from the current
619 working directory.  This is one of the very few exceptions in
620 .B nmh
621 where non-absolute pathnames are not considered relative to the user's
622 .B nmh
623 directory.
624 .RE
625 .PP
626 .B $MHCONTEXT
627 .RS 5
628 With this environment variable, you can specify a
629 context other than the normal context file (as specified in
630 the
631 .B nmh
632 profile).  As always, unless the value of
633 .B $MHCONTEXT
634 is absolute, it will be presumed to start from your
635 .B nmh
636 directory.
637 .RE
638 .PP
639 .B $MHBUILD
640 .RS 5
641 With this environment variable, you can specify an
642 additional user profile (file) to be read by
643 .BR mhbuild ,
644 in addition to the mhn.defaults profile.
645 .RE
646 .PP
647 .B $MHN
648 .RS 5
649 With this environment variable, you can specify an
650 additional user profile (file) to be read by
651 .BR mhn ,
652 in addition to the mhn.defaults profile.
653 .B mhn
654 is deprecated, so this support for this variable will
655 be removed from a future nmh release.
656 .RE
657 .PP
658 .B $MHSHOW
659 .RS 5
660 With this environment variable, you can specify an
661 additional user profile (file) to be read by
662 .BR mhshow ,
663 in addition to the mhn.defaults profile.
664 .RE
665 .PP
666 .B $MHSTORE
667 .RS 5
668 With this environment variable, you can specify an
669 additional user profile (file) to be read by
670 .BR mhstore ,
671 in addition to the mhn.defaults profile.
672 .RE
673 .PP
674 .B $MM_CHARSET
675 .RS 5
676 With this environment variable, you can specify
677 the native character set you are using.  You must be able to display
678 this character set on your terminal.
679 .PP
680 This variable is checked to see if a RFC-2047 header field should be
681 decoded (in
682 .BR inc ,
683 .BR scan ,
684 .BR mhl ).
685 This variable is
686 checked by
687 .B show
688 to see if the
689 .I showproc
690 or
691 .I showmimeproc
692 should
693 be called, since showmimeproc will be called if a text message uses
694 a character set that doesn't match
695 .BR $MM_CHARSET .
696 This variable is
697 checked by
698 .B mhshow
699 for matches against the charset parameter
700 of text contents to decide it the text content can be displayed
701 without modifications to your terminal.  This variable is checked by
702 .B mhbuild
703 to decide what character set to specify in the charset
704 parameter of text contents containing 8\-bit characters.
705 .PP
706 When decoding text in such an alternate character set,
707 .B nmh
708 must be able to determine which characters are alphabetic, which
709 are control characters, etc.  For many operating systems, this
710 will require enabling the support for locales (such as setting
711 the environment variable
712 .B $LC_CTYPE
713 to iso_8859_1).
714 .RE
715 .PP
716 .B $NOMHNPROC
717 .RS 5
718 If this variable is set,
719 .B show
720 will next test for MIME messages.  This mechanism is obsolete;
721 use the
722 .B \-nocheckmime
723 switch to
724 .B show
725 instead.
726 .RE
727 .PP
728 .B $MAILDROP
729 .RS 5
730 This variable tells
731 .B inc
732 the default maildrop. This supersedes the \*(lqMailDrop\*(rq profile entry.
733 .RE
734 .PP
735 .B $MAILHOST
736 .RS 5
737 This variable tells
738 .B inc
739 the POP host to query for mail to incorporate.  See the
740 inc(1) man page for more information.
741 .RE
742 .PP
743 .B $USERNAME_EXTENSION
744 .RS 5
745 This variable is for use with username_extension masquerading.  See the
746 mh-tailor(5) man page.
747 .RE
748 .PP
749 .B $SIGNATURE
750 .RS 5
751 This variable tells
752 .B send
753 and
754 .B post
755 your mail signature. This supersedes the \*(lqSignature\*(rq profile entry.
756 .RE
757 .PP
758 .B $USER
759 .RS 5
760 This variable tells
761 .B repl
762 your user name and
763 .B inc
764 your default maildrop:  see the \*(lqMailDrop\*(rq profile entry.
765 .RE
766 .PP
767 .B $HOME
768 .RS 5
769 This variable tells all
770 .B nmh
771 programs your home directory
772 .RE
773 .PP
774 .B $TERM
775 .RS 5
776 This variable tells
777 .B nmh
778 your terminal type.
779 .PP
780 The environment variable
781 .B $TERMCAP
782 is also consulted.  In particular,
783 these tell
784 .B scan
785 and
786 .B mhl
787 how to clear your terminal, and how
788 many columns wide your terminal is.  They also tell
789 .B mhl
790 how many
791 lines long your terminal screen is.
792 .RE
793 .PP
794 .B $MHMTSCONF
795 .RS 5
796 If this variable is set to a non-null value, it specifies the
797 name of the mail transport configuration file to use by
798 .BR post ,
799 .BR inc ,
800 and other programs that interact with the mail transport system,
801 instead of the default.  See mh-tailor(5).
802 .RE
803 .PP
804 .B $MHMTSUSERCONF
805 .RS 5
806 If this variable is set to a non-null value, it specifies the name of
807 a mail transport configuration file to be read in addition to the
808 default.  See mh-tailor(5).
809 .RE
810 .PP
811 .B $MHTMPDIR
812 .B $TMPDIR
813 .B $TMP
814 .RS 5
815 These variables are searched, in order, for the directory in which to
816 create some temporary files.
817 .RE
818 .PP
819 .B $MM_NOASK
820 .RS 5
821 Setting this variable is set to 1 has the same effect as specifying
822 the
823 .B \-nolist
824 and
825 .B \-nopause
826 switches to
827 .BR mhbuild ,
828 .BR mhn ,
829 and
830 .BR mhshow .
831 OBSOLETE:  will be removed in a future version of nmh.
832 .RE
833 .PP
834 .B $MHLDEBUG
835 .RS 5
836 If this variable is set to a non-null value,
837 .B mhl
838 will emit debugging information.
839 .RE
840 .PP
841 .B $MHPDEBUG
842 .RS 5
843 If this variable is set to a non-null value,
844 .B pick
845 will emit a representation of the search pattern.
846 .RE
847 .PP
848 .B $MHPOPDEBUG
849 .RS 5
850 If this variable is set to a non-null value,
851 .B msgchck
852 and
853 .B inc
854 will display their interaction with the POP server.
855 This mechanism is obsolete; use the
856 .B \-snoop
857 switch instead.
858 .RE
859 .PP
860 .B $MHWDEBUG
861 .RS 5
862 If this variable is set to a non-null value,
863 .B nmh
864 commands that use the
865 .BR Alternate\-Mailboxes
866 profile entry will display debugging information
867 about the values in that entry.
868 .RE
869 .PP
870 .B $editalt
871 .RS 5
872 This is the alternate message.
873 .PP
874 This is set by
875 .B dist
876 and
877 .B repl
878 during edit sessions so you can
879 peruse the message being distributed or replied to.  The message is also
880 available through a link called \*(lq@\*(rq in the current directory if
881 your current working directory and the folder the message lives in are
882 on the same UNIX filesystem.
883 .RE
884 .PP
885 .B $mhdraft
886 .RS 5
887 This is the path to the working draft.
888 .PP
889 This is set by
890 .BR comp ,
891 .BR dist ,
892 .BR forw ,
893 and
894 .B repl
895 to tell the
896 .I whatnowproc
897 which file to ask \*(lqWhat now?\*(rq
898 questions about.
899 .RE
900 .PP
901 .B $mhaltmsg
902 .RS 5
903 .B dist
904 and
905 .B repl
906 set
907 .B $mhaltmsg
908 to tell the
909 .I whatnowproc
910 about an alternate message associated with the
911 draft (the message being distributed or replied to).
912 .RE
913 .PP
914 .B $mhfolder
915 .RS 5
916 This is the folder containing the alternate message.
917 .PP
918 This is set by
919 .B dist
920 and
921 .B repl
922 during edit sessions so you
923 can peruse other messages in the current folder besides the one being
924 distributed or replied to.  The environment variable
925 .B $mhfolder
926 is also set by
927 .BR show ,
928 .BR prev ,
929 and
930 .B next
931 for use by
932 .BR mhl .
933 .RE
934 .PP
935 .B $mhdist
936 .RS 5
937 .B dist
938 sets
939 .B $mhdist
940 to tell the
941 .I whatnowproc
942 that message re-distribution is occurring.
943 .RE
944 .PP
945 .B $mheditor
946 .RS 5
947 This is set by
948 .BR comp ,
949 .BR repl ,
950 .BR forw ,
951 and
952 .B dist
953 to tell the
954 .I whatnowproc
955 the user's choice of
956 editor (unless overridden by
957 .BR \-noedit ).
958 .RE
959 .PP
960 .B $mhuse
961 .RS 5
962 This may be set by
963 .BR comp .
964 .RE
965 .PP
966 .B $mhmessages
967 .RS 5
968 This is set by
969 .BR dist ,
970 .BR forw ,
971 and
972 .B repl
973 if annotations are to occur.
974 .RE
975 .PP
976 .B $mhannotate
977 .RS 5
978 This is set by
979 .BR dist ,
980 .BR forw ,
981 and
982 .B repl
983 if annotations are to occur.
984 .RE
985 .PP
986 .B $mhinplace
987 .RS 5
988 This is set by
989 .BR dist ,
990 .BR forw ,
991 and
992 .B repl
993 if annotations are to occur.
994 .RE
995
996 .SH FILES
997 .fc ^ ~
998 .nf
999 .ta \w'%etcdir%/ExtraBigFileName  'u
1000 ^$HOME/\&.mh\(ruprofile~^The user profile
1001 ^or $MH~^Rather than the standard profile
1002 ^<mh\-dir>/context~^The user context
1003 ^or $MHCONTEXT~^Rather than the standard context
1004 ^<folder>/\&.mh\(rusequences~^Public sequences for <folder>
1005 .fi
1006
1007 .SH "SEE ALSO"
1008 nmh(1), environ(5), mh-sequence(5)
1009
1010 .SH HISTORY
1011 The
1012 .I \&.mh\(ruprofile
1013 contains only static information, which
1014 .B nmh
1015 programs will
1016 .B NOT
1017 update.  Changes in context are made to the
1018 .I context
1019 file kept in the users
1020 .B nmh
1021 directory.
1022 This includes, but is not limited to: the \*(lqCurrent\-Folder\*(rq entry
1023 and all private sequence information.  Public sequence information is
1024 kept in each folder in the file determined by the \*(lqmh\-sequences\*(rq
1025 profile entry (default is
1026 .IR \&.mh\(rusequences ).
1027 .PP
1028 The
1029 .I \&.mh\(ruprofile
1030 may override the path of the
1031 .I context
1032 file, by specifying a \*(lqcontext\*(rq entry (this must be in
1033 lower-case).  If the entry is not absolute (does not start with a
1034 \*(lq/\*(rq), then it is interpreted relative to the user's
1035 .B nmh
1036 directory.  As a result, you can actually have more than one set of
1037 private sequences by using different context files.
1038
1039 .SH BUGS
1040 The shell quoting conventions are not available in the
1041 .IR \&.mh\(ruprofile .
1042 Each token is separated by whitespace.
1043 .PP
1044 There is some question as to what kind of arguments should be placed
1045 in the profile as options.  In order to provide a clear answer, recall
1046 command line semantics of all
1047 .B nmh
1048 programs: conflicting switches
1049 (e.g.
1050 .B \-header
1051 and
1052 .BR \-noheader )
1053 may occur more than one time on the
1054 command line, with the last switch taking effect.  Other arguments, such
1055 as message sequences, filenames and folders, are always remembered on
1056 the invocation line and are not superseded by following arguments of
1057 the same type.  Hence, it is safe to place only switches (and their
1058 arguments) in the profile.
1059 .PP
1060 If one finds that an
1061 .B nmh
1062 program is being invoked again and again
1063 with the same arguments, and those arguments aren't switches, then there
1064 are a few possible solutions to this problem.  The first is to create a
1065 (soft) link in your
1066 .I $HOME/bin
1067 directory to the
1068 .B nmh
1069 program
1070 of your choice.  By giving this link a different name, you can create
1071 a new entry in your profile and use an alternate set of defaults for
1072 the
1073 .B nmh
1074 command.  Similarly, you could create a small shell script
1075 which called the
1076 .B nmh
1077 program of your choice with an alternate set
1078 of invocation line switches (using links and an alternate profile entry
1079 is preferable to this solution).
1080 .PP
1081 Finally, the
1082 .B csh
1083 user could create an alias for the command of the form:
1084 .PP
1085 .RS 5
1086 alias cmd 'cmd arg1 arg2 ...'
1087 .RE
1088 .PP
1089 In this way, the user can avoid lengthy type-in to the shell, and still
1090 give
1091 .B nmh
1092 commands safely.  (Recall that some
1093 .B nmh
1094 commands
1095 invoke others, and that in all cases, the profile is read, meaning that
1096 aliases are disregarded beyond an initial command invocation)