"Charles C. Berry" wrote: > On Fri, 23 Jan 2015, Sebastien Vauban wrote: >> "Charles C. Berry" wrote: >>> Sebastien Vauban wrote: >>>> In a long document, I must have ":eval no" at file level, as this >>>> is the common setting for most code blocks. However, how do I unset >>>> that for some call lines. >> >> I don't get why one has to add ":eval yes" for both types of headers >> arguments.
I still don't get that: why do I need to add *twice* ":eval yes", in both the "inside header args" and the "end header args"? The documentation [1] states: ┌──── │ END HEADER ARGUMENTS are applied to the calling instance and DO NOT │ AFFECT EVALUATION OF THE NAMED CODE BLOCK. They affect how the │ results are incorporated into the Org mode buffer and how the call │ line is exported. └──── If end header args don't affect the evaluation of the name code block, why do we have to set ":eval" to "yes", then? >> Moreover, I once read that when evaluating a call line, it is >> converted into an ephemeral Emacs Lisp code block equivalent to the >> call line (and created at the point of the call line): >> >> #+begin_src emacs-lisp :var result=<NAME>(<ARGUMENTS>) <INSIDE-HEADER-ARGS> >> result >> #+end_src >> >> which is evaluated in place. > > No, like this: > > #+begin_src emacs-lisp :var result=<NAME>[<INSIDE-HEADER-ARGS>](<ARGUMENTS>) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ What's that syntax? The one described for "header arguments in function calls"? Aren't we recursive here: describing syntax equivalent to a call via the ephemeral code block, reusing syntax for a call? >> Where do <END-HEADER-ARGS> fit into that picture? > > Either before or after the :var ... > > HTH, Not completely yet, no. Best regards, Seb [1] http://orgmode.org/manual/Evaluating-code-blocks.html#Evaluating-code-blocks -- Sebastien Vauban