[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>
writes:
> 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?
Regards,
Andreas