Nick Dokos wrote:
Robert P. Goldman <address@hidden> wrote:
...
Robert Goldman <rpgoldman <at> sift.info> writes:
Andrew Stribblehill wrote:
org-mode files are plain text. M-% to do a replacement: once
you've
entered your search term and its replacement, hit ! to replace
all
without question.
Yes, one can do this, but note that it's not entirely a no-
brainer. You
need to:
1. clear all the check boxes and then recompute all checkbox
counts in
the region. [this isn't a simple tag replacement]
2. replace all non-TODO keywords with TODO. This is a
replacement, but
not a simple one to do with M-%
3. Wipe out all of the notes that were added with state changes.
Again, this can be done with a replacement command, but it's
not a
trivial one.
This is one of those cases where automating a task will not pay
back the
investment (at least not to me, individually), so I think I'd
better
just do it by hand.
...
Apologies for jumping in without the whole context (I'm buried with
work
and I have not been able to even read the whole thread). I'm not sure
how to do #1 and #3 above, but I believe that #2 can be done with the
mapping API (see section A.10 of the org manual) - something like
this
(untested and too simple as it stands - probably won't handle
headlines
without a todo keyword correctly):
(org-map-entries (lambda () (org-todo "TODO")) t 'tree)
but it may be worth a try. It may even be possible to extend it to do
the other stuff.
Thanks, that's very helpful. That is indeed what I'm looking for
--- I
had been thinking in terms of string replacement, but this reminds me
that there are functions that address org trees semantically, based on
the meaning of the entries.
In addition to org-todo, there's also org-reset-checkbox-state-
subtree.
I haven't yet found anything that will find an org-note (so that it
can
be removed), but I will look more carefully.