-;;; eudc.el --- Emacs Unified Directory Client -*- coding: utf-8 -*-
+;;; eudc.el --- Emacs Unified Directory Client
-;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2016 Free Software Foundation, Inc.
;; Author: Oscar Figueiredo <oscar@cpe.fr>
;; Pavel JanÃk <Pavel@Janik.cz>
(require 'wid-edit)
+(eval-when-compile (require 'cl-lib))
+
(eval-and-compile
(if (not (fboundp 'make-overlay))
(require 'overlay)))
;; 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)))
(let ((result (eudc-query (list (cons 'name name)) '(email)))
email)
(if (null (cdr result))
- (setq email (cdaar result))
+ (setq email (cl-cdaar result))
(error "Multiple match--use the query form"))
(if error
(if email
(let ((result (eudc-query (list (cons 'name name)) '(phone)))
phone)
(if (null (cdr result))
- (setq phone (cdaar result))
+ (setq phone (cl-cdaar result))
(error "Multiple match--use the query form"))
(if error
(if phone
(defun eudc-menu ()
(let (command)
- (append '("Directory Search")
+ (append '("Directory Servers")
(list
(append
'("Server")
(define-key
global-map
[menu-bar tools directory-search]
- (cons "Directory Search"
- (easy-menu-create-menu "Directory Search" (cdr (eudc-menu))))))
+ (cons "Directory Servers"
+ (easy-menu-create-menu "Directory Servers" (cdr (eudc-menu))))))
((fboundp 'easy-menu-add-item)
(let ((menu (eudc-menu)))
(easy-menu-add-item nil '("tools") (easy-menu-create-menu (car menu)
(define-key
global-map
[menu-bar tools eudc]
- (cons "Directory Search"
- (easy-menu-create-keymaps "Directory Search" (cdr (eudc-menu))))))
+ (cons "Directory Servers"
+ (easy-menu-create-keymaps "Directory Servers"
+ (cdr (eudc-menu))))))
(t
(error "Unknown version of easymenu"))))
))
(cond
((not (featurep 'xemacs))
(defvar eudc-tools-menu
- (let ((map (make-sparse-keymap "Directory Search")))
+ (let ((map (make-sparse-keymap "Directory Servers")))
(define-key map [phone]
`(menu-item ,(purecopy "Get Phone") eudc-get-phone
:help ,(purecopy "Get the phone field of name from the directory server")))
map))
(fset 'eudc-tools-menu (symbol-value 'eudc-tools-menu)))
(t
- (let ((menu '("Directory Search"
+ (let ((menu '("Directory Servers"
["Load Hotlist of Servers" eudc-load-eudc t]
["New Server" eudc-set-server t]
["---" nil nil]
(define-key
global-map
[menu-bar tools eudc]
- (cons "Directory Search"
- (easy-menu-create-keymaps "Directory Search"
+ (cons "Directory Servers"
+ (easy-menu-create-keymaps "Directory Servers"
(cdr menu)))))))))))
;;}}}