contrib/lisp/org-contacts.el: Remove calls to cl functions

* contrib/lisp/org-contacts.el(org-contacts-test-completion-prefix)
(org-contacts-complete-name, org-contacts-db-need-update-p)
(org-contacts-filter): Remove calls to cl functions.
This commit is contained in:
Grégoire Jadi 2013-03-11 09:38:25 +01:00
parent b789764458
commit 6723942283

View file

@ -165,10 +165,10 @@ This overrides `org-email-link-description-format' if set."
(defun org-contacts-db-need-update-p () (defun org-contacts-db-need-update-p ()
"Determine whether `org-contacts-db' needs to be refreshed." "Determine whether `org-contacts-db' needs to be refreshed."
(or (null org-contacts-last-update) (or (null org-contacts-last-update)
(some (lambda (file) (org-find-if (lambda (file)
(or (time-less-p org-contacts-last-update (or (time-less-p org-contacts-last-update
(elt (file-attributes file) 5)))) (elt (file-attributes file) 5))))
(org-contacts-files)))) (org-contacts-files))))
(defun org-contacts-db () (defun org-contacts-db ()
"Return the latest Org Contacts Database." "Return the latest Org Contacts Database."
@ -207,10 +207,10 @@ If both match values are nil, return all contacts."
(org-string-match-p name-match (org-string-match-p name-match
(first contact))) (first contact)))
(and tags-match (and tags-match
(some (lambda (tag) (org-find-if (lambda (tag)
(org-string-match-p tags-match tag)) (org-string-match-p tags-match tag))
(org-split-string (org-split-string
(or (cdr (assoc-string "ALLTAGS" (caddr contact))) "") ":")))) (or (cdr (assoc-string "ALLTAGS" (caddr contact))) "") ":"))))
collect contact))) collect contact)))
(when (not (fboundp 'completion-table-case-fold)) (when (not (fboundp 'completion-table-case-fold))
@ -369,10 +369,13 @@ prefixes rather than just the beginning of the string."
completions)) completions))
(defun org-contacts-test-completion-prefix (string collection predicate) (defun org-contacts-test-completion-prefix (string collection predicate)
(find-if (lambda (el) ;; Prevents `org-find-if' from redefining `predicate' and going into
(and (or (null predicate) (funcall predicate el)) ;; an infinite loop.
(string= string el))) (lexical-let ((predicate predicate))
collection)) (org-find-if (lambda (el)
(and (or (null predicate) (funcall predicate el))
(string= string el)))
collection)))
(defun org-contacts-boundaries-prefix (string collection predicate suffix) (defun org-contacts-boundaries-prefix (string collection predicate suffix)
(list* 'boundaries (completion-boundaries string collection predicate suffix))) (list* 'boundaries (completion-boundaries string collection predicate suffix)))
@ -444,7 +447,7 @@ A group FOO is composed of contacts with the tag FOO."
collect (org-contacts-format-email contact-name email)))) collect (org-contacts-format-email contact-name email))))
(completion-list (org-contacts-all-completions-prefix (completion-list (org-contacts-all-completions-prefix
string string
(remove-duplicates completion-list :test #'equalp)))) (org-uniquify completion-list))))
(when completion-list (when completion-list
(list start end (list start end
(org-contacts-make-collection-prefix completion-list))))) (org-contacts-make-collection-prefix completion-list)))))