perhaps we could have 2 names: one for the priority cookie setting and one for whatever the agenda does.
On 3/22/23, Ihor Radchenko <yanta...@posteo.net> wrote: > Jonas Olofsson <jonas.olofs...@apple.com> writes: > >> I am trying to sort my agenda by a number of variables, but it seems >> that todo-state-down is not applied if added after priority-down. >> Instead it seems as if Priority first is applied, then the date the >> item is scheduled. >> >> Repro: >> 1. Set >> org-agenda-sorting-strategy >> '((agenda priority-down todo-state-down) >> (todo priority-down todo-state-down effort-up category-keep >> scheduled-up) >> (tags priority-down todo-state-down effort-up category-keep) >> (search category-keep)) >> 2. Set >> org-todo-keywords '( >> (sequence "TODO(t!)" "NEXT(n!)" "WAIT(w!)" "|" >> "DONE(d!)" "CANC(c!)" "DUPE(D!)") >> ) >> 3. Have three todos scheduled: >> >> * TODO [#C] Test >> SCHEDULED: <2023-03-16 Thu> >> * NEXT [#C] Test >> SCHEDULED: <2023-03-15 Wed> >> * WAIT [#C] Test >> SCHEDULED: <2023-03-17 Fri> >> >> 4. Go to agenda. >> >> I expect to see items in the following order, since they are the same >> priority. >> WAIT C Test >> NEXT C Test >> TODO C Test >> >> But I see: >> NEXT C Test >> TODO C Test >> WAIT C Test > > Confirmed. > > Yet another agenda madness I have no clue about. > > `org-agenda-get-scheduled' sets the priority as > > 'priority (if habitp (org-habit-get-priority habitp) > (+ 99 diff (org-get-priority item))) > > where diff is the number of overdue days for a given entry. > > Further, > > `org-agenda-get-deadlines' has > > 'priority > ;; Adjust priority to today reminders about deadlines. > ;; Overdue deadlines get the highest priority > ;; increase, then imminent deadlines and eventually > ;; more distant deadlines. > (let ((adjust (if today? (- diff) 0))) > (+ adjust (org-get-priority item))) > > `org-agenda-get-todos' has > > priority (1+ (org-get-priority txt))) > > All these dates back to the initial Org release. > > From what I am seeing, these awkward priority adjustments are hard-coded > for fine-tune agenda sorting in some (unknown) scenarios. > > Changing them will likely break existing sorting. > > To fix this, we should carefully check what will happen if we set the > agenda priority to be the actual user-defined priority. And then fix the > sorting back somehow. > > -- > Ihor Radchenko // yantar92, > Org mode contributor, > Learn more about Org mode at <https://orgmode.org/>. > Support Org development at <https://liberapay.com/org-mode>, > or support my work at <https://liberapay.com/yantar92> > > -- The Kafka Pandemic A blog about science, health, human rights, and misopathy: https://thekafkapandemic.blogspot.com