emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-25 124f180 2/3: Improve EUDC to BBDB 3 export


From: Thomas Fitzsimmons
Subject: [Emacs-diffs] emacs-25 124f180 2/3: Improve EUDC to BBDB 3 export
Date: Mon, 23 Nov 2015 02:37:57 +0000

branch: emacs-25
commit 124f1807c4b7beafedde654dcd298ae92caf5b09
Author: Thomas Fitzsimmons <address@hidden>
Commit: Thomas Fitzsimmons <address@hidden>

    Improve EUDC to BBDB 3 export
    
    * eudc-vars.el (eudc-ldap-bbdb-conversion-alist): Change phone
    entry to single item.  Add company conversion.
    * eudc-export.el (eudc-bbdbify-company): New function.
    (bbdb-parse-phone): Declare function.
    (eudc-bbdbify-phone): Add BBDB 3 support.
    (Bug#21971)
---
 lisp/net/eudc-export.el |    9 ++++++++-
 lisp/net/eudc-vars.el   |    3 ++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/lisp/net/eudc-export.el b/lisp/net/eudc-export.el
index a65f555..a9fac51 100644
--- a/lisp/net/eudc-export.el
+++ b/lisp/net/eudc-export.el
@@ -167,8 +167,13 @@ LOCATION is used as the address location for bbdb."
 ;; External.
 (declare-function bbdb-parse-phone-number "ext:bbdb-com"
                   (string &optional number-type))
+(declare-function bbdb-parse-phone "ext:bbdb-com" (string &optional style))
 (declare-function bbdb-string-trim "ext:bbdb" (string))
 
+(defun eudc-bbdbify-company (&rest organizations)
+  "Return ORGANIZATIONS as a list compatible with BBDB."
+  organizations)
+
 (defun eudc-bbdbify-phone (phone location)
   "Parse PHONE into a vector compatible with BBDB.
 PHONE is either a string supposedly containing a phone number or
@@ -179,7 +184,9 @@ LOCATION is used as the phone location for BBDB."
    ((stringp phone)
     (let (phone-list)
       (condition-case err
-         (setq phone-list (bbdb-parse-phone-number phone))
+         (setq phone-list (if (eudc--using-bbdb-3-or-newer-p)
+                              (bbdb-parse-phone phone)
+                            (bbdb-parse-phone-number phone)))
        (error
         (if (string= "phone number unparsable." (cadr err))
             (if (not (y-or-n-p (format "BBDB claims %S to be 
unparsable--insert anyway? " phone)))
diff --git a/lisp/net/eudc-vars.el b/lisp/net/eudc-vars.el
index 8cffa8e..a08d175 100644
--- a/lisp/net/eudc-vars.el
+++ b/lisp/net/eudc-vars.el
@@ -369,7 +369,8 @@ BBDB fields.  SPECs are sexps which are evaluated:
   '((name . cn)
     (net . mail)
     (address . (eudc-bbdbify-address postaladdress "Address"))
-    (phone . ((eudc-bbdbify-phone telephonenumber "Phone"))))
+    (phone . (eudc-bbdbify-phone telephonenumber "Phone"))
+    (company . (eudc-bbdbify-company o)))
   "A mapping from BBDB to LDAP attributes.
 This is a list of cons cells (BBDB-FIELD . SPEC-OR-LIST) where
 BBDB-FIELD is the name of a field that must be defined in your BBDB



reply via email to

[Prev in Thread] Current Thread [Next in Thread]