"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. > > See (info "(org) Evaluating code blocks") > > Note what it says about 'inside' and 'outside' header arguments. You > need *both* set to `:eval yes'. > > The inside arg will allow execution of `plus' while the `outside' will > allow execution of call_plus(...). > > Try this: > > 6 + 6 = call_plus[:eval yes](x=6)[:eval yes].
That works, thanks! However, I really have trouble understanding what are inside and outside header arguments for. I still don't get it properly. Summarizing the above doc: - "inside" header arguments are applied to the *evaluation of the code block*. They /affect how the code block is evaluated/. - "end" header arguments do not affect evaluation of the named code block; instead, they /affect how the results are incorporated/ into the Org mode buffer. I don't get why one has to add ":eval yes" for both types of headers arguments. 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. Where do <END-HEADER-ARGS> fit into that picture? Best regards, Seb -- Sebastien Vauban