emacs-orgmode
[Top][All Lists]
Advanced

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

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


From: Thomas S. Dye
Subject: Re: [O] [babel] eval code only once :eval once
Date: Tue, 17 Apr 2012 06:15:16 -1000


"Sebastien Vauban"
<address@hidden> writes:

> Hi Thomas,
>
> Thomas S. Dye wrote:
>> Torsten Wagner <address@hidden> 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




reply via email to

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