emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] How do I chain babel blocks with arguments?


From: Charles Berry
Subject: Re: [O] How do I chain babel blocks with arguments?
Date: Wed, 16 Apr 2014 20:49:43 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Alan Schmitt <alan.schmitt <at> polytechnique.org> writes:

> 
> Hello,
> 
> I have several babel blocks that each work well, but I'm now trying to
> chain them to build some bigger functionality out of them. I'm having
> trouble finding out how to pass arguments between blocks. Here is
> a small example:
> 
> --8<---------------cut here---------------start------------->8---
> #+name: test1
> #+begin_src emacs-lisp :var x="foo"
> x
> #+end_src
> 
> #+name:test2
> #+begin_src emacs-lisp :var z="bar" :var y=test1(x=z)
> y
> #+end_src
> 
> #+call: test2(z="baz")
> --8<---------------cut here---------------end--------------->8---
> 
> Unfortunately this does not work: the evaluation of block `test2' fails
> by telling me `z' does not exist.
> 
> How can I execute block `test1' from block `test2' by passing an
> argument that is one from test2?

This is not pretty, but it works:

#+name:test2 
#+begin_src emacs-lisp :var z="bar"
  (let ((y (org-sbe test1 (x (intern z)))))
    y)
#+end_src


HTH,

Chuck





reply via email to

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