From: Glenn Morris Date: Tue, 14 Feb 2017 07:36:17 +0000 (-0800) Subject: Remove overly broad element from default mail-dont-reply-to-names X-Git-Tag: emacs-26.0.90~836 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3f383a4668e6b9e45067389c997a5b1f4cddd3fd;p=emacs.git Remove overly broad element from default mail-dont-reply-to-names * lisp/mail/mail-utils.el (mail-dont-reply-to): Do not include just "user@" in mail-dont-reply-to-names, and simplify. Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html * lisp/gnus/message.el (message-dont-reply-to-names): Doc fix. * doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names. --- diff --git a/doc/misc/message.texi b/doc/misc/message.texi index 27a159d4a9a..bbdef4a8629 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi @@ -185,8 +185,8 @@ but you can change the behavior to suit your needs by fiddling with the @vindex message-dont-reply-to-names Addresses that match the @code{message-dont-reply-to-names} regular expression (or list of regular expressions or a predicate function) -will be removed from the @code{Cc} header. A value of @code{nil} means -exclude your name only. +will be removed from the @code{Cc} header. A value of @code{nil} means +to exclude only your email address. @vindex message-prune-recipient-rules @code{message-prune-recipient-rules} is used to prune the addresses diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index ce0dad9cb05..28192691228 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -1358,7 +1358,7 @@ If nil, you might be asked to input the charset." (defcustom message-dont-reply-to-names mail-dont-reply-to-names "Addresses to prune when doing wide replies. This can be a regexp, a list of regexps or a predicate function. -Also, a value of nil means exclude your own user name only. +Also, a value of nil means exclude `user-mail-address' only. If a function email is passed as the argument." :version "24.3" diff --git a/lisp/mail/mail-utils.el b/lisp/mail/mail-utils.el index 3cadf12af1f..c23af873650 100644 --- a/lisp/mail/mail-utils.el +++ b/lisp/mail/mail-utils.el @@ -237,21 +237,12 @@ comma-separated list, and return the pruned list." ;; Or just set the default directly in the defcustom. (if (null mail-dont-reply-to-names) (setq mail-dont-reply-to-names - (concat ;; `rmail-default-dont-reply-to-names' is obsolete. - (if (bound-and-true-p rmail-default-dont-reply-to-names) - (concat rmail-default-dont-reply-to-names "\\|") - "") - (if (and user-mail-address - (not (equal user-mail-address user-login-name))) - ;; Anchor the login name and email address so that we - ;; don't match substrings: if the login name is - ;; "foo", we shouldn't match "barfoo@baz.com". - (concat "\\`" - (regexp-quote user-mail-address) - "\\'\\|") - "") - (concat "\\`" (regexp-quote user-login-name) "@")))) + (let ((a (bound-and-true-p rmail-default-dont-reply-to-names)) + (b (if (> (length user-mail-address) 0) + (concat "\\`" (regexp-quote user-mail-address) "\\'")))) + (cond ((and a b) (concat a "\\|" b)) + ((or a b)))))) ;; Split up DESTINATIONS and match each element separately. (let ((start-pos 0) (cur-pos 0) (case-fold-search t)) @@ -271,7 +262,8 @@ comma-separated list, and return the pruned list." (setq cur-pos start-pos))) (let* ((address (substring destinations start-pos cur-pos)) (naked-address (mail-strip-quoted-names address))) - (if (string-match mail-dont-reply-to-names naked-address) + (if (and mail-dont-reply-to-names + (string-match mail-dont-reply-to-names naked-address)) (setq destinations (concat (substring destinations 0 start-pos) (and cur-pos (substring destinations (1+ cur-pos))))