\input texinfo @c -*-texinfo-*-
-@c $Id: mh-e.texi,v 1.4 2001/02/19 02:21:28 wohler Exp $
@c %**start of header
@setfilename ../info/mh-e
@settitle mh-e
@c %**end of header
-@setchapternewpage odd
-
-@dircategory Emacs
-@direntry
-* MH-E: (mh-e). Emacs interface to the MH mail system.
-@end direntry
-
@c Version variables.
@set EDITION 1.3
@set VERSION 5.0.2
@set UPDATED 18 February 2001
@set UPDATE-MONTH February 2001
-@ifinfo
+@copying
This is Edition @value{EDITION}, last updated @value{UPDATED}, of
@cite{mh-e, The Emacs Interface to MH}, for mh-e, Version
@value{VERSION}.
-Copyright 1995, 2001 Free Software Foundation, Inc.
+Copyright (C) 1995, 2001, 2002, 2003, 2004,
+ 2005 Free Software Foundation, Inc.
+@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with no
Documentation License. If you want to distribute this document
separately from the collection, you can do so by adding a copy of the
license to the document, as described in section 6 of the license.
-@end ifinfo
+@end quotation
+@end copying
+
+@setchapternewpage odd
+
+@dircategory Emacs
+@direntry
+* MH-E: (mh-e). Emacs interface to the MH mail system.
+@end direntry
@titlepage
@sp 10
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1995, 2001 Free Software Foundation, Inc.
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 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 Back-Cover Texts as in (a) below. A copy of the
-license is included in the section entitled ``GNU Free Documentation
-License'' in the Emacs manual.
-
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
-this GNU Manual, like GNU software. Copies published by the Free
-Software Foundation raise funds for GNU development.''
-
-This document is part of a collection distributed under the GNU Free
-Documentation License. If you want to distribute this document
-separately from the collection, you can do so by adding a copy of the
-license to the document, as described in section 6 of the license.
+Copyright @copyright{} 1995, 2001, 2002 Free Software Foundation, Inc.
+@insertcopying
@end titlepage
-@ifinfo
+@ifnottex
@node Top, Preface, (dir), (dir)
@top MH and Emacs
This is Edition @value{EDITION} of @cite{mh-e, The Emacs Interface to
list and FAQ.
* History:: The authors speak up!
* Copying:: The GNU General Public License
-* Command Index::
-* Variable Index::
-* Concept Index::
+* Command Index::
+* Variable Index::
+* Concept Index::
@end menu
-@end ifinfo
+@end ifnottex
@node Preface, Tour Through mh-e, Top, Top
@unnumbered Preface
@cindex history
The mh-e package is distributed with GNU Emacs, @footnote{Note that
-mh-e is supported with MH 6 and @w{Emacs 18} through @w{Emacs 21}.
+mh-e is supported with MH 6 and @w{Emacs 18} and up.
Reportedly, large parts of it work with @w{MH 5} and also with
Lucid/XEmacs and Epoch, but there are no guarantees. It is also
distributed with Lucid/XEmacs, as well as with MH itself.} so you
@menu
* Conventions:: GNU Emacs Terms and Conventions
-* Getting Started::
-* Sending Mail Tour::
-* Reading Mail Tour::
-* Processing Mail Tour::
-* Leaving mh-e::
-* More About mh-e::
+* Getting Started::
+* Sending Mail Tour::
+* Reading Mail Tour::
+* Processing Mail Tour::
+* Leaving mh-e::
+* More About mh-e::
@end menu
@node Conventions, Getting Started, Tour Through mh-e, Tour Through mh-e
------Emacs: *scratch* (Lisp Interaction)--All---------------------
+-----Emacs: *scratch* (Lisp Interaction)--All-------------------
To: wohler
cc:
Subject: Test
This is a test message to get the wheels churning...#
---**-@{draft@} (MH-Letter)--All----------------------------------------
+--**-@{draft@} (MH-Letter)--All-------------------------------------
@end cartouche
@i{mh-e message composition window}
@example
@group
@cartouche
- 3 24Aug root received fax files on Wed Aug 24 11:00:13 PDT 1994
-# 4+ 24Aug To:wohler Test<<This is a test message to get the wheels chu
+ 3 24Aug root received fax files on Wed Aug 24 11:00:13 PDT 1994
+# 4+ 24Aug To:wohler Test<<This is a test message to get the wheels chu
---%%-@{+inbox@} 4 msgs (1-4) (MH-Folder Show)--Bot---------------------
+--%%-@{+inbox@} 4 msgs (1-4) (MH-Folder Show)--Bot------------------
To: wohler
Subject: Test
Date: Wed, 24 Aug 1994 13:01:13 -0700
------@{show-+inbox@} 4 (MH-Show)--Bot----------------------------------
+-----@{show-+inbox@} 4 (MH-Show)--Bot-------------------------------
@end cartouche
@i{After incorporating new messages}
--------
#
---**-@{draft@} (MH-Letter)--All----------------------------------------
+--**-@{draft@} (MH-Letter)--All-------------------------------------
To: wohler
Subject: Test
Date: Wed, 24 Aug 1994 13:01:13 -0700
This is a test message to get the wheels churning...
------@{show-+inbox@} 4 (MH-Show)--Bot----------------------------------
+-----@{show-+inbox@} 4 (MH-Show)--Bot-------------------------------
Composing a reply...done
@end cartouche
@i{Composition window during reply}
Let's get started!
@menu
-* Reading Mail::
-* Sending Mail::
-* Draft Editing::
-* Moving Mail::
-* Searching::
-* Sequences::
-* Miscellaneous::
+* Reading Mail::
+* Sending Mail::
+* Draft Editing::
+* Moving Mail::
+* Searching::
+* Sequences::
+* Miscellaneous::
@end menu
@node Reading Mail, Sending Mail, Using mh-e, Using mh-e
@end table
@menu
-* Viewing::
-* Moving Around::
+* Viewing::
+* Moving Around::
@end menu
@node Viewing, Moving Around, Reading Mail, Reading Mail
command.
@menu
-* Reading Digests::
-* Reading MIME::
+* Reading Digests::
+* Reading MIME::
@end menu
@node Reading Digests, Reading MIME, Viewing, Viewing
the window layout, use @kbd{M-x mh-smail-other-window}.
@menu
-* Replying::
-* Forwarding::
-* Redistributing::
-* Old Drafts::
+* Replying::
+* Forwarding::
+* Redistributing::
+* Old Drafts::
@end menu
@node Replying, Forwarding, Sending Mail, Sending Mail
@end table
@menu
-* Editing Textual::
-* Editing MIME::
-* Sending Message::
-* Killing Draft::
+* Editing Textual::
+* Editing MIME::
+* Sending Message::
+* Killing Draft::
@end menu
@node Editing Textual, Editing MIME, Draft Editing, Draft Editing
multimedia components.
@menu
-* Inserting Letter::
-* Inserting Messages::
-* Header::
-* Recipients::
-* Signature::
+* Inserting Letter::
+* Inserting Messages::
+* Header::
+* Recipients::
+* Signature::
@end menu
@node Inserting Letter, Inserting Messages, Editing Textual, Editing Textual
commands fill in the content type for you, whereas others require you to
enter one. Most of the time, it should be obvious which one to use
(e.g., use @kbd{image/jpeg} to include a @sc{jpeg} image). If not, you
-can refer to @sc{rfc} 1521,
+can refer to @sc{rfc} 1521,
@c Footnotes are very fragile. Hence the duplication.
@c The line break in the footnote was necessary since TeX wasn't creating one.
@ifclear html
Remember: you can always add @code{mhn} directives by hand.
@menu
-* Forwarding MIME::
-* FTP::
-* Tar::
-* Other MIME Objects::
-* Sending MIME::
+* Forwarding MIME::
+* FTP::
+* Tar::
+* Other MIME Objects::
+* Sending MIME::
@end menu
@node Forwarding MIME, FTP, Editing MIME, Editing MIME
@end table
@menu
-* Incorporating::
-* Deleting::
-* Organizing::
-* Printing::
-* Files and Pipes::
-* Finishing Up::
+* Incorporating::
+* Deleting::
+* Organizing::
+* Printing::
+* Files and Pipes::
+* Finishing Up::
@end menu
@node Incorporating, Deleting, Moving Mail, Moving Mail
---**-Emacs: pick-pattern (MH-Pick)------All----------------------------
+--**-Emacs: pick-pattern (MH-Pick)------All--------------------------
@end cartouche
@i{Pick window}
@chapter Customizing mh-e
Until now, we've talked about the mh-e commands as they work ``out of the
-box.'' Of course, it is also possible to reconfigure mh-e
+box.'' Of course, it is also possible to reconfigure mh-e
to fit the needs of even the most demanding user.
The following sections describe all of the
customization variables, show the defaults, and make recommendations for
or your initials.
@menu
-* Customizing Reading::
-* Customizing Sending::
-* Customizing Draft Editing::
-* Customizing Moving Mail::
-* Customizing Searching::
+* Customizing Reading::
+* Customizing Sending::
+* Customizing Draft Editing::
+* Customizing Moving Mail::
+* Customizing Searching::
@end menu
@node Customizing Reading, Customizing Sending, Customizing mh-e, Customizing mh-e
@end lisp
@menu
-* Customizing Viewing::
-* Customizing Moving Around::
+* Customizing Viewing::
+* Customizing Moving Around::
@end menu
@node Customizing Viewing, Customizing Moving Around, Customizing Reading, Customizing Reading
@samp{"@{show-%s@} %d"} yields a mode line of
@example
------@{show-+inbox@} 4 (MH-Show)--Bot----------------------------------
+-----@{show-+inbox@} 4 (MH-Show)--Bot--------------------------------
@end example
@node Customizing Moving Around, , Customizing Viewing, Customizing Reading
@code{send} requires entire message (default: @code{nil}).
@item mh-new-draft-cleaned-headers
-Remove these header fields from re-edited draft (default:
-@samp{"^Date:\\| ^Received:\\| ^Message-Id:\\| ^From:\\| ^Sender:\\|
-^Delivery-Date:\\| ^Return-Path:"}).
+Remove these header fields from re-edited draft. The default is:
+@example
+"^Date:\\| ^Received:\\| ^Message-Id:\\| ^From:\\|
+^Sender:\\| ^Delivery-Date:\\| ^Return-Path:".
+@end example
@end table
@cindex @code{comp}
@samp{Subject:}, and @samp{cc:} header fields.
@menu
-* Customizing Replying::
-* Customizing Forwarding::
-* Customizing Redistributing::
-* Customizing Old Drafts::
+* Customizing Replying::
+* Customizing Forwarding::
+* Customizing Redistributing::
+* Customizing Old Drafts::
@end menu
@node Customizing Replying, Customizing Forwarding, Customizing Sending, Customizing Sending
@end table
@menu
-* Customizing Editing Textual::
-* Customizing Editing MIME::
-* Customizing Sending Message::
+* Customizing Editing Textual::
+* Customizing Editing MIME::
+* Customizing Sending Message::
@end menu
@node Customizing Editing Textual, Customizing Editing MIME, Customizing Draft Editing, Customizing Draft Editing
messages as well.
@menu
-* Customizing Inserting Letter::
-* Customizing Signature::
+* Customizing Inserting Letter::
+* Customizing Signature::
@end menu
@node Customizing Inserting Letter, Customizing Signature, Customizing Editing Textual, Customizing Editing Textual
each line is prefixed by @code{mh-ins-buf-prefix}. Otherwise, it can be
set to a function that modifies an included
@cindex Emacs, packages, supercite
-citation.
+citation.
@c Footnotes are fragile; hence the redundancy.
@c TeX not inserting a line break; hence the @*
@ifclear html
@samp{<bold>}. The following code will make, for example, @kbd{C-c t
b} insert the @samp{<bold>} directive.
-@lisp
+@smallexample
@group
@i{Emacs macros for entering enriched text}
-(defvar enriched-text-types '(("b" . "bold") ("i" . "italic") ("f" . "fixed")
- ("s" . "smaller") ("B" . "bigger")
- ("u" . "underline") ("c" . "center"))
+(defvar enriched-text-types '(("b" . "bold") ("i" . "italic")
+ ("f" . "fixed") ("s" . "smaller")
+ ("B" . "bigger") ("u" . "underline")
+ ("c" . "center"))
"Alist of (final-character . directive) choices for add-enriched-text.
Additional types can be found in RFC 1563.")
(goto-char (point-max)) ; @r{move to end of text}
(insert "</" type ">")))) ; @r{insert terminating directive}
@end group
-@end lisp
+@end smallexample
-To use the function @code{add-enriched-text}, first create keybindings
+To use the function @code{add-enriched-text}, first create key bindings
for it (@pxref{Customizing Sending}). Then, set the mark with
@kbd{C-@@} or @kbd{C-SPC}, type in the text to be highlighted, and type
@kbd{C-c t b}. This adds @samp{<bold>} where you set the mark and
interested in investigating @code{sgml-mode}.
@menu
-* Customizing Sending MIME::
+* Customizing Sending MIME::
@end menu
@node Customizing Sending MIME, , Customizing Editing MIME, Customizing Editing MIME
@item mh-before-quit-hook
Functions to run before quitting (default: @code{nil}). See also
-@code{mh-quit-hook}.
+@code{mh-quit-hook}.
@item mh-quit-hook
Functions to run after quitting (default: @code{nil}). See also
@end table
@menu
-* Customizing Incorporating::
-* Customizing Deleting::
-* Customizing Organizing::
-* Customizing Printing::
-* Customizing Files and Pipes::
-* Customizing Finishing Up::
+* Customizing Incorporating::
+* Customizing Deleting::
+* Customizing Organizing::
+* Customizing Printing::
+* Customizing Files and Pipes::
+* Customizing Finishing Up::
@end menu
@node Customizing Incorporating, Customizing Deleting, Customizing Moving Mail, Customizing Moving Mail
@vindex @code{mh-default-folder-for-message-function}, example
@vindex @code{mh-user-path}, example
-@lisp
+@smallexample
@group
@i{Creating useful default folder for refiling via mh-default-folder-for-message-function}
(defun my-mh-folder-from-address ()
"Determine folder name from address.
-Takes the address in the From: header field, and returns its corresponding
-alias from the user's personal aliases file. Returns @code{nil} if the address
-was not found."
+Takes the address in the From: header field, and returns its
+corresponding alias from the user's personal aliases file. Returns
+@code{nil} if the address was not found."
(require 'rfc822) ; @r{for the rfc822 functions}
(search-forward-regexp "^From: \\(.*\\)") ; @r{grab header field contents}
(save-excursion ; @r{save state}
(setq folder
;; @r{Search for the given address, even commented-out}
;; @r{addresses are found!}
- ;; @r{The function search-forward-regexp sets values that are}
- ;; @r{later used by match-beginning and match-end.}
+ ;; @r{The function search-forward-regexp sets values that}
+ ;; @r{are later used by match-beginning and match-end.}
(if (search-forward-regexp (format "^;*\\(.*\\):.*%s"
addr) nil t)
- ;; @r{NOTE WELL: this is what the return value looks like.}
- ;; @r{You can modify the format string to match your own}
- ;; @r{Mail hierarchy.}
- (format "+%s" (buffer-substring (match-beginning 1)
- (match-end 1))))))
+ ;; @r{NOTE WELL: this is what the return value looks}
+ ;; @r{like. You can modify the format string to match}
+ ;; @r{your own Mail hierarchy.}
+ (format "+%s" (buffer-substring
+ (match-beginning 1)
+ (match-end 1))))))
(kill-buffer buffer)) ; @r{get rid of our temporary buffer}
folder))) ; @r{function's return value}
(setq mh-default-folder-for-message-function 'my-mh-folder-from-address)
@end group
-@end lisp
+@end smallexample
@vindex @code{mh-refile-msg-hook}
(@file{~/.mh_profile}).
@menu
-* Customizing Scan Line Formats::
+* Customizing Scan Line Formats::
@end menu
@node Customizing Scan Line Formats, , Customizing Organizing, Customizing Organizing
If you find that you do the same thing over and over when editing the
search template, you may wish to bind some shortcuts to keys. This can
be done with the variable @code{mh-pick-mode-hook}, which is called when
-@kbd{M-s} (@code{mh-search-folder}) is run on a new pattern.
+@kbd{M-s} (@code{mh-search-folder}) is run on a new pattern.
The string
@code{mh-partial-folder-mode-line-annotation} is used to annotate the
point out some additional sources of information.
@menu
-* Bug Reports::
-* Mailing List::
-* MH FAQ::
-* Getting mh-e::
+* Bug Reports::
+* Mailing List::
+* MH FAQ::
+* Getting mh-e::
@end menu
@node Bug Reports, Mailing List, Odds and Ends, Odds and Ends
The version of mh-e in the current version of Emacs should be up to
date. It is most likely to be more up to date than the copy that comes
-with the the MH distribution in @file{miscellany/mh-e}.
+with the MH distribution in @file{miscellany/mh-e}.
-New mh-e releases will appear at
+@c intentionally wordy to avoid overfull hbox
+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
If you go this route, I suggest that you extract the files from
@file{mh-e-@var{m.n}.tgz} in the following fashion:
-@example
+@smallexample
@group
% @kbd{cd} # @r{Start in your home directory}
% @kbd{mkdir lib lib/emacs} # @r{Create directory for mh-e}
% @kbd{cd lib/emacs}
% @kbd{zcat @var{path/to/}mh-e-@var{m.n}.tgz | tar xvf -} # @r{Extract files}
@end group
-@end example
+@end smallexample
@cindex @file{.emacs}
@cindex files, @file{.emacs}
@uref{http://sourceforge.net/, SourceForge}.
@menu
-* From Brian Reid::
-* From Jim Larus::
-* From Stephen Gildea::
+* From Brian Reid::
+* From Jim Larus::
+* From Stephen Gildea::
@end menu
@node From Brian Reid, From Jim Larus, History, History
@display
Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
@end smallexample
Also add information on how to contact you by electronic and paper mail.
Gnomovision version 69, Copyright (C) 20@var{yy} @var{name of author}
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'. This is free software, and you are welcome
-to redistribute it under certain conditions; type `show c'
+to redistribute it under certain conditions; type `show c'
for details.
@end smallexample
@group
Yoyodyne, Inc., hereby disclaims all copyright
interest in the program `Gnomovision'
-(which makes passes at compilers) written
+(which makes passes at compilers) written
by James Hacker.
@var{signature of Ty Coon}, 1 April 1989
@c XXX In the sections on customizing mh-e, you can add cross-references
@c to the Emacs manual and the Emacs Lisp manual wherever they are
@c useful. @pxref{node, , section, emacs, The GNU Emacs Manual}
+
+@ignore
+ arch-tag: b778477d-1a10-4a99-84de-f877a2ea6bef
+@end ignore