2 Getting Started

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 detected2, 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.


NOTE

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.


Footnotes

(2)

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.

(3)

See the section Setting Up MH in the MH book.