Because there are many old versions of MH-E out there, it is important to know which version you have. I’ll be talking about Version 8 which is pretty close to Version 6 and Version 7. It differs from Version 4 and Version 5 and is vastly different from Version 3. See History of MH-E.
To determine which version of MH-E that you have, enter M-x mh-version RET. Hopefully it says that you’re running Version 8.6 which is the latest version as of this printing.
If your version is much older than this, please consider upgrading. You can have your system administrator upgrade the system-wide version, or you can install your own personal version. It’s really quite easy. See Getting MH-E, for instructions for getting and installing MH-E.
If the mh-version
command displays ‘No MH variant
detected’2, then you need
to install MH or tell MH-E where to find MH.
If you don’t have MH on your system already, you must install a variant of MH. The Debian mh-e package does this for you automatically (see Getting MH-E). Most people use nmh, but you may be interested in trying out GNU mailutils MH, which supports IMAP. Your GNU/Linux distribution probably has packages for both of these.
If you’ve never run MH before, you need to run install-mh
from the shell before you continue. This sets up your personal MH
environment3. If you don’t, you’ll be greeted with the error message:
‘Install MH and run install-mh before running MH-E’. This is all
you need to know about MH to use MH-E, but the more you know about MH,
the more you can leverage its power. See the
MH book to learn more about MH.
Your MH environment includes your MH profile which is found in the file ~/.mh_profile, or the file named in the environment variable ‘$MH’. This file contains a number of MH profile components. For example, the ‘Path:’ MH profile component contains the path to your mail directory, which is ~/Mail by default.
There are several options MH-E uses to interact with your MH
installation. The option mh-variant
specifies the variant used
by MH-E (see Options). The default setting of this option is
‘Auto-detect’ which means that MH-E will automatically choose the
first of nmh, MH, or GNU mailutils MH that it finds in the directories
listed in mh-path
(which you can customize),
mh-sys-path
, and exec-path
. If MH-E can’t find MH at
all, you may have to customize mh-path
and add the directory in
which the command mhparam
is located. If, on the other hand,
you have both nmh and GNU mailutils MH installed (for example) and
mh-variant-in-use
was initialized to nmh but you want to use
GNU mailutils MH, then you can set mh-variant
to
‘gnu-mh’.
When mh-variant
is changed, MH-E resets mh-progs
,
mh-lib
, mh-lib-progs
, mh-flists-present-flag
, and
mh-variant-in-use
accordingly.
Prior to version 8, it was often necessary to set some of these variables in ~/.emacs; now it is no longer necessary and can actually cause problems.
In addition to setting variables that point to MH itself, MH-E also
sets a handful of variables that point to where you keep your mail.
During initialization, the function mh-find-path
sets
mh-user-path
from your ‘Path:’ MH profile component (but
defaults to ‘Mail’ if one isn’t present), mh-draft-folder
from ‘Draft-Folder:’, mh-unseen-seq
from
‘Unseen-Sequence:’, mh-previous-seq
from
‘Previous-Sequence:’, and mh-inbox
from ‘Inbox:’
(defaults to ‘+inbox’). The hook mh-find-path-hook
is run
after these variables have been set. This hook can be used the change
the value of these variables if you need to run with different values
between MH and MH-E.
In very old versions of MH-E, you may get the error message, ‘Cannot find the commands `inc' and `mhl' and the file `components'’ if MH-E can’t find MH. In this case, you need to update MH-E, and you may need to install MH too. However, newer versions of MH-E are better at finding MH if it is on your system.
See the section Setting Up MH in the MH book.