Hi List, here is an excerpt of a parse tree produced with 'org-element-parse-buffer':
,------------------------------------------------------------- | (section (:begin 1 :end 624 :contents-begin | 1 :contents-end 623 :post-blank 1 :parent #0) (keyword (:key | TITLE :value Program "Blues for Icke" :begin 1 :end | 39 :post-blank 0 :post-affiliated 1 :parent #1))) `------------------------------------------------------------- When I evaluate a function with this list as data, I get an error: ,-------------------------------------------------------- | Debugger entered--Lisp error: (invalid-read-syntax "#") | read(#<buffer *scratch*>) | preceding-sexp() | eval-last-sexp-1(t) | eval-last-sexp(t) | eval-print-last-sexp() | call-interactively(eval-print-last-sexp nil nil) `-------------------------------------------------------- from the doc in 'org-element.el' I learn that: ,------------------------------------------------------------------------ | ;; Notwithstanding affiliated keywords, each greater element, element | ;; and object has a fixed set of properties attached to it. [...] | | ;; `:parent' which refers to the element or object containing it. [...] | | ;; Lisp-wise, an element or an object can be represented as a list. | ;; It follows the pattern (TYPE PROPERTIES CONTENTS), where: | ;; TYPE is a symbol describing the Org element or object. | ;; PROPERTIES is the property list attached to it. See docstring of | ;; appropriate parsing function to get an exhaustive | ;; list. | ;; CONTENTS is a list of elements, objects or raw strings contained | ;; in the current element or object, when applicable. | ;; | ;; An Org buffer is a nested list of such elements and objects, whose | ;; type is `org-data' and properties is nil. `------------------------------------------------------------------------ There are a lot of usages of '#' in Emacs Lisp, but I couldn't figure out how (and why) it is used in ':parent #1'. Nic Ferrier wrote an exhaustive library with "routines for working with key/value data structures like hash-tables and alists and plists" (https://github.com/nicferrier/emacs-kv/blob/master/kv.el), but I cannot apply any of the functions due to the read error. Do I really have to treat the parse tree as text first and eliminate the '#' before I can use it as list in Emacs Lisp, or did I simply manage to get the wrong represantation of the parse tree somehow? Thanks for any advice. -- cheers, Thorsten