[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