Deprecate `org-find-if' in favor of `cl-find-if'

* lisp/org.el (org-find-if): Remove function.
(org-key):
* contrib/lisp/org-contacts.el (org-contacts-db-need-update-p):
(org-contacts-filter):
(org-contacts-test-completion-prefix):
(org-contacts-remove-ignored-property-values): Use `cl-find-if'
* lisp/org-compat.el (org-find-if): Mark function as an obsolete alias
  for `cl-find-if'.
This commit is contained in:
Nicolas Goaziou 2016-06-23 09:22:49 +02:00
parent c247993f67
commit 705904552c
3 changed files with 13 additions and 23 deletions

View File

@ -232,7 +232,7 @@ A regexp matching strings of whitespace, `,' and `;'.")
(defun org-contacts-db-need-update-p ()
"Determine whether `org-contacts-db' needs to be refreshed."
(or (null org-contacts-last-update)
(org-find-if (lambda (file)
(cl-find-if (lambda (file)
(or (time-less-p org-contacts-last-update
(elt (file-attributes file) 5))))
(org-contacts-files))
@ -320,12 +320,12 @@ cell corresponding to the contact properties.
(org-string-match-p name-match
(first contact)))
(and prop-match
(org-find-if (lambda (prop)
(cl-find-if (lambda (prop)
(and (string= (car prop-match) (car prop))
(org-string-match-p (cdr prop-match) (cdr prop))))
(caddr contact)))
(and tags-match
(org-find-if (lambda (tag)
(cl-find-if (lambda (tag)
(org-string-match-p tags-match tag))
(org-split-string
(or (cdr (assoc-string "ALLTAGS" (caddr contact))) "") ":"))))
@ -487,13 +487,10 @@ prefixes rather than just the beginning of the string."
completions))
(defun org-contacts-test-completion-prefix (string collection predicate)
;; Prevents `org-find-if' from redefining `predicate' and going into
;; an infinite loop.
(lexical-let ((predicate predicate))
(org-find-if (lambda (el)
(and (or (null predicate) (funcall predicate el))
(string= string el)))
collection)))
(cl-find-if (lambda (el)
(and (or (null predicate) (funcall predicate el))
(string= string el)))
collection))
(defun org-contacts-boundaries-prefix (string collection predicate suffix)
(list* 'boundaries (completion-boundaries string collection predicate suffix)))
@ -592,7 +589,7 @@ description."
"Remove all ignore-list's elements from list and you can use
regular expressions in the ignore list."
(cl-remove-if (lambda (el)
(org-find-if (lambda (x)
(cl-find-if (lambda (x)
(string-match-p x el))
ignore-list))
list))

View File

@ -382,10 +382,11 @@ Implements `define-error' for older emacsen."
;;; Functions from cl-lib that Org used to have its own implementation of
(define-obsolete-function-alias 'org-count 'cl-count "Org 9.0")
(define-obsolete-function-alias 'org-every 'cl-every "Org 9.0")
(define-obsolete-function-alias 'org-find-if 'cl-find-if "Org 9.0")
(define-obsolete-function-alias 'org-reduce 'cl-reduce "Org 9.0")
(define-obsolete-function-alias 'org-remove-if 'cl-remove-if "Org 9.0")
(define-obsolete-function-alias 'org-remove-if-not 'cl-remove-if-not "Org 9.0")
(define-obsolete-function-alias 'org-reduce 'cl-reduce "Org 9.0")
(define-obsolete-function-alias 'org-every 'cl-every "Org 9.0")
(define-obsolete-function-alias 'org-some 'cl-some "Org 9.0")
(provide 'org-compat)

View File

@ -1093,19 +1093,11 @@ therefore you'll have to restart Emacs to apply it after changing."
Or return the original if not disputed."
(when org-replace-disputed-keys
(let* ((nkey (key-description key))
(x (org-find-if (lambda (x)
(equal (key-description (car x)) nkey))
org-disputed-keys)))
(x (cl-find-if (lambda (x) (equal (key-description (car x)) nkey))
org-disputed-keys)))
(setq key (if x (cdr x) key))))
key)
(defun org-find-if (predicate seq)
(catch 'exit
(while seq
(if (funcall predicate (car seq))
(throw 'exit (car seq))
(pop seq)))))
(defun org-defkey (keymap key def)
"Define a key, possibly translated, as returned by `org-key'."
(define-key keymap (org-key key) def))