]> code.delx.au - gnu-emacs/blobdiff - doc/misc/mh-e.texi
Merge from emacs-24; up to 2012-12-17T11:17:34Z!rgm@gnu.org
[gnu-emacs] / doc / misc / mh-e.texi
index 43d7bc745539dac0f41998f2915237e7385c7823..756d5d529968093aa7585709ae6f3843bd2ecbb3 100644 (file)
@@ -8,12 +8,12 @@
 @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
@@ -24,7 +24,8 @@
 This is version @value{VERSION}@value{EDITION} of @cite{The MH-E
 Manual}, last updated @value{UPDATED}.
 
-Copyright @copyright{} 1995, 2001-2003, 2005-2011  Free Software Foundation, Inc.
+Copyright @copyright{} 1995, 2001--2003, 2005--2013 Free Software
+Foundation, Inc.
 
 @c This dual license has been agreed upon by the FSF.
 
@@ -41,8 +42,7 @@ Back-Cover Texts as in (a) below. A copy of the license is included in
 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
@@ -206,16 +206,17 @@ History of MH-E
 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 Emacs@footnote{Version
-@value{VERSION} of MH-E appeared in Emacs 23.1. It is supported
-in 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
+@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
@@ -428,7 +429,7 @@ for a description about @dfn{normal hooks} and @dfn{abnormal hooks}.
 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}.
 
@@ -539,7 +540,7 @@ installing MH-E.
 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.
@@ -549,11 +550,11 @@ 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}
@@ -670,7 +671,7 @@ chapter for a mapping between default key bindings and function
 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
@@ -1571,7 +1572,7 @@ command incorporates your mail and creates a buffer called
 @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}.}.
 
@@ -2455,7 +2456,7 @@ that they do not really appear like an attachment at all to the
 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
@@ -3221,7 +3222,7 @@ original configuration is displayed.
 @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.
 
@@ -3748,9 +3749,9 @@ when you press @key{TAB} when prompted for a folder name.
 
 @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
@@ -5644,7 +5645,7 @@ The command @kbd{C-c C-w} (@code{mh-check-whom}) expands aliases so
 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
@@ -5704,7 +5705,7 @@ buffer and delete the draft message. Use the command @kbd{C-x k}
 
 @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.
 
@@ -5815,7 +5816,7 @@ Otherwise, you can complete aliases in the header of the draft with
 
 @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
@@ -6965,23 +6966,22 @@ swish-e -c /home/user/Mail/.swish/config
 @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
 
@@ -6989,7 +6989,7 @@ Use the following command line to generate the mairix index. Run this daily
 from cron:
 
 @smallexample
-mairix -f /home/user/Mail/.mairix/config
+mairix -f ~/Mail/.mairix/config
 @end smallexample
 
 @subsection namazu
@@ -7394,6 +7394,9 @@ The name of the MH sequence for ticked messages (default: @samp{'tick}).
 @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.
@@ -7599,6 +7602,40 @@ Disposition of junk mail (default: @samp{Delete Spam}).
 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
@@ -7641,6 +7678,18 @@ reclassifies a range of messages (@pxref{Ranges}) as ham if it were
 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
@@ -7714,7 +7763,7 @@ all of your interesting messages and add a couple of points to be
 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.
@@ -7900,7 +7949,7 @@ PATH=$PATH:/usr/bin/mh
 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"
@@ -8525,7 +8574,7 @@ necessary, they are extremely useful.
 [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
 
@@ -8598,7 +8647,7 @@ modify. Note that for them to become accessible, you'll have to load
 @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
@@ -8616,7 +8665,7 @@ In order to send mail within Gnus using MH-E, set this option to
 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
@@ -8631,7 +8680,7 @@ MAILDIR=$HOME/`mhparam Path`
 # 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
 
@@ -8676,7 +8725,7 @@ positive we won't ask for it.
 @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,
@@ -8743,9 +8792,9 @@ instead.
 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
@@ -8833,7 +8882,7 @@ same structure as MH-E (i.e., invoked MH programs), though it was
 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
@@ -8855,13 +8904,13 @@ limited the use and appeal of the package.
 @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.
 
@@ -8882,7 +8931,7 @@ modifications of my own) and dislike having to use applications with
 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,
@@ -8894,7 +8943,7 @@ MH-E was too slow and optimized it a lot. Version, 3.7, distributed
 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.
@@ -8950,8 +8999,8 @@ files that were already part of Emacs) and the software was completely
 reorganized to push back two decades of entropy. Version 8 appeared in
 Emacs 22.1 in 2006.
 
-Development was then quiet for a couple of years. Emacs 23.1, released
-in June 2009, contains version 8.2.  This version includes a few
+Development was then quiet for a couple of years. Emacs 23.1, which is
+due out in 2009, will contain version 8.1. This version includes a few
 new features and several bug fixes.
 
 Bill Wohler, August 2008
@@ -9059,5 +9108,3 @@ Bill Wohler, August 2008
 @c Local Variables:
 @c sentence-end-double-space: nil
 @c End:
-
-