emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs-25 43d2e55 1/3: Add BBDB 3 support for EUDC export


From: Thomas Fitzsimmons
Subject: [Emacs-diffs] emacs-25 43d2e55 1/3: Add BBDB 3 support for EUDC export
Date: Mon, 23 Nov 2015 02:37:57 +0000

branch: emacs-25
commit 43d2e55fc17336b33a1581adf60179ff07ad580c
Author: Thomas Fitzsimmons <address@hidden>
Commit: Thomas Fitzsimmons <address@hidden>

    Add BBDB 3 support for EUDC export
    
    * eudc.el: Add bbdb-version defvar.
    (eudc--using-bbdb-3-or-newer-p): New function.
    * eudc-export.el (eudc-create-bbdb-record): Add support for
    bbdb-create-internal argument list changes introduced in BBDB 3.
    * eudcb-bbdb.el: Remove bbdb-version defvar.
    (eudc-bbdb-field): Call eudc--using-bbdb-3-or-newer-p.
    (Bug#21971)
---
 lisp/net/eudc-export.el |   19 +++++++++++++------
 lisp/net/eudc.el        |   12 ++++++++++++
 lisp/net/eudcb-bbdb.el  |   10 +---------
 3 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/lisp/net/eudc-export.el b/lisp/net/eudc-export.el
index c60911f..a65f555 100644
--- a/lisp/net/eudc-export.el
+++ b/lisp/net/eudc-export.el
@@ -86,12 +86,19 @@ If SILENT is non-nil then the created BBDB record is not 
displayed."
                                              (cons (car mapping) value))))
                                       conversion-alist)))
       (setq bbdb-notes (delq nil bbdb-notes))
-      (setq bbdb-record (bbdb-create-internal bbdb-name
-                                             bbdb-company
-                                             bbdb-net
-                                             bbdb-address
-                                             bbdb-phones
-                                             bbdb-notes))
+      (setq bbdb-record (bbdb-create-internal
+                        bbdb-name
+                        ,@(when (eudc--using-bbdb-3-or-newer-p)
+                            '(nil
+                              nil))
+                        bbdb-company
+                        bbdb-net
+                        ,@(if (eudc--using-bbdb-3-or-newer-p)
+                              '(bbdb-phones
+                                bbdb-address)
+                            '(bbdb-address
+                              bbdb-phones))
+                        bbdb-notes))
       (or silent
          (bbdb-display-records (list bbdb-record))))))
 
diff --git a/lisp/net/eudc.el b/lisp/net/eudc.el
index 7280d9d..25a26bd 100644
--- a/lisp/net/eudc.el
+++ b/lisp/net/eudc.el
@@ -107,6 +107,18 @@
 ;; attribute name
 (defvar eudc-protocol-has-default-query-attributes nil)
 
+(defvar bbdb-version)
+
+(defun eudc--using-bbdb-3-or-newer-p ()
+  "Return non-nil if BBDB version is 3 or greater."
+  (or
+   ;; MELPA versions of BBDB may have a bad package version, but
+   ;; they're all version 3 or later.
+   (equal bbdb-version "@PACKAGE_VERSION@")
+   ;; Development versions of BBDB can have the format "X.YZ devo".
+   ;; Split the string just in case.
+   (version<= "3" (car (split-string bbdb-version)))))
+
 (defun eudc-plist-member (plist prop)
   "Return t if PROP has a value specified in PLIST."
   (if (not (= 0 (% (length plist) 2)))
diff --git a/lisp/net/eudcb-bbdb.el b/lisp/net/eudcb-bbdb.el
index 0545304..1972fc1 100644
--- a/lisp/net/eudcb-bbdb.el
+++ b/lisp/net/eudcb-bbdb.el
@@ -42,21 +42,13 @@
 (defvar eudc-bbdb-current-query nil)
 (defvar eudc-bbdb-current-return-attributes nil)
 
-(defvar bbdb-version)
-
 (defun eudc-bbdb-field (field-symbol)
   "Convert FIELD-SYMBOL so that it is recognized by the current BBDB version.
 BBDB < 3 used `net'; BBDB >= 3 uses `mail'."
   ;; This just-in-time translation permits upgrading from BBDB 2 to
   ;; BBDB 3 without restarting Emacs.
   (if (and (eq field-symbol 'net)
-          (or
-           ;; MELPA versions of BBDB may have a bad package version,
-           ;; but they're all version 3 or later.
-           (equal bbdb-version "@PACKAGE_VERSION@")
-           ;; Development versions of BBDB can have the format "X.YZ
-           ;; devo".  Split the string just in case.
-           (version<= "3" (car (split-string bbdb-version)))))
+          (eudc--using-bbdb-3-or-newer-p))
       'mail
     field-symbol))
 



reply via email to

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