diff options
author | Thomas Fitzsimmons <fitzsim@fitzsim.org> | 2015-11-22 11:29:13 -0500 |
---|---|---|
committer | Thomas Fitzsimmons <fitzsim@fitzsim.org> | 2015-11-22 20:56:22 -0500 |
commit | 124f1807c4b7beafedde654dcd298ae92caf5b09 (patch) | |
tree | 32f0b2b03b2c01cf898a11d8a41ee8d0a86bdd27 | |
parent | 43d2e55fc17336b33a1581adf60179ff07ad580c (diff) | |
download | emacs-124f1807c4b7beafedde654dcd298ae92caf5b09.tar.gz |
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)
-rw-r--r-- | lisp/net/eudc-export.el | 9 | ||||
-rw-r--r-- | 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 a65f555f89e..a9fac516745 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 8cffa8e466a..a08d175fd6e 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 |