[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] Invalid read syntax (#) in org-element parse tree
From: |
Thorsten Jolitz |
Subject: |
[O] Invalid read syntax (#) in org-element parse tree |
Date: |
Mon, 11 Feb 2013 19:29:38 +0100 |
User-agent: |
Gnus/5.130002 (Ma Gnus v0.2) Emacs/24.2 (gnu/linux) |
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
- [O] Invalid read syntax (#) in org-element parse tree,
Thorsten Jolitz <=