[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Buffer positions from `org-element-map'?
From: |
Rasmus |
Subject: |
Re: [O] Buffer positions from `org-element-map'? |
Date: |
Wed, 28 Jan 2015 03:24:02 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) |
Hi Charles,
"Charles C. Berry" <address@hidden> writes:
> What I would like is to have the same values of :begin as would be
> obtained by placing the cursor on each inline src block and evaluating
> (org-element-context). As is evident below, :begin is sometimes a
> relative position.
OK
> Suggestions on how to get the buffer position or some other way to do
> in situ buffer modifications from `org-element-map' without
> interpreting a complete parse tree (which I expect requires more
> computation that doing selected `delete then insert' operations) are
> welcome.
Regexp and cl!
Note, if you want it do always do it on the whole file use
org-with-wide-buffer. You might also want to wrap it in a
save-match-data.
--8<---------------cut here---------------start------------->8---
#+BEGIN_SRC emacs-lisp :results code
(save-excursion
(goto-char (point-min))
(cl-loop while (search-forward-regexp org-babel-inline-src-block-regexp nil
t)
collect (list :begin (match-beginning 1)
:at-heading (org-at-heading-p))))
#+END_SRC
#+RESULTS:
#+BEGIN_SRC emacs-lisp
((:begin 424 :at-heading nil)
(:begin 461 :at-heading t)
(:begin 493 :at-heading nil))
#+END_SRC
src_emacs-lisp{"not in headline"}
* src_emacs-lisp{"in head line"}
src_emacs-lisp{"not in headline"}
--8<---------------cut here---------------end--------------->8---
Hope it helps,
Rasmus
--
Governments should be afraid of their people