org-contacts.el: Check if the database need a refresh in a dedicated function
authorGrégoire Jadi <gregoire.jadi@gmail.com>
Mon, 25 Feb 2013 15:06:01 +0000 (16:06 +0100)
committerGrégoire Jadi <gregoire.jadi@gmail.com>
Wed, 27 Feb 2013 12:27:00 +0000 (13:27 +0100)
* 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?'.

contrib/lisp/org-contacts.el

index 3ad581d..786650b 100644 (file)
@@ -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)