EUDC: Support BBDB >= 3
Fixes: bug#19678 Co-authored-by: Thomas Fitzsimmons <fitzsim@fitzsim.org> * net/eudcb-bbdb.el (eudc-bbdb-field): New function. (eudc-bbdb-filter-non-matching-record): Call eudc-bbdb-field. (eudc-bbdb-format-record-as-result): Likewise.
This commit is contained in:
parent
6b134bcba9
commit
6df13146cc
2 changed files with 29 additions and 2 deletions
|
@ -1,3 +1,10 @@
|
|||
2015-03-06 Sergio Durigan Junior <sergiodj@sergiodj.net>
|
||||
Thomas Fitzsimmons <fitzsim@fitzsim.org>
|
||||
|
||||
* net/eudcb-bbdb.el (eudc-bbdb-field): New function.
|
||||
(eudc-bbdb-filter-non-matching-record): Call eudc-bbdb-field.
|
||||
(eudc-bbdb-format-record-as-result): Likewise.
|
||||
|
||||
2015-03-08 Dmitry Gutov <dgutov@yandex.ru>
|
||||
|
||||
* progmodes/ruby-mode.el (ruby-font-lock-keywords): Use
|
||||
|
|
|
@ -42,6 +42,24 @@
|
|||
(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)))))
|
||||
'mail
|
||||
field-symbol))
|
||||
|
||||
(defvar eudc-bbdb-attributes-translation-alist
|
||||
'((name . lastname)
|
||||
(email . net)
|
||||
|
@ -85,7 +103,9 @@
|
|||
(progn
|
||||
(setq bbdb-val
|
||||
(eval (list (intern (concat "bbdb-record-"
|
||||
(symbol-name attr)))
|
||||
(symbol-name
|
||||
(eudc-bbdb-field
|
||||
attr))))
|
||||
'record)))
|
||||
(if (listp bbdb-val)
|
||||
(if eudc-bbdb-enable-substring-matches
|
||||
|
@ -168,7 +188,7 @@ The record is filtered according to `eudc-bbdb-current-return-attributes'"
|
|||
(setq val (eval
|
||||
(list (intern
|
||||
(concat "bbdb-record-"
|
||||
(symbol-name attr)))
|
||||
(symbol-name (eudc-bbdb-field attr))))
|
||||
'record))))
|
||||
(t
|
||||
(error "Unknown BBDB attribute")))
|
||||
|
|
Loading…
Add table
Reference in a new issue