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