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