[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] [BUG] in `org-element-interpret-data'
From: |
Thorsten Jolitz |
Subject: |
[O] [BUG] in `org-element-interpret-data' |
Date: |
Thu, 07 Aug 2014 11:15:14 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Hi List,
when interpreting Org elements (type src-block) I frequently encounter
the case that the '#+end_src' delimter is not placed on a newline but
rather attached to the src-block's value without a linefeed in between.
I then have to append a "\n" to the src-block value to make things work,
but thats not a nice thing and causes problems in other places. The "\n"
should be set by the framework.
I think adding something like this at the end of the
interpreter-function could solve the problem, but this came out of
try-and-error only:
#+begin_src emacs-lisp
(((
[...]
(org-escape-code-in-string value)
;; check for newline
(save-match-data
(if (looking-at "^$") "" "\n"))
"#+END_SRC")))
#+end_src
The problem seems to appear a bit randomly, but using my new function
#+begin_src emacs-lisp
;; might become `org-element-create'
(defun* tj/create-element (&optional insert-p &rest args &key (type 'headline)
&allow-other-keys)
"Create Org element, maybe insert at point."
(let ((strg (org-element-interpret-data
(list type args))))
(if insert-p (insert strg) strg)))
#+end_src
#+results:
: tj/create-element
I can give an the following example
#+begin_src emacs-lisp :results raw
(tj/create-element nil
:type 'src-block
:language "emacs-lisp"
:value "(+ 2 2)")
#+end_src
#+results:
#+BEGIN_SRC emacs-lisp
(+ 2 2)#+END_SRC
--
cheers,
Thorsten
- [O] [BUG] in `org-element-interpret-data',
Thorsten Jolitz <=