emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] getting file properties


From: Nicolas Goaziou
Subject: Re: [O] getting file properties
Date: Sun, 05 May 2013 09:36:24 +0200

Hello,

Nick Dokos <address@hidden> writes:

> Here's one way:
>
> (defun jk-org-kwds ()
>   (let* ((parse-tree (org-element-parse-buffer))
>        (keys (org-element-map parse-tree 'keyword (function identity))))
>     (mapcar (function  (lambda (x) (cons (org-element-property :key x)
>                                        (org-element-property :value x)))) 
> keys)))
>
> This returns a list of (KEY. VALUE) pairs.
>
> I'm sure there are other (better, cheaper) ways, but I'm going through
> org-element.el, and having that hammer in hand, everything looks like
> a nail to me :-)

I suggest the slightly more efficient variation:

  (defun jk-org-kwds ()
    (org-element-map (org-element-parse-buffer 'element) 'keyword
      (lambda (keyword) (cons (org-element-property :key keyword)
                         (org-element-property :value keyword)))))

The optional argument `element' prevents `org-element-parse-buffer' from
diving too deep and `org-element-map' does the job of `mapcar'.


Regards,

-- 
Nicolas Goaziou



reply via email to

[Prev in Thread] Current Thread [Next in Thread]