* nnshimbun.el (nnshimbun-request-expire-articles): Don't refer to the
[elisp/gnus.git-] / lisp / message.el
index 3ef64c8..0cce8e0 100644 (file)
@@ -444,7 +444,7 @@ The provided functions are:
 
 (defcustom message-cite-prefix-regexp
   (if (string-match "[[:digit:]]" "1") ;; support POSIX?
 
 (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."
     ;; ?-, ?_ 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)
 
                (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'."
 (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)
 
   :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...")
 ;;; 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."
 
 (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)
        '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))
       (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)))
 
          (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))
      (nconc
       `((To . ,(or to "")) (Subject . ,(or subject "")))
       (when other-headers other-headers))
-     replybuffer)
+     replybuffer send-actions)
     ;; FIXME: Should return nil if failure.
     t))
 
     ;; 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.
 
 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
 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))))
                                (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
     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.
 
 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)))))))
 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)
     (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")
 
 (defun message-mime-insert-article (&optional full-headers)
   (interactive "P")