mh_profile(5mh)mh_profile(5mh)Namemh_profile - user customization for MH message system
Each user of MH is expected to have a file named in his or her home
directory. This file contains a set of static user parameters used by
some or all of the MH family of programs. Each line of the file is in
In addition, MH keeps information about changes in context (for exam‐
ple, the current folder and message) in the file, which is normally
located in the user's Mail directory. MH also consults a number of
environment variables. Both the file entries and these environment
variables are described in this reference page.
Profile File Entries
The possible profile components are described in the following table.
Only Path is mandatory. The others are optional; some have default
values if they are not present. In the notation used below, the
default value is given in parentheses ( ) at the end of each entry.
When giving path names, is used to indicate the user's Mail directory.
This is the directory given by the Path entry in the user's profile,
and is set up initially by MH to be
Locates MH transactions in the named directory.
If the directory path name is not absolute (does not begin
with a / ), it is assumed to begin in the user's home direc‐
tory. When you first use MH, it creates a directory called
in your home directory, and adds the appropriate entry to the
Declares the location of the MH context file.
Names the sequences which should be defined as the
msgs or msg argument given to the program. If not present,
or empty, no sequences are defined. Otherwise, for each name
given, the sequence is first zeroed and then each message is
added to the sequence.
Defines the string which, when prefixed to a sequence name,
negates that sequence. Hence, the argument notseen means all
those messages that are not a member of the sequence seen.
Names the sequences which should be defined
as those messages recently incorporated by The command
removes messages from this sequence once it thinks they have
been seen. If not present, or empty, no sequences are
defined. Otherwise, for each name given, the sequence is
first zeroed and then each message is added to the sequence.
The name of the file in each folder which defines public sequences.
To disable the use of public sequences, leave the value por‐
tion of this entry blank.
Defines editor to be used by
Defines octal protection bits for message files.
See for an explanation of the octal number.
Defines protection bits for folder directories.
See for an explanation of the octal number.
Sets options to be used
whenever an MH command is invoked. You should only set up
options in your profile, not arguments (options are usually
introduced by a dash - ). You can override the options set
up in the by giving an option on the command line. For exam‐
ple, you could override the Editor profile component when
replying to messages by typing the command:
% repl -editor /bin/ed
Defines the alias file to be used by MH commands
which take the -alias option. The named file must be in the
correct format; see
Names nexteditor to be the default editor
after using lasteditor. This takes effect at What now? level
in and After editing the draft with lasteditor, the default
editor is set to be nexteditor. If the user types edit with‐
out any arguments at the What now? prompt, then nexteditor
If present, tells
to compose an Emacs audit file in addition to its other
Tells and which addresses are really yours. In this way, knows
which addresses should be included in the reply, and knows if
the message really originated from you. Addresses must be
separated by a comma, and the host names listed should be the
official host names for the mailboxes you indicate, as local
nicknames for hosts are not replaced with their official site
names. For each address, if a host is not given, then that
address on any host is considered to be you. In addition, an
asterisk (*) may appear at either or both ends of the mailbox
and host to indicate wild-card matching.
(default: your user-id)
Specifies the name of the draft folder.
This is used by and to construct draft messages in, and to
store unsent draft messages. A draft folder allows you to
have more than one unsent draft at a time. The draft folder
is conventionally called
Tells your maildrop, if different from the default. This is super‐
seded by the $MAILDROP environment variable.
Tells your mail signature. This is superseded by the $SIGNATURE
environment variable. The signature must be enclosed in dou‐
ble quotes (" ").
The following profile elements are used whenever an MH program invokes
some other program such as The can be used to select alternative pro‐
grams if the user wishes. The default values are as follows:
Context File Entries
Changes in context are made to the file kept in the users Mail direc‐
tory. This includes, but is not limited to, the Current-Folder entry,
and all private sequence information. Information kept in the file is
updated by MH programs as they are used; the contains only static
information, which MH programs do not update.
The may override the path of the file by specifying a entry (this must
be in lower-case). If the entry is not absolute (does not start with
then it is interpreted relative to the user's Mail directory.
Private sequence information is kept in the file. Public sequence
information is kept in a file called in each folder.
The file may contain the following components:
Keeps track of the current open folder.
Keeps track of the private sequence called
in the specified folder.
The contents of the folder-stack for the
Tells the last issue of the last volume sent for the digest
Tells the last volume sent for the digest
In addition to the and files, MH programs consult a number of environ‐
If you define the environment variable $MH, you can specify a profile
other than to be read by the MH programs that you invoke. If the value
of $MH is not absolute, (that is, does not begin with / ), it will be
presumed to start from the current working directory. This is one of
the very few exceptions in MH where non-absolute pathnames are not con‐
sidered relative to the user's Mail directory.
Similarly, if you define the environment variable $MHCONTEXT, you can
specify a context other than the normal context file (as specified in
the Unless the value of $MHCONTEXT is absolute, it will be presumed to
start from your Mail directory.
MH programs also consult the following environment variables:
Tells the default maildrop. This supersedes the Maildrop profile
Tells and your mail signature. This supersedes the Signature pro‐
Tells all MH programs your home directory.
Tells MH your terminal type.
The $TERMCAP environment variable is also consulted. In par‐
ticular, these two environment variables tell and how to
clear your terminal, and how many columns wide your terminal
is. They also tell how many lines long your terminal screen
Some environment variables are set by MH programs for These are:
The alternative message.
Set by and during edit sessions so you can view the message
being distributed or replied to. The message is also avail‐
able through a link called @ in the current directory, as
long as your current working directory has write permission.
If your current working directory and the folder containing
the message are on the same file system, this link is a hard
link; otherwise, it is a symbolic link.
The path to the working draft.
Set by and to tell the which file to ask What now? questions
about. In addition, and set $mhfolder if appropriate.
Set by and to tell the about an alternative message associated with
the draft (the message being distributed or replied to).
Set by to tell the that message redistribution is occurring.
Set to tell the
your choice of editor (unless overridden by -noedit).
May be set by
Set by and if annotations are to occur. The reason
for this is that the MH user can select any
program as the including one of the standard
shells. As a result, it is not possible to
pass information via an argument list.
The folder containing the alternate message.
Set by and during edit sessions so you can view
other messages in the current folder, besides
the one being distributed or replied to. The
$mhfolder environment variable is also set by
and for use by
The shell quoting conventions are not available in the
Each token is separated by white space.
It is recommended that you only set up options to MH com‐
mands (and their values) in the Arguments such as file
names, folders, and message sequences should not be
included in profile entries.
When conflicting options are given to MH commands, the
last option takes effect; earlier options are discarded.
This means that you can override an option you have set
up in your by giving a conflicting option at the command
line. Other arguments, such as file names, folders, or
message sequences, are always remembered, and are not
superseded by later arguments of the same kind. Hence it
is unwise to give arguments of this kind in your (Files
and folders can be included in the as values to options,
for example, -draftfolder +drafts. They should not be
included when they stand as independent arguments to the
If you find that an MH program is being invoked again and
again with the same arguments (and these are not
options), there are several possible solutions.
The first is to create a symbolic link in your directory
to the MH program of your choice. By giving this link a
different name, you can create a new entry in your pro‐
file and use an alternate set of defaults for the MH com‐
Similarly, you could create a small shell script which
calls the MH program of your choice with an alternate set
of invocation line switches. Using links and an alter‐
nate profile entry is preferable to this solution.
Finally, if you are a user, you could create an alias for
the command of the form:
alias cmd /usr/bin/mh/cmd arg1 arg2 ...
In this way, you can avoid typing lengthy commands to the
shell, and still give MH commands safely. Remember that
some MH commands invoke others, and that in all cases,
the profile is read. This means that aliases are disre‐
garded beyond an initial command invocation.
The user profile.
The user's context file.
Public sequences for a particular folder.
See Alsochmod(1), mh(1mh), environ(5)mh_profile(5mh)