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