emacs-orgmode
[Top][All Lists]
Advanced

[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




reply via email to

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