X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fmessage.el;h=0cce8e008c31cc8cc09399704659c6feb2d525c0;hb=f9e54240fc63f1ead8962e2afbc9b75e53994cd5;hp=3ef64c852270e719efacd6dd12c64eeca08c6686;hpb=1311bf688b89ba0f4428dd4cf205416bbd55b811;p=elisp%2Fgnus.git- diff --git a/lisp/message.el b/lisp/message.el index 3ef64c8..0cce8e0 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -444,7 +444,7 @@ The provided functions are: (defcustom message-cite-prefix-regexp (if (string-match "[[:digit:]]" "1") ;; support POSIX? - "\\([ \t]*[-_.[:word:]]+>+\\|[ \t]*[]>»|:}+]\\)+" + "\\([ \t]*[-_.[:word:]]+>+\\|[ \t]*[]>»|:}+]\\)+" ;; ?-, ?_ or ?. MUST NOT be in syntax entry w. "\\([ \t]*\\(\\w\\|[-_.]\\)+>+\\|[ \t]*[]>»|:}+]\\)+") "*Regexp matching the longest possible citation prefix on a line." @@ -697,6 +697,12 @@ an article is yanked by the command `message-yank-original' interactively." (integer :tag "Position from last ID")) :group 'message-insertion) +(defcustom message-yank-cited-prefix ">" + "*Prefix inserted on cited lines of yanked messages. +Fix `message-cite-prefix-regexp' if it is set to an abnormal value." + :type 'string + :group 'message-insertion) + (defcustom message-indentation-spaces 3 "*Number of spaces to insert at the beginning of each cited line. Used by `message-yank-original' via `message-yank-cite'." @@ -1339,6 +1345,16 @@ Except if it is nil, use Gnus native MUA; if it is t, use :version "21.1" :group 'message) +(defcustom message-wide-reply-confirm-recipients nil + "Whether to confirm a wide reply to multiple email recipients. +If this variable is nil, don't ask whether to reply to all recipients. +If this variable is non-nil, pose the question \"Reply to all +recipients?\" before a wide reply to multiple recipients. If the user +answers yes, reply to all recipients as usual. If the user answers +no, only reply back to the author." + :group 'message-headers + :type 'boolean) + ;;; Internal variables. (defvar message-sending-message "Sending...") @@ -1990,7 +2006,7 @@ M-RET `message-newline-and-reformat' (break the line and reformat)." (defun message-setup-fill-variables () "Setup message fill variables." - (set (make-local-variable 'fill-paragraph-function) + (set (make-local-variable 'fill-paragraph-function) 'message-fill-paragraph) (make-local-variable 'paragraph-separate) (make-local-variable 'paragraph-start) @@ -2490,7 +2506,9 @@ However, if `message-yank-prefix' is non-nil, insert that prefix on each line." (save-excursion (goto-char start) (while (< (point) (mark t)) - (insert message-yank-prefix) + (if (looking-at message-cite-prefix-regexp) + (insert message-yank-cited-prefix) + (insert message-yank-prefix)) (forward-line 1)))) (goto-char start))) @@ -4751,7 +4769,7 @@ OTHER-HEADERS is an alist of header/value pairs." (nconc `((To . ,(or to "")) (Subject . ,(or subject ""))) (when other-headers other-headers)) - replybuffer) + replybuffer send-actions) ;; FIXME: Should return nil if failure. t)) @@ -4867,7 +4885,7 @@ often used to direct the following discussion to one list only, because discussions that are spread over several lists tend to be fragmented and very difficult to follow. -Also, some source/announcement lists are not indented for discussion; +Also, some source/announcement lists are not intended for discussion; responses here are directed to other addresses."))) (insert mft) (unless never-mct @@ -4900,7 +4918,12 @@ responses here are directed to other addresses."))) (lambda (addr) (cdr addr)) ccalist ", ")))) (when (string-match "^ +" (cdr ccs)) (setcdr ccs (substring (cdr ccs) (match-end 0)))) - (push ccs follow-to))))) + (push ccs follow-to))) + ;; Allow the user to be asked whether or not to reply to all + ;; recipients in a wide reply. + (if (and ccalist wide message-wide-reply-confirm-recipients + (not (y-or-n-p "Reply to all recipients?"))) + (setq follow-to (delq (assoc 'Cc follow-to) follow-to))))) follow-to)) ;;;###autoload @@ -5088,7 +5111,7 @@ used to direct the following discussion to one newsgroup only, because discussions that are spread over several newsgroup tend to be fragmented and very difficult to follow. -Also, some source/announcement newsgroups are not indented for discussion; +Also, some source/announcement newsgroups are not intended for discussion; responses here are directed to other newsgroups.")) (setq follow-to (list (cons 'Newsgroups followup-to))) (setq follow-to (list (cons 'Newsgroups newsgroups))))))) @@ -5733,13 +5756,9 @@ regexp varstr." (if (catch 'mime-edit-error (save-excursion (mime-edit-pgp-enclose-buffer) - (mime-edit-translate-body) - )) - (error "Translation error!") - ) - (end-of-invisible) - (run-hooks 'mime-edit-exit-hook) - )) + (mime-edit-translate-body))) + (error "Translation error!")) + (run-hooks 'mime-edit-exit-hook))) (defun message-mime-insert-article (&optional full-headers) (interactive "P")