emacs-orgmode
[Top][All Lists]
Advanced

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

[O] [babel] eval code only once :eval once


From: Torsten Wagner
Subject: [O] [babel] eval code only once :eval once
Date: Tue, 10 Apr 2012 19:08:22 +0900

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 via email to

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