[Top][All Lists]
[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