diff options
Diffstat (limited to 'lisp/gnus/gnus-msg.el')
-rw-r--r-- | lisp/gnus/gnus-msg.el | 118 |
1 files changed, 36 insertions, 82 deletions
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el index a8e17ba8879..e352ffacef8 100644 --- a/lisp/gnus/gnus-msg.el +++ b/lisp/gnus/gnus-msg.el @@ -1,7 +1,8 @@ ;;; gnus-msg.el --- mail and post interface for Gnus ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +;; Foundation, Inc. ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet> ;; Lars Magne Ingebrigtsen <larsi@gnus.org> @@ -55,7 +56,7 @@ method to use when posting." (sexp :tag "Methods" ,gnus-select-method))) (defcustom gnus-outgoing-message-group nil - "*All outgoing messages will be put in this group. + "All outgoing messages will be put in this group. If you want to store all your outgoing mail and articles in the group \"nnml:archive\", you set this variable to that value. This variable can also be a list of group names. @@ -70,6 +71,8 @@ of names)." (string :tag "Group") (repeat :tag "List of groups" (string :tag "Group")))) +(make-obsolete-variable 'gnus-outgoing-message-group 'gnus-message-archive-group "24.1") + (defcustom gnus-mailing-list-groups nil "*If non-nil a regexp matching groups that are really mailing lists. This is useful when you're reading a mailing list that has been @@ -241,10 +244,10 @@ See also the `mml-default-sign-method' variable." :group 'gnus-message :type 'boolean) -(defcustom gnus-message-replyencrypt - nil +(defcustom gnus-message-replyencrypt t "Automatically encrypt replies to encrypted messages. See also the `mml-default-encrypt-method' variable." + :version "24.1" :group 'gnus-message :type 'boolean) @@ -397,7 +400,6 @@ Thank you for your help in stamping out bugs. (message-mode-hook (copy-sequence message-mode-hook))) (setq mml-buffer-list nil) (add-hook 'message-header-setup-hook 'gnus-inews-insert-gcc) - (add-hook 'message-header-setup-hook 'gnus-inews-insert-archive-gcc) ;; message-newsreader and message-mailer were formerly set in ;; gnus-inews-add-send-actions, but this is too late when ;; message-generate-headers-first is used. --ansel @@ -420,7 +422,7 @@ Thank you for your help in stamping out bugs. ;; There may be an old " *gnus article copy*" buffer. (let (gnus-article-copy) (gnus-configure-posting-styles ,group))))) - (gnus-pull ',(intern gnus-draft-meta-information-header) + (gnus-alist-pull ',(intern gnus-draft-meta-information-header) message-required-headers) (when (and ,group (not (string= ,group ""))) @@ -475,7 +477,7 @@ Thank you for your help in stamping out bugs. ;;;###autoload (defun gnus-msg-mail (&optional to subject other-headers continue - switch-action yank-action send-actions) + switch-action yank-action send-actions return-action) "Start editing a mail message to be sent. Like `message-mail', but with Gnus paraphernalia, particularly the Gcc: header for archiving purposes." @@ -484,7 +486,7 @@ Gcc: header for archiving purposes." mail-buf) (gnus-setup-message 'message (message-mail to subject other-headers continue - nil yank-action send-actions)) + nil yank-action send-actions return-action)) (when switch-action (setq mail-buf (current-buffer)) (switch-to-buffer buf) @@ -578,8 +580,8 @@ If ARG is 1, prompt for a group name to find the posting style." (if arg (if (= 1 (prefix-numeric-value arg)) (gnus-group-completing-read - "Use posting style of group: " - nil nil (gnus-read-active-file-p)) + "Use posting style of group" + nil (gnus-read-active-file-p)) (gnus-group-group-name)) "")) ;; #### see comment in gnus-setup-message -- drv @@ -607,8 +609,8 @@ network. The corresponding back end must have a 'request-post method." (setq gnus-newsgroup-name (if arg (if (= 1 (prefix-numeric-value arg)) - (gnus-group-completing-read "Use group: " - nil nil + (gnus-group-completing-read "Use group" + nil (gnus-read-active-file-p)) (gnus-group-group-name)) "")) @@ -628,7 +630,7 @@ a news." (let ((gnus-newsgroup-name (if arg (if (= 1 (prefix-numeric-value arg)) - (gnus-group-completing-read "Newsgroup: " nil nil + (gnus-group-completing-read "Newsgroup" nil (gnus-read-active-file-p)) (gnus-group-group-name)) "")) @@ -654,8 +656,8 @@ posting style." (setq gnus-newsgroup-name (if arg (if (= 1 (prefix-numeric-value arg)) - (gnus-group-completing-read "Use group: " - nil nil + (gnus-group-completing-read "Use group" + nil (gnus-read-active-file-p)) "") gnus-newsgroup-name)) @@ -684,8 +686,8 @@ network. The corresponding back end must have a 'request-post method." (setq gnus-newsgroup-name (if arg (if (= 1 (prefix-numeric-value arg)) - (gnus-group-completing-read "Use group: " - nil nil + (gnus-group-completing-read "Use group" + nil (gnus-read-active-file-p)) "") gnus-newsgroup-name)) @@ -710,7 +712,7 @@ a news." (let ((gnus-newsgroup-name (if arg (if (= 1 (prefix-numeric-value arg)) - (gnus-group-completing-read "Newsgroup: " nil nil + (gnus-group-completing-read "Newsgroup" nil (gnus-read-active-file-p)) "") gnus-newsgroup-name)) @@ -826,7 +828,6 @@ header line with the old Message-ID." (gnus-summary-mark-as-read ,article gnus-canceled-mark))))) message-send-actions) ;; Add Gcc header. - (gnus-inews-insert-archive-gcc) (gnus-inews-insert-gcc)))) @@ -1028,8 +1029,8 @@ If SILENT, don't prompt the user." gnus-last-posting-server) ;; Just use the last value. gnus-last-posting-server - (completing-read - "Posting method: " method-alist nil t + (gnus-completing-read + "Posting method" (mapcar 'car method-alist) t (cons (or gnus-last-posting-server "") 0)))) method-alist)))) ;; Override normal method. @@ -1265,7 +1266,8 @@ For the `inline' alternatives, also see the variable (dolist (article (gnus-summary-work-articles n)) (gnus-summary-select-article nil nil nil article) (with-current-buffer gnus-original-article-buffer - (message-resend address)) + (let ((gnus-gcc-externalize-attachments nil)) + (message-resend address))) (gnus-summary-mark-article-as-forwarded article))) ;; From: Matthieu Moy <Matthieu.Moy@imag.fr> @@ -1293,7 +1295,6 @@ composing a new message." (goto-char (point-max)) (insert mail-header-separator) ;; Add Gcc header. - (gnus-inews-insert-archive-gcc) (gnus-inews-insert-gcc) (goto-char (point-min)) (when (re-search-forward "^To:\\|^Newsgroups:" nil 'move) @@ -1306,24 +1307,6 @@ See `gnus-summary-mail-forward' for ARG." (interactive "P") (gnus-summary-mail-forward arg t)) -(defvar gnus-nastygram-message - "The following article was inappropriately posted to %s.\n\n" - "Format string to insert in nastygrams. -The current group name will be inserted at \"%s\".") - -(defun gnus-summary-mail-nastygram (n) - "Send a nastygram to the author of the current article." - (interactive "P") - (when (or gnus-expert-user - (gnus-y-or-n-p - "Really send a nastygram to the author of the current article? ")) - (let ((group gnus-newsgroup-name)) - (gnus-summary-reply-with-original n) - (set-buffer gnus-message-buffer) - (message-goto-body) - (insert (format gnus-nastygram-message group)) - (message-send-and-exit)))) - (defun gnus-summary-mail-crosspost-complaint (n) "Send a complaint about crossposting to the current article(s)." (interactive "P") @@ -1487,7 +1470,7 @@ If YANK is non-nil, include the original article." (defun gnus-summary-yank-message (buffer n) "Yank the current article into a composed message." (interactive - (list (completing-read "Buffer: " (mapcar 'list (message-buffers)) nil t) + (list (gnus-completing-read "Buffer" (message-buffers) t) current-prefix-arg)) (gnus-summary-iterate n (let ((gnus-inhibit-treatment t)) @@ -1579,7 +1562,6 @@ this is a reply." (gnus-setup-message 'compose-bounce (message-bounce) ;; Add Gcc header. - (gnus-inews-insert-archive-gcc) (gnus-inews-insert-gcc) ;; If there are references, we fetch the article we answered to. (when parent @@ -1627,7 +1609,7 @@ this is a reply." (unless (gnus-check-server method) (error "Can't open server %s" (if (stringp method) method (car method)))) - (unless (gnus-request-group group nil method) + (unless (gnus-request-group group t method) (gnus-request-create-group group method)) (setq mml-externalize-attachments (if (stringp gnus-gcc-externalize-attachments) @@ -1693,44 +1675,13 @@ this is a reply." (gnus-group-mark-article-read group (cdr group-art))) (kill-buffer (current-buffer))))))))) -(defun gnus-inews-insert-gcc () - "Insert Gcc headers based on `gnus-outgoing-message-group'." - (save-excursion - (save-restriction - (message-narrow-to-headers) - (let* ((group gnus-outgoing-message-group) - (gcc (cond - ((functionp group) - (funcall group)) - ((or (stringp group) (listp group)) - group)))) - (when gcc - (insert "Gcc: " - (if (stringp gcc) - (if (string-match " " gcc) - (concat "\"" gcc "\"") - gcc) - (mapconcat (lambda (group) - (if (string-match " " group) - (concat "\"" group "\"") - group)) - gcc " ")) - "\n")))))) - -(defun gnus-inews-insert-archive-gcc (&optional group) +(defun gnus-inews-insert-gcc (&optional group) "Insert the Gcc to say where the article is to be archived." - (setq group (cond (group - (gnus-group-decoded-name group)) - (gnus-newsgroup-name - (gnus-group-decoded-name gnus-newsgroup-name)) - (t - ""))) - (let* ((var gnus-message-archive-group) + (let* ((group (or group gnus-newsgroup-name)) + (group (when group (gnus-group-decoded-name group))) + (var (or gnus-outgoing-message-group gnus-message-archive-group)) (gcc-self-val - (and gnus-newsgroup-name - (not (equal gnus-newsgroup-name "")) - (gnus-group-find-parameter - gnus-newsgroup-name 'gcc-self))) + (and group (gnus-group-find-parameter group 'gcc-self))) result (groups (cond @@ -1890,7 +1841,11 @@ this is a reply." (setq v (cond ((stringp value) - value) + (if (and (stringp match) + (gnus-string-match-p "\\\\[&[:digit:]]" value) + (match-beginning 1)) + (gnus-match-substitute-replacement value nil nil group) + value)) ((or (symbolp value) (functionp value)) (cond ((functionp value) @@ -1989,5 +1944,4 @@ this is a reply." (provide 'gnus-msg) -;; arch-tag: 9f22b2f5-1c0a-49de-916e-4c88e984852b ;;; gnus-msg.el ends here |