Nicolas Goaziou <n.goaz...@gmail.com> writes: > Hello, > > Thorsten Jolitz <tjol...@gmail.com> writes: > >> when parsing an Org file with org-element-parse-buffer, headline titles >> and section contents (e.g.) end up as secondary strings in the >> parse-tree that do have a ':parent' attribute. >> >> When I try to modify all :parent attributes inside a parse-tree with >> `org-element-map' (by mapping over all element and object types), the >> secondary strings in the parse-tree remain untouched. >> >> Is there a way to make `org-element-map' act on these secondary strings >> too? > > I'm not sure to understand your question. > > "Secondary string" is not an object type, so you cannot explicitly > search for them in a parse tree. > > Also, secondary strings do not have a :parent property (or any property > whatsoever: they are just lists). > > Though, if you map over objects, e.g., bold text, `org-element-map' will > also look for them within secondary lists.
I meant these strings that I find in parse-trees that apparently do have a parent-proptery: #+begin_src emacs-lisp (headline ... :title (#("topic number one" 0 16 (:parent #1)))) (paragraph (:begin 114 ...) #("Hello subtopic number one " 0 26 (:parent #4))) #+end_src I concluded that they are the secondary values listed here: #+begin_quote org-element-secondary-value-alist is a variable defined in `org-element.el'. Its value is ((headline . :title) (inlinetask . :title) (item . :tag) (footnote-reference . :inline-definition)) Alist between element types and location of secondary value. #+end_quote plus the actual (string) content of paragraphs (e.g.). I can change the :parent attribute of the headline containing the above :title string (or of the paragraph containing the above content string) with `org-element-map', but those :parent references inside the strings remain untouched. I can access them by writing some code, of course, I only wanted to know if `org-element-map' might be able to access them out-of-the-box somehow. -- cheers, Thorsten