[Top][All Lists]
[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: |
Sun, 8 May 2011 08:03:40 +0200 |
On 6.5.2011, at 19:40, Bernt Hansen wrote:
> Hi Carsten,
>
> Thanks for the patch! This almost does what I want :)
>
> This patch works for TODO agendas but not tags match agendas which is
> what I am trying to use.
>
> C-c a y returns the result I want
> C-c a x should be identical and is not.
Hi Bernt,
here is a patch to *replace* the other patch I sent earlier. This one
should also work for tags-todo searches....
Completely untested......
Changes at master
Modified lisp/org-agenda.el
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 609edd4..84e3247 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -4575,13 +4575,12 @@ the documentation of `org-diary'."
(catch :skip
(save-match-data
(beginning-of-line)
+ (org-agenda-skip)
(setq beg (point) end (save-excursion (outline-next-heading) (point)))
(when (org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item
end)
(goto-char (1+ beg))
(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)
Modified lisp/org.el
diff --git a/lisp/org.el b/lisp/org.el
index acbb261..a9dcf46 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -12437,17 +12437,30 @@ only lines with a TODO keyword are included in the
output."
;; selective inheritance, remove uninherited ones
(setcdr (car tags-alist)
(org-remove-uninherited-tags (cdar tags-alist))))
- (when (and (or (not todo-only)
- (and (member todo org-not-done-keywords)
- (or (not
org-agenda-tags-todo-honor-ignore-options)
- (not
(org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item)))))
- (let ((case-fold-search t)) (eval matcher))
- (or
- (not (member org-archive-tag tags-list))
- ;; we have an archive tag, should we use this anyway?
- (or (not org-agenda-skip-archived-trees)
- (and (eq action 'agenda) org-agenda-archives-mode))))
- (unless (eq action 'sparse-tree) (org-agenda-skip))
+ (when (and
+ ;; eval matcher only when the todo condition is OK
+ (or (not todo-only)
+ (and (member todo org-not-done-keywords)
+ (let ((case-fold-search t)) (eval matcher))))
+ ;; Call the skipper, but return t if it does not skip,
+ ;; so that the `and' form continues evaluating
+ (progn
+ (unless (eq action 'sparse-tree) (org-agenda-skip))
+ t)
+
+ ;; Check if timestamps are deselecting this entry
+ (or (not todo-only)
+ (and (member todo org-not-done-keywords)
+ (or (not org-agenda-tags-todo-honor-ignore-options)
+ (not
(org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item)))))
+
+ ;; Extra check for the archive tag
+ ;; FIXME: Does the skipper already do this????
+ (or
+ (not (member org-archive-tag tags-list))
+ ;; we have an archive tag, should we use this anyway?
+ (or (not org-agenda-skip-archived-trees)
+ (and (eq action 'agenda) org-agenda-archives-mode))))
;; select this headline
- Re: [O] Agenda todo filter order, Carsten Dominik, 2011/05/06
- Re: [O] Agenda todo filter order, Bernt Hansen, 2011/05/06
- Re: [O] Agenda todo filter order,
Carsten Dominik <=
- Re: [O] Agenda todo filter order, Bernt Hansen, 2011/05/08
- Re: [O] Agenda todo filter order, Bernt Hansen, 2011/05/08
- Re: [O] Agenda todo filter order, Bernt Hansen, 2011/05/08
- Message not available
- Message not available
- Re: [O] Agenda todo filter order, Carsten Dominik, 2011/05/10
- Re: [O] Agenda todo filter order, Bernt Hansen, 2011/05/10