From: tsd@tsdye.com (Thomas S. Dye)
To: Sebastien Vauban
<public-wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@plane.gmane.org>
Cc: public-emacs-orgmode-mXXj517/zsQ@plane.gmane.org
Subject: Re: [babel] eval code only once :eval once
Date: Tue, 17 Apr 2012 06:15:16 -1000 [thread overview]
Message-ID: <m1hawi49nv.fsf@tsdye.com> (raw)
In-Reply-To: <803984ympe.fsf@somewhere.org> (Sebastien Vauban's message of "Mon, 16 Apr 2012 12:50:53 +0200")
"Sebastien Vauban"
<wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes:
> Hi Thomas,
>
> Thomas S. Dye wrote:
>> Torsten Wagner <torsten.wagner-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes:
>>> I started to use lisp (as well as other) code blocks more and more to
>>> modify my work environment (emacs) for a particular (buffer-based)
>>> task.
>>> That is I change some variables, add some stuff etc.
>>> A real world example is for example the section below
>>>
>>> * Set-up :nonexport:
>>> #+source: setup-minted
>>> #+begin_src emacs-lisp :exports none :results silent
>>> (setq org-export-latex-listings 'minted)
>>> (setq org-export-latex-custom-lang-environments
>>> '(
>>> (emacs-lisp "common-lispcode")
>>> ))
>>> (setq org-export-latex-minted-options
>>> '(("frame" "lines")
>>> ("fontsize" "\\scriptsize")
>>> ("linenos" "")))
>>> (setq org-latex-to-pdf-process
>>> '("pdflatex -shell-escape -interaction nonstopmode
>>> -output-directory %o %f"
>>> "pdflatex -shell-escape -interaction nonstopmode
>>> -output-directory %o %f"
>>> "pdflatex -shell-escape -interaction nonstopmode
>>> -output-directory %o %f"))
>>> #+end_src
>>>
>>> This are settings from worg, which I use only during my work on that
>>> particular file/buffer e.g. to modify the export of the following
>>> beamer presentation.
>>> Whenever I load the buffer I jump to set-up and hit C-c C-C to execute
>>> it once. After that exports will do what I want.
>>> If I would change the above to :exports results and :results silent I
>>> would be asked to execute the code block on every export.
>>> Thanks to the new auto completion feature, I came across :eval and
>>> wonder if it makes sense to add
>>> :eval once
>>> and
>>> :eval once-query
>>>
>>> Which would allow to execute it only once (with query) if not called
>>> before and otherwise keeps quite.
>>> That would make *Set-up blocks much more efficient.
>>> Was thinking why there is no 'no-query' resp. 'always' flag which
>>> would execute code blocks without query even if asked for it in
>>> general but that would be somehow against safety measures ;)
>>
>> Aloha Totti,
>>
>> Will :cache yes do what you want?
>
> I'd answer no, as this wouldn't be re-eval'ed the next time he opens that
> buffer.
>
> But...?
>
> Best regards,
> Seb
Aloha Seb,
Yes, you're right. Perhaps #+BIND: then, instead of a babel code block?
Tom
--
Thomas S. Dye
http://www.tsdye.com
prev parent reply other threads:[~2012-04-17 16:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-10 10:08 [babel] eval code only once :eval once Torsten Wagner
2012-04-10 18:31 ` Thomas S. Dye
2012-04-16 10:50 ` Sebastien Vauban
2012-04-17 16:15 ` Thomas S. Dye [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m1hawi49nv.fsf@tsdye.com \
--to=tsd@tsdye.com \
--cc=public-emacs-orgmode-mXXj517/zsQ@plane.gmane.org \
--cc=public-wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@plane.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).