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