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