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