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