Re: [O] Don't ask, don't run
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
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
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
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
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)