emacs-orgmode
[Top][All Lists]
Advanced

[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




reply via email to

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