* On Fri 07:18PM +0000, 09 Jan 2009, Hsiu-Khuern Tang (hsiu-khuern.t...@hp.com) 
wrote:

> Here's a workaround.  I use org-map-entries to select all headlines directly
> tagged with "project1" or "project2" and tag them with something unique, say
> "CUR".  Then I can use the ordinary filter mechanism in an agenda view to
> restrict to headlines tagged with "CUR".
> 
> ,----
> | (setq cur_tags '("project1" "project2"))
> | 
> | ;; Unbind the variable
> | ;; (makunbound 'cur_tags)
> | 
> | (setq match_string (concat "+TAGS={" (mapconcat (lambda (x) x)
> |                                             cur_tags "\|") "}"))

Correction: the above should have an extra "\":

,----
| (setq match_string (concat "+TAGS={" (mapconcat (lambda (x) x)
|                                               cur_tags "\\|") "}"))
`----

> | ;; Remove the "CUR" tag:
> | (org-map-entries '(org-toggle-tag "CUR") "CUR" 'agenda)
> | 
> | ;; Turn on the CUR tag for all headlines (directly) tagged with
> | ;; any member of cur_tags
> | (org-map-entries '(org-toggle-tag "CUR" 'on) match_string 'agenda)
> | 
> | ;; Count the number of headlines (directly) tagged with any member of
> | ;; cur_tags:
> | (length (org-map-entries t match_string 'agenda))
> `----

-- 
Best,
Hsiu-Khuern.


_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

Reply via email to