X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/0bb2392728c10748f3376f8cef6d9ca53e29f464..7e09ef09a479731d01b1ca46e94ddadd73ac98e3:/lisp/net/ldap.el diff --git a/lisp/net/ldap.el b/lisp/net/ldap.el index a45cc5500c..eb1b7589b4 100644 --- a/lisp/net/ldap.el +++ b/lisp/net/ldap.el @@ -1,9 +1,9 @@ ;;; ldap.el --- client interface to LDAP for Emacs -;; Copyright (C) 1998-2011 Free Software Foundation, Inc. +;; Copyright (C) 1998-2015 Free Software Foundation, Inc. ;; Author: Oscar Figueiredo -;; Maintainer: FSF +;; Maintainer: emacs-devel@gnu.org ;; Created: April 1998 ;; Keywords: comm @@ -34,7 +34,6 @@ ;;; Code: (require 'custom) -(eval-when-compile (require 'cl)) (autoload 'auth-source-search "auth-source") @@ -465,12 +464,12 @@ Additional search parameters can be specified through (error "No LDAP host specified")) (let ((host-plist (cdr (assoc host ldap-host-parameters-alist))) result) - (setq result (ldap-search-internal (list* 'host host - 'filter filter - 'attributes attributes - 'attrsonly attrsonly - 'withdn withdn - host-plist))) + (setq result (ldap-search-internal `(host ,host + filter ,filter + attributes ,attributes + attrsonly ,attrsonly + withdn ,withdn + ,@host-plist))) (if ldap-ignore-attribute-codings result (mapcar (lambda (record) @@ -605,6 +604,7 @@ an alist of attribute/value pairs." ;; Skip error message when retrieving attribute list (if (looking-at "Size limit exceeded") (forward-line 1)) + (if (looking-at "version:") (forward-line 1)) ;bug#12724. (while (progn (skip-chars-forward " \t\n") (not (eobp))) @@ -632,9 +632,10 @@ an alist of attribute/value pairs." (setq record (cons (list name value) record)) (forward-line 1)) - (push (if withdn - (cons dn (nreverse record)) - (nreverse record)) result) + (cond (withdn + (push (cons dn (nreverse record)) result)) + (record + (push (nreverse record) result))) (setq record nil) (skip-chars-forward " \t\n") (message "Parsing results... %d" numres)