emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] How to override ":eval no" in call lines?


From: Sebastien Vauban
Subject: Re: [O] How to override ":eval no" in call lines?
Date: Fri, 23 Jan 2015 12:44:18 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (windows-nt)

"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




reply via email to

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