From b1a742e419a132b9012bf519f80a982ca5d83526 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Fri, 16 Nov 2001 03:14:42 +0000 Subject: [PATCH] Synch with Oort Gnus. --- ChangeLog | 4 + GNUS-NEWS | 4 + etc/gnus/important.xpm | 32 ++++++ etc/gnus/unimportant.xpm | 32 ++++++ lisp/ChangeLog | 36 ++++++ lisp/gnus-art.el | 4 +- lisp/gnus-sum.el | 14 ++- lisp/message.el | 50 +++++++- lisp/mml.el | 6 +- lisp/nnfolder.el | 2 +- lisp/nnml.el | 2 +- texi/ChangeLog | 17 +++ texi/gnus-ja.texi | 16 +++ texi/gnus.texi | 16 +++ texi/message-ja.texi | 270 ++++++++++++++++++++++++-------------------- texi/message.texi | 282 +++++++++++++++++++++++++--------------------- 16 files changed, 528 insertions(+), 259 deletions(-) create mode 100644 etc/gnus/important.xpm create mode 100644 etc/gnus/unimportant.xpm diff --git a/ChangeLog b/ChangeLog index 51e2644..b115a6b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2001-11-15 Simon Josefsson + + * etc/gnus/unimportant.xpm, etc/gnus/important.xpm: New files. + 2001-11-13 Katsumi Yamaoka * lisp/gnus-sum.el (gnus-summary-wash-map): Remove diff --git a/GNUS-NEWS b/GNUS-NEWS index cd9595f..4b8d5b5 100644 --- a/GNUS-NEWS +++ b/GNUS-NEWS @@ -8,6 +8,10 @@ For older news, see Gnus info node "New Features". * Changes in Oort Gnus +** Message supports the Importance: header. + +In the message buffer, C-c C-p cycles through the valid values. + ** Gnus supports Cancel Locks in News. This means a header "Cancel-Lock" is inserted in news posting. It is diff --git a/etc/gnus/important.xpm b/etc/gnus/important.xpm new file mode 100644 index 0000000..aa23264 --- /dev/null +++ b/etc/gnus/important.xpm @@ -0,0 +1,32 @@ +/* XPM */ +static char *magick[] = { +/* columns rows colors chars-per-pixel */ +"24 24 2 1", +"! c red", +"w c Gray75", +/* pixels */ +"wwwwwwwwwwwwwwwwwwwwwwww", +"wwwwwwwwwwwwwwwwwwwwwwww", +"wwwwwwwww!!wwwwwwwwwwwww", +"wwwwwwwww!!!wwwwwwwwwwww", +"wwwwwwww!!!!!wwwwwwwwwww", +"wwwwwwww!!!!!wwwwwwwwwww", +"wwwwwwww!!!!wwwwwwwwwwww", +"wwwwwww!!!!!wwwwwwwwwwww", +"wwwwwww!!!!!wwwwwwwwwwww", +"wwwwwww!!!!!wwwwwwwwwwww", +"wwwwwww!!!!!wwwwwwwwwwww", +"wwwwwww!!!!!wwwwwwwwwwww", +"wwwwwww!!!!!wwwwwwwwwwww", +"wwwwwwww!!!!wwwwwwwwwwww", +"wwwwwwww!!!!wwwwwwwwwwww", +"wwwwwwww!!!!!wwwwwwwwwww", +"wwwwwwwww!!!!wwwwwwwwwww", +"wwwwwwwwwwwwwwwwwwwwwwww", +"wwwwwwwww!!!wwwwwwwwwwww", +"wwwwwwww!!!!!wwwwwwwwwww", +"wwwwwwww!!!!!wwwwwwwwwww", +"wwwwwwwww!!!wwwwwwwwwwww", +"wwwwwwwwwwwwwwwwwwwwwwww", +"wwwwwwwwwwwwwwwwwwwwwwww" +}; diff --git a/etc/gnus/unimportant.xpm b/etc/gnus/unimportant.xpm new file mode 100644 index 0000000..6822346 --- /dev/null +++ b/etc/gnus/unimportant.xpm @@ -0,0 +1,32 @@ +/* XPM */ +static char *magick[] = { +/* columns rows colors chars-per-pixel */ +"24 24 2 1", +"! c blue", +"w c Gray75", +/* pixels */ +"wwwwwwwwwwwwwwwwwwwwwwww", +"wwwwwwwwwwwwwwwwwwwwwwww", +"wwwwwwwwww!!wwwwwwwwwwww", +"wwwwwwwwww!!wwwwwwwwwwww", +"wwwwwwwwww!!wwwwwwwwwwww", +"wwwwwwwwww!!wwwwwwwwwwww", +"wwwwwwwwww!!wwwwwwwwwwww", +"wwwwwwwwww!!wwwwwwwwwwww", +"wwwwwwwwww!!wwwwwwwwwwww", +"wwwwwwwwww!!wwwwwwwwwwww", +"wwwwwwwwww!!wwwwwwwwwwww", +"wwwwwwwwww!!wwwwwwwwwwww", +"wwwwwwwwww!!wwwwwwwwwwww", +"wwwwwwwwww!!wwwwwwwwwwww", +"wwwwwwwwww!!wwwwwwwwwwww", +"ww!!wwwwww!!wwwwww!!wwww", +"www!!wwwww!!wwwww!!wwwww", +"wwww!!wwww!!wwww!!wwwwww", +"wwwww!!www!!www!!wwwwwww", +"wwwwww!!ww!!ww!!wwwwwwww", +"wwwwwww!!w!!w!!wwwwwwwww", +"wwwwwwww!!!!!!wwwwwwwwww", +"wwwwwwwww!!!!wwwwwwwwwww", +"wwwwwwwwww!!wwwwwwwwwwww" +}; diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 631217d..8e51534 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,41 @@ +2001-11-15 Simon Josefsson + + Support "Importance:" header in Message. + + * message.el (message-mode-map): Bind C-c C-p to + `message-insert-or-toggle-importance' + (message-mode-menu): Add message-insert-importance-{high,low}. + (message-insert-importance-high, message-insert-importance-low) + (message-insert-or-toggle-importance): New functions. + (message-tool-bar-map): Add {un,}important. + (message-mode): Doc fix. + +2001-11-15 Simon Josefsson + + * message.el (message-tool-bar-map): Fix attach toolbar tooltip. + + * mml.el (mml-menu): Fix toolbar tooltip. + +2001-11-15 14:00:00 ShengHuo ZHU + + * nnfolder.el (nnfolder-save-marks): gnus-prin1 takes one argument. + * nnml.el (nnml-save-marks): Ditto. + + * gnus-sum.el (gnus-newsgroup-variables): Fix doc. + +2001-11-15 Simon Josefsson + + * nnml.el (nnml-save-marks): + * nnfolder.el (nnfolder-save-marks): Use `gnus-prin1'. + Suggested by Istvan Marko . + 2001-11-15 Per Abrahamsen + * gnus-art.el (gnus-article-wash-status-strings): Use + `copy-sequence', not `copy-seq'. + +2001-11-15 Per Abrahamsen + * gnus-art.el (gnus-article-wash-status-strings): New constant. (gnus-gnus-article-wash-status-entry): New function. (gnus-article-wash-status): Use it. diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index 7f3861d..5251553 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -4497,9 +4497,9 @@ If no internal viewer is available, use an external viewer." result) (dolist (entry alist result) (let ((key (nth 0 entry)) - (on (copy-seq (nth 1 entry))) + (on (copy-sequence (nth 1 entry))) (on-help (nth 2 entry)) - (off (copy-seq (nth 3 entry))) + (off (copy-sequence (nth 3 entry))) (off-help (nth 4 entry))) (put-text-property 0 1 'help-echo on-help on) (put-text-property 0 1 'help-echo off-help off) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index ac21780..20e597f 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -1321,7 +1321,19 @@ end position and text.") "Variables that are buffer-local to the summary buffers.") (defvar gnus-newsgroup-variables nil - "Variables that have separate values in the newsgroups.") + "A list of variables that have separate values in different newsgroups. +A list of newsgroup (summary buffer) local variables, or cons of +variables and their default values (when the default values are not +nil), that should be made global while the summary buffer is active. +These variables can be used to set variables in the group parameters +while still allowing them to affect operations done in other +buffers. For example: + +(setq gnus-newsgroup-variables + '(message-use-followup-to + (gnus-visible-headers . + \"^From:\\\\|^Newsgroups:\\\\|^Subject:\\\\|^Date:\\\\|^To:\"))) +") ;; Byte-compiler warning. (eval-when-compile (defvar gnus-article-mode-map)) diff --git a/lisp/message.el b/lisp/message.el index 3115c42..294cabc 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -1741,6 +1741,7 @@ Point is left at the beginning of the narrowed-to region." (define-key message-mode-map "\C-c\C-t" 'message-insert-to) (define-key message-mode-map "\C-c\C-n" 'message-insert-newsgroups) + (define-key message-mode-map "\C-c\C-p" 'message-insert-or-toggle-importance) (define-key message-mode-map "\C-c\C-y" 'message-yank-original) (define-key message-mode-map "\C-c\M-\C-y" 'message-yank-buffer) @@ -1784,6 +1785,12 @@ Point is left at the beginning of the narrowed-to region." ["Kill To Signature" message-kill-to-signature t] ["Newline and Reformat" message-newline-and-reformat t] ["Rename buffer" message-rename-buffer t] + ["Flag as important" message-insert-importance-high + ,@(if (featurep 'xemacs) '(t) + '(:help "Mark this message as important"))] + ["Flag as unimportant" message-insert-importance-low + ,@(if (featurep 'xemacs) '(t) + '(:help "Mark this message as unimportant"))] ["Spellcheck" ispell-message ,@(if (featurep 'xemacs) '(t) '(:help "Spellcheck this message"))] @@ -1885,6 +1892,7 @@ C-c C-e `message-elide-region' (elide the text between point and mark). C-c C-v `message-delete-not-region' (remove the text outside the region). C-c C-z `message-kill-to-signature' (kill the text up to the signature). C-c C-r `message-caesar-buffer-body' (rot13 the message body). +C-c C-p `message-insert-or-toggle-importance' (insert or cycle importance) M-RET `message-newline-and-reformat' (break the line and reformat)." (set (make-local-variable 'message-reply-buffer) nil) (make-local-variable 'message-send-actions) @@ -2326,6 +2334,40 @@ Prefix arg means justify as well." (goto-char (point-max)) (or (bolp) (insert "\n"))))) +(defun message-insert-importance-high () + "Insert header to mark message as important." + (interactive) + (message-remove-header "Importance") + (message-goto-eoh) + (insert "Importance: high\n")) + +(defun message-insert-importance-low () + "Insert header to mark message as unimportant." + (interactive) + (message-remove-header "Importance") + (message-goto-eoh) + (insert "Importance: low\n")) + +(defun message-insert-or-toggle-importance () + "Insert a \"Importance: high\" header, or cycle through the header values. +The three allowed values according to RFC 1327 are `high', `normal' +and `low'." + (interactive) + (save-excursion + (let ((valid '("high" "normal" "low")) + (new "high") + cur) + (when (setq cur (message-fetch-field "Importance")) + (message-remove-header "Importance") + (setq new (cond ((string= cur "high") + "low") + ((string= cur "low") + "normal") + (t + "high")))) + (message-goto-eoh) + (insert (format "Importance: %s\n" new))))) + (defun message-elide-region (b e) "Elide the text in the region. An ellipsis (from `message-elide-ellipsis') will be inserted where the @@ -5799,9 +5841,15 @@ which specify the range to operate on." (tool-bar-add-item-from-menu 'message-dont-send "cancel" message-mode-map) (tool-bar-add-item-from-menu - 'mml-attach-file "attach" message-mode-map) + 'mime-edit-insert-file "attach" message-mode-map) (tool-bar-add-item-from-menu 'ispell-message "spell" message-mode-map) + (tool-bar-add-item-from-menu + 'message-insert-importance-high "important" + message-mode-map) + (tool-bar-add-item-from-menu + 'message-insert-importance-low "unimportant" + message-mode-map) tool-bar-map))))) ;;; Group name completion. diff --git a/lisp/mml.el b/lisp/mml.el index fba7fe8..b3ece7d 100644 --- a/lisp/mml.el +++ b/lisp/mml.el @@ -728,8 +728,10 @@ If HANDLES is non-nil, use it instead reparsing the buffer." (easy-menu-define mml-menu mml-mode-map "" - '("Attachments" - ["Attach File" mml-attach-file t] + `("Attachments" + ["Attach File" mml-attach-file + ,@(if (featurep 'xemacs) '(t) + '(:help "Attach a file at point"))] ["Attach Buffer" mml-attach-buffer t] ["Attach External" mml-attach-external t] ["Insert Part" mml-insert-part t] diff --git a/lisp/nnfolder.el b/lisp/nnfolder.el index eb3ec9b..aac03e0 100644 --- a/lisp/nnfolder.el +++ b/lisp/nnfolder.el @@ -1216,7 +1216,7 @@ This command does not work if you use short group names." (progn (with-temp-file file (erase-buffer) - (princ nnfolder-marks (current-buffer)) + (gnus-prin1 nnfolder-marks) (insert "\n")) (gnus-sethash file (nth 5 (file-attributes file)) diff --git a/lisp/nnml.el b/lisp/nnml.el index 4ccc2ac..6379cd1 100644 --- a/lisp/nnml.el +++ b/lisp/nnml.el @@ -998,7 +998,7 @@ Use the nov database for the current group if available." (nnml-possibly-create-directory group) (with-temp-file file (erase-buffer) - (princ nnml-marks (current-buffer)) + (gnus-prin1 nnml-marks) (insert "\n")) (gnus-sethash file (nth 5 (file-attributes file)) diff --git a/texi/ChangeLog b/texi/ChangeLog index 7def3f0..e987346 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,20 @@ +2001-11-15 Simon Josefsson + + * message.texi (Insertion): Add C-c C-p, + message-insert-importance-{low,high}. + (Various Commands): Fix typo. + (Insertion Variables): New section, all variables moved from + Commands->Insertion into this node, Variables->Insertion + Variables. + +2001-11-15 14:00:00 ShengHuo ZHU + + * gnus.texi (Various Summary Stuff): Add gnus-newsgroup-variables. + +2001-11-15 11:00:00 ShengHuo ZHU + + * message.texi (Security): @uref not @url. + 2001-11-15 Per Abrahamsen * sieve.texi (Standards): Changed @samp to @uref. diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index c367616..9b831ca 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -8790,6 +8790,22 @@ Gnus $B$,F1$8(B @code{Message-ID} $B$r;}$DFs$D$N5-;v$rH/8+$7$?$H$-$O!"2?$+;W$ (append gnus-newsgroup-cached articles) articles)) @end lisp + +@vindex gnus-newsgroup-variables +@item gnus-newsgroup-variables +$B%K%e!<%9%0%k!<%W(B ($B$=$N35N,%P%C%U%!$N(B) $B$N%m!<%+%kJQ?t!"$^$?$OJQ?t$H$=$l$i(B +$B$N%G%#%U%)%k%HCM(B ($B%G%#%U%)%k%HCM$,(B nil $B$G$J$$>l9g(B) $B$N(B cons $B%;%k$N%j%9%H(B +$B$G!"$=$N35N,%P%C%U%!$,3h$-$F$$$k4V$O%0%m!<%P%kJQ?t$K$J$j$^$9!#$3$l$i$NJQ(B +$B?t$O!"JL$N%P%C%U%!$G$=$l$i(B ($B%0%k!<%W%Q%i%a!<%?(B) $B$N8z2L$,JQ99$5$l$F$$$F$b!"(B +($B$=$N%0%k!<%W$N(B) $B%0%k!<%W%Q%i%a!<%?$NJQ?t$r@_Dj$9$k$?$a$K;H$&$3$H$,$G$-(B +$B$^$9!#Nc$G$9(B: + +@lisp +(setq gnus-newsgroup-variables + '(message-use-followup-to + (gnus-visible-headers + . "^From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^To:"))) +@end lisp @end table @node Summary Group Information diff --git a/texi/gnus.texi b/texi/gnus.texi index a6217dc..2c2453d 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -9266,6 +9266,22 @@ the list in one particular group: articles)) @end lisp +@vindex gnus-newsgroup-variables +@item gnus-newsgroup-variables +A list of newsgroup (summary buffer) local variables, or cons of +variables and their default values (when the default values are not +nil), that should be made global while the summary buffer is active. +These variables can be used to set variables in the group parameters +while still allowing them to affect operations done in other +buffers. For example: + +@lisp +(setq gnus-newsgroup-variables + '(message-use-followup-to + (gnus-visible-headers . + "^From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^To:"))) +@end lisp + @end table diff --git a/texi/message-ja.texi b/texi/message-ja.texi index ef7d3a7..349e510 100644 --- a/texi/message-ja.texi +++ b/texi/message-ja.texi @@ -461,131 +461,28 @@ message buffer (@code{message-yank-buffer}). @kindex C-c M-h @findex message-insert-headers $B%a%C%;!<%8$N%X%C%@!<$rA^F~$7$^$9(B (@code{message-insert-headers})$B!#(B -@end table - -@table @code -@item message-ignored-cited-headers -$B$3$N@55,I=8=$K9gCW$9$kA4$F$N%X%C%@!<$OE=$jIU$1$i$l$?%a%C%;!<%8$+$i writes: -@end example - -$B$3$N4X?t$,8F$P$l$?$H$-!"%]%$%s%H$O%a%C%;!<%8$NK\BN$N@hF,$K$"$k$G$7$g$&!#(B - -$B$J$*(B gnus $B$K$O!"(B`writes:' $B$N>e$G%/%j%C%/$9$k$H0zMQ$5$l$?%F%-%9%H$r1#$95!(B -$BG=$,$"$j$^$9!#$b$7$"$J$?$,EY$r1[$7$F0zMQ9T$rJQ99$7$F$7$^$&$H!"$=$l$rFI$`(B -$B?M$?$A$bH`$i$N(B gnus $B$rBP1~$5$;$J$1$l$P$J$i$J$/$J$k$G$7$g$&!#JQ(B -$B?t(B @code{gnus-cite-attribution-suffix} $B$r;2>H$7$F2<$5$$!#>\:Y(B -$B$O(B @xref{Article Highlighting, , $B5-;v$N%O%$%i%$%H(B, gnus-ja}, $B$K$"$j$^$9!#(B - -@item message-yank-prefix -@vindex message-yank-prefix -@cindex yanking -@cindex quoting -$B$"$J$?$,5-;v$KJVEz$+%U%)%m!<%"%C%W$r$7$F$$$k$H$-$O!"IaDL$O$"$J$?$,1~Ez$7(B -$B$F$$$k?M$N$b$N$K0zMQId$rIU$1$?$$$G$7$g$&!#0zMQJ8$NA^F~$O(B @dfn{$BE=$jIU$1(B} -$B$K$h$C$F$J$5$l(B ($B$9$G$K0zMQId$,IU$$$F$$$k$b$N$H6u9T$OBP>]30!"(B -@code{message-yank-cited-prefix} $B$r;2>H$N$3$H(B)$B!"$=$l$>$l$NE=$jIU$1$i$l$?(B -$B9T$O$=$NA0$K(B @code{message-yank-prefix} $B$rIU$1$i$l$^$9!#=i4|CM(B -$B$O(B @samp{> } $B$G$9!#(B - -@item message-yank-cited-prefix -@vindex message-yank-cited-prefix -@cindex yanking -@cindex cited -@cindex quoting -$B5-;v$+$i0zMQ$5$l$?%F%-%9%H$,$9$G$K0zMQ$5$l$?$b$N$@$C$?$j6u$@$C$?>l9g!"$=(B -$B$l$>$l$N9T$K$O$3$NJQ?t$NCM$,A0CV$5$l$^$9!#=i4|CM$O(B @samp{>} $B$G$9!#(B -@code{message-yank-prefix} $B$b;2>H$7$F2<$5$$!#(B - -@item message-yank-add-new-references -@vindex message-yank-add-new-references -@cindex yanking -$B%3%^%s%I(B @code{message-yank-original} $B$rBPOCE*$K;H$C$?$H$-$K!"$3$NCM(B -$B$,(B @code{nil} $B$G$J$+$C$?$i!"(BReferences $B%U%#!<%k%I$K(B ID $B$,DI2C$5$l$^$9!#(B -$B$b$7CM$,%7%s%\%k(B @code{message-id-only} $B$@$C$?$i(B Message-ID $B%U%#!<%k%I(B -$B$N(B ID $B$@$1$,;H$o$l$^$9$,!"$=$&$G$J$1$l$P(B References$B!"(BIn-Reply-To $B$*$h(B -$B$S(B Message-ID $B%U%#!<%k%I$+$iCj=P$5$l$?(B ID $B$,;H$o$l$^$9!#(B - -@item message-list-references-add-position -@vindex message-list-references-add-position -@cindex yanking -$B%3%^%s%I(B @code{message-yank-original} $B$rBPOCE*$K;H$C$?$H$-$K!"$3$NCM$,(B -$B@5$N@0?t$@$C$?$i!"$9$G$K$"$k(B References $B%U%#!<%k%I$N:G8e$+$i$=$N8D?t(B -$B$N(B ID $B$@$1N%$l$?>l=j$K?7$7$$(B ID $B$,A^F~$5$l$^$9!#$=$l0J30$N>l9g$O:G8e$KA^(B -$BF~$5$l$^$9!#(B - -@item message-indentation-spaces -@vindex message-indentation-spaces -$BE=$jIU$1$i$l$?%a%C%;!<%8$r;z2<$2$9$k$?$a$N6uGr$N?t$G$9!#(B -@item message-cite-function -@vindex message-cite-function -@findex message-cite-original -@findex sc-cite-original -@findex message-cite-original-without-signature -@cindex Supercite -$BK\5-;v$r0zMQ$9$k$?$a$N4X?t$G$9!#=i4|CM$O(B @code{message-cite-original} $B$G!"(B -$B$3$l$OC1=c$K$b$H$N%a%C%;!<%8$rA^F~$7!"$=$l$>$l$N9T$NF,$K(B @samp{> } $B$r$/$C(B -$B$D$1$^$9!#(B@code{message-cite-original-without-signature} $B$OF1MM$N;v$r$7(B -$B$^$9$,!"=pL>$O>J$-$^$9!#(BSupercite $B$r;H$&$?$a$K!"$=$l(B -$B$r(B @code{sc-cite-original} $B$K@_Dj$9$k;v$b$G$-$^$9!#(B - -@item message-suspend-font-lock-when-citing -@vindex message-suspend-font-lock-when-citing -@code{nil} $B$G$J$1$l$P!"K\5-;v$r0zMQ$7$F$$$k4V(B font-lock $B$NF0:n$r;_$a$^$9!#(B -$B$$$/$D$+$N!"(BEmacs $B$,2K$J$H$-$KCY$l$FF0:n$9$k(B font-lock $B$N$?$a$N%D!<(B -$B%k(B ($B$^$?$O(B Emacs $B<+?H(B) $B$K$O%P%0$,$"$j!"$=$l$i$O$7$P$7$P(B font-lock $B$NF0:n(B -$B$r9T$J$&BP>]$H$J$k%P%C%U%!$rl$7$N$.$NBP:v(B -$B$G$O$"$k$N$G$9$,!"$3$N%*%W%7%g%s$rHs(B-@code{nil} $B$K$9$k$3$H$K$h$C$F!"$"$J(B -$B$?$OITL{2w$J%(%i!<$r2sHr$G$-$k$+$b$7$l$^$;$s!#(B - -@item message-indent-citation-function -@vindex message-indent-citation-function -$B$A$g$&$I%a!<%k%P%C%U%!$KA^F~$5$l$?0zMQJ8$r=$@5$9$k$?$a$N4X?t$G$9!#$3$l$O(B -$B4X?t$N%j%9%H$G$"$k;v$b$G$-$^$9!#$=$l$>$l$N4X?t(B -$B$O(B @code{(point)} $B$H(B @code{(mark t)} $B$N4V$G0zMQ$rH/8+$9$k;v$,$G$-$^$9!#(B -$B$=$7$F!"$=$l$>$l$N4X?t$O0zMQJ8$,=$@5$5$l$k$H!"$=$N<~$j$K%]%$%s%H$H%^!<%/(B -$B$r;D$5$J$1$l$P$J$j$^$;$s!#(B - -@item message-signature -@vindex message-signature -$B%a%C%;!<%8%P%C%U%!$N:G8e$KA^F~$5$l$kJ8;zNs$G$9!#$b$7(B @code{t} ($B$3$l$,=i(B -$B4|@_Dj$G$9(B) $B$G$"$l$P!"%U%!%$%k(B @code{message-signature-file} $B$,Be$o$j$K(B -$BA^F~$5$l$^$9!#$b$74X?t$G$"$l$P!"4X?t$N7k2L$,Be$o$j$K;H$o$l$^$9!#$b$7<0$G(B -$B$"$l$P!"<0$N7k2L$,JQ$o$j$K;H$o$l$^$9!#$3$NJQ?t$,(B @code{nil} $B$G$"$l$P!"=p(B -$BL>$OA4$/A^F~$5$l$^$;$s!#(B - -@item messsage-signature-file -@vindex message-signature-file -$B%P%C%U%!$N:G8e$KA^F~$5$l$k=pL>$NF~$C$F$$$k%U%!%$%k$G$9!#=i4|CM(B -$B$O(B @samp{~/.signature} $B$G$9!#(B +@item C-c C-p +@kindex C-c C-p +@findex message-insert-or-toggle-importance +$BCM(B @samp{high} $B$r;}$D(B @samp{Importance:} $B%X%C%@!<$rA^F~$7$^$9!#$3$N%X%C(B +$B%@!<$Ol9g$O!"(BRFC 1376 $B$K=`$8$?;0$D$N(B +$BCM(B @samp{low}$B!"(B@samp{normal} $B$*$h$S(B @samp{high} $B$r=[4D$5$;$^$9!#(B + +@item M-x message-insert-importance-high +@kindex M-x message-insert-importance-high +@findex message-insert-importance-high +$BCM(B @samp{high} $B$r;}$D(B @samp{Importance:} $B%X%C%@!<$rA^F~$7$^$9!#I,MW$J(B +$B$i(B ($B$9$G$K$"$k(B) $B%X%C%@!<$r>C5n$7$F$+$i!#(B + +@item M-x message-insert-importance-low +@kindex M-x message-insert-importance-low +@findex message-insert-importance-low +$BCM(B @samp{low} $B$r;}$D(B @samp{Importance:} $B%X%C%@!<$rA^F~$7$^$9!#I,MW$J(B +$B$i(B ($B$9$G$K$"$k(B) $B%X%C%@!<$r>C5n$7$F$+$i!#(B @end table -RFC1036bis $B$O!"=pL>$O$=$NA0$K(B @samp{-- } $B$N(B3$BJ8;z$@$1$N9T$,$"$k$Y$-$G$"$k(B -$B$H8@$C$F$$$k;v$KCm0U$7$F2<$5$$!#$3$l$O$rG'<1$7$F!"=h(B -$BM}$r$9$k;v$r4JC1$K$9$k$?$a$G$9!#$G$9$+$i!"$"$J$?$NH~$7$$%G%6%$%s$r$=$l$,!"(B -$B$"$N!"40A4$KGK2u$7$F$$$k$H46$8$F$b$=$l$i$NJ8;z$r$O(B4$B9T$h$jB?$/$J$k$Y$-$G$OL5$$$H8@$&;v$bCm0U$7$F2<$5$$!#(BASCII $B$N3($r(B -$BF~$l$k;v$O!"3'$K$"$J$?$,GO$N%a!<%kJQ?t(B * News Headers:: $B%K%e!<%9%X%C%@!<$r%+%9%?%^%$%:$9$k(B * News Variables:: $BB>$N%K%e!<%9JQ?t(B +* Insertion Variables:: $BA^F~$N$5$lJ}$r%+%9%?%^%$%:$9$k(B * Various Message Variables:: $BB>$N%a%C%;!<%8JQ?t(B * Sending Variables:: $BAw?.$9$k$?$a$NJQ?t(B * Message Buffers:: Message $B$,$=$N%P%C%U%!$NL>A0$rIU$1$kJ}K!(B @@ -1260,6 +1158,132 @@ Message $B$O(B @code{system-name} $B$r%7%9%F%`L>$r7h$a$k$?$a$K;H$$$^$9!#$b$7$ ($B>\:Y$O(B gnus $B%^%K%e%"%k$r8+$F2<$5$$(B) $B$G$9!#(B @end table +@node Insertion Variables +@section $BA^F~$9$k$?$a$NJQ?t(B + +@table @code +@item message-ignored-cited-headers +$B$3$N@55,I=8=$K9gCW$9$kA4$F$N%X%C%@!<$OE=$jIU$1$i$l$?%a%C%;!<%8$+$i writes: +@end example + +$B$3$N4X?t$,8F$P$l$?$H$-!"%]%$%s%H$O%a%C%;!<%8$NK\BN$N@hF,$K$"$k$G$7$g$&!#(B + +$B$J$*(B gnus $B$K$O!"(B`writes:' $B$N>e$G%/%j%C%/$9$k$H0zMQ$5$l$?%F%-%9%H$r1#$95!(B +$BG=$,$"$j$^$9!#$b$7$"$J$?$,EY$r1[$7$F0zMQ9T$rJQ99$7$F$7$^$&$H!"$=$l$rFI$`(B +$B?M$?$A$bH`$i$N(B gnus $B$rBP1~$5$;$J$1$l$P$J$i$J$/$J$k$G$7$g$&!#JQ(B +$B?t(B @code{gnus-cite-attribution-suffix} $B$r;2>H$7$F2<$5$$!#>\:Y(B +$B$O(B @xref{Article Highlighting, , $B5-;v$N%O%$%i%$%H(B, gnus-ja}, $B$K$"$j$^$9!#(B + +@item message-yank-prefix +@vindex message-yank-prefix +@cindex yanking +@cindex quoting +$B$"$J$?$,5-;v$KJVEz$+%U%)%m!<%"%C%W$r$7$F$$$k$H$-$O!"IaDL$O$"$J$?$,1~Ez$7(B +$B$F$$$k?M$N$b$N$K0zMQId$rIU$1$?$$$G$7$g$&!#0zMQJ8$NA^F~$O(B @dfn{$BE=$jIU$1(B} +$B$K$h$C$F$J$5$l(B ($B$9$G$K0zMQId$,IU$$$F$$$k$b$N$H6u9T$OBP>]30!"(B +@code{message-yank-cited-prefix} $B$r;2>H$N$3$H(B)$B!"$=$l$>$l$NE=$jIU$1$i$l$?(B +$B9T$O$=$NA0$K(B @code{message-yank-prefix} $B$rIU$1$i$l$^$9!#=i4|CM(B +$B$O(B @samp{> } $B$G$9!#(B + +@item message-yank-cited-prefix +@vindex message-yank-cited-prefix +@cindex yanking +@cindex cited +@cindex quoting +$B5-;v$+$i0zMQ$5$l$?%F%-%9%H$,$9$G$K0zMQ$5$l$?$b$N$@$C$?$j6u$@$C$?>l9g!"$=(B +$B$l$>$l$N9T$K$O$3$NJQ?t$NCM$,A0CV$5$l$^$9!#=i4|CM$O(B @samp{>} $B$G$9!#(B +@code{message-yank-prefix} $B$b;2>H$7$F2<$5$$!#(B + +@item message-yank-add-new-references +@vindex message-yank-add-new-references +@cindex yanking +$B%3%^%s%I(B @code{message-yank-original} $B$rBPOCE*$K;H$C$?$H$-$K!"$3$NCM(B +$B$,(B @code{nil} $B$G$J$+$C$?$i!"(BReferences $B%U%#!<%k%I$K(B ID $B$,DI2C$5$l$^$9!#(B +$B$b$7CM$,%7%s%\%k(B @code{message-id-only} $B$@$C$?$i(B Message-ID $B%U%#!<%k%I(B +$B$N(B ID $B$@$1$,;H$o$l$^$9$,!"$=$&$G$J$1$l$P(B References$B!"(BIn-Reply-To $B$*$h(B +$B$S(B Message-ID $B%U%#!<%k%I$+$iCj=P$5$l$?(B ID $B$,;H$o$l$^$9!#(B + +@item message-list-references-add-position +@vindex message-list-references-add-position +@cindex yanking +$B%3%^%s%I(B @code{message-yank-original} $B$rBPOCE*$K;H$C$?$H$-$K!"$3$NCM$,(B +$B@5$N@0?t$@$C$?$i!"$9$G$K$"$k(B References $B%U%#!<%k%I$N:G8e$+$i$=$N8D?t(B +$B$N(B ID $B$@$1N%$l$?>l=j$K?7$7$$(B ID $B$,A^F~$5$l$^$9!#$=$l0J30$N>l9g$O:G8e$KA^(B +$BF~$5$l$^$9!#(B + +@item message-indentation-spaces +@vindex message-indentation-spaces +$BE=$jIU$1$i$l$?%a%C%;!<%8$r;z2<$2$9$k$?$a$N6uGr$N?t$G$9!#(B + +@item message-cite-function +@vindex message-cite-function +@findex message-cite-original +@findex sc-cite-original +@findex message-cite-original-without-signature +@cindex Supercite +$BK\5-;v$r0zMQ$9$k$?$a$N4X?t$G$9!#=i4|CM$O(B @code{message-cite-original} $B$G!"(B +$B$3$l$OC1=c$K$b$H$N%a%C%;!<%8$rA^F~$7!"$=$l$>$l$N9T$NF,$K(B @samp{> } $B$r$/$C(B +$B$D$1$^$9!#(B@code{message-cite-original-without-signature} $B$OF1MM$N;v$r$7(B +$B$^$9$,!"=pL>$O>J$-$^$9!#(BSupercite $B$r;H$&$?$a$K!"$=$l(B +$B$r(B @code{sc-cite-original} $B$K@_Dj$9$k;v$b$G$-$^$9!#(B + +@item message-suspend-font-lock-when-citing +@vindex message-suspend-font-lock-when-citing +@code{nil} $B$G$J$1$l$P!"K\5-;v$r0zMQ$7$F$$$k4V(B font-lock $B$NF0:n$r;_$a$^$9!#(B +$B$$$/$D$+$N!"(BEmacs $B$,2K$J$H$-$KCY$l$FF0:n$9$k(B font-lock $B$N$?$a$N%D!<(B +$B%k(B ($B$^$?$O(B Emacs $B<+?H(B) $B$K$O%P%0$,$"$j!"$=$l$i$O$7$P$7$P(B font-lock $B$NF0:n(B +$B$r9T$J$&BP>]$H$J$k%P%C%U%!$rl$7$N$.$NBP:v(B +$B$G$O$"$k$N$G$9$,!"$3$N%*%W%7%g%s$rHs(B-@code{nil} $B$K$9$k$3$H$K$h$C$F!"$"$J(B +$B$?$OITL{2w$J%(%i!<$r2sHr$G$-$k$+$b$7$l$^$;$s!#(B + +@item message-indent-citation-function +@vindex message-indent-citation-function +$B$A$g$&$I%a!<%k%P%C%U%!$KA^F~$5$l$?0zMQJ8$r=$@5$9$k$?$a$N4X?t$G$9!#$3$l$O(B +$B4X?t$N%j%9%H$G$"$k;v$b$G$-$^$9!#$=$l$>$l$N4X?t(B +$B$O(B @code{(point)} $B$H(B @code{(mark t)} $B$N4V$G0zMQ$rH/8+$9$k;v$,$G$-$^$9!#(B +$B$=$7$F!"$=$l$>$l$N4X?t$O0zMQJ8$,=$@5$5$l$k$H!"$=$N<~$j$K%]%$%s%H$H%^!<%/(B +$B$r;D$5$J$1$l$P$J$j$^$;$s!#(B + +@item message-signature +@vindex message-signature +$B%a%C%;!<%8%P%C%U%!$N:G8e$KA^F~$5$l$kJ8;zNs$G$9!#$b$7(B @code{t} ($B$3$l$,=i(B +$B4|@_Dj$G$9(B) $B$G$"$l$P!"%U%!%$%k(B @code{message-signature-file} $B$,Be$o$j$K(B +$BA^F~$5$l$^$9!#$b$74X?t$G$"$l$P!"4X?t$N7k2L$,Be$o$j$K;H$o$l$^$9!#$b$7<0$G(B +$B$"$l$P!"<0$N7k2L$,JQ$o$j$K;H$o$l$^$9!#$3$NJQ?t$,(B @code{nil} $B$G$"$l$P!"=p(B +$BL>$OA4$/A^F~$5$l$^$;$s!#(B + +@item messsage-signature-file +@vindex message-signature-file +$B%P%C%U%!$N:G8e$KA^F~$5$l$k=pL>$NF~$C$F$$$k%U%!%$%k$G$9!#=i4|CM(B +$B$O(B @samp{~/.signature} $B$G$9!#(B +@end table + +RFC1036bis $B$O!"=pL>$O$=$NA0$K(B @samp{-- } $B$N(B3$BJ8;z$@$1$N9T$,$"$k$Y$-$G$"$k(B +$B$H8@$C$F$$$k;v$KCm0U$7$F2<$5$$!#$3$l$O$rG'<1$7$F!"=h(B +$BM}$r$9$k;v$r4JC1$K$9$k$?$a$G$9!#$G$9$+$i!"$"$J$?$NH~$7$$%G%6%$%s$r$=$l$,!"(B +$B$"$N!"40A4$KGK2u$7$F$$$k$H46$8$F$b$=$l$i$NJ8;z$r$O(B4$B9T$h$jB?$/$J$k$Y$-$G$OL5$$$H8@$&;v$bCm0U$7$F2<$5$$!#(BASCII $B$N3($r(B +$BF~$l$k;v$O!"3'$K$"$J$?$,GO writes: -@end example - -Point will be at the beginning of the body of the message when this -function is called. - -Note that Gnus provides a feature where clicking on `writes:' hides the -cited text. If you change the citation line too much, readers of your -messages will have to adjust their Gnus, too. See the variable -@code{gnus-cite-attribution-suffix}. @xref{Article Highlighting, , -Article Highlighting, gnus}, for details. - -@item message-yank-prefix -@vindex message-yank-prefix -@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{> }. - -@item message-yank-cited-prefix -@vindex message-yank-cited-prefix -@cindex yanking -@cindex cited -@cindex quoting -When yanking text from a 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}. - -@item message-yank-add-new-references -@vindex message-yank-add-new-references -@cindex yanking -Non-@code{nil} means new IDs will be added to References field when an -article is yanked by the command @code{message-yank-original} -interactively. If it is a symbol @code{message-id-only}, only an ID -from Message-ID field is used, otherwise IDs extracted from References, -In-Reply-To and Message-ID fields are used. - -@item message-list-references-add-position -@vindex message-list-references-add-position -@cindex yanking -Integer value means position for adding to References field when an -article is yanked by the command @code{message-yank-original} -interactively. - -@item message-indentation-spaces -@vindex message-indentation-spaces -Number of spaces to indent yanked messages. - -@item message-cite-function -@vindex message-cite-function -@findex message-cite-original -@findex sc-cite-original -@findex message-cite-original-without-signature -@cindex Supercite -Function for citing an original message. The default is -@code{message-cite-original}, which simply inserts the original message -and prepends @samp{> } to each line. -@code{message-cite-original-without-signature} does the same, but elides -the signature. You can also set it to @code{sc-cite-original} to use -Supercite. - -@item message-suspend-font-lock-when-citing -@vindex message-suspend-font-lock-when-citing -If non-@code{nil}, suspend font-lock'ing while citing an original -message. Some lazy demand-driven fontification tools (or Emacs itself) -have a bug that they often miss a buffer to be fontified. It will -mostly occur when Emacs prompts user for any inputs in the minibuffer. -Setting this option to non-@code{nil} may help you to avoid unpleasant -errors even if it is an add-hoc expedient. - -@item message-indent-citation-function -@vindex message-indent-citation-function -Function for modifying a citation just inserted in the mail buffer. -This can also be a list of functions. Each function can find the -citation between @code{(point)} and @code{(mark t)}. And each function -should leave point and mark around the citation text as modified. - -@item message-signature -@vindex message-signature -String to be inserted at the end of the message buffer. If @code{t} -(which is the default), the @code{message-signature-file} file will be -inserted instead. If a function, the result from the function will be -used instead. If a form, the result from the form will be used instead. -If this variable is @code{nil}, no signature will be inserted at all. - -@item message-signature-file -@vindex message-signature-file -File containing the signature to be inserted at the end of the buffer. -The default is @samp{~/.signature}. +@item C-c C-p +@kindex C-c C-p +@findex message-insert-or-toggle-importance +This inserts the @samp{Importance:} header with a value of +@samp{high}. This header is used to signal the importance of the +message to the receiver. If the header is already present in the +buffer, it cycles between the three valid values according to RFC +1376: @samp{low}, @samp{normal} and @samp{high}. + +@item M-x message-insert-importance-high +@kindex M-x message-insert-importance-high +@findex message-insert-importance-high +Insert a @samp{Importance:} header with a value of @samp{high}, +deleting headers if necessary. + +@item M-x message-insert-importance-low +@kindex M-x message-insert-importance-low +@findex message-insert-importance-low +Insert a @samp{Importance:} header with a value of @samp{low}, +deleting headers if necessary. @end table -Note that RFC1036bis says that a signature should be preceded by the three -characters @samp{-- } on a line by themselves. This is to make it -easier for the recipient to automatically recognize and process the -signature. So don't remove those characters, even though you might feel -that they ruin your beautiful design, like, totally. - -Also note that no signature should be more than four lines long. -Including ASCII graphics is an efficient way to get everybody to believe -that you are silly and have nothing important to say. - @node MIME @section MIME @@ -772,7 +667,7 @@ care in handling it. PGP/MIME requires an external OpenPGP implementation, such as GNU Privacy Guard (@uref{http://www.gnupg.org/}). It also requires an Emacs interface to it, such as Mailcrypt (available from -@url{http://www.nb.net/~lbudney/linux/software/mailcrypt.html}) or +@uref{http://www.nb.net/~lbudney/linux/software/mailcrypt.html}) or Florian Weimer's @code{gpg.el}. Creating your own OpenPGP key is described in detail in the @@ -813,7 +708,7 @@ Delete all text in the body of the message that is outside the region @item M-RET @kindex M-RET -@kindex message-newline-and-reformat +@findex message-newline-and-reformat Insert four newlines, and then reformat if inside quoted text. Here's an example: @@ -968,6 +863,7 @@ installed. * Mail Variables:: Other mail variables. * News Headers:: Customizing news headers. * News Variables:: Other news variables. +* Insertion Variables:: Customizing how things are inserted. * Various Message Variables:: Other message variables. * Sending Variables:: Variables for sending. * Message Buffers:: How Message names its buffers. @@ -1311,6 +1207,136 @@ posting a prepared news message. @end table +@node Insertion Variables +@section Insertion Variables + +@table @code +@item message-ignored-cited-headers +@vindex message-ignored-cited-headers +All headers that match this regexp will be removed from yanked +messages. The default is @samp{.}, which means that all headers will be +removed. + +@item message-cite-prefix-regexp +@vindex message-cite-prefix-regexp +Regexp matching the longest possible citation prefix on a line. + +@item message-citation-line-function +@vindex message-citation-line-function +@cindex attribution line +Function called to insert the citation line. The default is +@code{message-insert-citation-line}, which will lead to citation lines +that look like: + +@example +Hallvard B Furuseth writes: +@end example + +Point will be at the beginning of the body of the message when this +function is called. + +Note that Gnus provides a feature where clicking on `writes:' hides the +cited text. If you change the citation line too much, readers of your +messages will have to adjust their Gnus, too. See the variable +@code{gnus-cite-attribution-suffix}. @xref{Article Highlighting, , +Article Highlighting, gnus}, for details. + +@item message-yank-prefix +@vindex message-yank-prefix +@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{> }. + +@item message-yank-cited-prefix +@vindex message-yank-cited-prefix +@cindex yanking +@cindex cited +@cindex quoting +When yanking text from a 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}. + +@item message-yank-add-new-references +@vindex message-yank-add-new-references +@cindex yanking +Non-@code{nil} means new IDs will be added to References field when an +article is yanked by the command @code{message-yank-original} +interactively. If it is a symbol @code{message-id-only}, only an ID +from Message-ID field is used, otherwise IDs extracted from References, +In-Reply-To and Message-ID fields are used. + +@item message-list-references-add-position +@vindex message-list-references-add-position +@cindex yanking +Integer value means position for adding to References field when an +article is yanked by the command @code{message-yank-original} +interactively. + +@item message-indentation-spaces +@vindex message-indentation-spaces +Number of spaces to indent yanked messages. + +@item message-cite-function +@vindex message-cite-function +@findex message-cite-original +@findex sc-cite-original +@findex message-cite-original-without-signature +@cindex Supercite +Function for citing an original message. The default is +@code{message-cite-original}, which simply inserts the original message +and prepends @samp{> } to each line. +@code{message-cite-original-without-signature} does the same, but elides +the signature. You can also set it to @code{sc-cite-original} to use +Supercite. + +@item message-suspend-font-lock-when-citing +@vindex message-suspend-font-lock-when-citing +If non-@code{nil}, suspend font-lock'ing while citing an original +message. Some lazy demand-driven fontification tools (or Emacs itself) +have a bug that they often miss a buffer to be fontified. It will +mostly occur when Emacs prompts user for any inputs in the minibuffer. +Setting this option to non-@code{nil} may help you to avoid unpleasant +errors even if it is an add-hoc expedient. + +@item message-indent-citation-function +@vindex message-indent-citation-function +Function for modifying a citation just inserted in the mail buffer. +This can also be a list of functions. Each function can find the +citation between @code{(point)} and @code{(mark t)}. And each function +should leave point and mark around the citation text as modified. + +@item message-signature +@vindex message-signature +String to be inserted at the end of the message buffer. If @code{t} +(which is the default), the @code{message-signature-file} file will be +inserted instead. If a function, the result from the function will be +used instead. If a form, the result from the form will be used instead. +If this variable is @code{nil}, no signature will be inserted at all. + +@item message-signature-file +@vindex message-signature-file +File containing the signature to be inserted at the end of the buffer. +The default is @samp{~/.signature}. + +@end table + +Note that RFC1036bis says that a signature should be preceded by the three +characters @samp{-- } on a line by themselves. This is to make it +easier for the recipient to automatically recognize and process the +signature. So don't remove those characters, even though you might feel +that they ruin your beautiful design, like, totally. + +Also note that no signature should be more than four lines long. +Including ASCII graphics is an efficient way to get everybody to believe +that you are silly and have nothing important to say. + + @node Various Message Variables @section Various Message Variables -- 1.7.10.4