emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Agenda todo filter order


From: Carsten Dominik
Subject: Re: [O] Agenda todo filter order
Date: Fri, 6 May 2011 08:24:58 +0200

Hi Bernt,

I don't see a compelling reason why these two skipping checks could not
be exchanged:
-----------------------------------------------------------------------------------
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 609edd4..a386a18 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -4573,6 +4573,7 @@ the documentation of `org-diary'."
     (goto-char (point-min))
     (while (re-search-forward regexp nil t)
       (catch :skip
+       (org-agenda-skip)
        (save-match-data
          (beginning-of-line)
          (setq beg (point) end (save-excursion (outline-next-heading) (point)))
@@ -4581,7 +4582,6 @@ the documentation of `org-diary'."
            (or org-agenda-todo-list-sublevels (org-end-of-subtree 'invisible))
            (throw :skip nil)))
        (goto-char beg)
-       (org-agenda-skip)
        (goto-char (match-beginning 1))
        (setq marker (org-agenda-new-marker (match-beginning 0))
              category (org-get-category)
-----------------------------------------------------------------------------------

Does anyone else see a reason why this could cause a problem?

Bernt, maybe just try out this patch and report back?

- Carsten


On 20.4.2011, at 02:39, Bernt Hansen wrote:

> <Sorry for the double post - hit C-c C-s in Gnus trying to set the
> scheduled date and that sends the message... oops>
> 
> Hi Carsten,
> 
> I'm trying to tune my shiny new block agenda so it has a section that
> displays non-project tasks without a scheduled date or deadline date in
> the future.
> 
> I have a non-standard skipping function that skips project trees which
> I'm using in this agenda so what is left should only be non-project
> tasks.  My agenda with only this non-standard skipping function works
> perfectly and gives me a list of only non-project tasks.
> 
> I don't really want to see non-project tasks with a scheduled or
> deadline date in the future.  I added org-agenda-todo-ignore-scheduled
> and org-agenda-todo-ignore-deadlines to 'future to this agenda view and
> now I get extra project tasks in the list which is incorrect.
> 
> It seems the org-agenda-todo-ignore-scheduled (and deadlines) vars are
> applied to the list of todo tasks first -- so any projects that have a
> scheduled or deadline date are skipped (but not the entire tree - just
> the top-level project task) -- this makes all of the project subtasks
> appear in my 'non-project' task list which is wrong.
> 
> If the non-standard skipping function was applied first and then the
> test for scheduled/deadline I think it work work the way I want.  Is
> this hard to change?
> 
> Example:
> 
> --8<---------------cut here---------------start------------->8---
> * TODO Project task
>  SCHEDULED: <2011-04-12 Tue>
> ** TODO Subtask 1
> ** TODO Subtask 2
> * TODO Non project task
> * TODO Another non-project-task
>  DEADLINE: <2011-06-03 Fri>
> * TODO Some future non-project task
>  SCHEDULED: <2011-06-18 Sat>
> --8<---------------cut here---------------end--------------->8---
> 
> My agenda view for non-project tasks should show only
> 
> * TODO Non project task
> * TODO Another non-project-task
> * TODO Some future non-project task
> 
> but with (setq org-agenda-todo-ignore-scheduled 'future) the top level
> 'Project task' is skipped and 'Subtask 1' show up (and is considered not
> a project since it has no subtasks)
> 
> If this can't be changed for some technical reason I guess I can make my
> skipping function more intelligent and look up the hierarchy as well to
> make sure this task is not under some other project task but I didn't
> think that would be necessary to accomplish what I want.
> 
> Do you have any suggestions for how I get to my desired end result?
> 
> Regards,
> Bernt




reply via email to

[Prev in Thread] Current Thread [Next in Thread]