Hi Andreas,

Andreas Leha wrote:
> "Sebastien Vauban" <sva-n...@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?

> 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


Reply via email to