emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] evaluation context in call statements


From: Michael Brand
Subject: Re: [O] evaluation context in call statements
Date: Wed, 26 Jun 2013 18:53:43 +0200

Hi Eric

On Wed, Jun 26, 2013 at 4:54 PM, Eric Schulte <address@hidden> wrote:
>> http://thread.gmane.org/gmane.emacs.orgmode/72513/focus=73547
>
> They will overwrite eachother's results.

I do not understand. In order to avoid that they will overwrite
eachother's results I added `dummy_name="osx"' and `dummy_name="gnu"'
to the call arguments. What did you mean?

> We are currently discussing
> alternatives which would change this behavior.

My suggestions to this discussion have been two alternatives that
already work now and that I already used, see my use case
"unicode_normal_form_c" and my patch with the ERT in the other thread
mentioned above:
1) use :session where supported like for emacs-lisp source blocks
2) use ":var dummy_name" as a workaround where :session is not
   supported like for shell source blocks

>>    -------------------------------------------------------------------
>>    #+NAME: i_am_curious_how_this_works
>>    #+BEGIN_SRC emacs-lisp
>>      (format "%s" org-babel-current-src-block-location)
>>    #+END_SRC
>>
>>    #+CALL: i_am_curious_how_this_works()
>>
>>    #+RESULTS: i_am_curious_how_this_works()
>>    : #<marker at 124 in tmp.org>
>>    #+CALL: i_am_curious_how_this_works()
>>
>>    (Here I expect to see the result "#<marker at 235 in tmp.org>".)
>>    -------------------------------------------------------------------
>
> This works as expected.  Depending on the call line executed, I get
> different points in the second results.

I am sorry, I wanted to say that I want to do something like
(note: not current behavior)

-------------------------------------------------------------------
#+NAME: i_am_curious_how_this_works
#+BEGIN_SRC emacs-lisp
  (format "%s" org-babel-current-src-block-location)
#+END_SRC

#+CALL: i_am_curious_how_this_works()

#+RESULTS: i_am_curious_how_this_works()
: #<marker at 124 in tmp.org>

#+CALL: i_am_curious_how_this_works()

#+RESULTS: i_am_curious_how_this_works()
: #<marker at 236 in tmp.org>

-------------------------------------------------------------------

and would like the yet to be defined solution in discussion here to
make also this possible, together with the appropriate change if
necessary to the example given above.

Currently working alternative with the change to use ":session":

-------------------------------------------------------------------
#+NAME: i_am_curious_how_this_works
#+BEGIN_SRC emacs-lisp
  (format "%s" org-babel-current-src-block-location)
#+END_SRC

#+CALL: i_am_curious_how_this_works[:session upper]()

#+RESULTS: i_am_curious_how_this_works[:session upper]()
: #<marker at 124 in tmp.org>

#+CALL: i_am_curious_how_this_works[:session lower]()

#+RESULTS: i_am_curious_how_this_works[:session lower]()
: #<marker at 267 in tmp.org>

-------------------------------------------------------------------

Currently working alternative with the change to use
":var dummy_name":

-------------------------------------------------------------------
#+NAME: i_am_curious_how_this_works
#+BEGIN_SRC emacs-lisp :var dummy_name=""
  (format "%s" org-babel-current-src-block-location)
#+END_SRC

#+CALL: i_am_curious_how_this_works(dummy_name="upper")

#+RESULTS: i_am_curious_how_this_works(dummy_name="upper")
: #<marker at 143 in tmp.org>

#+CALL: i_am_curious_how_this_works(dummy_name="lower")

#+RESULTS: i_am_curious_how_this_works(dummy_name="lower")
: #<marker at 290 in tmp.org>

-------------------------------------------------------------------

> Currently if you want have separate results for call lines with the same
> variables you will need to use a dummy variable.

Ok, this answers one of my questions in the other thread and confirms
my expectation. Does it mean that my patch with the ERT as of
2013-06-19 from the other thread is ok for now and can be applied
just to reflect what is currently supported? Or should I change
something else in the patch?

Michael



reply via email to

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