From: Torsten Wagner <torsten.wagner@gmail.com>
To: Org Mode Mailing List <emacs-orgmode@gnu.org>
Subject: [babel] eval code only once :eval once
Date: Tue, 10 Apr 2012 19:08:22 +0900 [thread overview]
Message-ID: <CAPaq-gOGfQvPrt+sPV9__XDvEKuMmB9xKRJ2dFCp0YdWNg+hww@mail.gmail.com> (raw)
Hi,
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 ;)
Totti
next reply other threads:[~2012-04-10 10:08 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-10 10:08 Torsten Wagner [this message]
2012-04-10 18:31 ` [babel] eval code only once :eval once Thomas S. Dye
2012-04-16 10:50 ` Sebastien Vauban
2012-04-17 16:15 ` Thomas S. Dye
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=CAPaq-gOGfQvPrt+sPV9__XDvEKuMmB9xKRJ2dFCp0YdWNg+hww@mail.gmail.com \
--to=torsten.wagner@gmail.com \
--cc=emacs-orgmode@gnu.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).