X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/531e5812c44a54d0ad6cfe2809e81fbe6b711d13..461a3118024b3904d447fb7c22f08559380764be:/man/message.texi diff --git a/man/message.texi b/man/message.texi index b4e20f84d8..2cb2de02a8 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 -Free Software Foundation, Inc. +Copyright (C) 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 @@ -146,16 +146,15 @@ If you want the replies to go to the @code{Sender} instead of the This function will be called narrowed to the head of the article that is being replied to. -As you can see, this function should return a string if it has an -opinion as to what the To header should be. If it does not, it should -just return @code{nil}, and the normal methods for determining the To -header will be used. +As you can see, this function should return a list. In this case, it +returns @code{((To . "Whom"))} if it has an opinion as to what the To +header should be. If it does not, it should just return @code{nil}, and +the normal methods for determining the To header will be used. -This function can also return a list. In that case, each list element -should be a cons, where the @sc{car} should be the name of a header -(e.g. @code{Cc}) and the @sc{cdr} should be the header value -(e.g. @samp{larsi@@ifi.uio.no}). All these headers will be inserted into -the head of the outgoing mail. +Each list element should be a cons, where the @sc{car} should be the +name of a header (e.g. @code{Cc}) and the @sc{cdr} should be the header +value (e.g. @samp{larsi@@ifi.uio.no}). All these headers will be +inserted into the head of the outgoing mail. @node Wide Reply @@ -250,7 +249,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:}. @@ -331,7 +333,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 @@ -340,7 +342,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 @@ -420,7 +422,7 @@ This is how you would do it. @vindex message-subscribed-address-file @item message-subscribed-address-file -You might be one organised human freak and have a list of addresses of +You might be one organized human freak and have a list of addresses of all subscribed mailing lists in a separate file! Then you can just set this variable to the name of the file and life would be good. @@ -682,26 +684,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 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 @@ -740,7 +746,7 @@ Move to the signature of the message (@code{message-goto-signature}). @vindex message-beginning-of-line If at beginning of header value, go to beginning of line, else go to beginning of header value. (The header value comes after the header -name and the colon.) This behaviour can be disabled by toggling +name and the colon.) This behavior can be disabled by toggling the variable @code{message-beginning-of-line}. @end table @@ -840,13 +846,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. @@ -1081,7 +1088,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}). @@ -1125,9 +1132,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 @@ -1373,14 +1380,29 @@ Controls what to do with trailing @samp{(was: )} in subject lines. If @code{nil}, leave the subject unchanged. If it is the symbol @code{ask}, query the user what do do. In this case, the subject is matched against @code{message-subject-trailing-was-ask-regexp}. If -@code{message-subject-trailing-was-query} is t, always strip the +@code{message-subject-trailing-was-query} is @code{t}, always strip the trailing old subject. In this case, @code{message-subject-trailing-was-regexp} is used. @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 @@ -1417,13 +1439,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 @@ -1694,7 +1717,8 @@ All these conditions are checked by default. @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 @@ -1847,12 +1871,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 @@ -1867,6 +1892,7 @@ follows this line--} by default. @item message-directory @vindex message-directory Directory used by many mailey things. The default is @file{~/Mail/}. +All other mail file variables are derived from @code{message-directory}. @item message-auto-save-directory @vindex message-auto-save-directory @@ -1953,8 +1979,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 +1995,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