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