[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [babel] Using :prologue and :epilogue with unbalanced brackets
From: |
Eric Schulte |
Subject: |
Re: [O] [babel] Using :prologue and :epilogue with unbalanced brackets |
Date: |
Sun, 26 Jan 2014 11:16:51 -0700 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Rainer M Krug <address@hidden> writes:
> On 01/20/14, 16:34 , Eric Schulte wrote:
>> Rainer M Krug <address@hidden> writes:
>>
>>> Hi
>>>
>>> I would like to use :prologue and :epilogue to enclose the code block
>>> in a local({}) block, i.e.
>>>
>>> * test
>>> #+begin_src R :prologue local({ :epilogue })
>>> qwerty <- "test"
>>> #+end_src
>>>
>>
>> I tried wrapping the prologue and epilogue values in quotes so that they
>> would be interpreted as strings, and I no longer see the problem you
>> describe and it works in a session, but I get a different R issues
>> outside of a session.
>
> Agreed -
>
> * test
> #+begin_src R :results output :prologue "local({" :epilogue "})" :session
> cat("Test")
> #+end_src
>
> #+RESULTS:
>
> no :session nothing happens
>
> using :session the execution does not complete because the :epilogue is not
> appended.
>
The problem here is when `org-babel-balanced-split' parses the following
string.
":results output :prologue \"local({\" :epilogue \"})\" :session"
It isn't smart enough to *not* balance the ({}) parens because of the
enclosing quotes. Unfortunately I don't have time to address this right
now. A hacky work around would be the following...
#+headers: :epilogue "})"
#+headers: :prologue "local({"
#+begin_src R :results output :session
cat("Test")
#+end_src
Best,
>
>
> * test 2
> #+begin_src R :results output :prologue "cat(1, '###\n')" :epilogue "cat(2,
> '###\n')" :session
> cat("Test\n")
> #+end_src
>
> #+RESULTS:
> : 1 ###
> : Test
>
> works under :session and without
>
> but
> * test 2
> #+begin_src R :results output :prologue "{cat(1, 2 )" :epilogue "cat(2,
> 3)}" :session
> cat("Test\n")
> #+end_src
>
> works only without :session as R is waiting for the "}" which is in the
> :epilogue but which is not added.
>
> Cheers,
>
> Rainer
>
>
>>
>> Best,
>>
>>>
>>> But the problem seems to be the unbalanced brackets, and everything is
>>> passed on as the prologue, as I get the error:
>>>
>>> Error: unexpected ':' in:
>>> "{
>>> local({ :"
>>> Execution halted
>>>
>>> Can I somehow use unbalanced brackets, or is this a missing option in
>>> epilogue and prologue?
>>>
>>> Cheers,
>>>
>>> Rainer
>>>
>>>
>>> --
>>> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation
>>> Biology, UCT), Dipl. Phys. (Germany)
>>>
>>> Centre of Excellence for Invasion Biology
>>> Stellenbosch University
>>> South Africa
>>>
>>> Tel : +33 - (0)9 53 10 27 44
>>> Cell: +33 - (0)6 85 62 59 98
>>> Fax : +33 - (0)9 58 10 27 44
>>>
>>> Fax (D): +49 - (0)3 21 21 25 22 44
>>>
>>> email: address@hidden
>>>
>>> Skype: RMkrug
>>
>
> --
> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,
> UCT), Dipl. Phys. (Germany)
>
> Centre of Excellence for Invasion Biology
> Stellenbosch University
> South Africa
>
> Tel : +33 - (0)9 53 10 27 44
> Cell: +33 - (0)6 85 62 59 98
> Fax : +33 - (0)9 58 10 27 44
>
> Fax (D): +49 - (0)3 21 21 25 22 44
>
> email: address@hidden
>
> Skype: RMkrug
--
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D