comparison man/message.texi @ 70:131b0175ea99 r20-0b30

Import from CVS: tag r20-0b30
author cvs
date Mon, 13 Aug 2007 09:02:59 +0200
parents 8d2a9b52c682
children 0d2f883870bc
comparison
equal deleted inserted replaced
69:804d1389bcd6 70:131b0175ea99
1 \input texinfo @c -*-texinfo-*- 1 \input texinfo @c -*-texinfo-*-
2 2
3 @setfilename message 3 @setfilename ../info/message.info
4 @settitle Message 5.4.37 Manual 4 @settitle Message Manual
5 @synindex fn cp 5 @synindex fn cp
6 @synindex vr cp 6 @synindex vr cp
7 @synindex pg cp 7 @synindex pg cp
8 @iftex 8 @iftex
9 @finalout 9 @finalout
10 @end iftex 10 @end iftex
11 @setchapternewpage odd 11 @setchapternewpage odd
12 12
13 @ifinfo 13 @ifinfo
14 14
15 This file documents Message, the Emacs message composition mode. 15 This file documents Messa, the Emacs message composition mode.
16 16
17 Copyright (C) 1996 Free Software Foundation, Inc. 17 Copyright (C) 1996 Free Software Foundation, Inc.
18 18
19 Permission is granted to make and distribute verbatim copies of 19 Permission is granted to make and distribute verbatim copies of
20 this manual provided the copyright notice and this permission notice 20 this manual provided the copyright notice and this permission notice
37 @end ifinfo 37 @end ifinfo
38 38
39 @tex 39 @tex
40 40
41 @titlepage 41 @titlepage
42 @title Message 5.4.37 Manual 42 @title Message Manual
43 43
44 @author by Lars Magne Ingebrigtsen 44 @author by Lars Magne Ingebrigtsen
45 @page 45 @page
46 46
47 @vskip 0pt plus 1filll 47 @vskip 0pt plus 1filll
72 72
73 @menu 73 @menu
74 * Interface:: Setting up message buffers. 74 * Interface:: Setting up message buffers.
75 * Commands:: Commands you can execute in message mode buffers. 75 * Commands:: Commands you can execute in message mode buffers.
76 * Variables:: Customizing the message buffers. 76 * Variables:: Customizing the message buffers.
77 * Compatibility:: Making Message backwards compatible.
78 * Index:: Variable, function and concept index. 77 * Index:: Variable, function and concept index.
79 * Key Index:: List of Message mode keys. 78 * Key Index:: List of Message mode keys.
80 @end menu 79 @end menu
81
82 This manual corresponds to Message 5.4.37. Message is distributed with
83 the Gnus distribution bearing the same version number as this manual
84 has.
85 80
86 81
87 @node Interface 82 @node Interface
88 @chapter Interface 83 @chapter Interface
89 84
172 @node Wide Reply 167 @node Wide Reply
173 @section Wide Reply 168 @section Wide Reply
174 169
175 @findex message-wide-reply 170 @findex message-wide-reply
176 The @code{message-wide-reply} pops up a message buffer that's a wide 171 The @code{message-wide-reply} pops up a message buffer that's a wide
177 reply to the message in the current buffer. A @dfn{wide reply} is a 172 reply to the message in the current buffer.
178 reply that goes out to all people listed in the @code{To}, @code{From}
179 and @code{Cc} headers.
180 173
181 @vindex message-wide-reply-to-function 174 @vindex message-wide-reply-to-function
182 Message uses the normal methods to determine where wide replies are to go, 175 Message uses the normal methods to determine where wide replies are to go,
183 but you can change the behavior to suit your needs by fiddling with the 176 but you can change the behavior to suit your needs by fiddling with the
184 @code{message-wide-reply-to-function}. It is used in the same way as 177 @code{message-wide-reply-to-function}. It is used in the same way as
185 @code{message-reply-to-function} (@pxref{Reply}). 178 @code{message-reply-to-function} (@pxref{Reply}).
186 179
187 @findex rmail-dont-reply-to-names 180 @findex rmail-dont-reply-to-names
188 Addresses that match the @code{rmail-dont-reply-to-names} regular 181 Addresses that matches the @code{rmail-dont-reply-to-names} regular
189 expression will be removed from the @code{Cc} header. 182 expression will be removed from the @code{Cc} header.
190 183
191 184
192 @node Followup 185 @node Followup
193 @section Followup 186 @section Followup
225 The @code{message-supersede} command pops up a message buffer that will 218 The @code{message-supersede} command pops up a message buffer that will
226 supersede the message in the current buffer. 219 supersede the message in the current buffer.
227 220
228 @vindex message-ignored-supersedes-headers 221 @vindex message-ignored-supersedes-headers
229 Headers matching the @code{message-ignored-supersedes-headers} are 222 Headers matching the @code{message-ignored-supersedes-headers} are
230 removed before popping up the new message buffer. The default is@* 223 removed before popping up the new message buffer. The default is
231 @samp{^Path:\\|^Date\\|^NNTP-Posting-Host:\\|^Xref:\\|^Lines:\\|@* 224 @samp{^Path:\\|^Date\\|^NNTP-Posting-Host:\\|^Xref:\\|^Lines:\\|^Received:\\|^X-From-Line:\\|Return-Path:}.
232 ^Received:\\|^X-From-Line:\\|Return-Path:}.
233 225
234 226
235 227
236 @node Forwarding 228 @node Forwarding
237 @section Forwarding 229 @section Forwarding
242 news. 234 news.
243 235
244 @table @code 236 @table @code
245 @item message-forward-start-separator 237 @item message-forward-start-separator
246 @vindex message-forward-start-separator 238 @vindex message-forward-start-separator
247 Delimiter inserted before forwarded messages. The default is@* 239 Delimiter inserted before forwarded messages. The default is
248 @samp{------- Start of forwarded message -------\n}. 240 @samp{------- Start of forwarded message -------\n}.
249 241
250 @vindex message-forward-end-separator 242 @vindex message-forward-end-separator
251 @item message-forward-end-separator 243 @item message-forward-end-separator
252 @vindex message-forward-end-separator 244 @vindex message-forward-end-separator
253 Delimiter inserted after forwarded messages. The default is@* 245 Delimiter inserted after forwarded messages. The default is
254 @samp{------- End of forwarded message -------\n}. 246 @samp{------- End of forwarded message -------\n}.
255 247
256 @item message-signature-before-forwarded-message 248 @item message-signature-before-forwarded-message
257 @vindex message-signature-before-forwarded-message 249 @vindex message-signature-before-forwarded-message
258 If this variable is @code{t}, which it is by default, your personal 250 If this variable is @code{t}, which it is by default, your personal
272 @findex message-resend 264 @findex message-resend
273 The @code{message-resend} command will prompt the user for an address 265 The @code{message-resend} command will prompt the user for an address
274 and resend the message in the current buffer to that address. 266 and resend the message in the current buffer to that address.
275 267
276 @vindex message-ignored-resent-headers 268 @vindex message-ignored-resent-headers
277 Headers that match the @code{message-ignored-resent-headers} regexp will 269 Headers the match the @code{message-ignored-resent-headers} regexp will
278 be removed before sending the message. The default is 270 be removed before sending the message. The default is
279 @samp{^Return-receipt}. 271 @samp{^Return-receipt}.
280 272
281 273
282 @node Bouncing 274 @node Bouncing
283 @section Bouncing 275 @section Bouncing
284 276
285 @findex message-bounce 277 @findex message-bounce
286 The @code{message-bounce} command will, if the current buffer contains a 278 The @code{message-bounce} command will, if the current buffer contains a
287 bounced mail message, pop up a message buffer stripped of the bounce 279 bounced mail message, pop up a message buffer stripped of the bounce
288 information. A @dfn{bounced message} is typically a mail you've sent 280 information.
289 out that has been returned by some @code{mailer-daemon} as
290 undeliverable.
291 281
292 @vindex message-ignored-bounced-headers 282 @vindex message-ignored-bounced-headers
293 Headers that match the @code{message-ignored-bounced-headers} regexp 283 Headers that match the @code{message-ignored-bounced-headers} regexp
294 will be removed before popping up the buffer. The default is 284 will be removed before popping up the buffer. The default is
295 @samp{^Received:}. 285 @samp{^Received:}.
302 * Header Commands:: Commands for moving to headers. 292 * Header Commands:: Commands for moving to headers.
303 * Movement:: Moving around in message buffers. 293 * Movement:: Moving around in message buffers.
304 * Insertion:: Inserting things into message buffers. 294 * Insertion:: Inserting things into message buffers.
305 * Various Commands:: Various things. 295 * Various Commands:: Various things.
306 * Sending:: Actually sending the message. 296 * Sending:: Actually sending the message.
307 * Mail Aliases:: How to use mail aliases.
308 @end menu 297 @end menu
309 298
310 299
311 @node Header Commands 300 @node Header Commands
312 @section Header Commands 301 @section Header Commands
480 469
481 Note that RFC1036 says that a signature should be preceded by the three 470 Note that RFC1036 says that a signature should be preceded by the three
482 characters @samp{-- } on a line by themselves. This is to make it 471 characters @samp{-- } on a line by themselves. This is to make it
483 easier for the recipient to automatically recognize and process the 472 easier for the recipient to automatically recognize and process the
484 signature. So don't remove those characters, even though you might feel 473 signature. So don't remove those characters, even though you might feel
485 that they ruin your beautiful design, like, totally. 474 that they ruin you beautiful design, like, totally.
486 475
487 Also note that no signature should be more than four lines long. 476 Also note that no signature should be more than four lines long.
488 Including ASCII graphics is an efficient way to get everybody to believe 477 Including ASCII graphics is an efficient way to get everybody to believe
489 that you are silly and have nothing important to say. 478 that you are silly and have nothing important to say.
490 479
501 Caesar rotate (aka. rot13) the current message 490 Caesar rotate (aka. rot13) the current message
502 (@code{message-caesar-buffer-body}). If narrowing is in effect, just 491 (@code{message-caesar-buffer-body}). If narrowing is in effect, just
503 rotate the visible portion of the buffer. A numerical prefix says how 492 rotate the visible portion of the buffer. A numerical prefix says how
504 many places to rotate the text. The default is 13. 493 many places to rotate the text. The default is 13.
505 494
506 @item C-c C-e
507 @kindex C-c C-e
508 @findex message-elide-region
509 Elide the text between point and mark (@code{message-elide-region}).
510 The text is killed and an ellipsis (@samp{[...]}) will be inserted in
511 its place.
512
513 @item C-c C-t 495 @item C-c C-t
514 @kindex C-c C-t 496 @kindex C-c C-t
515 @findex message-insert-to 497 @findex message-insert-to
516 Insert a @code{To} header that contains the @code{Reply-To} or 498 Insert a @code{To} header that contains the @code{Reply-To} or
517 @code{From} header of the message you're following up 499 @code{From} header of the message you're following up
557 @kindex C-c C-k 539 @kindex C-c C-k
558 @findex message-kill-buffer 540 @findex message-kill-buffer
559 Kill the message buffer and exit (@code{message-kill-buffer}). 541 Kill the message buffer and exit (@code{message-kill-buffer}).
560 542
561 @end table 543 @end table
562
563
564
565 @node Mail Aliases
566 @section Mail Aliases
567 @cindex mail aliases
568 @cindex aliases
569
570 Message uses @code{mailabbrev} to handle mail aliases.
571 @code{mailabbrev} works by parsing the @file{/etc/mailrc} and
572 @file{~/.mailrc} files. These files look like:
573
574 @example
575 alias lmi "Lars Magne Ingebrigtsen <larsi@@ifi.uio.no>"
576 alias ding "ding@@ifi.uio.no (ding mailing list)"
577 @end example
578
579 After adding lines like this to your @file{~/.mailrc} file, you should
580 be able to just write @samp{lmi} in the @code{To} or @code{Cc} (and so
581 on) headers and press @kbd{SPC} to expand the alias.
582
583 No expansion will be performed upon sending of the message---all
584 expansions have to be done explicitly.
585
586 544
587 545
588 @node Variables 546 @node Variables
589 @chapter Variables 547 @chapter Variables
590 548
662 @section Mail Headers 620 @section Mail Headers
663 621
664 @table @code 622 @table @code
665 @item message-required-mail-headers 623 @item message-required-mail-headers
666 @vindex message-required-mail-headers 624 @vindex message-required-mail-headers
667 @xref{News Headers}, for the syntax of this variable. It is 625 See @pxref{News Headers} for the syntax of this variable. It is
668 @code{(From Date Subject (optional . In-Reply-To) Message-ID Lines 626 @code{(From Date Subject (optional . In-Reply-To) Message-ID Lines
669 (optional . X-Mailer))} by default. 627 (optional . X-Mailer))} by default.
670 628
671 @item message-ignored-mail-headers 629 @item message-ignored-mail-headers
672 @vindex message-ignored-mail-headers 630 @vindex message-ignored-mail-headers
688 @item message-send-mail-function 646 @item message-send-mail-function
689 @vindex message-send-mail-function 647 @vindex message-send-mail-function
690 Function used to send the current buffer as mail. The default is 648 Function used to send the current buffer as mail. The default is
691 @code{message-send-mail-with-sendmail}. If you prefer using MH 649 @code{message-send-mail-with-sendmail}. If you prefer using MH
692 instead, set this variable to @code{message-send-mail-with-mh}. 650 instead, set this variable to @code{message-send-mail-with-mh}.
693
694 @item message-mh-deletable-headers
695 @vindex message-mh-deletable-headers
696 Most versions of MH doesn't like being fed messages that contain the
697 headers in this variable. If this variable is non-@code{nil} (which is
698 the default), these headers will be removed before mailing. Set it to
699 @code{nil} if your MH can handle these headers.
700 651
701 @end table 652 @end table
702 653
703 654
704 @node News Headers 655 @node News Headers
731 682
732 @item Organization 683 @item Organization
733 @cindex organization 684 @cindex organization
734 This optional header will be filled out depending on the 685 This optional header will be filled out depending on the
735 @code{message-user-organization} variable. 686 @code{message-user-organization} variable.
736 @code{message-user-organization-file} will be used if this variable is 687 @code{message-user-organization-file} will be used if that variable is
737 @code{t}. This variable can also be a string (in which case this string 688 @code{t}.
738 will be used), or it can be a function (which will be called with no
739 parameters and should return a string to be used).
740 689
741 @item Lines 690 @item Lines
742 @cindex Lines 691 @cindex Lines
743 This optional header will be computed by Message. 692 This optional header will be computed by Message.
744 693
746 @cindex Message-ID 695 @cindex Message-ID
747 @vindex mail-host-address 696 @vindex mail-host-address
748 @findex system-name 697 @findex system-name
749 @cindex Sun 698 @cindex Sun
750 This required header will be generated by Message. A unique ID will be 699 This required header will be generated by Message. A unique ID will be
751 created based on the date, time, user name and system name. Message will 700 created based on date, time, user name and system name. Message will
752 use @code{mail-host-address} as the fully qualified domain name (FQDN) 701 use @code{mail-host-address} as the fully qualified domain name (FQDN)
753 of the machine if that variable is defined. If not, it will use 702 of the machine if that variable is define. If not, it will use
754 @code{system-name}, which doesn't report a FQDN on some machines -- 703 @code{system-name}, which doesn't report a FQDN on some machines --
755 notably Suns. 704 notably Suns.
756 705
757 @item X-Newsreader 706 @item X-Newsreader
758 @cindex X-Newsreader 707 @cindex X-Newsreader
764 @code{message-mailer} local variable, unless there already is an 713 @code{message-mailer} local variable, unless there already is an
765 @code{X-Newsreader} header present. 714 @code{X-Newsreader} header present.
766 715
767 @item In-Reply-To 716 @item In-Reply-To
768 This optional header is filled out using the @code{Date} and @code{From} 717 This optional header is filled out using the @code{Date} and @code{From}
769 header of the article being replied to. 718 header of the article being replied.
770 719
771 @item Expires 720 @item Expires
772 @cindex Expires 721 @cindex Expires
773 This extremely optional header will be inserted according to the 722 This extremely optional header will be inserted according to the
774 @code{message-expires} variable. It is highly deprecated and shouldn't 723 @code{message-expires} variable. It is highly deprecated and shouldn't
780 @code{message-distribution-function} variable. It is a deprecated and 729 @code{message-distribution-function} variable. It is a deprecated and
781 much misunderstood header. 730 much misunderstood header.
782 731
783 @item Path 732 @item Path
784 @cindex path 733 @cindex path
785 This extremely optional header should probably never be used. 734 This extremely optional header should probably not ever be used.
786 However, some @emph{very} old servers require that this header is 735 However, some @emph{very} old servers require that this header is
787 present. @code{message-user-path} further controls how this 736 present. @code{message-user-path} further controls how this
788 @code{Path} header is to look. If it is @code{nil}, use the server name 737 @code{Path} header is to look. If is is @code{nil}, the the server name
789 as the leaf node. If it is a string, use the string. If it is neither 738 as the leaf node. If is is a string, use the string. If it is neither
790 a string nor @code{nil}, use the user name only. However, it is highly 739 a string nor @code{nil}, use the user name only. However, it is highly
791 unlikely that you should need to fiddle with this variable at all. 740 unlikely that you should need to fiddle with this variable at all.
792 @end table 741 @end table
793 742
794 @findex yow 743 @findex yow
811 760
812 @table @code 761 @table @code
813 762
814 @item message-syntax-checks 763 @item message-syntax-checks
815 @vindex message-syntax-checks 764 @vindex message-syntax-checks
816 If non-@code{nil}, Message will attempt to check the legality of the 765 If non-@code{nil}, message will attempt to check the legality of the
817 headers, as well as some other stuff, before posting. You can control 766 headers, as well as some other stuff, before posting. You can control
818 the granularity of the check by adding or removing elements from this 767 the granularity of the check by adding or removing elements from this
819 list. Legal elements are: 768 list. Legal elements are:
820 769
821 @table @code 770 @table @code
851 @item empty 800 @item empty
852 Check whether the article is empty. 801 Check whether the article is empty.
853 @item empty-headers 802 @item empty-headers
854 Check whether any of the headers are empty. 803 Check whether any of the headers are empty.
855 @item existing-newsgroups 804 @item existing-newsgroups
856 Check whether the newsgroups mentioned in the @code{Newsgroups} and 805 Check whether the newsgroups mentioned in the Newsgroups and
857 @code{Followup-To} headers exist. 806 Followup-To headers exist.
858 @item valid-newsgroups 807 @item valid-newsgroups
859 Check whether the @code{Newsgroups} and @code{Followup-to} headers 808 Check whether the @code{Newsgroups} and @code{Followup-To} headers
860 are valid syntactically. 809 are valid syntactially.
861 @item shorten-followup-to
862 Check whether to add a @code{Followup-to} header to shorten the number
863 of groups to post to.
864 @end table 810 @end table
865 811
866 All these conditions are checked by default. 812 All these conditions are checked by default.
867 813
868 @item message-ignored-news-headers 814 @item message-ignored-news-headers
869 @vindex message-ignored-news-headers 815 @vindex message-ignored-news-headers
870 Regexp of headers to be removed before posting. The default is@* 816 Regexp of headers to be removed before posting. The default is
871 @samp{^NNTP-Posting-Host:\\|^Xref:\\|^Bcc:\\|^Gcc:\\|^Fcc:}. 817 @samp{^NNTP-Posting-Host:\\|^Xref:\\|^Bcc:\\|^Gcc:\\|^Fcc:}.
872 818
873 @item message-default-news-headers 819 @item message-default-news-headers
874 @vindex message-default-news-headers 820 @vindex message-default-news-headers
875 This string is inserted at the end of the headers in all message 821 This string is inserted at the end of the headers in all message
876 buffers that are initialized as news. 822 buffers that are initialized as news.
927 873
928 @item message-header-setup-hook 874 @item message-header-setup-hook
929 @vindex message-header-setup-hook 875 @vindex message-header-setup-hook
930 Hook called narrowed to the headers after initializing the headers. 876 Hook called narrowed to the headers after initializing the headers.
931 877
932 For instance, if you're running Gnus and wish to insert a
933 @samp{Mail-Copies-To} header in all your news articles and all messages
934 you send to mailing lists, you could do something like the following:
935
936 @lisp
937 (defun my-message-header-setup-hook ()
938 (let ((group (or gnus-newsgroup-name "")))
939 (when (or (message-fetch-field "newsgroups")
940 (gnus-group-find-parameter group 'to-address)
941 (gnus-group-find-parameter group 'to-list))
942 (insert "Mail-Copies-To: never\n"))))
943
944 (add-hook 'message-header-setup-hook 'my-message-header-setup-hook)
945 @end lisp
946
947 @item message-send-hook 878 @item message-send-hook
948 @vindex message-send-hook 879 @vindex message-send-hook
949 Hook run before sending messages. 880 Hook run before sending messages.
950
951 @item message-send-mail-hook
952 @vindex message-send-mail-hook
953 Hook run before sending mail messages.
954
955 @item message-send-news-hook
956 @vindex message-send-news-hook
957 Hook run before sending news messages.
958 881
959 @item message-sent-hook 882 @item message-sent-hook
960 @vindex message-sent-hook 883 @vindex message-sent-hook
961 Hook run after sending messages. 884 Hook run after sending messages.
962 885
980 function is @code{rmail-output} which saves in Unix mailbox format. 903 function is @code{rmail-output} which saves in Unix mailbox format.
981 904
982 @item message-courtesy-message 905 @item message-courtesy-message
983 @vindex message-courtesy-message 906 @vindex message-courtesy-message
984 When sending combined messages, this string is inserted at the start of 907 When sending combined messages, this string is inserted at the start of
985 the mailed copy. If the string contains the format spec @samp{%s}, the 908 the mailed copy. If this variable is @code{nil}, no such courtesy
986 newsgroups the article has been posted to will be inserted there. If 909 message will be added.
987 this variable is @code{nil}, no such courtesy message will be added.
988 The default value is @samp{"The following message is a courtesy copy of
989 an article\nthat has been posted to %s as well.\n\n"}.
990 910
991 @end table 911 @end table
992 912
993 913
994 @node Message Buffers 914 @node Message Buffers
995 @section Message Buffers 915 @section Message Buffers
996 916
997 Message will generate new buffers with unique buffer names when you 917 Message will generate new buffers with unique buffer names when you
998 request a message buffer. When you send the message, the buffer isn't 918 request a message buffer. When you send the message, the buffer isn't
999 normally killed off. Its name is changed and a certain number of old 919 normally killed off. It's name is changed and a certain number of old
1000 message buffers are kept alive. 920 message buffers are kept alive.
1001 921
1002 @table @code 922 @table @code
1003 @item message-generate-new-buffers 923 @item message-generate-new-buffers
1004 @vindex message-generate-new-buffers 924 @vindex message-generate-new-buffers
1066 @end lisp 986 @end lisp
1067 987
1068 This restores the Gnus window configuration when the message buffer is 988 This restores the Gnus window configuration when the message buffer is
1069 killed, postponed or exited. 989 killed, postponed or exited.
1070 990
1071 An @dfn{action} can be either: a normal function, or a list where the 991 An @dfn{action} can be either a normal function; or a list where the
1072 @code{car} is a function and the @code{cdr} is the list of arguments, or 992 @code{car} is a function and the @code{cdr} is the list of arguments; or
1073 a form to be @code{eval}ed. 993 a form to be @code{eval}ed.
1074
1075
1076 @node Compatibility
1077 @chapter Compatibility
1078 @cindex compatibility
1079
1080 Message uses virtually only its own variables---older @code{mail-}
1081 variables aren't consulted. To force Message to take those variables
1082 into account, you can put the following in your @code{.emacs} file:
1083
1084 @lisp
1085 (require 'messcompat)
1086 @end lisp
1087
1088 This will initialize many Message variables from the values in the
1089 corresponding mail variables.
1090
1091
1092 994
1093 @node Index 995 @node Index
1094 @chapter Index 996 @chapter Index
1095 @printindex cp 997 @printindex cp
1096 998