X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=texi%2Fmessage.texi;h=6a0350999c83d9f093dd2f0f0a6b27339503b309;hb=541cab47a59c214f69a925fc6443668089718113;hp=9ca11e6de8a3a82440ca724d7b5c34c851fb8311;hpb=6ad56e9b49fef98834c6de11ced6c7fe5583c993;p=gnus diff --git a/texi/message.texi b/texi/message.texi index 9ca11e6de..6a0350999 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -5,24 +5,15 @@ @synindex fn cp @synindex vr cp @synindex pg cp -@dircategory Emacs -@direntry -* Message: (message). Mail and news composition mode that goes with Gnus. -@end direntry -@iftex -@finalout -@end iftex -@setchapternewpage odd - -@ifnottex - +@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 @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 @@ -37,9 +28,17 @@ 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. -@end ifnottex +@end quotation +@end copying -@tex +@dircategory Emacs +@direntry +* Message: (message). Mail and news composition mode that goes with Gnus. +@end direntry +@iftex +@finalout +@end iftex +@setchapternewpage odd @titlepage @title Message Manual @@ -48,30 +47,10 @@ license to the document, as described in section 6 of the license. @page @vskip 0pt plus 1filll -Copyright @copyright{} 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 - 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 the -Invariant Sections being none, 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. +@insertcopying @end titlepage @page -@end tex - @node Top @top Message @@ -88,16 +67,17 @@ 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 No Gnus v0.3. @node Interface @chapter Interface -When a program (or a person) wants to respond to a message -- reply, -follow up, forward, cancel -- the program (or person) should just put +When a program (or a person) wants to respond to a message---reply, +follow up, forward, cancel---the program (or person) should just put point in the buffer where the message is and call the required command. @code{Message} will then pop up a new @code{message} mode buffer with appropriate headers filled out, and the user can edit the message before @@ -167,16 +147,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 @@ -245,7 +224,13 @@ only you can cancel your own messages, which is nice. The downside is that if you lose your @file{.emacs} file (which is where Gnus stores the secret cancel lock password (which is generated automatically the first time you use this feature)), you won't be -able to cancel your message. +able to cancel your message. If you want to manage a password yourself, +you can put something like the following in your @file{~/.gnus.el} file: + +@lisp +(setq canlock-password "geheimnis" + canlock-password-for-verify canlock-password) +@end lisp Whether to insert the header or not is controlled by the @code{message-insert-canlock} variable. @@ -265,7 +250,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:\\|^Approved:}. @@ -330,8 +318,7 @@ and resend the message in the current buffer to that address. @vindex message-ignored-resent-headers Headers that match the @code{message-ignored-resent-headers} regexp will -be removed before sending the message. The default is -@samp{^Return-receipt}. +be removed before sending the message. @node Bouncing @@ -347,7 +334,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 @@ -356,7 +343,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 @@ -436,7 +423,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. @@ -698,26 +685,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 @@ -756,7 +747,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 @@ -802,14 +793,18 @@ Insert the message headers (@code{message-insert-headers}). @item C-c M-m @kindex C-c M-m @findex message-mark-inserted-region -Mark some region in the current article with enclosing tags. -See @code{message-mark-insert-begin} and @code{message-mark-insert-end}. +Mark some region in the current article with enclosing tags. See +@code{message-mark-insert-begin} and @code{message-mark-insert-end}. +When called with a prefix argument, use slrn style verbatim marks +(@samp{#v+} and @samp{#v-}). @item C-c M-f @kindex C-c M-f @findex message-mark-insert-file Insert a file in the current article with enclosing tags. See @code{message-mark-insert-begin} and @code{message-mark-insert-end}. +When called with a prefix argument, use slrn style verbatim marks +(@samp{#v+} and @samp{#v-}). @end table @@ -829,8 +824,19 @@ automatically add the @code{Content-Type} and 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. If your Emacs supports drag -and drop, you can also drop the file in the Message buffer. +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 @@ -857,13 +863,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. @@ -1097,8 +1104,13 @@ The text is killed and replaced with the contents of the variable @code{message-elide-ellipsis}. The default value is to use an ellipsis (@samp{[...]}). +@item C-c M-k +@kindex C-c M-k +@findex message-kill-address +Kill the address under point. + @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}). @@ -1142,9 +1154,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 @@ -1272,7 +1284,7 @@ installed. @section Message Headers Message is quite aggressive on the message generation front. It has to -be -- it's a combined news and mail agent. To be able to send combined +be---it's a combined news and mail agent. To be able to send combined messages, it has to generate all headers itself (instead of letting the mail/news system do it) to ensure that mail and news copies of messages look sufficiently similar. @@ -1311,7 +1323,7 @@ values: @table @code @item nil -Just the address -- @samp{king@@grassland.com}. +Just the address---@samp{king@@grassland.com}. @item parens @samp{king@@grassland.com (Elvis Parsley)}. @@ -1390,14 +1402,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,6 +1444,9 @@ hidden when composing a message. '(not "From" "Subject" "To" "Cc" "Newsgroups")) @end lisp +Headers are hidden using narrowing, you can use @kbd{M-x widen} to +expose them in the buffer. + @item message-header-synonyms @vindex message-header-synonyms A list of lists of header synonyms. E.g., if this list contains a @@ -1434,19 +1464,26 @@ 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 This string is inserted at the end of the headers in all message buffers that are initialized as mail. +@item message-generate-hashcash +@vindex message-generate-hashcash +Boolean variable that indicate whether @samp{X-Hashcash} headers +should be computed for the message. @xref{Hashcash, ,Hashcash,gnus, +The Gnus Manual}. + @end table @@ -1463,10 +1500,10 @@ buffers that are initialized as mail. @findex smtpmail-send-it @findex feedmail-send-it Function used to send the current buffer as mail. The default is -@code{message-send-mail-with-sendmail}. Other valid values include +@code{message-send-mail-with-sendmail}, or @code{smtpmail-send-it} +according to the system. Other valid values include @code{message-send-mail-with-mh}, @code{message-send-mail-with-qmail}, -@code{message-smtpmail-send-it}, @code{smtpmail-send-it} and -@code{feedmail-send-it}. +@code{message-smtpmail-send-it} and @code{feedmail-send-it}. @item message-mh-deletable-headers @vindex message-mh-deletable-headers @@ -1573,8 +1610,8 @@ This optional header will be computed by Message. @cindex Sun @cindex i-did-not-set--mail-host-address--so-tickle-me This required header will be generated by Message. A unique ID will be -created based on the date, time, user name and system name. For the -domain part, message will look (in this order) at +created based on the date, time, user name (for the local part) and the +domain part. For the domain part, message will look (in this order) at @code{message-user-fqdn}, @code{system-name}, @code{mail-host-address} and @code{message-user-mail-address} (i.e. @code{user-mail-address}) until a probably valid fully qualified domain name (FQDN) was found. @@ -1711,7 +1748,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 @@ -1777,21 +1815,29 @@ Article Highlighting, gnus, The Gnus Manual}, for details. @cindex yanking @cindex quoting When you are replying to or following up an article, you normally want -to quote the person you are answering. Inserting quoted text is done -by @dfn{yanking}, and each line you yank will have -@code{message-yank-prefix} prepended to it (except for quoted and -empty lines which uses @code{message-yank-cited-prefix}). The default -is @samp{> }. +to quote the person you are answering. Inserting quoted text is done by +@dfn{yanking}, and each line you yank will have +@code{message-yank-prefix} prepended to it (except for quoted lines +which use @code{message-yank-cited-prefix} and empty lines which use +@code{message-yank-empty-prefix}). The default is @samp{> }. @item message-yank-cited-prefix @vindex message-yank-cited-prefix @cindex yanking @cindex cited @cindex quoting -When yanking text from an article which contains no text or already -cited text, each line will be prefixed with the contents of this -variable. The default is @samp{>}. See also -@code{message-yank-prefix}. +When yanking text from an article which contains already cited text, +each line will be prefixed with the contents of this variable. The +default is @samp{>}. See also @code{message-yank-prefix}. + +@item message-yank-empty-prefix +@vindex message-yank-empty-prefix +@cindex yanking +@cindex quoting +When yanking text from an article, each empty line will be prefixed with +the contents of this variable. The default is @samp{>}. You can set +this variable to an empty string to split the cited text into paragraphs +automatically. See also @code{message-yank-prefix}. @item message-indentation-spaces @vindex message-indentation-spaces @@ -1864,12 +1910,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 @@ -1884,6 +1931,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 @@ -1959,6 +2007,12 @@ Hook run when canceling news articles. @vindex message-mode-syntax-table Syntax table used in message mode buffers. +@item message-cite-articles-with-x-no-archive +@vindex message-cite-articles-with-x-no-archive +If non-@code{nil}, don't strip quoted text from articles that have +@samp{X-No-Archive} set. Even if this variable isn't set, you can +undo the stripping by hitting the @code{undo} keystroke. + @item message-strip-special-text-properties @vindex message-strip-special-text-properties Emacs has a number of special text properties which can break message @@ -1970,8 +2024,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}) @@ -1983,20 +2040,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. +@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 @@ -2214,3 +2283,7 @@ basis of the new @code{Cc} header, except if this header is @bye @c End: + +@ignore + arch-tag: 16ab76af-a281-4e34-aed6-5624569f7601 +@end ignore