Hello, On Aug 9, 2013 10:57 AM, "Sebastien Vauban" wrote: > > Hello, > > Suppose I want a convenient way to see my most important tasks, the ones > which: > > - are due soon (in the next 7 days), or > - have a high priority (#A), or > - are FLAGGED. > > If I don't mind having the entries mixed, this is quite simple and short: > > #+begin_src emacs-lisp > (add-to-list 'org-agenda-custom-commands > '("H" "Hotlist" > tags-todo "DEADLINE<=\"<+1w>\"|PRIORITY=\"A\"|FLAGGED" > ((org-agenda-todo-ignore-scheduled 'future))) t) > #+end_src > > Though, if I want 3 different blocks (in the above order) with *no repetition* > of entries, I need to write such a monster expression: > > #+begin_src emacs-lisp > (add-to-list 'org-agenda-custom-commands > '("I" "Hotlist" > ((tags-todo "DEADLINE<=\"<+1w>\"" > ((org-agenda-overriding-header "Due in next 7 days"))) > (tags-todo "PRIORITY=\"A\"+DEADLINE=\"\"|PRIORITY=\"A\"+DEADLINE>\"<+1w>\"" > ((org-agenda-overriding-header "High priority"))) > (tags-todo "FLAGGED+PRIORITY=\"\"+DEADLINE=\"\"|FLAGGED+PRIORITY=\"\"+DEADLINE>\"<+1w>\"|FLAGGED+PRIORITY<>\"A\"+DEADLINE=\"\"|FLAGGED+PRIORITY<>\"A\"+DEADLINE>\"<+1w>\"" > ((org-agenda-overriding-header "Starred")))) > ((org-agenda-todo-ignore-scheduled 'future))) t) > #+end_src > > Do you see a way to optimize it (make it shorter)? On the problems relies in > the fact that the inverse of > > DEADLINE<="<+1w>" > > is > > DEADLINE=""|DEADLINE>"<+1w>" > > that is 2 tests to be done. > > The same applies for the priorities: the inverse of > > PRIORITY=\"A\" > > is > > PRIORITY=""|PRIORITY<>"A" > > Hence, an exponential number of checks every time you want to remove > duplicated entries (which would have been displayed in the previous block): > you double the number of subexpressions in the next block... > Could you use (org-agenda-skip-regexp "...") combined with (org-agenda-skip-function (org-agenda-skip-entry-when-regexp-matches)) Just change the ... in the above to the deadline/priority you want to exclude in the block. Sorry if this is at all unclear, sending from my phone so hard to write out the code blocks. Regards, Jon > Any better idea? > > Best regards, > Seb > > -- > Sebastien Vauban > >