Feed fileproc and mhlproc from rcvdist, send, whatnow, and whom to post.
[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 send
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 .BR send ,
457 the
458 .I mhlproc
459 is used to filter the copy of the message
460 that is sent to \*(lqBcc:\*(rq recipients.
461 .RE
462 .PP
463 .BR moreproc :
464 %default_pager%
465 .RS 5
466 This is the program used by
467 .B mhl
468 to page the
469 .B mhl
470 formatted message when displaying to a terminal.  It is also the default
471 program used by
472 .B mhshow
473 to display message bodies (or message parts) of type text/plain.
474 .RE
475 .PP
476 .BR mshproc :
477 %bindir%/msh
478 .RS 5
479 Currently not used.
480 .RE
481 .PP
482 .BR packproc :
483 %bindir%/packf
484 .RS 5
485 Currently not used.
486 .RE
487 .PP
488 .BR postproc :
489 %libdir%/post
490 .RS 5
491 This is the program used by
492 .BR send ,
493 .BR mhmail ,
494 .BR rcvdist ,
495 and
496 .B viamail
497 (used by the
498 .B sendfiles
499 shell script) to
500 post a message to the mail transport system.  It is also called by
501 .B whom
502 (called with the switches
503 .B \-whom
504 and
505 .BR \-library )
506 to do address verification.
507 .RE
508 .PP
509 .BR rmmproc :
510 none
511 .RS 5
512 This is the program used by
513 .B rmm
514 and
515 .B refile
516 to delete a message from a folder.
517 .RE
518 .PP
519 .BR rmfproc :
520 %bindir%/rmf
521 .RS 5
522 Currently not used.
523 .RE
524 .PP
525 .BR sendproc :
526 %bindir%/send
527 .RS 5
528 This is the program to use by
529 .B whatnow
530 to actually send the message
531 .RE
532 .PP
533 .BR showmimeproc :
534 %bindir%/mhshow
535 .RS 5
536 This is the program used by
537 .B show
538 to process and display non-text (MIME) messages.
539 .RE
540 .PP
541 .BR showproc :
542 %libdir%/mhl
543 .RS 5
544 This is the program used by
545 .B show
546 to filter and display text (non-MIME) messages.
547 .RE
548 .PP
549 .BR whatnowproc :
550 %bindir%/whatnow
551 .RS 5
552 This is the program invoked by
553 .BR comp ,
554 .BR forw ,
555 .BR dist ,
556 and
557 .B repl
558 to query about the disposition of a composed draft message.
559 .RE
560 .PP
561 .BR whomproc :
562 %bindir%/whom
563 .RS 5
564 This is the program used by
565 .B whatnow
566 to determine to whom a message would be sent.
567 .RE
568
569 .SS "Environment Variables"
570 The operation of
571 .B nmh
572 and its commands it also controlled by the
573 presence of certain environment variables.
574 .PP
575 Many of these environment variables are used internally by the
576 \*(lqWhat now?\*(rq interface.  It's amazing all the information
577 that has to get passed via environment variables to make the
578 \*(lqWhat now?\*(rq interface look squeaky clean to the
579 .B nmh
580 user, isn't it?  The reason for all this is that the
581 .B nmh
582 user
583 can select
584 .B any
585 program as the
586 .IR whatnowproc ,
587 including
588 one of the standard shells.  As a result, it's not possible to pass
589 information via an argument list. The convention is that environment
590 variables whose names are all upper-case are user-settable; those
591 whose names are lower-case only are used internally by nmh and should
592 not generally be set by the user.
593 .PP
594 If the
595 .B WHATNOW
596 option was set during
597 .B nmh
598 configuration, and
599 if this environment variable is set, then if the commands
600 .BR refile\ ,
601 .BR send ,
602 .BR show ,
603 or
604 .B whom
605 are not given any `msgs'
606 arguments, then they will default to using the file indicated by
607 .BR mh\-draft (5).
608 This is useful for getting the default behavior
609 supplied by the default
610 .IR whatnowproc .
611 .PP
612 .B $MH
613 .RS 5
614 With this environment variable, you can specify a profile
615 other than
616 .I \&.mh\(ruprofile
617 to be read by the
618 .B nmh
619 programs
620 that you invoke.  If the value of
621 .B $MH
622 is not absolute, (i.e., does
623 not begin with a \*(lq/\*(rq), it will be presumed to start from the current
624 working directory.  This is one of the very few exceptions in
625 .B nmh
626 where non-absolute pathnames are not considered relative to the user's
627 .B nmh
628 directory.
629 .RE
630 .PP
631 .B $MHCONTEXT
632 .RS 5
633 With this environment variable, you can specify a
634 context other than the normal context file (as specified in
635 the
636 .B nmh
637 profile).  As always, unless the value of
638 .B $MHCONTEXT
639 is absolute, it will be presumed to start from your
640 .B nmh
641 directory.
642 .RE
643 .PP
644 .B $MM_CHARSET
645 .RS 5
646 With this environment variable, you can specify
647 the native character set you are using.  You must be able to display
648 this character set on your terminal.
649 .PP
650 This variable is checked to see if a RFC-2047 header field should be
651 decoded (in
652 .BR inc ,
653 .BR scan ,
654 .BR mhl ).
655 This variable is
656 checked by
657 .B show
658 to see if the
659 .I showproc
660 or
661 .I showmimeproc
662 should
663 be called, since showmimeproc will be called if a text message uses
664 a character set that doesn't match
665 .BR $MM_CHARSET .
666 This variable is
667 checked by
668 .B mhshow
669 for matches against the charset parameter
670 of text contents to decide it the text content can be displayed
671 without modifications to your terminal.  This variable is checked by
672 .B mhbuild
673 to decide what character set to specify in the charset
674 parameter of text contents containing 8\-bit characters.
675 .PP
676 When decoding text in such an alternate character set,
677 .B nmh
678 must be able to determine which characters are alphabetic, which
679 are control characters, etc.  For many operating systems, this
680 will require enabling the support for locales (such as setting
681 the environment variable
682 .B $LC_CTYPE
683 to iso_8859_1).
684 .RE
685 .PP
686 .B $MAILDROP
687 .RS 5
688 This variable tells
689 .B inc
690 the default maildrop. This supersedes the \*(lqMailDrop\*(rq profile entry.
691 .RE
692 .PP
693 .B $SIGNATURE
694 .RS 5
695 This variable tells
696 .B send
697 and
698 .B post
699 your mail signature. This supersedes the \*(lqSignature\*(rq profile entry.
700 .RE
701 .PP
702 .B $HOME
703 .RS 5
704 This variable tells all
705 .B nmh
706 programs your home directory
707 .RE
708 .PP
709 .B $SHELL
710 .RS 5
711 This variable tells
712 .B bbl
713 the default shell to run
714 .RE
715 .PP
716 .B $TERM
717 .RS 5
718 This variable tells
719 .B nmh
720 your terminal type.
721 .PP
722 The environment variable
723 .B $TERMCAP
724 is also consulted.  In particular,
725 these tell
726 .B scan
727 and
728 .B mhl
729 how to clear your terminal, and how
730 many columns wide your terminal is.  They also tell
731 .B mhl
732 how many
733 lines long your terminal screen is.
734 .RE
735 .PP
736 .B $editalt
737 .RS 5
738 This is the alternate message.
739 .PP
740 This is set by
741 .B dist
742 and
743 .B repl
744 during edit sessions so you can
745 peruse the message being distributed or replied to.  The message is also
746 available through a link called \*(lq@\*(rq in the current directory if
747 your current working directory and the folder the message lives in are
748 on the same UNIX filesystem.
749 .RE
750 .PP
751 .B $mhdraft
752 .RS 5
753 This is the path to the working draft.
754 .PP
755 This is set by
756 .BR comp ,
757 .BR dist ,
758 .BR forw ,
759 and
760 .B repl
761 to tell the
762 .I whatnowproc
763 which file to ask \*(lqWhat now?\*(rq
764 questions about.
765 .RE
766 .PP
767 .B $mhfolder
768 .RS 5
769 This is set by
770 .BR dist ,
771 .BR forw ,
772 and
773 .BR repl ,
774 if appropriate.
775 .RE
776 .PP
777 .B $mhaltmsg
778 .RS 5
779 .B dist
780 and
781 .B repl
782 set
783 .B $mhaltmsg
784 to tell the
785 .I whatnowproc
786 about an alternate message associated with the
787 draft (the message being distributed or replied to).
788 .RE
789 .PP
790 .B $mhdist
791 .RS 5
792 .B dist
793 sets
794 .B $mhdist
795 to tell the
796 .I whatnowproc
797 that message re-distribution is occurring.
798 .RE
799 .PP
800 .B $mheditor
801 .RS 5
802 This is set by
803 .BR comp ,
804 .BR repl ,
805 .BR forw ,
806 and
807 .B dist
808 to tell the
809 .I whatnowproc
810 the user's choice of
811 editor (unless overridden by
812 .BR \-noedit ).
813 .RE
814 .PP
815 .B $mhuse
816 .RS 5
817 This may be set by
818 .BR comp .
819 .RE
820 .PP
821 .B $mhmessages
822 .RS 5
823 This is set by
824 .BR dist ,
825 .BR forw ,
826 and
827 .B repl
828 if annotations are to occur.
829 .RE
830 .PP
831 .B $mhannotate
832 .RS 5
833 This is set by
834 .BR dist ,
835 .BR forw ,
836 and
837 .B repl
838 if annotations are to occur.
839 .RE
840 .PP
841 .B $mhinplace
842 .RS 5
843 This is set by
844 .BR dist ,
845 .BR forw ,
846 and
847 .B repl
848 if annotations are to occur.
849 .RE
850 .PP
851 .B $mhfolder
852 .RS 5
853 This is the folder containing the alternate message.
854 .PP
855 This is set by
856 .B dist
857 and
858 .B repl
859 during edit sessions so you
860 can peruse other messages in the current folder besides the one being
861 distributed or replied to.  The environment variable
862 .B $mhfolder
863 is also set by
864 .BR show ,
865 .BR prev ,
866 and
867 .B next
868 for use by
869 .BR mhl .
870 .RE
871
872 .SH FILES
873 .fc ^ ~
874 .nf
875 .ta \w'%etcdir%/ExtraBigFileName  'u
876 ^$HOME/\&.mh\(ruprofile~^The user profile
877 ^or $MH~^Rather than the standard profile
878 ^<mh\-dir>/context~^The user context
879 ^or $MHCONTEXT~^Rather than the standard context
880 ^<folder>/\&.mh\(rusequences~^Public sequences for <folder>
881 .fi
882
883 .SH "SEE ALSO"
884 nmh(1), environ(5), mh-sequence(5)
885
886 .SH HISTORY
887 The
888 .I \&.mh\(ruprofile
889 contains only static information, which
890 .B nmh
891 programs will
892 .B NOT
893 update.  Changes in context are made to the
894 .I context
895 file kept in the users
896 .B nmh
897 directory.
898 This includes, but is not limited to: the \*(lqCurrent\-Folder\*(rq entry
899 and all private sequence information.  Public sequence information is
900 kept in each folder in the file determined by the \*(lqmh\-sequences\*(rq
901 profile entry (default is
902 .IR \&.mh\(rusequences ).
903 .PP
904 The
905 .I \&.mh\(ruprofile
906 may override the path of the
907 .I context
908 file, by specifying a \*(lqcontext\*(rq entry (this must be in
909 lower-case).  If the entry is not absolute (does not start with a
910 \*(lq/\*(rq), then it is interpreted relative to the user's
911 .B nmh
912 directory.  As a result, you can actually have more than one set of
913 private sequences by using different context files.
914
915 .SH BUGS
916 The shell quoting conventions are not available in the
917 .IR \&.mh\(ruprofile .
918 Each token is separated by whitespace.
919 .PP
920 There is some question as to what kind of arguments should be placed
921 in the profile as options.  In order to provide a clear answer, recall
922 command line semantics of all
923 .B nmh
924 programs: conflicting switches
925 (e.g.
926 .B \-header
927 and
928 .BR \-noheader )
929 may occur more than one time on the
930 command line, with the last switch taking effect.  Other arguments, such
931 as message sequences, filenames and folders, are always remembered on
932 the invocation line and are not superseded by following arguments of
933 the same type.  Hence, it is safe to place only switches (and their
934 arguments) in the profile.
935 .PP
936 If one finds that an
937 .B nmh
938 program is being invoked again and again
939 with the same arguments, and those arguments aren't switches, then there
940 are a few possible solutions to this problem.  The first is to create a
941 (soft) link in your
942 .I $HOME/bin
943 directory to the
944 .B nmh
945 program
946 of your choice.  By giving this link a different name, you can create
947 a new entry in your profile and use an alternate set of defaults for
948 the
949 .B nmh
950 command.  Similarly, you could create a small shell script
951 which called the
952 .B nmh
953 program of your choice with an alternate set
954 of invocation line switches (using links and an alternate profile entry
955 is preferable to this solution).
956 .PP
957 Finally, the
958 .B csh
959 user could create an alias for the command of the form:
960 .PP
961 .RS 5
962 alias cmd 'cmd arg1 arg2 ...'
963 .RE
964 .PP
965 In this way, the user can avoid lengthy type-in to the shell, and still
966 give
967 .B nmh
968 commands safely.  (Recall that some
969 .B nmh
970 commands
971 invoke others, and that in all cases, the profile is read, meaning that
972 aliases are disregarded beyond an initial command invocation)