On Sep 25, 2008, at 1:16 AM, Paul Holcomb wrote:
I'm pretty new to elisp and I'm having difficulty figuring out how
to implement two things in org-agenda-custom-commands:
*) Is there a simple way to construct an agenda view that:
-shows all past scheduled events for one TODO keyword only
-skips for all others
The only way I could figure out it could work is to write a large
org-agenda-skip function that explicitly looks at subtrees and
duplicates the org-scheduled-past-days check code.
Unless I'm mistaken a block view won't work because the value of
org-scheduled-past-days is local to the agenda command and not each
block inside of it.
I have not tested this, but you might be able to use the general tags/property/todo matcher
on `C-c a m' like this:
SCHEDULED<"<today>"/!+MYTODOKEYWORD
*) Using a defconst symbol or function that evaluates to a stringp
in place of an actual string in for the match field.
ex:
("A" "" tags-todo 'org-pah-todo-exclude nil nil)
(type-of org-pah-todo-exclude)
==> stringp
I also tried using concat and format for that argument. The error
is always:
Debugger entered--Lisp error: (wrong-type-argument stringp (quote org-pah-todo-exclude))
string-match("/+" (quote org-pah-todo-exclude))
org-make-tags-matcher((quote org-pah-todo-exclude))
org-tags-view((4) (quote org-pah-todo-exclude))
It seems like the evaluation order is at fault, but I couldn't get further.
indeed, currently the match entry is not evaluated. I guess we could do that, but it would involve changing several functions. I would need a convincing use case before I invest the time. How would you want to use this?
- Carsten