Hi Thorsten,
Thorsten Jolitz <tjol...@gmail.com> writes: > Thorsten Jolitz <tjol...@gmail.com> writes: > >> Andreas Leha <andreas.l...@med.uni-goettingen.de> writes: >> >>> Hi Thorsten, >>> >>> Thorsten Jolitz <tjol...@gmail.com> writes: >>> >>>> Hi List, >>>> >>>> evaluating this 3 times does not work as expected: >>>> >>>> ,---- >>>> | * A >>>> | >>>> | #+header: :results raw replace >>>> | #+begin_src emacs-lisp >>>> | (+ 2 2) >>>> | #+end_src >>>> | >>>> | #+results: >>>> | 4 >>>> | 4 >>>> | 4 >>>> `---- >>>> >>>> Independent from argument order, 'replace' (which should be default >>>> anyway) is ignored. >>> >>> >>> Try adding the :wrap, which works for me: >>> >>> ,---- >>> | * A >>> | >>> | #+header: :results raw replace :wrap >>> | #+begin_src emacs-lisp >>> | (+ 2 2) >>> | #+end_src >>> | >>> | #+results: >>> | #+BEGIN_RESULTS >>> | 4 >>> | #+END_RESULTS >>> `---- >> >> This actually works here too, thanks. But is this wrapping results block >> 'neutral', i.e. is its content treated just like raw Org syntax in all >> situations? E.g. when I create a dblock from elisp, would >> >> #+results: >> #+BEGIN_RESULTS >> #+begin my-dblock >> (foo) >> #+end >> #+END_RESULTS >> >> be equivalent to >> >> #+results: >> #+begin my-dblock >> (foo) >> #+end >> >> in all cases? >> >> However, the combo ':results raw replace' seems like the natural fit >> when programmatically creating content in an Org file with a src_block >> that might eventually be evaluated more than once. That it does not work >> 'as-is' seems too much of a surprise to not call it a bug (at least when >> the manual does not mention it as special case). > > My use-case is actually this, and it won't work with wrapped results: > > ,---- > | ** Utility Function :ARCHIVE: > | > | #+name: create-subtree-with-dblock > | #+header: :var name="foo" > | #+header: :var prms=":bar loo" > | #+header: :results replace raw > | #+begin_src emacs-lisp > | (format > | (concat "\n\n** Overview :READONLY:\n\n" > | "#+begin: %s %s\n\n#+end:\n") > | name prms) > | #+end_src > | > | #+results: dblock > | > | > | ** Overview :READONLY: > | > | #+begin: foo :bar loo > | > | #+end: > `---- I am not in the position to answer this. But the combo "raw replace" is problematic, I think, in that it is hard to say how much there is to be replaced. So I think some delimiters (as produced by :wrap) are necesarry in the general case. If I understand correctly, you want to nest blocks: A source block nested in a results block. I think, that is not possible. So, for that use case, I guess, another construct (other than results block) would be necessary. But other people might have the proper answer here... Regards, Andreas