emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Andreas Leha <andreas.leha@med.uni-goettingen.de>
To: emacs-orgmode@gnu.org
Subject: Re: [BUG] src_blocks - :results raw and replace don't work together
Date: Mon, 07 Jul 2014 12:16:41 +0100	[thread overview]
Message-ID: <oluzjglto4m.fsf@med.uni-goettingen.de> (raw)
In-Reply-To: 8738edig5t.fsf@gmail.com

Hi Thorsten,


Thorsten Jolitz <tjolitz@gmail.com> writes:

> Thorsten Jolitz <tjolitz@gmail.com> writes:
>
>> Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:
>>
>>> Hi Thorsten,
>>>
>>> Thorsten Jolitz <tjolitz@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

  reply	other threads:[~2014-07-07 11:16 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-07  0:28 [BUG] src_blocks - :results raw and replace don't work together Thorsten Jolitz
2014-07-07  1:41 ` Thomas S. Dye
2014-07-07  2:03   ` Thorsten Jolitz
2014-07-07 13:48     ` Thomas S. Dye
2014-07-07  9:29 ` Andreas Leha
2014-07-07 10:15   ` Thorsten Jolitz
2014-07-07 11:04     ` Thorsten Jolitz
2014-07-07 11:16       ` Andreas Leha [this message]
2014-07-07 11:59         ` Thorsten Jolitz
2014-07-07 13:56 ` Nick Dokos
2014-07-07 14:54   ` Grant Rettke
2014-07-07 15:31     ` Thorsten Jolitz
2014-07-07 23:40       ` Grant Rettke
2014-07-08  2:01       ` Nick Dokos
2014-07-07 15:40   ` Thorsten Jolitz
2014-07-28 13:59     ` Sebastien Vauban
2014-07-28 14:46       ` Thorsten Jolitz
2014-08-04  1:20   ` Eric Schulte
2014-08-06  1:15     ` Thorsten Jolitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=oluzjglto4m.fsf@med.uni-goettingen.de \
    --to=andreas.leha@med.uni-goettingen.de \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).