]> diplodocus.org Git - nmh/blob - man/mh-profile.man
Move things around so you can still initialize netsec with SASL
[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\-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 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 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\-sequences
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\-sequences)
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 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 SIGNATURE .
364 If
365 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,
381 .RI \*(lqfile: netrc \*(rq,
382 and
383 .RI \*(lqfile\-nopermcheck: netrc \*(rq.
384 With \*(lqlegacy\*(rq, or if there is no credentials entry, the
385 username is the first of:
386 .RS 5
387 .TP 5
388 .PD 0
389 1)
390 .B \-user
391 switch to
392 .BR send ,
393 .BR post ,
394 .BR whom ,
395 .BR inc ,
396 or
397 .B msgchk
398 program
399 .TP
400 2)
401 the login name on the local machine
402 .PD
403 .RE
404 .PP
405 The password for SMTP services is the first of:
406 .RS 5
407 .TP 5
408 .PD 0
409 1)
410 password value from matching entry in file named \*(lq.netrc\*(rq
411 in the user's home directory
412 .TP
413 2)
414 password obtained by interactively prompting the user
415 .PD
416 .RE
417 .PP
418 The password for POP service when the
419 .B \-sasl
420 switch is used with one of these programs is the login name on the
421 local machine.
422 .PP
423 With a
424 .RI \*(lqfile: netrc \*(rq
425 .B credentials
426 entry, the username is the first of:
427 .RS 5
428 .PD 0
429 .TP 5
430 1)
431 .B \-user
432 switch to program
433 .TP 5
434 2)
435 login name from matching entry in
436 .I netrc
437 file
438 .TP 5
439 3)
440 value provided by user in response to interactive query
441 .PD
442 .RE
443 .PP
444 Similarly, the password is provided either in the
445 .I netrc
446 file or interactively.
447 .I netrc
448 can be any valid filename, either absolute or relative to Path or
449 $HOME. The
450 .I netrc
451 file contains authentication information, for each server,
452 using a line of the following form. Replace the words
453 .IR myserver ,
454 .IR mylogin ,
455 and
456 .I mypassword
457 with your own account information:
458 .PP
459 .RS 5
460 .B machine
461 .I myserver
462 .B login
463 .I mylogin
464 .B password
465 .I mypassword
466 .RE
467 .PP
468 This
469 .I netrc
470 file must be owned and readable only by you.
471 .PP
472 The
473 .RI \*(lqfile\-nopermcheck: netrc \*(rq
474 .B credentials
475 entry is identical in behavior to the \*(lqfile\*(rq entry, with the
476 exception that the permission checks done by
477 \*(lqfile\*(rq are not performed. This entry should be used with
478 caution and only when absolutely necessary.
479 (profile, default: legacy)
480 .RE
481 .SS "Process Profile Entries"
482 The following profile elements are used whenever an
483 .B nmh
484 program invokes some other program such as
485 .BR more .
486 The
487 .I \&.mh\-profile
488 can be used to select alternate programs if the
489 user wishes. The default values are given in the examples.
490 .PP
491 If the profile element contains spaces, the element is split at spaces
492 into tokens and each token is given as a separate argument to the
493 .IR execvp (2)
494 system call. If the element contains shell metacharacters then the entire
495 element is executed using
496 .BR /bin/sh .
497 .RE
498 .PP
499 .BR buildmimeproc :
500 %bindir%/mhbuild
501 .RS 5
502 This is the program used by
503 .B whatnow
504 to process drafts which are MIME composition files.
505 .RE
506 .PP
507 .BR fileproc :
508 %bindir%/refile
509 .RS 5
510 This program is used to refile or link a message to another folder.
511 It is used by
512 .B send
513 to file a copy of a message into a folder given
514 by a \*(lqFcc:\*(rq field. It is used by the draft folder facility in
515 .BR comp ,
516 .BR dist ,
517 .BR forw ,
518 and
519 .B repl
520 to refile a draft
521 message into another folder. It is used to refile a draft message in
522 response to the
523 .B refile
524 directive at the \*(lqWhat now?\*(rq prompt.
525 .RE
526 .PP
527 .BR formatproc :
528 .RS 5
529 Program called by
530 .B mhl
531 to filter a component when it is tagged with the \*(lqformat\*(rq variable
532 in the mhl filter. See
533 .IR mhl (5)
534 for more information.
535 .RE
536 .PP
537 .BR incproc :
538 %bindir%/inc
539 .RS 5
540 Program called by
541 .B mhmail
542 to incorporate new mail when it
543 is invoked with no arguments.
544 .RE
545 .PP
546 .BR lproc :
547 more
548 .RS 5
549 This program is used to list the contents of a message in response
550 to the
551 .B list
552 directive at the \*(lqWhat now?\*(rq prompt. It is
553 also used by the draft folder facility in
554 .BR comp ,
555 .BR dist ,
556 .BR forw ,
557 and
558 .B repl
559 to display the draft message.
560 (Note that
561 the environment variable PAGER
562 supersedes the default built-in pager command.)
563 .RE
564 .PP
565 .BR mailproc :
566 %bindir%/mhmail
567 .RS 5
568 This is the program used to automatically mail various messages
569 and notifications. It is used by
570 .B send
571 to post failure notices.
572 It is used to retrieve an external-body with access-type `mail-server'
573 (such as when storing the body with
574 .BR mhstore ).
575 .RE
576 .PP
577 .BR mhlproc :
578 %nmhlibexecdir%/mhl
579 .RS 5
580 This is the program used to filter messages in various ways. It
581 is used by
582 .B mhshow
583 to filter and display the message headers
584 of MIME messages. When the
585 .B \-format
586 or
587 .B \-filter
588 option is used
589 by
590 .B forw
591 or
592 .BR repl ,
593 the
594 .I mhlproc
595 is used to filter the
596 message that you are forwarding, or to which you are replying.
597 When the
598 .B \-filter
599 option is given to
600 .BR send ,
601 the
602 .I mhlproc
603 is used to filter the copy of the message
604 that is sent to \*(lqBcc:\*(rq recipients.
605 .RE
606 .PP
607 .BR moreproc :
608 more
609 .RS 5
610 This is the program used by
611 .B mhl
612 to page the
613 .B mhl
614 formatted message when displaying to a terminal. It is also the default
615 program used by
616 .B mhshow
617 to display message bodies (or message parts) of type text/plain.
618 (Note that
619 the vivironment variable PAGER
620 supersedes the default built-in pager command.)
621 .RE
622 .PP
623 .BR packproc :
624 %bindir%/packf
625 .RS 5
626 Currently not used.
627 .RE
628 .PP
629 .BR postproc :
630 %nmhlibexecdir%/post
631 .RS 5
632 This is the program used by
633 .BR send ,
634 .BR mhmail ,
635 .BR rcvdist ,
636 and
637 .B viamail
638 (used by the
639 .B sendfiles
640 shell script) to
641 post a message to the mail transport system. It is also called by
642 .B whom
643 (called with the switches
644 .B \-whom
645 and
646 .BR \-library )
647 to do address verification.
648 .RE
649 .PP
650 .BR rmmproc :
651 none
652 .RS 5
653 This is the program used by
654 .BR rmm ,
655 .BR refile ,
656 and
657 .B mhfixmsg
658 to delete a message from a folder.
659 .RE
660 .PP
661 .BR sendproc :
662 %bindir%/send
663 .RS 5
664 This is the program to use by
665 .B whatnow
666 to actually send the message
667 .RE
668 .PP
669 .BR showmimeproc :
670 %bindir%/mhshow
671 .RS 5
672 This is the program used by
673 .B show
674 to process and display non-text (MIME) messages.
675 .RE
676 .PP
677 .BR showproc :
678 %nmhlibexecdir%/mhl
679 .RS 5
680 This is the program used by
681 .B show
682 to filter and display text (non-MIME) messages.
683 .RE
684 .PP
685 .BR whatnowproc :
686 %bindir%/whatnow
687 .RS 5
688 This is the program invoked by
689 .BR comp ,
690 .BR forw ,
691 .BR dist ,
692 and
693 .B repl
694 to query about the disposition of a composed draft message.
695 .RE
696 .PP
697 .BR whomproc :
698 %bindir%/whom
699 .RS 5
700 This is the program used by
701 .B whatnow
702 to determine to whom a message would be sent.
703 .RE
704 .SS "Profile Lookup"
705 After consulting .mh_profile,
706 some programs read an optional profile specified by a
707 program-specific environment variable,
708 and then the system-wide profile %nmhetcdir%/mhn.defaults.
709 These programs are
710 .BR mhbuild ,
711 .BR mhshow ,
712 .BR mhstore ,
713 and
714 .BR mhn .
715 .B mhfixmsg
716 is similar, but has no optional profile.
717 .sp
718 The first occurrence of a component is used,
719 e.g.\& .mh_profile's trumps $MHSHOW's.
720 A component with no value still stops further occurrences being used,
721 but is considered absent.
722 .PP
723 The
724 .I \&.mh\-profile
725 contains only static information, which
726 .B nmh
727 programs will
728 .B NOT
729 update. Changes in context are made to the
730 .I context
731 file kept in the users
732 .B nmh
733 directory.
734 This includes, but is not limited to: the \*(lqCurrent\-Folder\*(rq entry
735 and all private sequence information. Public sequence information is
736 kept in each folder in the file determined by the \*(lqmh\-sequences\*(rq
737 profile entry (default is
738 .IR \&.mh\-sequences ).
739 .PP
740 The
741 .I \&.mh\-profile
742 may override the path of the
743 .I context
744 file, by specifying a \*(lqcontext\*(rq entry (this must be in
745 lower-case). If the entry is not absolute (does not start with a
746 \*(lq/\*(rq), then it is interpreted relative to the user's
747 .B nmh
748 directory. As a result, you can actually have more than one set of
749 private sequences by using different context files.
750 .SH ENVIRONMENT
751 The operation of
752 .B nmh
753 and its commands it also controlled by the
754 presence of certain environment variables.
755 .PP
756 Many of these environment variables are used internally by the
757 \*(lqWhat now?\*(rq interface. It's amazing all the information
758 that has to get passed via environment variables to make the
759 \*(lqWhat now?\*(rq interface look squeaky clean to the
760 .B nmh
761 user, isn't it? The reason for all this is that the
762 .B nmh
763 user
764 can select
765 any
766 program as the
767 .IR whatnowproc ,
768 including
769 one of the standard shells. As a result, it's not possible to pass
770 information via an argument list. The convention is that environment
771 variables whose names are all upper-case are user-settable; those
772 whose names are lower-case only are used internally by nmh and should
773 not generally be set by the user.
774 .TP
775 MAILDROP
776 This variable tells
777 .B inc
778 the default maildrop. This supersedes the \*(lqMailDrop\*(rq profile entry.
779 .TP
780 MAILHOST
781 This variable tells
782 .B inc
783 the POP host to query for mail to incorporate. See the
784 .IR inc (1)
785 man page for more information.
786 .TP
787 MH
788 With this environment variable, you can specify a profile
789 other than
790 .I \&.mh\-profile
791 to be read by the
792 .B nmh
793 programs
794 that you invoke. If the value of
795 MH
796 is not absolute, (i.e., does
797 not begin with a \*(lq/\*(rq), it will be presumed to start from the current
798 working directory. This is one of the very few exceptions in
799 .B nmh
800 where non-absolute pathnames are not considered relative to the user's
801 .B nmh
802 directory.
803 .TP
804 MHBUILD
805 With this environment variable, you can specify an
806 additional user profile (file) to be read by
807 .BR mhbuild ,
808 in addition to the mhn.defaults profile.
809 .TP
810 MHCONTEXT
811 With this environment variable, you can specify a
812 context other than the normal context file (as specified in
813 the
814 .B nmh
815 profile). As always, unless the value of
816 MHCONTEXT
817 is absolute, it will be presumed to start from your
818 .B nmh
819 directory.
820 .TP
821 MHLDEBUG
822 If this variable is set to a non-null value,
823 .B mhl
824 will emit debugging information.
825 .TP
826 MHMTSCONF
827 If this variable is set to a non-null value, it specifies the
828 name of the mail transport configuration file to use by
829 .BR post ,
830 .BR inc ,
831 and other programs that interact with the mail transport system,
832 instead of the default. See
833 .IR mh-tailor (5).
834 .TP
835 MHMTSUSERCONF
836 If this variable is set to a non-null value, it specifies the name of
837 a mail transport configuration file to be read in addition to the
838 default. See
839 .IR mh-tailor (5).
840 .TP
841 MHN
842 With this environment variable, you can specify an
843 additional user profile (file) to be read by
844 .BR mhn ,
845 in addition to the mhn.defaults profile.
846 .B mhn
847 is deprecated, so support for this variable will
848 be removed from a future nmh release.
849 .TP
850 MHSHOW
851 With this environment variable, you can specify an
852 additional user profile (file) to be read by
853 .BR mhshow ,
854 in addition to the mhn.defaults profile.
855 .TP
856 MHSTORE
857 With this environment variable, you can specify an
858 additional user profile (file) to be read by
859 .BR mhstore ,
860 in addition to the mhn.defaults profile.
861 .TP
862 MHPDEBUG
863 If this variable is set to a non-null value,
864 .B pick
865 will emit a representation of the search pattern.
866 MHPDEBUG
867 is deprecated, so support for this variable will
868 be removed from a future nmh release. Instead,
869 .B pick
870 now supports a
871 .B \-debug
872 switch.
873 .TP
874 MHTMPDIR, TMPDIR
875 These variables are searched, in order, for the directory in which to
876 create some temporary files.
877 .TP
878 MHWDEBUG
879 If this variable is set to a non-null value,
880 .B nmh
881 commands that use the
882 .B Alternate\-Mailboxes
883 profile entry will display debugging information
884 about the values in that entry.
885 .TP
886 PAGER
887 If set to a non-null value, this supersedes the value of
888 the default built-in pager command.
889 .TP
890 SIGNATURE
891 This variable tells
892 .B send
893 and
894 .B post
895 your mail signature. This supersedes the \*(lqSignature\*(rq profile entry,
896 and is not used when the \*(lqLocal\-Mailbox\*(rq profile component is set.
897 .TP
898 USER
899 This variable tells
900 .B repl
901 your user name and
902 .B inc
903 your default maildrop: see the \*(lqMailDrop\*(rq profile entry.
904 .TP
905 USERNAME_EXTENSION
906 This variable is for use with username_extension masquerading. See the
907 .IR mh-tailor (5)
908 man page.
909 .TP
910 editalt
911 This is the alternate message.
912 This is set by
913 .B dist
914 and
915 .B repl
916 during edit sessions so you can
917 peruse the message being distributed or replied to. The message is also
918 available, when the
919 .B \-atfile
920 switch is used,
921 through a link called \*(lq@\*(rq in the current directory if
922 your current working directory and the folder the message lives in are
923 on the same UNIX filesystem, and if your current working directory is
924 writable.
925 .TP
926 mhaltmsg
927 .B dist
928 and
929 .B repl
930 set
931 mhaltmsg
932 to tell the
933 .I whatnowproc
934 about an alternate message associated with the
935 draft (the message being distributed or replied to).
936 .TP
937 mhannotate
938 This is set by
939 .BR dist ,
940 .BR forw ,
941 and
942 .B repl
943 if annotations are to occur.
944 .TP
945 mhdist
946 .B dist
947 sets
948 mhdist
949 to tell the
950 .I whatnowproc
951 that message re-distribution is occurring.
952 .TP
953 mhdraft
954 This is the path to the working draft.
955 It is set by
956 .BR comp ,
957 .BR dist ,
958 .BR forw ,
959 and
960 .B repl
961 to tell the
962 .I whatnowproc
963 which file to ask \*(lqWhat now?\*(rq
964 questions about.
965 .TP
966 mheditor
967 This is set by
968 .BR comp ,
969 .BR repl ,
970 .BR forw ,
971 and
972 .B dist
973 to tell the
974 .I whatnowproc
975 the user's choice of
976 editor (unless overridden by
977 .BR \-noedit ).
978 .TP
979 mhfolder
980 This is the folder containing the alternate message.
981 It is set by
982 .B dist
983 and
984 .B repl
985 during edit sessions so you
986 can peruse other messages in the current folder besides the one being
987 distributed or replied to. The environment variable
988 mhfolder
989 is also set by
990 .BR show ,
991 .BR prev ,
992 and
993 .B next
994 for use by
995 .BR mhl .
996 .TP
997 mhinplace
998 This is set by
999 .BR dist ,
1000 .BR forw ,
1001 and
1002 .B repl
1003 if annotations are to occur.
1004 .TP
1005 mhmessages
1006 This is set by
1007 .BR dist ,
1008 .BR forw ,
1009 and
1010 .B repl
1011 if annotations are to occur.
1012 .TP
1013 mhuse
1014 This may be set by
1015 .BR comp .
1016 .SH FILES
1017 .PD 0
1018 .TP 20
1019 $HOME/\&.mh\-profile
1020 The user's profile.
1021 .TP
1022 <mh\-dir>/context
1023 The user's context
1024 .TP
1025 <folder>/\&.mh\-sequences
1026 Public sequences for <folder>.
1027 .PD
1028 .SH "SEE ALSO"
1029 .IR mhbuild (1),
1030 .IR mhshow (1),
1031 .IR mhstore (1),
1032 .IR mh-sequence (5),
1033 .IR nmh (7)
1034 .SH BUGS
1035 There is some question as to what kind of arguments should be placed
1036 in the profile as options. In order to provide a clear answer, recall
1037 command line semantics of all
1038 .B nmh
1039 programs: conflicting switches
1040 (e.g.
1041 .B \-header
1042 and
1043 .BR \-noheader )
1044 may occur more than one time on the
1045 command line, with the last switch taking effect. Other arguments, such
1046 as message sequences, filenames and folders, are always remembered on
1047 the invocation line and are not superseded by following arguments of
1048 the same type. Hence, it is safe to place only switches (and their
1049 arguments) in the profile.
1050 .PP
1051 If one finds that an
1052 .B nmh
1053 program is being invoked again and again
1054 with the same arguments, and those arguments aren't switches, then there
1055 are a few possible solutions to this problem. The first is to create a
1056 (soft) link in your
1057 .I $HOME/bin
1058 directory to the
1059 .B nmh
1060 program
1061 of your choice. By giving this link a different name, you can create
1062 a new entry in your profile and use an alternate set of defaults for
1063 the
1064 .B nmh
1065 command. Similarly, you could create a small shell script
1066 which called the
1067 .B nmh
1068 program of your choice with an alternate set
1069 of invocation line switches (using links and an alternate profile entry
1070 is preferable to this solution).
1071 .PP
1072 Finally, the
1073 .B csh
1074 user could create an alias for the command of the form:
1075 .PP
1076 .RS 5
1077 alias cmd 'cmd arg1 arg2 ...'
1078 .RE
1079 .PP
1080 In this way, the user can avoid lengthy type-in to the shell, and still
1081 give
1082 .B nmh
1083 commands safely. (Recall that some
1084 .B nmh
1085 commands
1086 invoke others, and that in all cases, the profile is read, meaning that
1087 aliases are disregarded beyond an initial command invocation)