From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sebastien Vauban Subject: Re: How to override ":eval no" in call lines? Date: Mon, 09 Feb 2015 15:43:55 +0100 Message-ID: <86egpzjgb8.fsf@example.com> References: <86oaq02ivd.fsf@example.com> <86lhkv1aox.fsf@example.com> <86r3uln2lp.fsf@example.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: (Charles C. Berry's message of "Fri, 23 Jan 2015 11:53:20 -0800") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org To: "Charles C. Berry" Cc: Org-Mode mailing list "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: =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 END HEADER ARGUMENTS are applied to the calling instance and DO= NOT =E2=94=82 AFFECT EVALUATION OF THE NAMED CODE BLOCK. They affect how the =E2=94=82 results are incorporated into the Org mode buffer and how the c= all =E2=94=82 line is exported. =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 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=3D() >> result >> #+end_src >> >> which is evaluated in place. > > No, like this: > > #+begin_src emacs-lisp :var result=3D[]() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^= ^^^ 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 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-b= locks --=20 Sebastien Vauban