[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] accessing properties in org-element-parse-buffer tree
From: |
Eike |
Subject: |
Re: [O] accessing properties in org-element-parse-buffer tree |
Date: |
Sat, 30 Aug 2014 21:07:46 +0200 |
Hello again
it seems that I messed up my testing variables… I always had just one
headline and thus the list of lists had always one element that I then
extracted with `car'. So `car' must be removed:
#+begin_src emacs-lisp
(defun collect-props (tree)
(org-element-map tree 'headline
(lambda (hl)
(when (eq 2 (org-element-property :level hl)) ; want only level-2
properties
(org-element-map hl 'node-property
(lambda (np)
(cons (org-element-property :key np)
(org-element-property :value np))))))))
#+end_src
I'd still be curious if there are other/better ways to do that; or is
this idiomatic usage of provided org functions?
Thanks again and kind regards
Eike
Eike writes:
> Hello list,
>
> I want to ask for help regarding elisp and org-elements. I like to
> access the properties of all my headlines and I created the following
> function (tree is the parsed tree) that collects them into an a-list:
>
> #+begin_src emacs-lisp
> (defun collect-props (tree)
> (car (org-element-map tree 'headline
> (lambda (hl)
> (when (eq 2 (org-element-property :level hl)) ; want only
> level-2 properties
> (org-element-map hl 'node-property
> (lambda (np)
> (cons (org-element-property :key np)
> (org-element-property :value np)))))))))
> #+end_src
>
> I'm not very confident about this, is this ok? Is there a better way?
> For example, the first car looks strange, and I don't know how to get
> rid of it.
>
> Thanks you very much in advance!!!
> Kind regards
> Eike
--
gpg: AD7AC35E
finger print: 137F BB0B 1639 D25F DC5D E59C B412 C5F5 AD7A C35E