Kevin Rodgers <[EMAIL PROTECTED]> writes: > Bruno Hertz wrote: >> Apparently, with Emacs CVS the eudc-filter-duplicate-attributes >> function expects a different kind of list than the ldap backend >> actually delivers. >> >> That is, a list like >> ((mail . "[EMAIL PROTECTED]") (mail . "[EMAIL PROTECTED]")) >> coming back from the ldap query is not recognized as duplicate list, >> and the whole thing just doesn't work. >> >> I've been debugging the stuff for two hours, but it's still not clear >> where to cut into the code without breaking something. > > Don't you just need to frob the eudc-duplicate-attribute-handling-method > variable?
Nope. As of Emacs CVS the whole thing seems to be broken. Maybe I should file a bug or something. Some detail anyway: ldap returns lists of records, like ( ((mail . [EMAIL PROTECTED]) (mail . [EMAIL PROTECTED])) ((mail . [EMAIL PROTECTED])) ) In this example, I have two ldap records, one for john and one for carla, where the record of john contains two mail addresses. So his record would be a candidate for duplicate handling. Unfortunately, eudc-filter-duplicate-attributes doesn't even recognize those duplicates and hence doesn't even come so far as to apply eudc-duplicate-attribute-handling-method. So whatever you specify for the latter (concat, duplicate, whatever) has no effect. As a temporary workaround, I advised eudc-query to transform duplicate mail addresses into individual records. So the example above would become ( ((mail . [EMAIL PROTECTED])) ((mail . [EMAIL PROTECTED])) ((mail . [EMAIL PROTECTED])) ) and inline expansion/select works OK again. The advice code is something like (let ((result ad-do-it)) (if (equal return-attributes '(mail)) ; inline query ? ; fix mail duplicate handling (setq result (let (z) (mapcar '(lambda (x) (mapcar '(lambda (y) (push (list y) z)) x)) result) z))) (setq ad-return-value result)) ; override return value just in case anybody cares. Regards, Bruno. _______________________________________________ Help-gnu-emacs mailing list Help-gnu-emacs@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnu-emacs