mh-e: Inserting Letter
9.2 Inserting Letter to Which You’re Replying
=============================================
It is often useful to insert a snippet of text from a letter that
someone mailed to provide some context for your reply. The command ‘C-c
C-y’ (‘mh-yank-cur-msg’) does this by adding an attribution, yanking a
portion of text from the message to which you’re replying, and inserting
‘mh-ins-buf-prefix’ (‘> ’) before each line.
Michael W Thelen <thelenm@stop.mail-abuse.org> wrote:
> Hopefully this gives you an idea of what I'm currently doing. I'm not
> sure yet whether I'm completely satisfied with my setup, but it's
> worked okay for me so far.
The attribution consists of the sender’s name and email address
followed by the content of the option
‘mh-extract-from-attribution-verb’. This option can be set to ‘wrote:’,
‘a écrit:’, and ‘schrieb:’. You can also use the ‘Custom String’ menu
item to enter your own verb.
The prefix ‘"> "’ is the default setting for the option
‘mh-ins-buf-prefix’. I suggest that you not modify this option since it
is used by many mailers and news readers: messages are far easier to
read if several included messages have all been indented by the same
string. This prefix is not inserted if you use one of the supercite
flavors of ‘mh-yank-behavior’ or you have added a ‘mail-citation-hook’
as described below.
You can also turn on the ‘mh-delete-yanked-msg-window-flag’ option to
delete the window containing the original message after yanking it to
make more room on your screen for your reply.
You can control how the message to which you are replying is yanked
into your reply using ‘mh-yank-behavior’. To include the entire
message, including the entire header, use ‘Body and Header’(1)(2). Use
‘Body’ to yank just the body without the header. To yank only the
portion of the message following the point, set this option to ‘Below
Point’.
Choose ‘Invoke supercite’(3) to pass the entire message and header
through supercite.
If the ‘Body With Attribution’ setting is used, then the message
minus the header is yanked and a simple attribution line is added at the
top using the value of the option ‘mh-extract-from-attribution-verb’.
This is the default.
If the ‘Invoke supercite’ or ‘Body With Attribution’ settings are
used, the ‘-noformat’ argument is passed to the ‘repl’ program to
override a ‘-filter’ or ‘-format’ argument. These settings also have
‘Automatically’ variants that perform the action automatically when you
reply so that you don’t need to use ‘C-c C-y’ at all. Note that this
automatic action is only performed if the show buffer matches the
message being replied to. People who use the automatic variants tend to
turn on the option ‘mh-delete-yanked-msg-window-flag’ as well so that
the show window is never displayed.
If the show buffer has a region, the option ‘mh-yank-behavior’ is
ignored unless its value is one of ‘Attribution’ variants in which case
the attribution is added to the yanked region.
If this isn’t enough, you can gain full control over the appearance
of the included text by setting ‘mail-citation-hook’ to a function that
modifies it. This hook is ignored if the option ‘mh-yank-behavior’ is
set to one of the supercite flavors. Otherwise, this option controls
how much of the message is passed to the hook. The function can find
the citation between point and mark and it should leave point and mark
around the modified citation text for the next hook function. The
standard prefix ‘mh-ins-buf-prefix’ is not added if this hook is set.
For example, if you use the hook function ‘trivial-cite’
(http://www.emacswiki.org/emacs/TrivialCite) (which is NOT part of
Emacs), set ‘mh-yank-behavior’ to ‘Body and Header’.
---------- Footnotes ----------
(1) If you’d rather have the header cleaned up, use ‘C-u r’ instead
of ‘r’ when replying (Replying).
(2) In the past you would use this setting and set
‘mail-citation-hook’ to ‘supercite’, but this usage is now deprecated in
favor of the ‘Invoke supercite’ setting.
(3) _Supercite_ is a full-bodied, full-featured, citation package
that comes standard with Emacs.