mu4e-contacts: add mu4e-personal-or-alternative-address-or-empty-p
This can be used as a workaround for #2680. Fixes #2680.
This commit is contained in:
@ -149,25 +149,39 @@ with both the plain addresses and /regular expressions/."
|
|||||||
(eq t (compare-strings addr nil nil m nil nil 'case-insensitive))))
|
(eq t (compare-strings addr nil nil m nil nil 'case-insensitive))))
|
||||||
(mu4e-personal-addresses))))
|
(mu4e-personal-addresses))))
|
||||||
|
|
||||||
|
|
||||||
(defun mu4e-personal-or-alternative-address-p (addr)
|
(defun mu4e-personal-or-alternative-address-p (addr)
|
||||||
"Is ADDR either a personal or an alternative address?
|
"Is ADDR either a personal or an alternative address?
|
||||||
|
|
||||||
That is, does it match either `mu4e-personal-address-p' or
|
That is, does it match either `mu4e-personal-address-p' or
|
||||||
`message-alternative-emails'.
|
`message-alternative-emails'.
|
||||||
|
|
||||||
Note that this expanded definition of user-addresses not used for
|
Note that this expanded definition of user-addresses is only used
|
||||||
indexing mu does not know about `message-alternative-emails' so
|
in emacs, not in `mu' (e.g. when indexing).
|
||||||
it cannot use it for indexing."
|
|
||||||
|
Also see `mu4e-personal-or-alternative-address-or-empty-p'."
|
||||||
(let ((alts message-alternative-emails))
|
(let ((alts message-alternative-emails))
|
||||||
(or (mu4e-personal-address-p addr)
|
(or (mu4e-personal-address-p addr)
|
||||||
(cond
|
(cond
|
||||||
((functionp alts) (funcall alts addr))
|
((functionp alts) (funcall alts addr))
|
||||||
((stringp alts) (string-match alts addr))
|
((stringp alts) (string-match alts addr))
|
||||||
(t nil)))))
|
(t nil)))))
|
||||||
|
|
||||||
|
(defun mu4e-personal-or-alternative-address-or-empty-p (addr)
|
||||||
|
"Is ADDR either a personal, alternative address or nil?
|
||||||
|
|
||||||
|
This is like `mu4e-personal-or-alternative-address-p' but also
|
||||||
|
return t for _empty_ ADDR. This can be useful for use with
|
||||||
|
`message-dont-reply-to-names' since it can receive empty strings;
|
||||||
|
those can be filtered-out by returning t here.
|
||||||
|
|
||||||
|
See #2680 for further details. "
|
||||||
|
(or (and addr (string= addr ""))
|
||||||
|
(mu4e-personal-or-alternative-address-p addr)))
|
||||||
|
|
||||||
|
|
||||||
;; Helpers
|
;; Helpers
|
||||||
|
|
||||||
|
|
||||||
;;; RFC2822 handling of phrases in mail-addresses
|
;;; RFC2822 handling of phrases in mail-addresses
|
||||||
;;
|
;;
|
||||||
;; The optional display-name contains a phrase, it sits before the
|
;; The optional display-name contains a phrase, it sits before the
|
||||||
|
|||||||
Reference in New Issue
Block a user