@c %**end of header
@c Version of the software and manual.
-@set VERSION 8.2
+@set VERSION 8.4
@c Edition of the manual. It is either empty for the first edition or
@c has the form ", nth Edition" (without the quotes).
@set EDITION
-@set UPDATED 2009-06-13
-@set UPDATE-MONTH June, 2009
+@set UPDATED 2012-11-25
+@set UPDATE-MONTH November, 2012
@c Other variables.
@set MH-BOOK-HOME http://rand-mh.sourceforge.net/book/mh
This is version @value{VERSION}@value{EDITION} of @cite{The MH-E
Manual}, last updated @value{UPDATED}.
-Copyright @copyright{} 1995, 2001, 2002, 2003, 2005, 2006, 2007, 2008,
- 2009, 2010 Free Software Foundation, Inc.
+Copyright @copyright{} 1995, 2001--2003, 2005--2012 Free Software
+Foundation, Inc.
@c This dual license has been agreed upon by the FSF.
the section entitled ``GNU Free Documentation License.''
(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
-modify this GNU manual. Buying copies from the FSF supports it in
-developing GNU and promoting software freedom.''
+modify this GNU manual.''
@item
the GNU General Public License as published by the Free Software
@end copying
@c Info Directory Entry
-@dircategory Emacs
+@dircategory Emacs network features
@direntry
* MH-E: (mh-e). Emacs interface to the MH mail system.
@end direntry
This manual introduces another interface to the MH mail system that is
accessible through the GNU Emacs editor, namely, @emph{MH-E}. MH-E is
easy to use. I don't assume that you know GNU Emacs or even MH at this
-point, since I didn't know either of them when I discovered MH-E.
+point, since I didn't know either of them when I discovered MH-E@.
However, MH-E was the tip of the iceberg, and I discovered more and
more niceties about GNU Emacs and MH@. Now I'm fully hooked on both of
them.
-The MH-E package is distributed with GNU Emacs@footnote{Version
-@value{VERSION} of MH-E will appear in GNU Emacs 23.1. It is supported
-in GNU Emacs 21 and 22, as well as XEmacs 21 (except for versions
-21.5.9-21.5.16). It is compatible with MH versions 6.8.4 and higher,
-all versions of nmh, and GNU mailutils 1.0 and higher.}, so you
+The MH-E package is distributed with Emacs@footnote{Version
+@value{VERSION} of MH-E appeared in Emacs 24.4. It is supported in GNU
+Emacs 23 and higher, as well as XEmacs 21.4.22 and 21.5.31. MH-E is
+known not to work with GNU Emacs versions 20 and below, and XEmacs
+version 21.5.9--21.5.16. It is compatible with MH versions 6.8.4 and
+higher, all versions of nmh, and GNU mailutils 1.0 and higher}, so you
shouldn't have to do anything special to use it. Gnus is also
required; version 5.10 or higher is recommended. This manual covers
MH-E version @value{VERSION}. To help you decide which version you
MH-E uses normal hooks in nearly all cases, so you can assume that we
are talking about normal hooks unless we explicitly mention that a
hook is abnormal. We also follow the conventions described in that
-section: the name of the abnormal hooks end in @code{-hooks} and all
+section: the name of the abnormal hooks end in @code{-functions} and all
the rest of the MH-E hooks end in @code{-hook}. You can add hooks with
either @code{customize-option} or @code{add-hook}.
If the @code{mh-version} command displays @samp{No MH variant
detected}@footnote{In very old versions of MH-E, you may get the error
message, @samp{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
+`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.}, then you need
to install MH or tell MH-E where to find MH.
@cindex GNU mailutils 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
+variant of MH@. The Debian mh-e package does this for you automatically
(@pxref{Getting MH-E}). Most people use
@uref{http://www.nongnu.org/nmh/, nmh}, but you may be interested in
trying out @uref{http://www.gnu.org/software/mailutils/, GNU mailutils
-MH}, which supports IMAP. Your GNU/Linux distribution probably has
+MH}, which supports IMAP@. Your GNU/Linux distribution probably has
packages for both of these.
@cindex @command{install-mh}
names.}. When you're done, you'll be able to send, read, and file
mail, which is all that a lot of people ever do. But if you're the
curious or adventurous type, read the rest of the manual to be able to
-use all the features of MH-E. I suggest you read this chapter first to
+use all the features of MH-E@. I suggest you read this chapter first to
get the big picture, and then you can read the manual as you wish.
@menu
@samp{+inbox} in MH-Folder mode. The command @kbd{M-x mh-rmail} shows
you only new mail, not mail you have already read@footnote{If you want
to see your old mail as well, use @kbd{F r} to pull all your messages
-into MH-E. Or, give a prefix argument to @code{mh-rmail} so it will
+into MH-E@. Or, give a prefix argument to @code{mh-rmail} so it will
prompt you for folder to visit like @kbd{F v} (for example, @kbd{C-u
M-x mh-rmail @key{RET} bob @key{RET}}). @xref{Folders}.}.
reader. Most of the time, this is desirable, so by default MH-E
suppresses the buttons for inline attachments. On the other hand, you
may receive code or HTML which the sender has added to his message as
-inline attachments so that you can read them in MH-E. In this case, it
+inline attachments so that you can read them in MH-E@. In this case, it
is useful to see the buttons so that you know you don't have to cut
and paste the code into a file; you can simply save the attachment. If
you want to make the buttons visible for inline attachments, you can
@cindex menu, @samp{Message}
@cindex using folders
-This chapter discusses the things you can do with folders within MH-E.
+This chapter discusses the things you can do with folders within MH-E@.
The commands in this chapter are also found in the @samp{Folder} and
@samp{Message} menus.
@findex mh-search-p
@kindex k
-@vindex mh-kill-folder-suppress-prompt-hooks
+@vindex mh-kill-folder-suppress-prompt-functions
-The hook @code{mh-kill-folder-suppress-prompt-hooks} is an abnormal
+The hook @code{mh-kill-folder-suppress-prompt-functions} is an abnormal
hook run at the beginning of the command @kbd{k}. The hook functions
are called with no arguments and should return a non-nil value to
suppress the normal prompt when you remove a folder. This is useful
you can check the actual address(es) in the alias. A new buffer named
@samp{*MH-E Recipients*} is created with the output of @command{whom}
(@pxref{Miscellaneous})@footnote{See the section
-@uref{@value{MH-BOOK-HOME}/senove.html#WhaPro, What now? -- and the
+@uref{@value{MH-BOOK-HOME}/senove.html#WhaPro, What now?---and the
whatnow Program} in the MH book.}.
@node Sending Message, Killing Draft, Checking Recipients, Editing Drafts
@cindex aliases
-MH aliases are used in the same way in MH-E as they are in MH. Any
+MH aliases are used in the same way in MH-E as they are in MH@. Any
alias listed as a recipient will be expanded when the message is sent.
This chapter discusses other things you can do with aliases in MH-E.
@vindex mh-alias-completion-ignore-case-flag
-As MH ignores case in the aliases, so too does MH-E. However, you may
+As MH ignores case in the aliases, so too does MH-E@. However, you may
turn off the option @code{mh-alias-completion-ignore-case-flag} to
make case significant which can be used to segregate completion of
your aliases. You might use uppercase for mailing lists and lowercase
@cindex @command{mairix}
@cindex Unix commands, @command{mairix}
-In the examples below, replace @file{/home/user/Mail} with the path to
-your MH directory.
+In the examples below, replace @file{~/Mail} with the path to your MH
+directory.
-First create the directory @file{/home/user/Mail/.mairix}. Then create
-the file @file{/home/user/Mail/.mairix/config} with the following
-contents:
+First create the directory @file{~/Mail/.mairix}. Then create the file
+@file{~/Mail/.mairix/config} with the following contents:
@smallexample
@group
-base=/home/user/Mail
+base=~/Mail
# List of folders that should be indexed. 3 dots at the end means there
# are subfolders within the folder
mh=archive...:inbox:drafts:news:sent:trash
-vfolder_format=mh
-database=/home/user/Mail/.mairix/database
+mformat=mh
+database=~/Mail/.mairix/database
@end group
@end smallexample
from cron:
@smallexample
-mairix -f /home/user/Mail/.mairix/config
+mairix -f ~/Mail/.mairix/config
@end smallexample
@subsection namazu
@item mh-update-sequences-after-mh-show-flag
On means flush MH sequences to disk after message is shown (default:
@samp{on}).
+@item mh-whitelist-preserves-sequences-flag
+On means that sequences are preserved when messages are whitelisted
+(default: @samp{on}).
@end vtable
The following hook is available.
Spam program that MH-E should use (default: @samp{Auto-detect}).
@end vtable
+@cindex @samp{mh-sequences} customization group
+@cindex customization group, @samp{mh-sequences}
+
+The following option in the @samp{mh-sequences} customization group is
+also available.
+
+@vtable @code
+@item mh-whitelist-preserves-sequences-flag
+On means that sequences are preserved when messages are whitelisted
+(default: @samp{on}).
+@end vtable
+
+The following hooks are available.
+
+@vtable @code
+@item mh-blacklist-msg-hook
+Hook run by @kbd{J b} (@code{mh-junk-blacklist}) after marking each
+message for blacklisting (default: @code{nil}).
+@c -------------------------
+@item mh-whitelist-msg-hook
+Hook run by @kbd{J w} (@code{mh-junk-whitelist}) after marking each
+message for whitelisting (default @samp{nil}).
+@end vtable
+
+The following faces are available.
+
+@vtable @code
+@item mh-folder-blacklisted
+Blacklisted message face.
+@c -------------------------
+@item mh-folder-whitelisted
+Whitelisted message face
+@end vtable
+
@cindex SpamProbe
@cindex Spamassassin
@cindex bogofilter
incorrectly classified as spam. It then refiles the message into the
@file{+inbox} folder.
+@cindex MH profile component, @samp{Previous-Sequence:}
+@cindex @samp{cur} sequence
+@cindex @samp{Previous-Sequence:} MH profile component
+@cindex sequence, @samp{cur}
+@cindex sequence, @samp{Previous-Sequence}
+@vindex mh-whitelist-preserves-sequences-flag
+
+If a message is in any sequence (except @samp{Previous-Sequence:} and
+@samp{cur}) when it is whitelisted, then it will still be in those
+sequences in the destination folder. If this behavior is not desired,
+then turn off the option @code{mh-whitelist-preserves-sequences-flag}.
+
@cindex @samp{*MH-E Log*}
@cindex buffers, @samp{*MH-E Log*}
@findex call-process
conservative. Add that many dots to the @samp{X-Spam-Level:} header
field above to send messages with that score down the drain.
-In the example above, messages with a score of 5-9 are set aside in
+In the example above, messages with a score of 5--9 are set aside in
the @samp{+spam} folder for later review. The major weakness of
rules-based filters is a plethora of false positives so it is
worthwhile to check.
MAILDIR=$HOME/`mhparam Path`
#
-# Filter messages with win32 executables/virii.
+# Filter messages with w32 executables/virii.
#
# These attachments are base64 and have a TVqQAAMAAAAEAAAA//8AALg
# pattern. The string "this program cannot be run in MS-DOS mode"
[12]
[13] # Place mail sent to any MH-E mailing list in +mh-e.
[14] :0 w: mh-e$LOCKEXT
-[15] * ^TO.*mh-e-.*@.*sourceforge.net
+[15] * ^TO.*mh-e-.*@@.*sourceforge.net
[16] | myrcvstore -create +mh-e
@end smallexample
@vtable @code
@item gnus-secondary-select-methods
Select the @samp{nnml} value. This select method uses directories for
-folders and individual files for messages, just like MH. You do not
+folders and individual files for messages, just like MH@. You do not
have to set an address.
@c -------------------------
@item mail-sources
Since Gnus keeps track of which messages you have read, it would be
bad if Gnus expired the last message, for example, message 100, and
@command{rcvstore} gave the next new message number 1. Gnus would then
-ignore it since it thinks that you've read messages 1-100. Turning on
+ignore it since it thinks that you've read messages 1--100. Turning on
this option ensures that the last message is never removed thereby
eliminating this problem.
@end vtable
# Place mail sent to the GnuCash mailing list in gnucash.spool, where
# Gnus will pick it up.
:0:
-* ^TO.*gnucash.*@.*gnucash.org
+* ^TO.*gnucash.*@@.*gnucash.org
gnucash.spool
@end smallexample
@cindex SourceForge
@cindex mailing lists
-There are several mailing lists for MH-E. They are @i{mh-e-users at
+There are several mailing lists for MH-E@. They are @i{mh-e-users at
lists.sourceforge.net}, @i{mh-e-announce at lists.sourceforge.net},
and @i{mh-e-devel at lists.sourceforge.net}. You can subscribe or view
the archives at @uref{https://sourceforge.net/mail/?group_id=13357,
After you download and extract the MH-E tarball, read the
@file{README} file and @file{MH-E-NEWS}. These correspond to the
release notes and change log mentioned above. The file @file{README}
-contains instructions on installing MH-E. If you're already running
+contains instructions on installing MH-E@. If you're already running
Emacs, please quit that session and start again to load in the new
-MH-E. Check that you're running the new version with the command
+MH-E@. Check that you're running the new version with the command
@kbd{M-x mh-version}.
@cindex contributed software
simpler and the commands were slightly different. Unfortunately, I no
longer have a copy so the differences are lost in the mists of time.
-In '82-83, I was working at BBN and wrote a lot of mlisp code in
+In '82--83, I was working at BBN and wrote a lot of mlisp code in
Gosling Emacs to make it look more like Tennex Emacs. One of the
packages that I picked up and improved was Reid's mail system. In '83,
I went back to Berkeley. About that time, Stallman's first version of
@cindex @command{xmh}, in MH-E history
In '89, I came to Wisconsin as a professor and decided not to work on
-MH-E. It was stable, except for minor bugs, and had enough
+MH-E@. It was stable, except for minor bugs, and had enough
functionality, so I let it be for a few years. Stephen Gildea of BBN
began to pester me about the bugs, but I ignored them. In 1990, he
went off to the X Consortium, said good bye, and said that he would
now be using @command{xmh}. A few months later, he came back and said
that he couldn't stand @command{xmh} and could I put a few more bug fixes
-into MH-E. At that point, I had no interest in fixing MH-E, so I gave
+into MH-E@. At that point, I had no interest in fixing MH-E, so I gave
the responsibility of maintenance to him and he has done a fine job
since then.
embedded editors; they never live up to Emacs.
MH is the mail reader of choice at BBN, so I converted to it. Since I
-didn't want to give up using an Emacs interface, I started using MH-E.
+didn't want to give up using an Emacs interface, I started using MH-E@.
As is my wont, I started hacking on it almost immediately. I first
used version 3.4m. One of the first features I added was to treat the
folder buffer as a file-visiting buffer: you could lock it, save it,
with Emacs 18.56 in 1990, was noticeably faster.
When I moved to the X Consortium I became the first person there to
-not use xmh. (There is now one other engineer there using MH-E.) About
+not use xmh. (There is now one other engineer there using MH-E@.) About
this point I took over maintenance of MH-E from Jim and was finally
able to add some features Jim hadn't accepted, such as the backward
searching undo. My first release was 3.8 (Emacs 18.58) in 1992.
@c Local Variables:
@c sentence-end-double-space: nil
@c End:
-
-@ignore
- arch-tag: b778477d-1a10-4a99-84de-f877a2ea6bef
-@end ignore