org-agenda.el: Fix the order conditions are being checked.

* org-agenda.el (org-agenda-skip-if): Fix the order conditions
are being checked.  Also enhance the docstring a bit.

TINYCHANGE

Thanks to Toby Cubitt for a patch to this effect.
This commit is contained in:
Bastien Guerry 2012-03-16 19:18:41 +01:00
parent ced72ea5d8
commit 8e7f84ea3d

View file

@ -4219,7 +4219,7 @@ See `org-agenda-skip-if' for details."
(defun org-agenda-skip-if (subtree conditions)
"Checks current entity for CONDITIONS.
If SUBTREE is non-nil, the entire subtree is checked. Otherwise, only
the entry, i.e. the text before the next heading is checked.
the entry (i.e. the text before the next heading) is checked.
CONDITIONS is a list of symbols, boolean OR is used to combine the results
from different tests. Valid conditions are:
@ -4245,12 +4245,12 @@ keywords, which may include \"*\" to match any todo keyword.
would skip all entries with \"TODO\" or \"WAITING\" keywords.
Instead of a list a keyword class may be given
Instead of a list, a keyword class may be given. For example:
(org-agenda-skip-entry-if 'nottodo 'done)
would skip entries that haven't been marked with any of \"DONE\"
keywords. Possible classes are: `todo', `done', `any'.
keywords. Possible classes are: `todo', `done', `any'.
If any of these conditions is met, this function returns the end point of
the entity, causing the search to continue from there. This is a function
@ -4283,8 +4283,8 @@ that can be put into `org-agenda-skip-function' for the duration of a command."
(stringp (nth 1 m))
(not (re-search-forward (nth 1 m) end t)))
(and (or
(setq m (memq 'todo conditions))
(setq m (memq 'nottodo conditions)))
(setq m (memq 'nottodo conditions))
(setq m (memq 'todo conditions)))
(org-agenda-skip-if-todo m end)))
end)))