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