Note: HTML conversion may not be complete.
There are several variables used during the draft editing phase. Examples include changing the name of the file that holds your signature or telling mh-e about new multimedia types. They are:
Variable | Default | Description ____________________|____________________________|______________________ mh-yank-from-start- | t | How to yank when re- of-msg | | gion not set mh-ins-buf-prefix | "> " | Indent for yanked | | messages mail-citation-hook | nil | Functions to run on | | yanked messages mh-delete-yanked- | nil | Delete message win- msg-window | | dow on yank mh-mime-content- | (("text/plain") | List of valid con- types | ("text/richtext") | tent types | ("multipart/mixed") | | ("multipart/alternative") | | ("multipart/digest") | | ("multipart/parallel") | | ("message/rfc822") | | ("message/partial") | | ("message/external- | | body") | | ("application/octet- | | stream") | | ("application/postscript")| | ("image/jpeg") | | ("image/gif") | | ("audio/basic") | | ("video/mpeg")) | mh-mhn-args | nil | Additional arguments | | for mhn mh-signature-file- | "~/.signature" | File containing sig- name | | nature mh-before-send- | nil | Functions to run be- letter-hook | | fore sending draft mh-send-prog | "send" | MH program used to | | send messages
Inserting letter to which you're replying
To control how much of the message to which you are replying is yanked by C-c C-y (mh-yank-cur-msg) into your reply, modify mh-yank-from-start-of-msg. The default value of t means that the entire message is copied. If it is set to 'body (don't forget the apostrophe), then only the message body is copied. If it is set to nil , only the part of the message following point (the current cursor position in the message's buffer) is copied. In any case, this variable is ignored if a region is set in the message you are replying to. The string contained in mh-ins-buf-prefix is inserted before each line of a message that is inserted into a draft with C-c C-y (mh-yank-cur-msg). I suggest that you not modify this variable. The default value of " " is the default string for many mailers and news readers: messages are far easier to read if several included messages have all been indented by the same string. The variable mail-citation-hook is nil by default, which means that when a message is inserted into the letter, each line is prefixed by mh-ins-buf-prefix. Otherwise, it can be set to a function that modifies an included citation. (Supercite is an example of a full-bodied, full-featured citation package. It is in Emacs version 19.15 and in later versions, and it can be copied via anonymous FTP from archive.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/packages/sc3.1.tar.Z)
If you like to yank all the text from the message you're replying to in one go, set mh-delete-yanked-msg-window to non-nil to delete the window containing the original message after yanking it to make more room on your screen for your reply.
You can change the name of the file inserted with C-c C-s (mh-insert-signature) by changing mh-signature-file-name (default: "~/.signature").
(setq mh-mime-content-types (append mh-mime-content-types '(("new/type"))))
Example vi Macros for entering enriched text showed how vi macros could be used to insert enriched text directives like <bold>. Now I'll show you how to do this in Emacs. The following code will make, for example, C-c C-t b insert the <bold> directive.
Example: Emacs macros for entering enriched text
;; See Example Prepare draft for editing via mh-letter-mode-hook for keybindings. (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.") (defun add-enriched-text (begin end) "Add enriched text directives around region. The directive used comes from the list enriched-text-types and is specified by the last keystroke of the command. When called from Lisp, arguments are BEGIN and END." (interactive "r") ;; Set type to the directive indicated by the last keystroke. (let ((type (cdr (assoc (logior last-input-char ?`) enriched-text-types)))) (save-restriction ; restores state from narrow-to-region (narrow-to-region begin end) ; narrow view to region (goto-char (point-min)) ; move to beginning of text (insert "<" type ">") ; insert beginning directive (goto-char (point-max)) ; move to end of text (insert "</" type ">")))) ; insert terminating directiveTo use the function in the Example Emacs macros for entering enriched text, set the mark with C-@ or C-SPC, type in the text to be highlighted, and type C-c C-t b. This adds <bold> where you set the mark and adds </bold> at the location of your cursor, giving you something like: You should be <bold>very</bold>. You may also be interested in investigating sgml-mode.
Readying multimedia messages for sending
If you wish to pass additional arguments to mhn to affect how it builds your message, use the variable mh-mhn-args. For example, you can build a consistency check into the message by setting mh-mhn-args to -check. The recipient of your message can then run mhn -check on the message -- mhn will complain if the message has been corrupted on the way. The C-c C-e (mh-mhn-edit) command only consults this variable when given a prefix argument.
Example: Spell-check message via mh-before-send-letter-hook
(add-hook 'mh-before-send-letter-hook 'ispell-message)In case the MH send(1) program is installed under a different name, use mh-send-prog to tell mh-e the name.
[Table of Contents] [Index] [Previous: Sending Mail] [Next: Moving Your Mail Around]
This file is from the third edition of the book MH & xmh: Email for Users & Programmers, ISBN 1-56592-093-7, by Jerry Peek. Copyright © 1991, 1992, 1995 by O'Reilly & Associates, Inc. This file is freely-available; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation. For more information, see the file copying.htm.
Suggestions are welcome: Bill Wohler <wohler@newt.com>