From a9b2eef66f695eec68c86872cf484a1956bdb898 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Jadi?= Date: Mon, 25 Feb 2013 16:06:01 +0100 Subject: [PATCH] org-contacts.el: Check if the database need a refresh in a dedicated function * contrib/lisp/org-contacts.el (org-contacts-db-need-update?): New function to determine whether we need to refresh `org-contacts-db'. (org-contacts-db): Use `org-contacts-db-need-updated?'. --- org-contacts.el | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/org-contacts.el b/org-contacts.el index 3ad581d..786650b 100644 --- a/org-contacts.el +++ b/org-contacts.el @@ -149,19 +149,21 @@ This overrides `org-email-link-description-format' if set." "Return list of Org files to use for contact management." (or org-contacts-files (org-agenda-files t 'ifmode))) +(defun org-contacts-db-need-update? () + "Determine whether `org-contacts-db' needs to be refreshed." + (or (null org-contacts-last-update) + (some (lambda (file) + (or (time-less-p org-contacts-last-update + (elt (file-attributes file) 5)))) + (org-contacts-files)))) + (defun org-contacts-db () "Return the latest Org Contacts Database" (let* (todo-only (contacts-matcher (cdr (org-make-tags-matcher org-contacts-matcher))) - (need-update? - (or (null org-contacts-last-update) - (some (lambda (file) - (time-less-p org-contacts-last-update - (elt (file-attributes file) 5))) - (org-contacts-files)))) markers result) - (when need-update? + (when (org-contacts-db-need-update?) (message "Update Org Contacts Database") (dolist (file (org-contacts-files)) (org-check-agenda-file file)