* refernce to call results
@ 2013-11-13 10:19 Andreas Leha
2013-11-13 11:12 ` Sebastien Vauban
2013-11-13 11:24 ` Sebastien Vauban
0 siblings, 2 replies; 9+ messages in thread
From: Andreas Leha @ 2013-11-13 10:19 UTC (permalink / raw)
To: emacs-orgmode
Hi all,
how do I reference the results of a #+call line?
Here are my unsuccessful attempts:
--8<---------------cut here---------------start------------->8---
* Test call results
#+name: curdir
#+begin_src sh
echo "$PWD"
#+end_src
#+results: curdir
: /home/andreas/tmp/junk/2013/11
#+name: curdircall
#+call: curdir()
#+results: curdircall
: /home/andreas/tmp/junk/2013/11
#+begin_src sh :var test=curdircall
echo "$test"
#+end_src
#+results:
: nil
#+begin_src sh :var test=curdircall()
echo "$test"
#+end_src
#+results:
: nil
--8<---------------cut here---------------end--------------->8---
Regards,
Andreas
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: refernce to call results
2013-11-13 10:19 refernce to call results Andreas Leha
@ 2013-11-13 11:12 ` Sebastien Vauban
2013-11-13 11:33 ` Andreas Leha
2013-11-13 11:24 ` Sebastien Vauban
1 sibling, 1 reply; 9+ messages in thread
From: Sebastien Vauban @ 2013-11-13 11:12 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Andreas Leha wrote:
> how do I reference the results of a #+call line?
>
> Here are my unsuccessful attempts:
>
> * Test call results
>
> #+name: curdir
> #+begin_src sh
> echo "$PWD"
> #+end_src
>
> #+results: curdir
> : /home/andreas/tmp/junk/2013/11
>
>
> #+name: curdircall
> #+call: curdir()
>
> #+results: curdircall
> : /home/andreas/tmp/junk/2013/11
>
> #+begin_src sh :var test=curdircall
> echo "$test"
> #+end_src
>
> #+results:
> : nil
IIUC, #+CALL lines can't be named.
See http://orgmode.org/manual/Structure-of-code-blocks.html#Structure-of-code-blocks
vs http://orgmode.org/manual/Evaluating-code-blocks.html#Evaluating-code-blocks.
Best regards,
Seb
--
Sebastien Vauban
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: refernce to call results
2013-11-13 10:19 refernce to call results Andreas Leha
2013-11-13 11:12 ` Sebastien Vauban
@ 2013-11-13 11:24 ` Sebastien Vauban
2013-11-13 11:45 ` Andreas Leha
1 sibling, 1 reply; 9+ messages in thread
From: Sebastien Vauban @ 2013-11-13 11:24 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Andreas Leha wrote:
> how do I reference the results of a #+call line?
>
> Here are my unsuccessful attempts:
>
> * Test call results
>
> #+name: curdir
> #+begin_src sh
> echo "$PWD"
> #+end_src
>
> #+results: curdir
> : /home/andreas/tmp/junk/2013/11
>
> [...]
>
> #+begin_src sh :var test=curdircall()
> echo "$test"
> #+end_src
>
> #+results:
> : nil
Use the following:
#+begin_src sh :var test=curdir()
echo "$test"
#+end_src
Best regards,
Seb
--
Sebastien Vauban
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: refernce to call results
2013-11-13 11:12 ` Sebastien Vauban
@ 2013-11-13 11:33 ` Andreas Leha
0 siblings, 0 replies; 9+ messages in thread
From: Andreas Leha @ 2013-11-13 11:33 UTC (permalink / raw)
To: emacs-orgmode
"Sebastien Vauban" <sva-news@mygooglest.com>
writes:
> Andreas Leha wrote:
>> how do I reference the results of a #+call line?
>>
>> Here are my unsuccessful attempts:
>>
>> * Test call results
>>
>> #+name: curdir
>> #+begin_src sh
>> echo "$PWD"
>> #+end_src
>>
>> #+results: curdir
>> : /home/andreas/tmp/junk/2013/11
>>
>>
>> #+name: curdircall
>> #+call: curdir()
>>
>> #+results: curdircall
>> : /home/andreas/tmp/junk/2013/11
>>
>> #+begin_src sh :var test=curdircall
>> echo "$test"
>> #+end_src
>>
>> #+results:
>> : nil
>
> IIUC, #+CALL lines can't be named.
>
> See http://orgmode.org/manual/Structure-of-code-blocks.html#Structure-of-code-blocks
> vs http://orgmode.org/manual/Evaluating-code-blocks.html#Evaluating-code-blocks.
>
> Best regards,
> Seb
Hi Sebastian,
they can be named now (see
http://thread.gmane.org/gmane.emacs.orgmode/73811/focus=74096).
Regards,
Andreas
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: refernce to call results
2013-11-13 11:24 ` Sebastien Vauban
@ 2013-11-13 11:45 ` Andreas Leha
2013-11-13 13:33 ` Sebastien Vauban
0 siblings, 1 reply; 9+ messages in thread
From: Andreas Leha @ 2013-11-13 11:45 UTC (permalink / raw)
To: emacs-orgmode
"Sebastien Vauban" <sva-news@mygooglest.com>
writes:
> Andreas Leha wrote:
>> how do I reference the results of a #+call line?
>>
>> Here are my unsuccessful attempts:
>>
>> * Test call results
>>
>> #+name: curdir
>> #+begin_src sh
>> echo "$PWD"
>> #+end_src
>>
>> #+results: curdir
>> : /home/andreas/tmp/junk/2013/11
>>
>> [...]
>>
>> #+begin_src sh :var test=curdircall()
>> echo "$test"
>> #+end_src
>>
>> #+results:
>> : nil
>
> Use the following:
>
> #+begin_src sh :var test=curdir()
> echo "$test"
> #+end_src
>
> Best regards,
> Seb
Hi Sebastien,
thanks for that. I am aware of the workaround to use a full code block
instead. But my question still stands.
I found out how to do it. Rather simple and straight forward, blush...
For future reference here it is:
--8<---------------cut here---------------start------------->8---
#+name: curdir
#+begin_src sh
echo "$PWD"
#+end_src
#+results: curdir
: /home/andreas/tmp/junk/2013/11
#+name: curdircall
#+call: curdir()
#+name: myname
#+results: curdircall
: /home/andreas/tmp/junk/2013/11
#+begin_src sh :var test=myname
echo "$test"
#+end_src
--8<---------------cut here---------------end--------------->8---
Regards,
Andreas
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: refernce to call results
2013-11-13 11:45 ` Andreas Leha
@ 2013-11-13 13:33 ` Sebastien Vauban
2013-11-13 13:59 ` [feature request] " Andreas Leha
0 siblings, 1 reply; 9+ messages in thread
From: Sebastien Vauban @ 2013-11-13 13:33 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Hi Andreas,
Andreas Leha wrote:
> "Sebastien Vauban" <sva-news-D0wtAvR13HarG/iDocfnWg@public.gmane.org> writes:
>> Andreas Leha wrote:
>>> how do I reference the results of a #+call line?
>>>
>>> Here are my unsuccessful attempts:
>>>
>>> * Test call results
>>>
>>> #+name: curdir
>>> #+begin_src sh
>>> echo "$PWD"
>>> #+end_src
>>>
>>> #+results: curdir
>>> : /home/andreas/tmp/junk/2013/11
>>
>> Use the following:
>>
>> #+begin_src sh :var test=curdir()
>> echo "$test"
>> #+end_src
>
> thanks for that. I am aware of the workaround to use a full code block
> instead. But my question still stands.
I don't understand what you mean: it's not a workaround, as you have to define
your block once. Then, you simply use its name, instead of naming a call line,
and using that name. You avoid one indirection, no?
> I found out how to do it. Rather simple and straight forward, blush...
>
> For future reference here it is:
> #+name: curdir
> #+begin_src sh
> echo "$PWD"
> #+end_src
>
> #+results: curdir
> : /home/andreas/tmp/junk/2013/11
>
> #+name: curdircall
> #+call: curdir()
>
> #+name: myname
> #+results: curdircall
> : /home/andreas/tmp/junk/2013/11
>
> #+begin_src sh :var test=myname
> echo "$test"
> #+end_src
I don't know if that's the solution, or simply a feature which works for now.
I find this weird and unsound:
- For code blocks, the results' name (curdir) is the code block's name
(curdir).
- For call lines, as you do above, you give another name to the results of a
call line (myname) than the name of the call line itself (curdircall).
This is not appealing to me, and confusing at least.
Best regards,
Seb
--
Sebastien Vauban
^ permalink raw reply [flat|nested] 9+ messages in thread
* [feature request] refernce to call results
2013-11-13 13:33 ` Sebastien Vauban
@ 2013-11-13 13:59 ` Andreas Leha
2013-11-13 18:45 ` Eric Schulte
0 siblings, 1 reply; 9+ messages in thread
From: Andreas Leha @ 2013-11-13 13:59 UTC (permalink / raw)
To: emacs-orgmode
Hi Sebastien,
"Sebastien Vauban" <sva-news@mygooglest.com>
writes:
> Hi Andreas,
>
> Andreas Leha wrote:
>> "Sebastien Vauban" <sva-news@mygooglest.com> writes:
>>> Andreas Leha wrote:
>>>> how do I reference the results of a #+call line?
>>>>
>>>> Here are my unsuccessful attempts:
>>>>
>>>> * Test call results
>>>>
>>>> #+name: curdir
>>>> #+begin_src sh
>>>> echo "$PWD"
>>>> #+end_src
>>>>
>>>> #+results: curdir
>>>> : /home/andreas/tmp/junk/2013/11
>>>
>>> Use the following:
>>>
>>> #+begin_src sh :var test=curdir()
>>> echo "$test"
>>> #+end_src
>>
>> thanks for that. I am aware of the workaround to use a full code block
>> instead. But my question still stands.
>
> I don't understand what you mean: it's not a workaround, as you have to define
> your block once. Then, you simply use its name, instead of naming a call line,
> and using that name. You avoid one indirection, no?
>
Sorry about the lame example. Let's assume, the original
code block takes an argument. I want
to 'get rid of' that argument, let's say to avoid typing. So, I have to
name the result of calling that code block with a specific argument.
There has to be at least one level of indirection here?
IIUC, you propose to use a code block to provide that argument, and my
idea was to use a #+call line. For me, a call line is the more natural
way to accomplish this.
>> I found out how to do it. Rather simple and straight forward, blush...
>>
>> For future reference here it is:
>> #+name: curdir
>> #+begin_src sh
>> echo "$PWD"
>> #+end_src
>>
>> #+results: curdir
>> : /home/andreas/tmp/junk/2013/11
>>
>> #+name: curdircall
>> #+call: curdir()
>>
>> #+name: myname
>> #+results: curdircall
>> : /home/andreas/tmp/junk/2013/11
>>
>> #+begin_src sh :var test=myname
>> echo "$test"
>> #+end_src
>
> I don't know if that's the solution, or simply a feature which works for now.
>
> I find this weird and unsound:
>
> - For code blocks, the results' name (curdir) is the code block's name
> (curdir).
>
> - For call lines, as you do above, you give another name to the results of a
> call line (myname) than the name of the call line itself (curdircall).
>
> This is not appealing to me, and confusing at least.
I agree completely. So my question boils down to this feature request:
Now, that #+call lines can be named, would it be possible to reference
the results the same way as for code blocks?
Regards,
Andreas
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [feature request] refernce to call results
2013-11-13 13:59 ` [feature request] " Andreas Leha
@ 2013-11-13 18:45 ` Eric Schulte
2013-11-13 20:08 ` Andreas Leha
0 siblings, 1 reply; 9+ messages in thread
From: Eric Schulte @ 2013-11-13 18:45 UTC (permalink / raw)
To: Andreas Leha; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 268 bytes --]
>
> I agree completely. So my question boils down to this feature request:
>
> Now, that #+call lines can be named, would it be possible to reference
> the results the same way as for code blocks?
>
I just pushed up a commit which should make this possible. E.g.,
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: call.org --]
[-- Type: text/x-org, Size: 320 bytes --]
* call by name
#+name: echo-input
#+begin_src sh :var input="original"
echo "input=$input"
#+end_src
#+RESULTS: echo-input
: input=original
#+name: echo-new
#+call: echo-input("new")
#+RESULTS: echo-new
: input=new
#+begin_src sh :var input=echo-new()
echo "this=$input"
#+end_src
#+RESULTS:
: this=input=new
[-- Attachment #3: Type: text/plain, Size: 70 bytes --]
Best,
--
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [feature request] refernce to call results
2013-11-13 18:45 ` Eric Schulte
@ 2013-11-13 20:08 ` Andreas Leha
0 siblings, 0 replies; 9+ messages in thread
From: Andreas Leha @ 2013-11-13 20:08 UTC (permalink / raw)
To: emacs-orgmode
Hi Eric,
Eric Schulte <schulte.eric@gmail.com> writes:
>>
>> I agree completely. So my question boils down to this feature request:
>>
>> Now, that #+call lines can be named, would it be possible to reference
>> the results the same way as for code blocks?
>>
>
> I just pushed up a commit which should make this possible. E.g.,
>
> * call by name
>
> #+name: echo-input
> #+begin_src sh :var input="original"
> echo "input=$input"
> #+end_src
>
> #+RESULTS: echo-input
> : input=original
> #+name: echo-new
> #+call: echo-input("new")
> #+RESULTS: echo-new
> : input=new
> #+begin_src sh :var input=echo-new()
> echo "this=$input"
> #+end_src
>
> #+RESULTS:
> : this=input=new
>
thanks a lot! I confirm that it works. This was really fast!
Regards,
Andreas
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2013-11-13 20:08 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-13 10:19 refernce to call results Andreas Leha
2013-11-13 11:12 ` Sebastien Vauban
2013-11-13 11:33 ` Andreas Leha
2013-11-13 11:24 ` Sebastien Vauban
2013-11-13 11:45 ` Andreas Leha
2013-11-13 13:33 ` Sebastien Vauban
2013-11-13 13:59 ` [feature request] " Andreas Leha
2013-11-13 18:45 ` Eric Schulte
2013-11-13 20:08 ` Andreas Leha
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).