Andreas Leha <andreas.l...@med.uni-goettingen.de> writes: > Hi Eric, > >> Andreas Leha <andreas.l...@med.uni-goettingen.de> 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