[Top][All Lists]

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

[O] [feature request] refernce to call results

From: Andreas Leha
Subject: [O] [feature request] refernce to call results
Date: Wed, 13 Nov 2013 14:59:50 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Hi Sebastien,

"Sebastien Vauban" <address@hidden>

> Hi Andreas,
> Andreas Leha wrote:
>> "Sebastien Vauban" <address@hidden> 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?


reply via email to

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