Re: [O] Don't ask, don't run

2011-07-11 Thread Ken Williams
Eric Schulte schulte.eric at gmail.com writes:

 There is no way to customize `org-confirm-evaluate' to achieve this
 behavior, however it can be accomplished through creative use of the
 :eval header argument, by using the `org-export-current-backend'
 variable to inhibit evaluation during export.
 
 #+begin_src emacs-lisp :eval (if org-export-current-backend never
  yes) :exports results
   (message launch missles)
 #+end_src

I see, thanks.  Since I'm new to this, can I confirm my understanding 
here?  It tests whether the 'org-export-current-backend' variable is
set, which means we're currently exporting, and if so, we set the 
:eval argument to never.  Otherwise we set it to yes, which means
evaluate it without asking.

Assuming that understanding is correct, I have a couple of followup
questions.

1) http://orgmode.org/manual/eval.html doesn't list the yes option, 

2) Is there a similar variable I might test to check whether it's currently
doing an explicit C-c C-c action?  If there were, I might prefer 
something like :eval (if org-export-current-backend never (if 
org-doing-c-c-c-c yes query)), so that I cover some other
scenario besides export or C-c C-c.

3) Finally, is there a way to add this argument fanciness implicitly
to *all* the source blocks in my file?  Or will it have to go on 
all of them?

Thanks much.

 -Ken




Re: [O] Don't ask, don't run

2011-07-11 Thread Eric Schulte
Ken Williams ken.willi...@thomsonreuters.com writes:

 Eric Schulte schulte.eric at gmail.com writes:

 There is no way to customize `org-confirm-evaluate' to achieve this
 behavior, however it can be accomplished through creative use of the
 :eval header argument, by using the `org-export-current-backend'
 variable to inhibit evaluation during export.
 
 #+begin_src emacs-lisp :eval (if org-export-current-backend never
  yes) :exports results
   (message launch missles)
 #+end_src

 I see, thanks.  Since I'm new to this, can I confirm my understanding 
 here?  It tests whether the 'org-export-current-backend' variable is
 set, which means we're currently exporting, and if so, we set the 
 :eval argument to never.  Otherwise we set it to yes, which means
 evaluate it without asking.

 Assuming that understanding is correct, I have a couple of followup
 questions.

 1) http://orgmode.org/manual/eval.html doesn't list the yes option, 


OK, I've just updated this documentation.  There actually is no yes
option, a more clear version of my snippet above would have set :eval to
nil when not in export.  Any value of :eval which is no never or no
will result in the default behavior as determined by
org-confirm-babel-evaluate.


 2) Is there a similar variable I might test to check whether it's currently
 doing an explicit C-c C-c action?  If there were, I might prefer 
 something like :eval (if org-export-current-backend never (if 
 org-doing-c-c-c-c yes query)), so that I cover some other
 scenario besides export or C-c C-c.


hmm, I'm not sure... you could try `called-interactively-p' e.g.,

  (if (called-interactively-p 'interactive) yes query)


 3) Finally, is there a way to add this argument fanciness implicitly
 to *all* the source blocks in my file?  Or will it have to go on 
 all of them?


Yes, place it in a #+Babel: line at the top of the file, see
http://orgmode.org/manual/Using-header-arguments.html

Best -- Eric


 Thanks much.

  -Ken



-- 
Eric Schulte
http://cs.unm.edu/~eschulte/



Re: [O] Don't ask, don't run

2011-07-10 Thread Eric Schulte
Eric S Fraga e.fr...@ucl.ac.uk writes:

 ken.willi...@thomsonreuters.com writes:

 Hi,

 I know from the manual that I can set 'org-confirm-babel-evaluate' to t,
 or nil, or a function, to control whether I'm asked permission to run a
 code block.

 However, that only gives me two choices - ask the user, or pretend the
 user said yes.  Sometimes I'd like to pretend the user said no,
 without asking.

 Specifically, I'd like to always manually control when code blocks are
 executed.  When exporting, I don't want them executed (and I don't want to
 be asked about my dozens of blocks each time).  When hitting C-c C-c
 manually, I just want it to run (and I don't want to be asked whether I'm
 sure).

 Is there a similar variable, or perhaps an export option, that will give
 me this kind of workflow?

 Thanks.

 I can't help you directly although I also often want the behaviour you
 are describing.  One workaround that should give you what you want is to
 enable evaluation without prompting (org-confirm-babel-evaluate: nil)
 and to have the results from runs cached so that, when exporting, the
 source code blocks shouldn't have to execute; see [[info:org#cache]].

There is no way to customize `org-confirm-evaluate' to achieve this
behavior, however it can be accomplished through creative use of the
:eval header argument, by using the `org-export-current-backend'
variable to inhibit evaluation during export.

#+begin_src emacs-lisp :eval (if org-export-current-backend never yes) 
:exports results
  (message launch missles)
#+end_src

Best -- Eric

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/



[O] Don't ask, don't run

2011-07-08 Thread Ken.Williams
Hi,

I know from the manual that I can set 'org-confirm-babel-evaluate' to t,
or nil, or a function, to control whether I'm asked permission to run a
code block.

However, that only gives me two choices - ask the user, or pretend the
user said yes.  Sometimes I'd like to pretend the user said no,
without asking.

Specifically, I'd like to always manually control when code blocks are
executed.  When exporting, I don't want them executed (and I don't want to
be asked about my dozens of blocks each time).  When hitting C-c C-c
manually, I just want it to run (and I don't want to be asked whether I'm
sure).

Is there a similar variable, or perhaps an export option, that will give
me this kind of workflow?

Thanks.

--
Ken Williams
Senior Research Scientist
Thomson Reuters
http://labs.thomsonreuters.com




Re: [O] Don't ask, don't run

2011-07-08 Thread Eric S Fraga
ken.willi...@thomsonreuters.com writes:

 Hi,

 I know from the manual that I can set 'org-confirm-babel-evaluate' to t,
 or nil, or a function, to control whether I'm asked permission to run a
 code block.

 However, that only gives me two choices - ask the user, or pretend the
 user said yes.  Sometimes I'd like to pretend the user said no,
 without asking.

 Specifically, I'd like to always manually control when code blocks are
 executed.  When exporting, I don't want them executed (and I don't want to
 be asked about my dozens of blocks each time).  When hitting C-c C-c
 manually, I just want it to run (and I don't want to be asked whether I'm
 sure).

 Is there a similar variable, or perhaps an export option, that will give
 me this kind of workflow?

 Thanks.

I can't help you directly although I also often want the behaviour you
are describing.  One workaround that should give you what you want is to
enable evaluation without prompting (org-confirm-babel-evaluate: nil)
and to have the results from runs cached so that, when exporting, the
source code blocks shouldn't have to execute; see [[info:org#cache]].

-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.6 (release_7.6.4.gf305a)