;;; eudc.el --- Emacs Unified Directory Client
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
;; Author: Oscar Figueiredo <oscar@cpe.fr>
;; Maintainer: Pavel JanÃk <Pavel@Janik.cz>
;; This file is part of GNU Emacs.
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This package provides a common interface to query directory servers using
(setq plist (cdr (cdr plist))))
nil))
-;; Emacs' plist-get lacks third parameter
+;; Emacs's plist-get lacks third parameter
(defun eudc-plist-get (plist prop &optional default)
"Extract a value from a property list.
PLIST is a property list, which is a list of the form
The translation is done according to
`eudc-protocol-attributes-translation-alist'."
(if eudc-protocol-attributes-translation-alist
- (mapcar '(lambda (attribute)
- (let ((trans (assq (car attribute)
- (symbol-value eudc-protocol-attributes-translation-alist))))
- (if trans
- (cons (cdr trans) (cdr attribute))
- attribute)))
+ (mapcar (lambda (attribute)
+ (let ((trans (assq (car attribute)
+ (symbol-value eudc-protocol-attributes-translation-alist))))
+ (if trans
+ (cons (cdr trans) (cdr attribute))
+ attribute)))
query)
query))
`eudc-protocol-attributes-translation-alist'."
(if eudc-protocol-attributes-translation-alist
(let (trans)
- (mapcar '(lambda (attribute)
+ (mapcar (lambda (attribute)
(setq trans (assq attribute
(symbol-value eudc-protocol-attributes-translation-alist)))
(if trans
(interactive (list
(read-from-minibuffer "Directory Server: ")
(intern (completing-read "Protocol: "
- (mapcar '(lambda (elt)
+ (mapcar (lambda (elt)
(cons (symbol-name elt)
elt))
eudc-known-protocols)))))
(setq eudc-server server)
(eudc-update-local-variables)
(run-hooks 'eudc-switch-to-server-hook)
- (if (interactive-p)
+ (if (called-interactively-p 'interactive)
(message "Current directory server is now %s (%s)" eudc-server eudc-protocol))
(if (null no-save)
(eudc-save-options)))
otherwise a list of symbols is returned."
(interactive)
(if eudc-list-attributes-function
- (let ((entries (funcall eudc-list-attributes-function (interactive-p))))
+ (let ((entries (funcall eudc-list-attributes-function
+ (called-interactively-p 'interactive))))
(if entries
- (if (interactive-p)
+ (if (called-interactively-p 'interactive)
(eudc-display-records entries t)
entries)))
(error "The %s protocol has no support for listing attributes" eudc-protocol)))
(> n 0))
(setq formats
(delq nil
- (mapcar '(lambda (format)
+ (mapcar (lambda (format)
(if (= n
(length format))
format
(let* ((end (point))
(beg (save-excursion
(if (re-search-backward "\\([:,]\\|^\\)[ \t]*"
- (save-excursion
- (beginning-of-line)
- (point))
- 'move)
+ (point-at-bol) 'move)
(goto-char (match-end 0)))
(point)))
(query-words (split-string (buffer-substring beg end) "[ \t]+"))
(or (and (equal eudc-server eudc-former-server)
(equal eudc-protocol eudc-former-protocol))
(eudc-set-server eudc-former-server eudc-former-protocol t)))
- (t
+ (error
(or (and (equal eudc-server eudc-former-server)
(equal eudc-protocol eudc-former-protocol))
(eudc-set-server eudc-former-server eudc-former-protocol t))
(defun eudc-save-options ()
"Save options to `eudc-options-file'."
(interactive)
- (save-excursion
- (set-buffer (find-file-noselect eudc-options-file t))
+ (with-current-buffer (find-file-noselect eudc-options-file t)
(goto-char (point-min))
;; delete the previous setq
(let ((standard-output (current-buffer))
(defvar eudc-tools-menu
(let ((map (make-sparse-keymap "Directory Search")))
(define-key map [phone]
- '(menu-item "Get Phone" eudc-get-phone
- :help "Get the phone field of name from the directory server"))
+ `(menu-item ,(purecopy "Get Phone") eudc-get-phone
+ :help ,(purecopy "Get the phone field of name from the directory server")))
(define-key map [email]
- '(menu-item "Get Email" eudc-get-email
- :help "Get the email field of NAME from the directory server"))
- (define-key map [separator-eudc-email] '("--"))
+ `(menu-item ,(purecopy "Get Email") eudc-get-email
+ :help ,(purecopy "Get the email field of NAME from the directory server")))
+ (define-key map [separator-eudc-email] menu-bar-separator)
(define-key map [expand-inline]
- '(menu-item "Expand Inline Query" eudc-expand-inline
- :help "Query the directory server, and expand the query string before point"))
+ `(menu-item ,(purecopy "Expand Inline Query") eudc-expand-inline
+ :help ,(purecopy "Query the directory server, and expand the query string before point")))
(define-key map [query]
- '(menu-item "Query with Form" eudc-query-form
- :help "Display a form to query the directory server"))
- (define-key map [separator-eudc-query] '("--"))
+ `(menu-item ,(purecopy "Query with Form") eudc-query-form
+ :help ,(purecopy "Display a form to query the directory server")))
+ (define-key map [separator-eudc-query] menu-bar-separator)
(define-key map [new]
- '(menu-item "New Server" eudc-set-server
- :help "Set the directory server to SERVER using PROTOCOL"))
+ `(menu-item ,(purecopy "New Server") eudc-set-server
+ :help ,(purecopy "Set the directory server to SERVER using PROTOCOL")))
(define-key map [load]
- '(menu-item "Load Hotlist of Servers" eudc-load-eudc
- :help "Load the Emacs Unified Directory Client"))
+ `(menu-item ,(purecopy "Load Hotlist of Servers") eudc-load-eudc
+ :help ,(purecopy "Load the Emacs Unified Directory Client")))
map))
(fset 'eudc-tools-menu (symbol-value 'eudc-tools-menu)))
(t
(provide 'eudc)
-;; arch-tag: e18872b6-db83-400b-869d-be54e9a4160c
;;; eudc.el ends here