emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] [babel] howto debug #+call lines


From: Eric Schulte
Subject: Re: [O] [babel] howto debug #+call lines
Date: Sat, 06 Oct 2012 19:03:03 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux)

Andreas Leha <address@hidden> writes:

> Hi Eric,
>
>> Andreas Leha <address@hidden> writes:
>>
>>> Hi all,
>>>
>>> I am getting different results from the evaluation of a source block and
>>> the evaluation of a #+call line to that block.
>>>
>>> Therefore, my question: Is there an equivalent to
>>> org-babel-expand-src-block (C-c C-v v) for #+call lines?
>>>
>>> Or more general:  How do I debug #+call lines?
>>>
>>> Regards,
>>> Andreas
>>>
>>
>> Can you provide a minimal example?
>>
>> You could write a code block equivalent to the call line.  E.g.,
>>
>>     #+call: foo(bar=1)
>>
>> is equivalent to
>>
>>     #+begin_src emacs-lisp :var results=foo(bar=1)
>>       results
>>     #+end_src
>
> Thanks for following this up.  I found the problem in my case:  The
> header argument ':colnames yes' was missing from the call line, such that
> the passed variables were different.  (I've fallen into that trap
> repeatedly, but do not learn, as it seems...)
>
> It would have been a lot easier to find this, if I had had the possibility
> to do C-c C-v v on the call line to get the chance to step through the
> (R-) code that is evaluated.  Without this, it took me some time to
> figure things out.
>
> So the question still stands: Is there the possibility to see what is
> actually executed with a call line, similar to C-c C-v v on a source
> block?
>

There is no body to expand in a call line so C-c C-v v would have
nothing to show.  You can however jump to the related code block and
call C-c C-v v there.  This process could be made faster by wrapping the
org-babel-goto-named-src-block and org-babel-expand-src-block functions
into a single function.

Best,

>
> For a small example consider:
>
> ---
> #+name: foo
> | bar |
> | baz |
> | bam |
>
> #+call: testblock[:var a=foo]() :colnames yes
>
> #+name: testblock
> #+begin_src R :var a=foo :colnames yes
>   a <- a[,1]
>   data.frame(x=a)
> #+end_src
> ---
>
> Regards,
> Andreas
>
>

-- 
Eric Schulte
http://cs.unm.edu/~eschulte



reply via email to

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