-\input texinfo @c -*-texinfo-*-
+\input texinfo @c -*- mode: texinfo; coding: utf-8; -*-
@c
@c Note: This document requires makeinfo version 4.6 or greater to build.
@c
@c %**start of header
-@setfilename ../../info/mh-e
+@setfilename ../../info/mh-e.info
@settitle The MH-E Manual
+@documentencoding UTF-8
@c %**end of header
@c Version of the software and manual.
-@set VERSION 8.4
+@set VERSION 8.5
@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 2012-11-25
-@set UPDATE-MONTH November, 2012
+@set UPDATED 2013-03-02
+@set UPDATE-MONTH March, 2013
@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-2003, 2005-2012 Free Software Foundation, Inc.
+Copyright @copyright{} 1995, 2001--2003, 2005--2014 Free Software
+Foundation, Inc.
@c This dual license has been agreed upon by the FSF.
@item
the GNU Free Documentation License, Version 1.3 or any later version
published by the Free Software Foundation; with no Invariant Sections,
-with the Front-Cover texts being ``A GNU Manual,'' and with the
+with the Front-Cover Texts being ``A GNU Manual,'' and with the
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
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.
@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
+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
@cite{GNU Emacs Manual},
@end iftex
@ifinfo
-@ref{top, , GNU Emacs Manual, emacs, GNU Emacs Manual},
+@ref{Top, , GNU Emacs Manual, emacs, GNU Emacs Manual},
@end ifinfo
@ifhtml
-@uref{http://www.gnu.org/software/emacs/manual/html_node/,
+@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/,
@cite{GNU Emacs Manual}},
@end ifhtml
from the Free Software Foundation.
the individual MH commands. When the name is not obvious, I'll guide
you to a relevant MH manual page that describes the action more fully.
-@cindex @cite{MH & nmh: Email for Users & Programmers}
+@c ":" does not work in index entries in Info.
+@cindex @cite{MH & nmh - Email for Users & Programmers}
@cindex MH book
@cindex info
@kindex C-h i
@command{info} command (@samp{info mh-e}) or within Emacs (@kbd{C-h i
m mh-e @key{RET}}). The online version is available at
@uref{http://mh-e.sourceforge.net/manual/, SourceForge}. Another great
-online resource is the book @uref{http://www.ics.uci.edu/~mh/book/,
-@cite{MH & nmh: Email for Users & Programmers}} (also known as
-@dfn{the MH book}).
+online resource is the book
+@uref{http://rand-mh.sourceforge.net/book/, @cite{MH & nmh: Email for
+Users & Programmers}} (also known as @dfn{the MH book}).
I hope you enjoy this manual! If you have any comments, or suggestions
for this document, please let me know.
@end ifnothtml
@ifhtml
See section
-@uref{http://www.gnu.org/software/emacs/manual/html_node/Easy-Customization.html,
+@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Easy-Customization.html,
Easy Customization} in @cite{The GNU Emacs Manual}.
@end ifhtml
@xref{Options}.
@end ifnothtml
@ifhtml
See section
-@uref{http://www.gnu.org/software/emacs/manual/html_node/Face-Customization.html,
+@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Face-Customization.html,
Face Customization} in @cite{The GNU Emacs Manual}.
@end ifhtml
@end ifnothtml
@ifhtml
See section
-@uref{http://www.gnu.org/software/emacs/manual/html_node/Hooks.html,
+@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Hooks.html,
Hooks} in @cite{The GNU Emacs Manual}
@end ifhtml
for a description about @dfn{normal hooks} and @dfn{abnormal hooks}.
@end ifnothtml
@ifhtml
See the section
-@uref{http://www.gnu.org/software/emacs/manual/html_node/Completion.html,
+@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion.html,
Completion} in @cite{The GNU Emacs Manual}.
@end ifhtml
Note that @key{SPC} cannot be used for completing filenames and
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
-(@pxref{Getting MH-E}). Most people use
+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
-packages for both of these.
+trying out @uref{http://mailutils.org/, GNU mailutils MH}, which
+supports IMAP@. Your GNU/Linux distribution probably has packages for
+both of these.
@cindex @command{install-mh}
@cindex MH commands, @command{install-mh}
the more you can leverage its power. See the
@uref{@value{MH-BOOK-HOME}/../, MH book} to learn more about MH.
-@cindex @samp{Path:} MH profile component
+@cindex @samp{Path} MH profile component
@cindex MH profile
@cindex MH profile component
-@cindex MH profile component, @samp{Path:}
+@cindex MH profile component, @samp{Path}
Your MH environment includes your @dfn{MH profile} which is found in
the file @file{~/.mh_profile}, or the file named in the environment
@end quotation
@sp 1
-@cindex MH profile component, @samp{Draft-Folder:}
-@cindex MH profile component, @samp{Path:}
-@cindex MH profile component, @samp{Previous-Sequence:}
-@cindex MH profile component, @samp{Unseen-Sequence:}
-@cindex @samp{Draft-Folder:} MH profile component
-@cindex @samp{Path:} MH profile component
-@cindex @samp{Previous-Sequence:} MH profile component
-@cindex @samp{Unseen-Sequence:} MH profile component
+@cindex MH profile component, @samp{Draft-Folder}
+@cindex MH profile component, @samp{Path}
+@cindex MH profile component, @samp{Previous-Sequence}
+@cindex MH profile component, @samp{Unseen-Sequence}
+@cindex @samp{Draft-Folder} MH profile component
+@cindex @samp{Path} MH profile component
+@cindex @samp{Previous-Sequence} MH profile component
+@cindex @samp{Unseen-Sequence} MH profile component
@findex mh-find-path
@vindex mh-draft-folder
@vindex mh-find-path-hook
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
get a summary of all these commands with GNU Emacs online help: use
@kbd{C-h m} (@code{describe-mode}) for a brief summary of commands,
@kbd{?} (@code{mh-help}) for an even briefer summary@footnote{This
-help appears in a buffer called @samp{*MH-E Help*}
+help appears in a buffer called @file{*MH-E Help*}
(@pxref{Miscellaneous}).} (@kbd{C-c ?} in MH-Letter mode), or @kbd{C-h
i} to read this manual via Info. The online help is quite good; try
running @kbd{C-h C-h}. This brings up a list of available help topics,
@footnote{The @cite{GNU Emacs Lisp Reference Manual} may be available
online in the Info system by typing @kbd{C-h i m Emacs Lisp
@key{RET}}. It is also available online at @*
-@uref{http://www.gnu.org/software/emacs/elisp-manual/html_node/}. You
-can also order a printed manual, which has the desirable side-effect
-of helping to support the Free Software Foundation which made all this
-great software available. You can find an order form by running
-@kbd{C-h C-d}, or you can request an order form from @i{gnu at
-gnu.org}.}
+@uref{http://www.gnu.org/software/emacs/manual/elisp.html}.}
@end iftex
@ifinfo
@footnote{@xref{Top, The GNU Emacs Lisp Reference Manual, , elisp, GNU
Emacs Lisp Reference Manual}, which may be available online in the
Info system. It is also available online at
-@uref{http://www.gnu.org/software/emacs/elisp-manual/html_node/}. You
-can also order a printed manual, which has the desirable side-effect
-of helping to support the Free Software Foundation which made all this
-great software available. You can find an order form by running
-@kbd{C-h C-d}, or you can request an order form from @i{gnu at
-gnu.org}.}
+@uref{http://www.gnu.org/software/emacs/manual/elisp.html}.}
@end ifinfo
@ifhtml
@footnote{The
-@uref{http://www.gnu.org/software/emacs/elisp-manual/html_node/,
+@uref{http://www.gnu.org/software/emacs/manual/elisp.html,
The GNU Emacs Lisp Reference Manual} may also be available online in
-the Info system by typing @kbd{C-h i m Emacs Lisp @key{RET}}. You can
-also order a printed manual, which has the desirable side-effect of
-helping to support the Free Software Foundation which made all this
-great software available. You can find an order form by running
-@kbd{C-h C-d}, or you can request an order form from @i{gnu at
-gnu.org}.}
+the Info system by typing @kbd{C-h i m Emacs Lisp @key{RET}}.}
@end ifhtml
and you can look at the code itself for examples. Look in the Emacs
Lisp directory on your system (such as
-@file{/usr/local/lib/emacs/lisp/mh-e}) and find all the @file{mh-*.el}
+@file{/usr/local/share/emacs/lisp/mh-e}) and find all the @file{mh-*.el}
files there. When calling MH-E and other Emacs Lisp functions directly
from Emacs Lisp code, you'll need to know the correct arguments. Use
the online help for this. For example, try @kbd{C-h f
@end ifnothtml
@ifhtml
(see the section
-@uref{http://www.gnu.org/software/emacs/manual/html_node/Completion.html,
+@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion.html,
Completion} in @cite{The GNU Emacs Manual}).
@end ifhtml
In addition, MH-E has several ways of choosing a suitable default so
@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}.}.
suffix; otherwise, the element can be used to render invisible an
entire class of fields that start with the same prefix. If you think a
header field should be generally ignored, please update
-@uref{https://sourceforge.net/tracker/index.php?func=detail&aid=1916032&group_id=13357&atid=113357,
-SF #1916032}.
-
-@cindex header field, @samp{Face:}
-@cindex header field, @samp{X-Face:}
-@cindex header field, @samp{X-Image-URL:}
-@cindex @samp{Face:} header field
-@cindex @samp{X-Face:} header field
-@cindex @samp{X-Image-URL:} header field
+@uref{https://sourceforge.net/p/mh-e/bugs/245/, SF #245}.
+
+@cindex header field, @samp{Face}
+@cindex header field, @samp{X-Face}
+@cindex header field, @samp{X-Image-URL}
+@cindex @samp{Face} header field
+@cindex @samp{X-Face} header field
+@cindex @samp{X-Image-URL} header field
@vindex mh-show-use-xface-flag
MH-E can display the content of @samp{Face:}, @samp{X-Face:}, and
@samp{X-Face:} fields are present@footnote{The display of the images
requires the @uref{http://www.gnu.org/software/wget/wget.html,
@command{wget} program} to fetch the image and the @command{convert}
-program from the @uref{http://www.imagemagick.org/, ImageMagick
-suite}.}. Of the three header fields this is the most efficient in
-terms of network usage since the image doesn't need to be transmitted
-with every single mail. The option @code{mh-fetch-x-image-url}
-controls the fetching of the @samp{X-Image-URL:} header field image
-with the following values:
+program from the @uref{http://www.imagemagick.org/script/index.php,
+ImageMagick suite}.}. Of the three header fields this is the most
+efficient in terms of network usage since the image doesn't need to be
+transmitted with every single mail. The option
+@code{mh-fetch-x-image-url} controls the fetching of the
+@samp{X-Image-URL:} header field image with the following values:
@table @samp
@item Ask Before Fetching
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
MH-E cannot display all attachments inline however. It can display
text (including @sc{html}) and images.
-@cindex header field, @samp{Content-Disposition:}
+@cindex header field, @samp{Content-Disposition}
@cindex inline images
-@cindex @samp{Content-Disposition:} header field
+@cindex @samp{Content-Disposition} header field
@vindex mh-max-inline-image-height
@vindex mh-max-inline-image-width
@end ifinfo
@ifhtml
See
-@uref{http://www.dk.xemacs.org/Documentation/packages/html/pgg.html,
+@uref{http://www.gnu.org/software/emacs/manual/pgg.html,
@cite{The PGG Manual}}.
@end ifhtml
@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.
folders. Otherwise, list the folders that should be searched with the
@samp{Choose Folders} menu item. See @code{mh-recursive-folders-flag}.
-@cindex buffers, @samp{*MH-E Folders*}
-@cindex @samp{*MH-E Folders*}
+@cindex buffers, @file{*MH-E Folders*}
+@cindex @file{*MH-E Folders*}
@findex mh-kill-folder
@findex mh-list-folders
@findex mh-pack-folder
Other commands you can perform on folders include: @kbd{F l}
(@code{mh-list-folders}), to place a listing of all the folders in
-your mail directory in a buffer called @samp{*MH-E Folders*}
+your mail directory in a buffer called @file{*MH-E Folders*}
(@pxref{Miscellaneous}); @kbd{F k} (@code{mh-kill-folder}), to remove
a folder; @kbd{F S} (@code{mh-sort-folder}), to sort the messages by
date (see @command{sortm}(1) to see how to sort by other criteria);
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
+are called with no arguments and should return a non-@code{nil} value to
suppress the normal prompt when you remove a folder. This is useful
for folders that are easily regenerated. The default value of
@code{mh-search-p} suppresses the prompt on folders generated by
@cindex @file{.mh_profile}
@cindex files, @file{.mh_profile}
@cindex MH commands, @command{sortm}
-@cindex MH profile component, @samp{sortm:}
-@cindex @samp{sortm:} MH profile component
+@cindex MH profile component, @samp{sortm}
+@cindex @samp{sortm} MH profile component
@kindex F S
@vindex mh-sortm-args
the @kbd{q} (@code{mh-quit}) command. This buries the buffers of the
current MH-E folder and restores the buffers that were present when
you first ran @kbd{M-x mh-rmail}. It also removes any MH-E working
-buffers whose name begins with @samp{ *mh-} or @samp{*MH-E }
+buffers whose name begins with @samp{ *mh-} or @file{*MH-E }
(@pxref{Miscellaneous}). You can later restore your MH-E session by
selecting the @samp{+inbox} buffer or by running @kbd{M-x mh-rmail}
again.
before the MH-Letter buffer appears, turn on the option
@code{mh-compose-prompt-flag}.
-@cindex header field, @samp{X-Mailer:}
-@cindex @samp{X-Mailer:} header field
+@cindex header field, @samp{X-Mailer}
+@cindex @samp{X-Mailer} header field
@vindex mh-insert-x-mailer-flag
MH-E adds an @samp{X-Mailer:} header field to the header that includes
@samp{Prompt} to one of the choices listed above. You can always edit
the recipients in the draft.
-@cindex @samp{repl:} MH profile component
-@cindex MH profile component, @samp{repl:}
+@cindex @samp{repl} MH profile component
+@cindex MH profile component, @samp{repl}
@cindex MH-Letter mode
@cindex MH-Show mode
@cindex draft
@cindex @file{.mh_profile}
@cindex files, @file{.mh_profile}
-@cindex MH profile component, @samp{forw:}
-@cindex @samp{forw:} MH profile component
+@cindex MH profile component, @samp{forw}
+@cindex @samp{forw} MH profile component
@vindex mh-compose-forward-as-mime-flag
By default, the option @code{mh-compose-forward-as-mime-flag} is on
@node Editing Message, Inserting Letter, Editing Drafts, Editing Drafts
@section Editing the Message
-@cindex @samp{Bcc:} header field
-@cindex @samp{Cc:} header field
-@cindex @samp{Dcc:} header field
-@cindex @samp{From:} header field
-@cindex @samp{Mail-Followup-To:} header field
-@cindex @samp{Mail-Reply-To:} header field
-@cindex @samp{Reply-To:} header field
-@cindex @samp{Subject:} header field
-@cindex @samp{To:} header field
+@cindex @samp{Bcc} header field
+@cindex @samp{Cc} header field
+@cindex @samp{Dcc} header field
+@cindex @samp{From} header field
+@cindex @samp{Mail-Followup-To} header field
+@cindex @samp{Mail-Reply-To} header field
+@cindex @samp{Reply-To} header field
+@cindex @samp{Subject} header field
+@cindex @samp{To} header field
@cindex editing header
-@cindex header field, @samp{Bcc:}
-@cindex header field, @samp{Cc:}
-@cindex header field, @samp{Dcc:}
-@cindex header field, @samp{From:}
-@cindex header field, @samp{Mail-Followup-To:}
-@cindex header field, @samp{Mail-Reply-To:}
-@cindex header field, @samp{Reply-To:}
-@cindex header field, @samp{Subject:}
-@cindex header field, @samp{To:}
+@cindex header field, @samp{Bcc}
+@cindex header field, @samp{Cc}
+@cindex header field, @samp{Dcc}
+@cindex header field, @samp{From}
+@cindex header field, @samp{Mail-Followup-To}
+@cindex header field, @samp{Mail-Reply-To}
+@cindex header field, @samp{Reply-To}
+@cindex header field, @samp{Subject}
+@cindex header field, @samp{To}
@findex mh-to-field
@kindex C-c C-f C-t
@kindex C-c C-f t
The attribution consists of the sender's name and email address
followed by the content of the option
@code{mh-extract-from-attribution-verb}. This option can be set to
-@samp{wrote:}, @samp{a écrit:}, and @samp{schrieb:}. You can also use
+@samp{wrote:}, @samp{a écrit:}, and @samp{schrieb:}. You can also use
the @samp{Custom String} menu item to enter your own verb.
@vindex mail-citation-hook
@vindex mh-yank-behavior
For example, if you use the hook function
-@uref{http://shasta.cs.uiuc.edu/~lrclause/tc.html,
+@uref{http://www.emacswiki.org/emacs/TrivialCite,
@code{trivial-cite}} (which is NOT part of Emacs), set
@code{mh-yank-behavior} to @samp{Body and Header}.
placing your image in the file named by the option
@code{mh-x-face-file} which is @file{~/.face} by default.
-@cindex @samp{Face:} header field
-@cindex @samp{X-Face:} header field
-@cindex @samp{X-Image-URL:} header field
-@cindex header field, @samp{Face:}
-@cindex header field, @samp{X-Face:}
-@cindex header field, @samp{X-Image-URL:}
+@cindex @samp{Face} header field
+@cindex @samp{X-Face} header field
+@cindex @samp{X-Image-URL} header field
+@cindex header field, @samp{Face}
+@cindex header field, @samp{X-Face}
+@cindex header field, @samp{X-Image-URL}
If the file starts with either of the strings @samp{X-Face:},
@samp{Face:} or @samp{X-Image-URL:} then the contents are added to the
@end ifinfo
@ifhtml
See
-@uref{http://www.dk.xemacs.org/Documentation/packages/html/pgg.html,
+@uref{http://www.gnu.org/software/emacs/manual/pgg.html,
@cite{The PGG Manual}}.
@end ifhtml
-@cindex header field, @samp{Fcc:}
-@cindex @samp{Fcc:} header field
+@cindex header field, @samp{Fcc}
+@cindex @samp{Fcc} header field
@vindex pgg-encrypt-for-me
In particular, I turn on the option @code{pgg-encrypt-for-me} so that
@node Checking Recipients, Sending Message, Sending PGP, Editing Drafts
@section Checking Recipients
-@cindex @samp{*MH-E Recipients*}
+@cindex @file{*MH-E Recipients*}
@cindex @command{whom}
@cindex MH commands, @command{whom}
-@cindex buffers, @samp{*MH-E Recipients*}
+@cindex buffers, @file{*MH-E Recipients*}
@cindex checking recipients
@cindex recipients, checking
@findex mh-check-whom
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}
+@file{*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
@section Sending a Message
-@cindex buffers, @samp{*MH-E Mail Delivery*}
-@cindex @samp{*MH-E Mail Delivery*}
+@cindex buffers, @file{*MH-E Mail Delivery*}
+@cindex @file{*MH-E Mail Delivery*}
@cindex sending mail
@findex mh-send-letter
@kindex C-c C-c
When you are all through editing a message, you send it with the
command @kbd{C-c C-c} (@code{mh-send-letter}). You can give a prefix
argument (as in @kbd{C-u C-c C-c}) to monitor the first stage of the
-delivery; this output can be found in a buffer called @samp{*MH-E Mail
+delivery; this output can be found in a buffer called @file{*MH-E Mail
Delivery*} (@pxref{Miscellaneous}).
@cindex sending mail
@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{ali}
@cindex @file{/etc/nmh/MailAliases}
-@cindex @samp{Aliasfile:} MH profile component
+@cindex @samp{Aliasfile} MH profile component
@cindex MH commands, @command{ali}
-@cindex MH profile component, @samp{Aliasfile:}
+@cindex MH profile component, @samp{Aliasfile}
@cindex files, @file{/etc/nmh/MailAliases}
MH-E loads aliases for completion and folder name hints from various
@end ifnothtml
@ifhtml
(see the section
-@uref{http://www.gnu.org/software/emacs/manual/html_node/Regexps.html,
+@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexps.html,
Syntax of Regular Expressions} in
@cite{The GNU Emacs Manual}).
@end ifhtml
below}. The @samp{Value Menu} has the following menu items:
@table @samp
-@cindex header field, @samp{From:}
-@cindex @samp{From:} header field
+@cindex header field, @samp{From}
+@cindex @samp{From} header field
@item From Field
Specify an alternate @samp{From:} header field. You must include a
valid email address. A standard format is @samp{First Last
must quote your name as in @samp{"First I. Last"
<login@@host.domain>}.
@c -------------------------
-@cindex header field, @samp{Organization:}
-@cindex @samp{Organization:} header field
+@cindex header field, @samp{Organization}
+@cindex @samp{Organization} header field
@item Organization Field
People usually list the name of the company where they work here.
@c -------------------------
@end ifnothtml
@ifhtml
(see the section
-@uref{http://www.gnu.org/software/emacs/manual/html_node/Regexps.html,
+@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexps.html,
Syntax of Regular Expressions} in
@cite{The GNU Emacs Manual}).
@end ifhtml
All of the information for that identity will be added if the
recipient matches.
@c -------------------------
-@cindex @samp{Fcc:} header field
-@cindex header field, @samp{Fcc:}
+@cindex @samp{Fcc} header field
+@cindex header field, @samp{Fcc}
@item Fcc Field
Insert an @samp{Fcc:} header field with the folder you provide. When
you send the message, MH will put a copy of your message in this
folder.
@c -------------------------
-@cindex @samp{Mail-Followup-To:} header field
-@cindex header field, @samp{Mail-Followup-To:}
+@cindex @samp{Mail-Followup-To} header field
+@cindex header field, @samp{Mail-Followup-To}
@item Mail-Followup-To Field
Insert an @samp{Mail-Followup-To:} header field with the recipients
you provide. If the recipient's mail user agent supports this header
@end ifnothtml
@ifhtml
(see the section
-@uref{http://www.gnu.org/software/emacs/manual/html_node/Speedbar.html,
+@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Speedbar.html,
Speedbar Frames} in @cite{The GNU Emacs Manual})
@end ifhtml
to view your folders. To bring up the speedbar, run @kbd{M-x speedbar
@end ifnothtml
@ifhtml
see the section
-@uref{http://www.gnu.org/software/emacs/manual/html_node/Menu-Bar.html,
+@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Menu-Bar.html,
The Menu Bar} in @cite{The GNU Emacs Manual}.
@end ifhtml
@end ifnothtml
@ifhtml
see the section
-@uref{http://www.gnu.org/software/emacs/manual/html_node/Tool-Bars.html,
+@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Tool-Bars.html,
Tool Bars} in @cite{The GNU Emacs Manual}.
@end ifhtml
@cindex @command{procmail}
@cindex Unix commands, @command{procmail}
-@cindex @samp{X-MHE-Checksum:} header field
-@cindex header field, @samp{X-MHE-Checksum:}
+@cindex @samp{X-MHE-Checksum} header field
+@cindex header field, @samp{X-MHE-Checksum}
Note: This command uses an @samp{X-MHE-Checksum:} header field to
cache the MD5 checksum of a message. This means that if an incoming
mh-thread.elc} or otherwise find MH-E on your system and ensure that
@file{mh-thread.elc} exists. If you have multiple versions and you
find that one is compiled but the other is not, then go into your
-@samp{*scratch*} buffer in Emacs, enter @kbd{load-path C-j}, and
+@file{*scratch*} buffer in Emacs, enter @kbd{load-path C-j}, and
ensure that the byte-compiled version appears first in the
@code{load-path}. If you find that MH-E is not compiled and you
installed MH-E yourself, please refer to the installation directions
widen the view to all your messages again, use @kbd{S w}
(@code{mh-widen}).
-@cindex buffers, @samp{*MH-E Sequences*}
-@cindex @samp{*MH-E Sequences*}
+@cindex buffers, @file{*MH-E Sequences*}
+@cindex @file{*MH-E Sequences*}
@findex mh-list-sequences
@findex mh-msg-is-in-seq
@kindex S l
42 S s @key{RET}}). Or, you can list all sequences in a selected
folder (default is current folder) with @kbd{S l}
(@code{mh-list-sequences}). The list appears in a buffer named
-@samp{*MH-E Sequences*} (@pxref{Miscellaneous}).
+@file{*MH-E Sequences*} (@pxref{Miscellaneous}).
-@cindex MH profile component, @samp{Previous-Sequence:}
+@cindex MH profile component, @samp{Previous-Sequence}
@cindex @samp{cur} sequence
-@cindex @samp{Previous-Sequence:} MH profile component
+@cindex @samp{Previous-Sequence} MH profile component
@cindex sequence, @samp{cur}
@cindex sequence, @samp{Previous-Sequence}
@vindex mh-refile-preserves-sequences-flag
you want to delete the messages, use @kbd{C-u d} (@pxref{Reading
Mail}).
-@cindex @samp{Unseen-Sequence:} MH profile component
+@cindex @samp{Unseen-Sequence} MH profile component
@cindex @samp{cur} sequence
@cindex @samp{tick} sequence
-@cindex MH profile component, @samp{Unseen-Sequence:}
+@cindex MH profile component, @samp{Unseen-Sequence}
@cindex sequence, @samp{Unseen-Sequence}
@cindex sequence, @samp{cur}
@cindex sequence, @samp{tick}
incorrectly classified as spam. It then refiles the message into the
@file{+inbox} folder.
-@cindex MH profile component, @samp{Previous-Sequence:}
+@cindex MH profile component, @samp{Previous-Sequence}
@cindex @samp{cur} sequence
-@cindex @samp{Previous-Sequence:} MH profile component
+@cindex @samp{Previous-Sequence} MH profile component
@cindex sequence, @samp{cur}
@cindex sequence, @samp{Previous-Sequence}
@vindex mh-whitelist-preserves-sequences-flag
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*}
+@cindex @file{*MH-E Log*}
+@cindex buffers, @file{*MH-E Log*}
@findex call-process
@vindex mh-junk-background
the option @code{mh-junk-background} is used as the @code{display}
argument in the call to @code{call-process}. Therefore, turning on
this option means setting its value to @samp{0}. You can also set its
-value to @samp{t} to direct the programs' output to the @samp{*MH-E
+value to @samp{t} to direct the programs' output to the @file{*MH-E
Log*} buffer; this may be useful for debugging.}
The following sections discuss the various counter-spam measures that
To use SpamAssassin, add the following recipes to @file{~/.procmailrc}:
@cindex @command{spamc}
-@cindex @samp{X-Spam-Level:} header field
-@cindex @samp{X-Spam-Status:} header field
-@cindex header field, @samp{X-Spam-Level:}
-@cindex header field, @samp{X-Spam-Status:}
+@cindex @samp{X-Spam-Level} header field
+@cindex @samp{X-Spam-Status} header field
+@cindex header field, @samp{X-Spam-Level}
+@cindex header field, @samp{X-Spam-Status}
@smallexample
PATH=$PATH:/usr/bin/mh
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.
To use bogofilter, add the following recipes to @file{~/.procmailrc}:
-@cindex @samp{X-Bogosity:} header field
-@cindex header field, @samp{X-Bogosity:}
+@cindex @samp{X-Bogosity} header field
+@cindex header field, @samp{X-Bogosity}
@smallexample
PATH=$PATH:/usr/bin/mh
To use SpamProbe, add the following recipes to @file{~/.procmailrc}:
@cindex @command{formail}
-@cindex @samp{X-SpamProbe:} header field
-@cindex header field, @samp{X-SpamProbe:}
+@cindex @samp{X-SpamProbe} header field
+@cindex header field, @samp{X-SpamProbe}
@smallexample
PATH=$PATH:/usr/bin/mh
a virus). The second is to eliminate mail in character sets that you
can't read.
-@cindex @samp{Content-Transfer-Encoding:} header field
-@cindex @samp{Content-Type:} header field
-@cindex @samp{Subject:} header field
-@cindex header field, @samp{Content-Transfer-Encoding:}
-@cindex header field, @samp{Content-Type:}
-@cindex header field, @samp{Subject:}
+@cindex @samp{Content-Transfer-Encoding} header field
+@cindex @samp{Content-Type} header field
+@cindex @samp{Subject} header field
+@cindex header field, @samp{Content-Transfer-Encoding}
+@cindex header field, @samp{Content-Type}
+@cindex header field, @samp{Subject}
@smallexample
PATH=$PATH:/usr/bin/mh
system.
@end ftable
-@cindex buffers, @samp{*MH-E Info*}
+@cindex buffers, @file{*MH-E Info*}
@cindex MH-E version
-@cindex @samp{*MH-E Info*}
+@cindex @file{*MH-E Info*}
@cindex version
@kindex M-x mh-version
One command worth noting is @kbd{M-x mh-version}. You can compare the
version this command prints to the latest release (@pxref{Getting
MH-E}). The output of @kbd{M-x mh-version}, found in a buffer named
-@samp{*MH-E Info*}, should usually be included with any bug report you
+@file{*MH-E Info*}, should usually be included with any bug report you
submit (@pxref{Bug Reports}).
@subheading MH-E Buffers
several other buffers. They are:
@table @samp
-@cindex @samp{*MH-E Folders*}
-@cindex buffers, @samp{*MH-E Folders*}
+@cindex @file{*MH-E Folders*}
+@cindex buffers, @file{*MH-E Folders*}
@findex mh-list-folders
@item *MH-E Folders*
@kindex F l
This buffer contains the output of @kbd{F l} (@code{mh-list-folders}).
@xref{Folders}.
@c -------------------------
-@cindex @samp{*MH-E Help*}
-@cindex buffers, @samp{*MH-E Help*}
+@cindex @file{*MH-E Help*}
+@cindex buffers, @file{*MH-E Help*}
@findex mh-help
@item *MH-E Help*
@kindex ?
This buffer contains the output of @kbd{?} (@code{mh-help}) and
@kbd{C-c ?} in MH-Letter mode. @xref{Using This Manual}.
@c -------------------------
-@cindex @samp{*MH-E Info*}
-@cindex buffers, @samp{*MH-E Info*}
+@cindex @file{*MH-E Info*}
+@cindex buffers, @file{*MH-E Info*}
@item *MH-E Info*
This buffer contains the output of @kbd{M-x mh-version @key{RET}}.
@c -------------------------
-@cindex @samp{*MH-E Log*}
-@cindex buffers, @samp{*MH-E Log*}
+@cindex @file{*MH-E Log*}
+@cindex buffers, @file{*MH-E Log*}
@item *MH-E Log*
This buffer contains the last 100 lines of the output of the various
MH commands.
@c -------------------------
-@cindex @samp{*MH-E Mail Delivery*}
-@cindex buffers, @samp{*MH-E Mail Delivery*}
+@cindex @file{*MH-E Mail Delivery*}
+@cindex buffers, @file{*MH-E Mail Delivery*}
@item *MH-E Mail Delivery*
This buffer contains the transcript of a mail delivery. @xref{Sending
Message}.
@c -------------------------
-@cindex @samp{*MH-E Recipients*}
-@cindex buffers, @samp{*MH-E Recipients*}
+@cindex @file{*MH-E Recipients*}
+@cindex buffers, @file{*MH-E Recipients*}
@findex mh-check-whom
@item *MH-E Recipients*
@kindex C-c C-w
(@code{mh-check-whom}) and is killed when draft is sent.
@xref{Checking Recipients}.
@c -------------------------
-@cindex @samp{*MH-E Sequences*}
-@cindex buffers, @samp{*MH-E Sequences*}
+@cindex @file{*MH-E Sequences*}
+@cindex buffers, @file{*MH-E Sequences*}
@item *MH-E Sequences*
This buffer contains the output of @kbd{S l}
(@code{mh-list-sequences}). @xref{Sequences}.
@c -------------------------
-@cindex @samp{*mh-temp*}
-@cindex buffers, @samp{*mh-temp*}
+@cindex @file{*mh-temp*}
+@cindex buffers, @file{*mh-temp*}
@item *mh-temp*
This is a scratch, ephemeral, buffer used by MH-E functions. Note that
it is hidden because the first character in the name is a space.
@end ifnothtml
@ifhtml
section
-@uref{http://www.gnu.org/software/emacs/manual/html_node/Regexps.html,
+@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexps.html,
Syntax of Regular Expressions} in @cite{The GNU Emacs Manual}.
@end ifhtml
Savannah issue #4361} to see if @command{rcvstore} locking is still an
issue.}.
-@cindex @samp{Unseen-Sequence:} MH profile component
-@cindex MH profile component, @samp{Unseen-Sequence:}
+@cindex @samp{Unseen-Sequence} MH profile component
+@cindex MH profile component, @samp{Unseen-Sequence}
Line 16 uses the following script, @code{myrcvstore}, to massage the
message as described in the comment and file the message in the given
@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
@kindex M-x mh-version
Bug reports should be filed at
-@uref{https://sourceforge.net/tracker/?group_id=13357&atid=113357,
-SourceForge}. You need to be a SourceForge user to submit bug reports,
-but this is easy enough to do that it shouldn't be a restriction for
-you. Please include the output of @kbd{M-x mh-version}
-(@pxref{Miscellaneous}) in any bug report you send unless you're 110%
-positive we won't ask for it.
+@uref{https://sourceforge.net/p/mh-e/bugs/, SourceForge}. You need to
+be a SourceForge user to submit bug reports, but this is easy enough
+to do that it shouldn't be a restriction for you. Please include the
+output of @kbd{M-x mh-version} (@pxref{Miscellaneous}) in any bug
+report you send unless you're 110% positive we won't ask for it.
@node Mailing Lists, MH FAQ and Support, Bug Reports, Odds and Ends
@appendixsec MH-E Mailing Lists
@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,
+the archives at @uref{https://sourceforge.net/p/mh-e/mailman/,
SourceForge}. Do not report bugs on these lists; please submit them
via SourceForge (@pxref{Bug Reports}).
@cindex support
-You can find FAQs on MH-E at the
-@uref{https://sourceforge.net/tracker/?group_id=13357&atid=213357,
-Support Requests} page on SourceForge. If you don't find the answer to
-your question, file a support request and your question will become a
-new FAQ!
+You can find FAQs on MH-E by searching for @i{labels:support} on the
+@uref{https://sourceforge.net/p/mh-e/bugs/search/?q=labels%3Asupport,
+Tickets} page on SourceForge. If you don't find the answer to your
+question, file a ticket and your question will become a new FAQ!
@node Getting MH-E, , MH FAQ and Support, Odds and Ends
@appendixsec Getting MH-E
@cindex release notes
New MH-E releases are always available for downloading at
-@uref{https://sourceforge.net/project/showfiles.php?group_id=13357,
-SourceForge} before they appear in an Emacs release. You can read the
-release notes on that page to determine if the given release of MH-E
-is already installed in your version of Emacs. You can also read the
-change log to see if you are interested in what the given release of
-MH-E has to offer (although we have no doubt that you will be
-extremely interested in all new releases).
+@uref{https://sourceforge.net/projects/mh-e/files/, SourceForge}
+before they appear in an Emacs release. You can read the release notes
+on that page to determine if the given release of MH-E is already
+installed in your version of Emacs. You can also read the change log
+to see if you are interested in what the given release of MH-E has to
+offer (although we have no doubt that you will be extremely interested
+in all new releases).
@cindex Debian
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
@cindex documentation
In addition to the mh-e package, the
-@uref{https://sourceforge.net/project/showfiles.php?group_id=13357,
-SourceForge} site also contains doc and contrib packages. The former
-is the latest release of this manual, and the latter contains a few
-contributed packages you might find useful.
+@uref{https://sourceforge.net/projects/mh-e/files/, SourceForge} site
+also contains doc and contrib packages. The former is the latest
+release of this manual, and the latter contains a few contributed
+packages you might find useful.
@node History, GFDL, Odds and Ends, Top
@appendix History of MH-E
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.