X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/18eafade60b0c182c727875c8a62f0a0f23f10b6..dc6cc05f5c36bfc65379f3fa25267669402635ca:/man/message.texi diff --git a/man/message.texi b/man/message.texi index ce78e1bb68..023a7e8cd4 100644 --- a/man/message.texi +++ b/man/message.texi @@ -8,12 +8,12 @@ @copying This file documents Message, the Emacs message composition mode. -Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. +Copyright @copyright{} 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, +2004, 2005, 2006 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 +under the terms of the GNU Free Documentation License, Version 1.2 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 @@ -67,9 +67,10 @@ Message mode buffers. * Key Index:: List of Message mode keys. @end menu -This manual corresponds to Message v5.10.6. Message is distributed -with the Gnus distribution bearing the same version number as this -manual. +@c Adjust ../Makefile.in if you change the following lines: +Message is distributed with Gnus. The Gnus distribution +@c +corresponding to this manual is Gnus v5.11. @node Interface @@ -96,6 +97,9 @@ sending it. * Mailing Lists:: Send mail to mailing lists. @end menu +You can customize the Message Mode tool bar, see @kbd{M-x +customize-apropos RET message-tool-bar}. This feature is only available +in Emacs. @node New Mail Message @section New Mail Message @@ -249,7 +253,10 @@ supersede the message in the current buffer. Headers matching the @code{message-ignored-supersedes-headers} are removed before popping up the new message buffer. The default is@* @samp{^Path:\\|^Date\\|^NNTP-Posting-Host:\\|^Xref:\\|^Lines:\\|@* -^Received:\\|^X-From-Line:\\|Return-Path:\\|^Supersedes:}. +^Received:\\|^X-From-Line:\\|^X-Trace:\\|^X-Complaints-To:\\|@* +Return-Path:\\|^Supersedes:\\|^NNTP-Posting-Date:\\|^X-Trace:\\|@* +^X-Complaints-To:\\|^Cancel-Lock:\\|^Cancel-Key:\\|^X-Hashcash:\\|@* +^X-Payment:}. @@ -330,7 +337,7 @@ undeliverable. @vindex message-ignored-bounced-headers Headers that match the @code{message-ignored-bounced-headers} regexp will be removed before popping up the buffer. The default is -@samp{^\\(Received\\|Return-Path\\):}. +@samp{^\\(Received\\|Return-Path\\|Delivered-To\\):}. @node Mailing Lists @@ -339,7 +346,7 @@ will be removed before popping up the buffer. The default is @cindex Mail-Followup-To Sometimes while posting to mailing lists, the poster needs to direct followups to the post to specific places. The Mail-Followup-To (MFT) -was created to enable just this. Two example scenarios where this is +was created to enable just this. Three example scenarios where this is useful: @itemize @bullet @@ -681,26 +688,30 @@ stripped on replying, see @code{message-subject-trailing-was-query} @kindex C-c C-f x @findex message-cross-post-followup-to @vindex message-cross-post-default +@vindex message-cross-post-note-function @cindex X-Post @cindex cross-post -Ask for an additional @samp{Newsgroups} and @samp{FollowUp-To} for a -cross-post. @code{message-cross-post-followup-to} mangles -@samp{FollowUp-To} and @samp{Newsgroups} header to point to group. -If @code{message-cross-post-default} is @code{nil} or if called with a -prefix-argument @samp{Follow-Up} is set, but the message is not -cross-posted. +Set up the @samp{FollowUp-To} header with a target newsgroup for a +cross-post, add that target newsgroup to the @samp{Newsgroups} header if +it is not a member of @samp{Newsgroups}, and insert a note in the body. +If @code{message-cross-post-default} is @code{nil} or if this command is +called with a prefix-argument, only the @samp{FollowUp-To} header will +be set but the target newsgroup will not be added to the +@samp{Newsgroups} header. The function to insert a note is controlled +by the @code{message-cross-post-note-function} variable. @item C-c C-f t @kindex C-c C-f t @findex message-reduce-to-to-cc Replace contents of @samp{To} header with contents of @samp{Cc} or -@samp{Bcc} header. +@samp{Bcc} header. (Iff @samp{Cc} header is not present, @samp{Bcc} +header will be used instead.) @item C-c C-f w @kindex C-c C-f w @findex message-insert-wide-reply Insert @samp{To} and @samp{Cc} headers as if you were doing a wide -reply. +reply even if the message was not made for a wide reply first. @item C-c C-f a @kindex C-c C-f a @@ -809,10 +820,24 @@ doesn't have to do anything to make the @acronym{MIME} happen---Message will automatically add the @code{Content-Type} and @code{Content-Transfer-Encoding} headers. +@findex mml-attach +@kindex C-c C-a The most typical thing users want to use the multipart things in -@acronym{MIME} for is to add ``attachments'' to mail they send out. This can -be done with the @kbd{C-c C-a} command, which will prompt for a file -name and a @acronym{MIME} type. +@acronym{MIME} for is to add ``attachments'' to mail they send out. +This can be done with the @kbd{C-c C-a} command (@kbd{M-x mml-attach}), +which will prompt for a file name and a @acronym{MIME} type. + +@vindex mml-dnd-protocol-alist +@vindex mml-dnd-attach-options +If your Emacs supports drag and drop, you can also drop the file in the +Message buffer. The variable @code{mml-dnd-protocol-alist} specifies +what kind of action is done when you drop a file into the Message +buffer. The variable @code{mml-dnd-attach-options} controls which +@acronym{MIME} options you want to specify when dropping a file. If it +is a list, valid members are @code{type}, @code{description} and +@code{disposition}. @code{disposition} implies @code{type}. If it is +@code{nil}, don't ask for options. If it is @code{t}, ask the user +whether or not to specify options. You can also create arbitrarily complex multiparts using the @acronym{MML} language (@pxref{Composing, , Composing, emacs-mime, The Emacs MIME @@ -839,13 +864,14 @@ typed a non-@acronym{ASCII} domain name. The @code{message-use-idna} variable control whether @acronym{IDNA} is used. If the variable is @code{nil} no @acronym{IDNA} encoding will ever happen, if it is set to the symbol @code{ask} the user will be -queried (the default), and if set to @code{t} @acronym{IDNA} encoding -happens automatically. +queried, and if set to @code{t} (which is the default if @acronym{IDNA} +is fully available) @acronym{IDNA} encoding happens automatically. @findex message-idna-to-ascii-rhs If you want to experiment with the @acronym{IDNA} encoding, you can invoke @kbd{M-x message-idna-to-ascii-rhs RET} in the message buffer -to have the non-@acronym{ASCII} domain names encoded while you edit the message. +to have the non-@acronym{ASCII} domain names encoded while you edit +the message. Note that you must have @uref{http://www.gnu.org/software/libidn/, GNU Libidn} installed in order to use this functionality. @@ -1080,7 +1106,7 @@ The text is killed and replaced with the contents of the variable (@samp{[...]}). @item C-c C-z -@kindex C-c C-x +@kindex C-c C-z @findex message-kill-to-signature Kill all the text up to the signature, or if that's missing, up to the end of the message (@code{message-kill-to-signature}). @@ -1124,9 +1150,9 @@ prompt for a new buffer name. @kindex TAB @findex message-tab @vindex message-tab-body-function -If non-@code{nil} execute the function specified in -@code{message-tab-body-function}. Otherwise use the function bound to -@kbd{TAB} in @code{text-mode-map} or @code{global-map}. +If @code{message-tab-body-function} is non-@code{nil}, execute the +function it specifies. Otherwise use the function bound to @kbd{TAB} in +@code{text-mode-map} or @code{global-map}. @end table @@ -1378,8 +1404,23 @@ trailing old subject. In this case, @item message-alternative-emails @vindex message-alternative-emails -A regexp to match the alternative email addresses. The first matched -address (not primary one) is used in the @code{From} field. +Regexp matching alternative email addresses. The first address in the +To, Cc or From headers of the original article matching this variable is +used as the From field of outgoing messages, replacing the default From +value. + +For example, if you have two secondary email addresses john@@home.net +and john.doe@@work.com and want to use them in the From field when +composing a reply to a message addressed to one of them, you could set +this variable like this: + +@lisp +(setq message-alternative-emails + (regexp-opt '("john@@home.net" "john.doe@@work.com"))) +@end lisp + +This variable has precedence over posting styles and anything that runs +off @code{message-setup-hook}. @item message-allow-no-recipients @vindex message-allow-no-recipients @@ -1416,13 +1457,14 @@ header when the message is already @code{Cc}ed to the recipient. @item message-required-mail-headers @vindex message-required-mail-headers @xref{News Headers}, for the syntax of this variable. It is -@code{(From Date Subject (optional . In-Reply-To) Message-ID Lines +@code{(From Subject Date (optional . In-Reply-To) Message-ID (optional . User-Agent))} by default. @item message-ignored-mail-headers @vindex message-ignored-mail-headers -Regexp of headers to be removed before mailing. The default is -@samp{^[GF]cc:\\|^Resent-Fcc:\\|^Xref:\\|^X-Draft-From:}. +Regexp of headers to be removed before mailing. The default is@* +@samp{^[GF]cc:\\|^Resent-Fcc:\\|^Xref:\\|^X-Draft-From:\\|@* +^X-Gnus-Agent-Meta-Information:}. @item message-default-mail-headers @vindex message-default-mail-headers @@ -1639,61 +1681,79 @@ to this list. Valid checks are: @table @code -@item subject-cmsg -Check the subject for commands. -@item sender -@cindex Sender -Insert a new @code{Sender} header if the @code{From} header looks odd. -@item multiple-headers -Check for the existence of multiple equal headers. -@item sendsys -@cindex sendsys -Check for the existence of version and sendsys commands. -@item message-id -Check whether the @code{Message-ID} looks ok. -@item from -Check whether the @code{From} header seems nice. -@item long-lines -@cindex long lines -Check for too long lines. -@item control-chars -Check for invalid characters. -@item size -Check for excessive size. -@item new-text -Check whether there is any new text in the messages. -@item signature -Check the length of the signature. @item approved @cindex approved Check whether the article has an @code{Approved} header, which is something only moderators should include. +@item continuation-headers +Check whether there are continuation header lines that don't begin with +whitespace. +@item control-chars +Check for invalid characters. @item empty Check whether the article is empty. -@item invisible-text -Check whether there is any invisible text in the buffer. -@item empty-headers -Check whether any of the headers are empty. @item existing-newsgroups Check whether the newsgroups mentioned in the @code{Newsgroups} and @code{Followup-To} headers exist. -@item valid-newsgroups -Check whether the @code{Newsgroups} and @code{Followup-to} headers -are valid syntactically. +@item from +Check whether the @code{From} header seems nice. +@item illegible-text +Check whether there is any non-printable character in the body. +@item invisible-text +Check whether there is any invisible text in the buffer. +@item long-header-lines +Check for too long header lines. +@item long-lines +@cindex long lines +Check for too long lines in the body. +@item message-id +Check whether the @code{Message-ID} looks syntactically ok. +@item multiple-headers +Check for the existence of multiple equal headers. +@item new-text +Check whether there is any new text in the messages. +@item newsgroups +Check whether the @code{Newsgroups} header exists and is not empty. +@item quoting-style +Check whether text follows last quoted portion. @item repeated-newsgroups Check whether the @code{Newsgroups} and @code{Followup-to} headers contains repeated group names. +@item reply-to +Check whether the @code{Reply-To} header looks ok. +@item sender +@cindex Sender +Insert a new @code{Sender} header if the @code{From} header looks odd. +@item sendsys +@cindex sendsys +Check for the existence of version and sendsys commands. +@item shoot +Check whether the domain part of the @code{Message-ID} header looks ok. @item shorten-followup-to Check whether to add a @code{Followup-to} header to shorten the number of groups to post to. +@item signature +Check the length of the signature. +@item size +Check for excessive size. +@item subject +Check whether the @code{Subject} header exists and is not empty. +@item subject-cmsg +Check the subject for commands. +@item valid-newsgroups +Check whether the @code{Newsgroups} and @code{Followup-to} headers +are valid syntactically. @end table -All these conditions are checked by default. +All these conditions are checked by default, except for @code{sender} +for which the check is disabled by default if +@code{message-insert-canlock} is non-@code{nil} (@pxref{Canceling News}). @item message-ignored-news-headers @vindex message-ignored-news-headers Regexp of headers to be removed before posting. The default is@* -@samp{^NNTP-Posting-Host:\\|^Xref:\\|^[BGF]cc:\\|^Resent-Fcc:\\|^X-Draft-From:}. +@samp{^NNTP-Posting-Host:\\|^Xref:\\|^[BGF]cc:\\|^Resent-Fcc:\\|@* +^X-Draft-From:\\|^X-Gnus-Agent-Meta-Information:}. @item message-default-news-headers @vindex message-default-news-headers @@ -1846,12 +1906,13 @@ say. @item message-default-charset @vindex message-default-charset @cindex charset -Symbol naming a @acronym{MIME} charset. Non-@acronym{ASCII} -characters in messages are assumed to be encoded using this charset. -The default is @code{nil}, which means ask the user. (This variable -is used only on non-@sc{mule} Emacsen. @xref{Charset Translation, , -Charset Translation, emacs-mime, Emacs MIME Manual}, for details on -the @sc{mule}-to-@acronym{MIME} translation process. +Symbol naming a @acronym{MIME} charset. Non-@acronym{ASCII} characters +in messages are assumed to be encoded using this charset. The default +is @code{iso-8859-1} on non-@sc{mule} Emacsen; otherwise @code{nil}, +which means ask the user. (This variable is used only on non-@sc{mule} +Emacsen.) @xref{Charset Translation, , Charset Translation, emacs-mime, +Emacs MIME Manual}, for details on the @sc{mule}-to-@acronym{MIME} +translation process. @item message-signature-separator @vindex message-signature-separator @@ -1953,8 +2014,11 @@ message composition doesn't break too bad. @item message-send-method-alist @vindex message-send-method-alist - -Alist of ways to send outgoing messages. Each element has the form +@findex message-mail-p +@findex message-news-p +@findex message-send-via-mail +@findex message-send-via-news +Alist of ways to send outgoing messages. Each element has the form: @lisp (@var{type} @var{predicate} @var{function}) @@ -1966,20 +2030,32 @@ A symbol that names the method. @item predicate A function called without any parameters to determine whether the -message is a message of type @var{type}. +message is a message of type @var{type}. The function will be called in +the buffer where the message is. @item function A function to be called if @var{predicate} returns non-@code{nil}. @var{function} is called with one parameter -- the prefix. @end table +The default is: + @lisp ((news message-news-p message-send-via-news) (mail message-mail-p message-send-via-mail)) @end lisp - - +The @code{message-news-p} function returns non-@code{nil} if the message +looks like news, and the @code{message-send-via-news} function sends the +message according to the @code{message-send-news-function} variable +(@pxref{News Variables}). The @code{message-mail-p} function returns +non-@code{nil} if the message looks like mail, and the +@code{message-send-via-mail} function sends the message according to the +@code{message-send-mail-function} variable (@pxref{Mail Variables}). + +All the elements in this alist will be tried in order, so a message +containing both a valid @samp{Newsgroups} header and a valid @samp{To} +header, for example, will be sent as news, and then as mail. @end table