emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] Re: "clearing" the state of an org-mode subtree


From: Robert Goldman
Subject: Re: [Orgmode] Re: "clearing" the state of an org-mode subtree
Date: Mon, 12 Oct 2009 07:39:33 -0500
User-agent: Thunderbird 2.0.0.23 (Macintosh/20090812)

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.

With all of these, it should be possible to put together what I want.

best,
r




reply via email to

[Prev in Thread] Current Thread [Next in Thread]