mirror of https://github.com/djcb/mu.git
* mu4e: let mu4e-message-contact-field-matches accept lists of regexps to
match as well.
This commit is contained in:
parent
37f51515ed
commit
88e76d50df
|
@ -170,17 +170,24 @@ function prefers the text part, but this can be changed by setting
|
|||
"Checks whether any of the of the contacts in field
|
||||
CFIELD (either :to, :from, :cc or :bcc) of msg MSG matches (with
|
||||
their name or e-mail address) regular expressions RX. If there is a
|
||||
match, return t otherwise nil."
|
||||
match, return non-nil; otherwise return nil. RX can also be a list
|
||||
of regular expressions, in which case any of those are tried for a
|
||||
match."
|
||||
(unless (member cfield '(:to :from :bcc :cc))
|
||||
(mu4e-error "Not a contacts field (%S)" cfield))
|
||||
(when (find-if
|
||||
(lambda (ct)
|
||||
(let ((name (car ct)) (email (cdr ct)))
|
||||
(or
|
||||
(and name (string-match rx name))
|
||||
(and email (string-match rx email)))))
|
||||
(mu4e-message-field msg cfield))
|
||||
t))
|
||||
(if (listp rx)
|
||||
;; if rx is a list, try each one of them for a match
|
||||
(find-if
|
||||
(lambda (a-rx) (mu4e-message-contact-field-matches msg cfield a-rx))
|
||||
rx)
|
||||
;; not a list, check the rx
|
||||
(find-if
|
||||
(lambda (ct)
|
||||
(let ((name (car ct)) (email (cdr ct)))
|
||||
(or
|
||||
(and name (string-match rx name))
|
||||
(and email (string-match rx email)))))
|
||||
(mu4e-message-field msg cfield))))
|
||||
|
||||
|
||||
(defsubst mu4e-message-part-field (msgpart field)
|
||||
|
|
Loading…
Reference in New Issue