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