Aaron Ecay <aarone...@gmail.com> writes: Hi Aaron,
> 2014ko uztailak 27an, Thorsten Jolitz-ek idatzi zuen: >> >> Thorsten Jolitz <tjol...@gmail.com> writes: >> >>> Hi List, >>> >>> whats wrong with this :post header arg: >>> >>> #+header: :post (format "#+attr_latex :float :placement >>> {c}{scale=.6}\n%s" *this*) >>> #+begin_src emacs-lisp >>> (+ 2 2) >>> #+end_src >>> >>> When I understand >>> >>> ,---- >>> | http://orgmode.org/manual/post.html >>> `---- >>> >>> correctly, *this* should hold the block results, but I get >>> >>> ,---- >>> | Symbol's value as variable is void: *this* >>> `---- >> >> >> This works: >> >> #+name: myconcat >> #+header: :var x="" >> #+begin_src emacs-lisp >> (format "Do %sx then quit" x) >> #+end_src >> >> >> #+header: :post myconcat(x=*this*) >> #+begin_src emacs-lisp >> (+ 2 2) >> #+end_src >> >> #+results: >> : Do 4x then quit >> >> >> but how do I interpret the following sentence from the manual: >> >> ,---- >> | This variable [*this*] may then be included in header argument forms >> | such as those used in var header argument specifications allowing >> | passing of results to other code blocks, or direct execution via Emacs >> | Lisp. >> `---- >> >> What is meant by 'direct execution via Emacs Lisp' here? I think the >> above construct with two src-blocks is a bit heavy for the rather small >> task and hoped I could just give an Emacs Lisp expression containing >> *this* as value to the :post header arg, but apparently not? >> >> #+header: :post (format "Do %sx then quit" *this*) >> #+begin_src emacs-lisp >> (+ 2 2) >> #+end_src >> >> -> eval: Symbol's value as variable is void: *this* > > The value of :post should be a babel call (in the same format as e.g. a > #+call line), not an elisp form. If babel sees something that looks > like elisp, it will attempt to ‘eval’ it when parsing the src block, > before *this* is bound (which happens only upon execution, after > parsing). Thats #+CALL: <name>(<arguments>) then, and looks like the headerline of the working example above: #+header: :post myconcat(x=*this*) Then there is no way to achieve what I had in mind. Thx. -- cheers, Thorsten