+2006-05-30 Didier Verna <didier@xemacs.org>
+
+ * message.el (message-dont-reply-to-names): Update the custom type.
+ * message.el (message-dont-reply-to-names): New defsubst: potentially
+ convert a list of regexps into a single one.
+ * message.el (message-get-reply-headers): Use it.
+ * nnmail.el (nnmail-fancy-expiry-target): Ditto.
+
2006-05-30 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-agent.el (directory-files-and-attributes): Move forward.
(defcustom message-dont-reply-to-names
(and (boundp 'rmail-dont-reply-to-names) rmail-dont-reply-to-names)
- "*A regexp specifying addresses to prune when doing wide replies.
-A value of nil means exclude your own user name only."
+ "*Addresses to prune when doing wide replies.
+This can be a regexp or a list of regexps. Also, a value of nil means
+exclude your own user name only."
:version "21.1"
:group 'message
:link '(custom-manual "(message)Wide Reply")
:type '(choice (const :tag "Yourself" nil)
- regexp))
+ regexp
+ (repeat :tag "Regexp List" regexp)))
+
+;; #### FIXME: this might become a generally usefull function at some point
+;; --dlv.
+(defsubst message-dont-reply-to-names ()
+ "Potentially convert a list of regexps into a single one."
+ (cond ((null message-dont-reply-to-names)
+ nil)
+ ((stringp message-dont-reply-to-names)
+ message-dont-reply-to-names)
+ ((listp message-dont-reply-to-names)
+ (mapconcat (lambda (elt) (concat "\\(" elt "\\)"))
+ message-dont-reply-to-names
+ "\\|"))))
(defvar message-shoot-gnksa-feet nil
"*A list of GNKSA feet you are allowed to shoot.
(while (string-match "[ \t][ \t]+" recipients)
(setq recipients (replace-match " " t t recipients)))
;; Remove addresses that match `rmail-dont-reply-to-names'.
- (let ((rmail-dont-reply-to-names message-dont-reply-to-names))
+ (let ((rmail-dont-reply-to-names (message-dont-reply-to-names)))
(setq recipients (rmail-dont-reply-to recipients)))
;; Perhaps "Mail-Copies-To: never" removed the only address?
(if (string-equal recipients "")
;; To or From header
((and (equal header 'to-from)
(or (string-match (cadr regexp-target-pair) from)
- (and (string-match message-dont-reply-to-names from)
+ (and (string-match (message-dont-reply-to-names) from)
(string-match (cadr regexp-target-pair) to))))
(setq target (format-time-string (caddr regexp-target-pair) date)))
((and (not (equal header 'to-from))
+2006-05-30 Didier Verna <didier@xemacs.org>
+
+ * message.texi (Wide Reply): Update documentation of
+ message-dont-reply-to-names (now allowing a list of regexps).
+
2006-05-29 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus.texi (Saving Articles): Addition.
@vindex message-dont-reply-to-names
Addresses that match the @code{message-dont-reply-to-names} regular
-expression will be removed from the @code{Cc} header.
+expression (or list of regular expressions) will be removed from the
+@code{Cc} header. A value of @code{nil} means exclude your name only.
@vindex message-wide-reply-confirm-recipients
If @code{message-wide-reply-confirm-recipients} is non-@code{nil} you