emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
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

             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).