>>> Nicolas Goaziou on Sat, 01 Mar 2014 12:36:30 +0100 wrote: > Hello, > Vitalie Spinu <spinu...@gmail.com> writes:
>> Is there an easy way to copy org sub-tree in :filter-parse-tree? >> >> The structure of the parsed tree is somewhat complicated with recursive >> references to parents in multiple places. So, copy-tree infloops. > This is not really an answer to your question, but do you really need to > copy the full tree? There are tools to modify it. You can also build > a new parse tree and return it. Thanks Nocolas. I need to copy only a subtree associated with a headline. In a nutshell I need to "flatten" the tree of headlines for the csv type exporter. That is, I need to replicate the parent headlines across the children. For example * H1 bla bla ** HA some text ** HB some other text would translate into * H1 bla bla ** HA some text * H1 bla bla ** HB some other text I played with org-element-extract-element, org-element-set-contents and org-element-insert-before but failed a big deal. Main problem seems to be the lack of uniform interface to handle parents in connection to secondary elements (which I don't understand at this point). Is headline a secondary element? The :parent seems to be stored in 2 places for the headline, in the headline itself and in the :title. Most of the org code uses org-element-put-property and org-element-property to access the parent but some code like org-element-extract-element uses :parent from :title. This makes it difficult to program as there are no explicit getter/setter for the parent. BTW, is there a way to pretty print the org tree? I think that's the main barrier for me in understanding how it all works. Thanks, Vitalie