branch: externals/ebdb
commit 2b27fcca0fd36e071aa4dfceae0aaeae9765e258
Author: Eric Abrahamsen <e...@ericabrahamsen.net>
Commit: Eric Abrahamsen <e...@ericabrahamsen.net>

    Be more careful about testing against user mail addresses
    
    * ebdb-mua.el (ebdb-mua-test-headers): This can derail the whole
      process if works incorrectly (eg, user has no mail address), so put
      more thorough checks in place.
---
 ebdb-mua.el | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/ebdb-mua.el b/ebdb-mua.el
index f82d49e..0869919 100644
--- a/ebdb-mua.el
+++ b/ebdb-mua.el
@@ -227,7 +227,7 @@ accordingly."
        ((eq ebdb-user-mail-address-re 'self)
         (let ((self-rec (ebdb-record-self)))
           (unless self-rec
-            (user-error "`ebdb-user-mail-address-re' set to 'self, but 
`ebdb-record-self' is not set.? "))
+            (user-error "`ebdb-user-mail-address-re' set to 'self, but 
`ebdb-record-self' is not set"))
           (setq ebdb-user-mail-address-re
                 (regexp-opt (slot-value
                              (ebdb-record-cache self-rec)
@@ -598,13 +598,14 @@ HEADER-TYPE, as well as the IGNORE-ADDRESS argument, and 
the
 variables `ebdb-user-mail-address-re',
 `ebdb-accept-header-alist', and `ebdb-ignore-header-alist'."
   (let ((name (car address-parts))
-       (mail (cadr address-parts)))
+       (mail (cadr address-parts))
+       (user-mail (ebdb-get-user-mail-address-re)))
     (and (null (or (and (stringp ignore-address)
                        (or (and name (string-match-p ignore-address name))
                            (and mail (string-match-p ignore-address mail))))
-                  (string-match-p
-                   (ebdb-get-user-mail-address-re)
-                   mail)))
+                  (and (stringp user-mail)
+                       (null (string-empty-p user-mail))
+                       (string-match-p user-mail mail))))
         (cond ((null (or ebdb-accept-header-alist
                          ebdb-ignore-header-alist))
                t)

Reply via email to