Function: org-entries-lessp

org-entries-lessp is a byte-compiled function defined in org-agenda.el.gz.

Signature

(org-entries-lessp A B)

Documentation

Predicate for sorting agenda entries A and B.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-agenda.el.gz
(defun org-entries-lessp (a b)
  "Predicate for sorting agenda entries A and B."
  (catch :org-entries-lessp-return
    (dolist (strategy org-agenda-sorting-strategy-selected)
      (when-let*
          ((result
            (cl-case strategy
              (timestamp-up    (org-cmp-ts a b ""))
              (timestamp-down  (org-cmp-ts b a ""))
              (scheduled-up    (org-cmp-ts a b "scheduled"))
              (scheduled-down  (org-cmp-ts b a "scheduled"))
              (deadline-up     (org-cmp-ts a b "deadline"))
              (deadline-down   (org-cmp-ts b a "deadline"))
              (tsia-up         (org-cmp-ts a b "timestamp_ia"))
              (tsia-down       (org-cmp-ts b a "timestamp_ia"))
              (ts-up           (org-cmp-ts a b "timestamp"))
              (ts-down         (org-cmp-ts b a "timestamp"))
              (time-up         (org-cmp-time a b))
              (time-down       (org-cmp-time b a))
              (stats-up        (org-cmp-values a b 'org-stats))
              (stats-down      (org-cmp-values b a 'org-stats))
              (priority-up     (org-cmp-values a b 'priority))
              (priority-down   (org-cmp-values b a 'priority))
              (urgency-up      (org-cmp-values a b 'urgency))
              (urgency-down    (org-cmp-values b a 'urgency))
              (effort-up       (org-cmp-effort a b))
              (effort-down     (org-cmp-effort b a))
              (category-up     (org-cmp-category a b))
              (category-down   (org-cmp-category b a))
              (category-keep   (and (org-cmp-category a b) +1))
              (tag-up          (org-cmp-tag a b))
              (tag-down        (org-cmp-tag b a))
              (todo-state-up   (org-cmp-todo-state a b))
              (todo-state-down (org-cmp-todo-state b a))
              (habit-up        (org-cmp-habit-p a b))
              (habit-down      (org-cmp-habit-p b a))
              (alpha-up        (org-cmp-alpha a b))
              (alpha-down      (org-cmp-alpha b a))
              (user-defined-up (unless (functionp org-agenda-cmp-user-defined)
                                 (error "Please set `org-agenda-cmp-user-defined' to a function or remove `user-defined-up' from `org-agenda-sorting-strategy'"))
                               (funcall org-agenda-cmp-user-defined a b))
              (user-defined-down (unless (functionp org-agenda-cmp-user-defined)
                                   (error "Please set `org-agenda-cmp-user-defined' to a function or remove `user-defined-down' from `org-agenda-sorting-strategy'"))
                                 (funcall org-agenda-cmp-user-defined b a))
              (t (error "Invalid value %S in `org-agenda-sorting-strategy'" strategy)))))
        (cond
         ((eq -1 result) (throw :org-entries-lessp-return t))
         ((eq 1 result) (throw :org-entries-lessp-return nil)))))
    nil))