aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Fitzsimmons2015-11-22 11:29:13 -0500
committerThomas Fitzsimmons2015-11-22 20:56:22 -0500
commit124f1807c4b7beafedde654dcd298ae92caf5b09 (patch)
tree32f0b2b03b2c01cf898a11d8a41ee8d0a86bdd27
parent43d2e55fc17336b33a1581adf60179ff07ad580c (diff)
downloademacs-124f1807c4b7beafedde654dcd298ae92caf5b09.tar.gz
emacs-124f1807c4b7beafedde654dcd298ae92caf5b09.zip
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.el9
-rw-r--r--lisp/net/eudc-vars.el3
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."
167;; External. 167;; External.
168(declare-function bbdb-parse-phone-number "ext:bbdb-com" 168(declare-function bbdb-parse-phone-number "ext:bbdb-com"
169 (string &optional number-type)) 169 (string &optional number-type))
170(declare-function bbdb-parse-phone "ext:bbdb-com" (string &optional style))
170(declare-function bbdb-string-trim "ext:bbdb" (string)) 171(declare-function bbdb-string-trim "ext:bbdb" (string))
171 172
173(defun eudc-bbdbify-company (&rest organizations)
174 "Return ORGANIZATIONS as a list compatible with BBDB."
175 organizations)
176
172(defun eudc-bbdbify-phone (phone location) 177(defun eudc-bbdbify-phone (phone location)
173 "Parse PHONE into a vector compatible with BBDB. 178 "Parse PHONE into a vector compatible with BBDB.
174PHONE is either a string supposedly containing a phone number or 179PHONE is either a string supposedly containing a phone number or
@@ -179,7 +184,9 @@ LOCATION is used as the phone location for BBDB."
179 ((stringp phone) 184 ((stringp phone)
180 (let (phone-list) 185 (let (phone-list)
181 (condition-case err 186 (condition-case err
182 (setq phone-list (bbdb-parse-phone-number phone)) 187 (setq phone-list (if (eudc--using-bbdb-3-or-newer-p)
188 (bbdb-parse-phone phone)
189 (bbdb-parse-phone-number phone)))
183 (error 190 (error
184 (if (string= "phone number unparsable." (cadr err)) 191 (if (string= "phone number unparsable." (cadr err))
185 (if (not (y-or-n-p (format "BBDB claims %S to be unparsable--insert anyway? " phone))) 192 (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:
369 '((name . cn) 369 '((name . cn)
370 (net . mail) 370 (net . mail)
371 (address . (eudc-bbdbify-address postaladdress "Address")) 371 (address . (eudc-bbdbify-address postaladdress "Address"))
372 (phone . ((eudc-bbdbify-phone telephonenumber "Phone")))) 372 (phone . (eudc-bbdbify-phone telephonenumber "Phone"))
373 (company . (eudc-bbdbify-company o)))
373 "A mapping from BBDB to LDAP attributes. 374 "A mapping from BBDB to LDAP attributes.
374This is a list of cons cells (BBDB-FIELD . SPEC-OR-LIST) where 375This is a list of cons cells (BBDB-FIELD . SPEC-OR-LIST) where
375BBDB-FIELD is the name of a field that must be defined in your BBDB 376BBDB-FIELD is the name of a field that must be defined in your BBDB