* exporting documents w/ babel results w/o evaluating babel blocks @ 2016-05-20 15:57 Ken Mankoff 2016-05-20 16:14 ` John Hendy 0 siblings, 1 reply; 26+ messages in thread From: Ken Mankoff @ 2016-05-20 15:57 UTC (permalink / raw) To: emacs-orgmode@gnu.org Hi List, I'm repeating a question here from a recent bug report because I have a feeling official-looking bug reports might get read less than normal questions. Sorry for the re-post. As of an Org git commit a few weeks ago, Org exporting (and therefore Org) has become basically unusable for me. I used to be able to export code block results without evaluating the block during the export. I can no longer do this. The following headers used to support the above behavior: #+BEGIN_SRC python :exports results :results output #+BEGIN_SRC python :exports results :results file (and possibly with ":session foo" also) Is anyone running the current git head? And if so, can you export a document that consists of the following, or something similar to the following (i.e. do you use ":cache t" or ":cache nil")? #+BEGIN_SRC python :results output :exports results :session foo print("hello, world") #+END_SRC #+RESULTS: : hello, world If you can export this without running the code, what settings are you using? In particular, what is the value of =org-export-babel-evaluate=? Thanks, -k. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-20 15:57 exporting documents w/ babel results w/o evaluating babel blocks Ken Mankoff @ 2016-05-20 16:14 ` John Hendy 2016-05-20 16:45 ` Ken Mankoff [not found] ` <878addc2b6b14ce99e907921f0985d24@HE1PR01MB1898.eurprd01.prod.exchangelabs.com> 0 siblings, 2 replies; 26+ messages in thread From: John Hendy @ 2016-05-20 16:14 UTC (permalink / raw) To: Ken Mankoff; +Cc: emacs-orgmode@gnu.org On Fri, May 20, 2016 at 10:57 AM, Ken Mankoff <mankoff@gmail.com> wrote: > Hi List, > > I'm repeating a question here from a recent bug report because I have a feeling official-looking bug reports might get read less than normal questions. Sorry for the re-post. > > As of an Org git commit a few weeks ago, Org exporting (and therefore Org) has become basically unusable for me. I used to be able to export code block results without evaluating the block during the export. I can no longer do this. > > The following headers used to support the above behavior: > > #+BEGIN_SRC python :exports results :results output > #+BEGIN_SRC python :exports results :results file > (and possibly with ":session foo" also) Well, you're exporting them at least *once*, right? If not, where are the results coming from? Perhaps my use case is similar. I often write up an org doc with a pretty heavy setup heading containing my main data reading in, manipulation, statistics, etc. Maybe up to 100k total rows in a data frame in R. Once I run that block the first time I'm working on the document I just put =:eval no= in the src block options. I do the same as I'm tweaking plots. Every code block I create has :eval yes initially and once I'm satisfied with the results I just change to :eval no and the generated results (for me, typically a #+results line containing a link to a pdf plot generated by my code block) are still included. Does this help at all? Sorry if I'm not understanding > > Is anyone running the current git head? And if so, can you export a document that consists of the following, or something similar to the following (i.e. do you use ":cache t" or ":cache nil")? > > #+BEGIN_SRC python :results output :exports results :session foo > print("hello, world") > #+END_SRC > #+RESULTS: > : hello, world > > If you can export this without running the code, what settings are you using? In particular, what is the value of =org-export-babel-evaluate=? Mine is set to t. Interestingly, when I export the above after deleting the results bit, no new results are generated. When I C-c C-c, they are replaced. When I add :eval no, it does't appear to run the code. Hope that helps, John > > Thanks, > > -k. > ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-20 16:14 ` John Hendy @ 2016-05-20 16:45 ` Ken Mankoff 2016-05-20 17:25 ` John Hendy [not found] ` <878addc2b6b14ce99e907921f0985d24@HE1PR01MB1898.eurprd01.prod.exchangelabs.com> 1 sibling, 1 reply; 26+ messages in thread From: Ken Mankoff @ 2016-05-20 16:45 UTC (permalink / raw) To: John Hendy, Eric S Fraga; +Cc: emacs-orgmode@gnu.org Eric: You're running something newer (by date) than the commit which changed the behavior, which was: ec615b1 - Fix `org-export-babel-evaluate' handling (2016-04-28) But with all the branches in git, I don't know if you have that commit or not. Anyway, I'm not sure why it works for you. It doesn't appear to work for John and I the way it used to. Do you have a global "eval: no" set somewhere? On 2016-05-20 at 12:14, John Hendy <jw.hendy@gmail.com> wrote: > On Fri, May 20, 2016 at 10:57 AM, Ken Mankoff <mankoff@gmail.com> wrote: >> As of an Org git commit a few weeks ago, Org exporting (and therefore >> Org) has become basically unusable for me. I used to be able to >> export code block results without evaluating the block during the >> export. I can no longer do this. >> > > Well, you're exporting them at least *once*, right? If not, where are > the results coming from? Yes, but only once. Or sometimes I generate the figure elsewhere (via org-edit-special) and then manually put [[file:fig.pdf]] below the #+RESULTS:. > I do the same as I'm tweaking plots. Every code block I create has > :eval yes initially and once I'm satisfied with the results I just > change to :eval no and the generated results (for me, typically a > #+results line containing a link to a pdf plot generated by my code > block) are still included. > > Does this help at all? Sorry if I'm not understanding You understand, and this sort-of helps. I have never used :eval before. Things just didn't evaluate by default, and I like it like that. ":eval no" fixes the problem at export, but then I can't evaluate the code myself manually when not exporting. > Mine is set to t. Interestingly, when I export the above after > deleting the results bit, no new results are generated. When I C-c > C-c, they are replaced. When I add :eval no, it does't appear to run > the code. Yes same here. This new behavior really sucks. I'm still trying to find a way where: + code results do export + code does not export + code does not evaluate at export + code can still be evaluated by me This was the behavior prior to ec615b1 - Fix `org-export-babel-evaluate' handling (2016-04-28) But not since. -k. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-20 16:45 ` Ken Mankoff @ 2016-05-20 17:25 ` John Hendy 0 siblings, 0 replies; 26+ messages in thread From: John Hendy @ 2016-05-20 17:25 UTC (permalink / raw) To: Ken Mankoff; +Cc: emacs-orgmode@gnu.org On Fri, May 20, 2016 at 11:45 AM, Ken Mankoff <mankoff@gmail.com> wrote: > > Eric: You're running something newer (by date) than the commit which changed the behavior, which was: > > ec615b1 - Fix `org-export-babel-evaluate' handling (2016-04-28) > > But with all the branches in git, I don't know if you have that commit or not. Anyway, I'm not sure why it works for you. It doesn't appear to work for John and I the way it used to. Do you have a global "eval: no" set somewhere? > > On 2016-05-20 at 12:14, John Hendy <jw.hendy@gmail.com> wrote: >> On Fri, May 20, 2016 at 10:57 AM, Ken Mankoff <mankoff@gmail.com> wrote: >>> As of an Org git commit a few weeks ago, Org exporting (and therefore >>> Org) has become basically unusable for me. I used to be able to >>> export code block results without evaluating the block during the >>> export. I can no longer do this. >>> >> >> Well, you're exporting them at least *once*, right? If not, where are >> the results coming from? > > Yes, but only once. Or sometimes I generate the figure elsewhere (via org-edit-special) and then manually put [[file:fig.pdf]] below the #+RESULTS:. > >> I do the same as I'm tweaking plots. Every code block I create has >> :eval yes initially and once I'm satisfied with the results I just >> change to :eval no and the generated results (for me, typically a >> #+results line containing a link to a pdf plot generated by my code >> block) are still included. >> >> Does this help at all? Sorry if I'm not understanding > > You understand, and this sort-of helps. I have never used :eval before. Things just didn't evaluate by default, and I like it like that. > > ":eval no" fixes the problem at export, but then I can't evaluate the code myself manually when not exporting. Not in the buffer so as to replace results, but you *can* go into interactive mode (if python has one) with =C-c '=. I use this constantly, which allows me to ignore whatever :eval is set to, and just putz around in the new code block buffer to my heart's content. I'm approx. 100% R usage, so this still gives me access to the R pop-up device to view plots or an R buffer to see results. You're right though, there's no way to update the results block without toggling :eval, manually running, and then resetting :eval back to no. John > >> Mine is set to t. Interestingly, when I export the above after >> deleting the results bit, no new results are generated. When I C-c >> C-c, they are replaced. When I add :eval no, it does't appear to run >> the code. > > Yes same here. This new behavior really sucks. > > I'm still trying to find a way where: > + code results do export > + code does not export > + code does not evaluate at export > + code can still be evaluated by me > > This was the behavior prior to > > ec615b1 - Fix `org-export-babel-evaluate' handling (2016-04-28) > > But not since. > > -k. ^ permalink raw reply [flat|nested] 26+ messages in thread
[parent not found: <878addc2b6b14ce99e907921f0985d24@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>]
* Re: exporting documents w/ babel results w/o evaluating babel blocks [not found] ` <878addc2b6b14ce99e907921f0985d24@HE1PR01MB1898.eurprd01.prod.exchangelabs.com> @ 2016-05-20 16:59 ` Eric S Fraga 2016-05-20 17:06 ` Ken Mankoff [not found] ` <b29fde01938940d3b115abd9b257dc57@HE1PR01MB1898.eurprd01.prod.exchangelabs.com> 0 siblings, 2 replies; 26+ messages in thread From: Eric S Fraga @ 2016-05-20 16:59 UTC (permalink / raw) To: Ken Mankoff; +Cc: emacs-orgmode@gnu.org On Friday, 20 May 2016 at 16:45, Ken Mankoff wrote: > Eric: You're running something newer (by date) than the commit which > changed the behavior, which was: > > ec615b1 - Fix `org-export-babel-evaluate' handling (2016-04-28) > > But with all the branches in git, I don't know if you have that commit > or not. Anyway, I'm not sure why it works for you. It doesn't appear > to work for John and I the way it used to. Do you have a global "eval: > no" set somewhere? I do have that commit incorporated in the version I am running from what I see in the git log. When I export, org asks whether to evaluate the code block and I respond with no. The existing results block is therefore exported but not changed. If I say yes, a new results block is generated and exported (and I can tell because it is different to what was there before). I have org-export-babel-evaluate set to t but also org-confirm-babel-evaluate to t. -- : Eric S Fraga (0xFFFCF67D), Emacs 25.0.92.1, Org release_8.3.4-775-g3308a5 ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-20 16:59 ` Eric S Fraga @ 2016-05-20 17:06 ` Ken Mankoff [not found] ` <b29fde01938940d3b115abd9b257dc57@HE1PR01MB1898.eurprd01.prod.exchangelabs.com> 1 sibling, 0 replies; 26+ messages in thread From: Ken Mankoff @ 2016-05-20 17:06 UTC (permalink / raw) To: Eric S Fraga; +Cc: emacs-orgmode@gnu.org Hi Eric, On 2016-05-20 at 12:59, Eric S Fraga <e.fraga@ucl.ac.uk> wrote: > When I export, org asks whether to evaluate the code block and I > respond with no. The existing results block is therefore exported but > not changed. If I say yes, a new results block is generated and > exported (and I can tell because it is different to what was there > before). > > I have org-export-babel-evaluate set to t but also > org-confirm-babel-evaluate to t. Thanks for clarifying your workflow. That seems to work for a small example. But what would you do if you had a manuscript with 100 code blocks in it? And in general you're exporting it a lot without changing anything in code, just editing the non-code text. But occasionally you want to modify a code block (and its results) too? In the above scenario, I used to edit the code, and =C-c C-c= it manually to get the updates into the results. When I exported the document (C-e l l), it would export in ~1 second (even a >100 page document) and not prompt me about executing code blocks. -k ^ permalink raw reply [flat|nested] 26+ messages in thread
[parent not found: <b29fde01938940d3b115abd9b257dc57@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>]
* Re: exporting documents w/ babel results w/o evaluating babel blocks [not found] ` <b29fde01938940d3b115abd9b257dc57@HE1PR01MB1898.eurprd01.prod.exchangelabs.com> @ 2016-05-20 17:11 ` Eric S Fraga 2016-05-20 17:23 ` John Hendy 2016-05-20 17:32 ` Ken Mankoff 0 siblings, 2 replies; 26+ messages in thread From: Eric S Fraga @ 2016-05-20 17:11 UTC (permalink / raw) To: Ken Mankoff; +Cc: emacs-orgmode@gnu.org On Friday, 20 May 2016 at 17:06, Ken Mankoff wrote: [...] > Thanks for clarifying your workflow. That seems to work for a small > example. But what would you do if you had a manuscript with 100 code > blocks in it? And in general you're exporting it a lot without > changing anything in code, just editing the non-code text. But > occasionally you want to modify a code block (and its results) too? So, if I understand correctly, you have org-export-babel-evaluate set to nil? If I set that, I no longer get asked whether I want anything evaluated but the (existing) results do get exported. I just tried it to confirm. > In the above scenario, I used to edit the code, and =C-c C-c= it > manually to get the updates into the results. When I exported the > document (C-e l l), it would export in ~1 second (even a >100 page > document) and not prompt me about executing code blocks. Yes, I do this as well in such a case. -- : Eric S Fraga (0xFFFCF67D), Emacs 25.0.92.1, Org release_8.3.4-775-g3308a5 ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-20 17:11 ` Eric S Fraga @ 2016-05-20 17:23 ` John Hendy 2016-05-20 17:38 ` Ken Mankoff 2016-05-20 17:32 ` Ken Mankoff 1 sibling, 1 reply; 26+ messages in thread From: John Hendy @ 2016-05-20 17:23 UTC (permalink / raw) To: Eric S Fraga, Ken Mankoff, John Hendy, emacs-orgmode@gnu.org On Fri, May 20, 2016 at 12:11 PM, Eric S Fraga <e.fraga@ucl.ac.uk> wrote: > On Friday, 20 May 2016 at 17:06, Ken Mankoff wrote: > > [...] > >> Thanks for clarifying your workflow. That seems to work for a small >> example. But what would you do if you had a manuscript with 100 code >> blocks in it? And in general you're exporting it a lot without >> changing anything in code, just editing the non-code text. But >> occasionally you want to modify a code block (and its results) too? > > So, if I understand correctly, you have org-export-babel-evaluate set to > nil? If I set that, I no longer get asked whether I want anything > evaluated but the (existing) results do get exported. I just tried it > to confirm. Using this block, #+begin_src R :exports results print("hello") #+end_src I get the following (with *no* pre-existing #+results block manually created with C-c C-c): | *o-e-b-e* | *o-c-b-e* | *buffer* | *doc* | |-----------+-----------+-----------+------------------| | nil | t | nothing | =print("hello")= | | t | t | nothing | =hello= | | t | nil | nothing | =hello= | | nil | nil | nothing | =print("hello")= | |-----------+-----------+-----------+------------------| Variables org-export-babel-evaluate and org-confirm-babel-evaluate abbreviated above. I find two things bizarre: - these options (well, just o-e-b-e it seems) would change what's exported? - why without C-c C-c which initiates the #+results block, exporting which causes babel to execute code doesn't insert the results block. Is this intended or for a reason? I've not really looked into these variables and just use :eval yes/no to toggle things. I find it easy enough to create all my blocks with :eval no, and do a quick change to =yes= as I'm iteratively exporting. Finally, I can do a replace-string to catch any missed :eval yes's before a final export. > >> In the above scenario, I used to edit the code, and =C-c C-c= it >> manually to get the updates into the results. When I exported the >> document (C-e l l), it would export in ~1 second (even a >100 page >> document) and not prompt me about executing code blocks. > > Yes, I do this as well in such a case. > > -- > : Eric S Fraga (0xFFFCF67D), Emacs 25.0.92.1, Org release_8.3.4-775-g3308a5 ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-20 17:23 ` John Hendy @ 2016-05-20 17:38 ` Ken Mankoff 0 siblings, 0 replies; 26+ messages in thread From: Ken Mankoff @ 2016-05-20 17:38 UTC (permalink / raw) To: John Hendy, Nicolas Goaziou; +Cc: emacs-orgmode@gnu.org Nicolas Goaziou added to To: field, because he committed the change. Question: Why does "org-export-babel-evaluate" change what is exported? Shouldn't it just change what is evaluated at export time? That is what the doc string implies. A recent commit changed this behavior. -k. On 2016-05-20 at 13:23, John Hendy <jw.hendy@gmail.com> wrote: > Variables org-export-babel-evaluate and org-confirm-babel-evaluate > abbreviated above. > > I find two things bizarre: > - these options (well, just o-e-b-e it seems) would change what's exported? ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-20 17:11 ` Eric S Fraga 2016-05-20 17:23 ` John Hendy @ 2016-05-20 17:32 ` Ken Mankoff 2016-05-20 18:46 ` Nick Dokos 1 sibling, 1 reply; 26+ messages in thread From: Ken Mankoff @ 2016-05-20 17:32 UTC (permalink / raw) To: Eric S Fraga; +Cc: emacs-orgmode@gnu.org On 2016-05-20 at 13:11, Eric S Fraga <e.fraga@ucl.ac.uk> wrote: > On Friday, 20 May 2016 at 17:06, Ken Mankoff wrote: > So, if I understand correctly, you have org-export-babel-evaluate set > to nil? yes. > If I set that, I no longer get asked whether I want anything evaluated > but the (existing) results do get exported. I just tried it to > confirm. Yes results get exported, but so does code. Both, always, even if ":exports none" or ":exports results". There may have been a misunderstanding, but when I mentioned this in the bug report, I was told this is a "feature". http://thread.gmane.org/gmane.emacs.orgmode/107230/focus=107231 -k. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-20 17:32 ` Ken Mankoff @ 2016-05-20 18:46 ` Nick Dokos 2016-05-20 21:20 ` Charles C. Berry 2016-05-20 23:06 ` Ken Mankoff 0 siblings, 2 replies; 26+ messages in thread From: Nick Dokos @ 2016-05-20 18:46 UTC (permalink / raw) To: emacs-orgmode Ken Mankoff <mankoff@gmail.com> writes: > On 2016-05-20 at 13:11, Eric S Fraga <e.fraga@ucl.ac.uk> wrote: >> On Friday, 20 May 2016 at 17:06, Ken Mankoff wrote: >> So, if I understand correctly, you have org-export-babel-evaluate set >> to nil? > > yes. > Are you getting an evaluation on export? I don't get that with o-e-b-e set to nil. >> If I set that, I no longer get asked whether I want anything evaluated >> but the (existing) results do get exported. I just tried it to >> confirm. > > Yes results get exported, but so does code. Both, always, even if ":exports none" or ":exports results". > With ":exports results" and o-e-b-e set to nil, I get no evaluation on export, but I get both code and results in the output. > There may have been a misunderstanding, but when I mentioned this in > the bug report, I was told this is a "feature". > > http://thread.gmane.org/gmane.emacs.orgmode/107230/focus=107231 > Not sure what exactly Chuck meant is a feature, but IIUC, the fact that I get both code and results even if I specify ":exports results" looks like a bug to me. I'm on more-or-less latest master: Org-mode version 8.3.4 (release_8.3.4-824-ga02fe8 @ /home/nick/elisp/org-mode/lisp/) -- Nick ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-20 18:46 ` Nick Dokos @ 2016-05-20 21:20 ` Charles C. Berry 2016-05-21 19:01 ` Nick Dokos 2016-05-22 19:58 ` John Hendy 2016-05-20 23:06 ` Ken Mankoff 1 sibling, 2 replies; 26+ messages in thread From: Charles C. Berry @ 2016-05-20 21:20 UTC (permalink / raw) To: Nick Dokos; +Cc: emacs-orgmode On Fri, 20 May 2016, Nick Dokos wrote: > Ken Mankoff <mankoff@gmail.com> writes: > [deleted discussion of `org-export-babel-evaluate' settings] > > With ":exports results" and o-e-b-e set to nil, I get no evaluation on > export, but I get both code and results in the output. > >> There may have been a misunderstanding, but when I mentioned this in >> the bug report, I was told this is a "feature". >> >> http://thread.gmane.org/gmane.emacs.orgmode/107230/focus=107231 >> > > Not sure what exactly Chuck meant is a feature, but IIUC, the fact > that I get both code and results even if I specify ":exports results" > looks like a bug to me. > I meant this, as of commit ec615b1..., `org-export-babel-evaluate' set to `nil' keeps the exporter from running this line (org-export-execute-babel-code) during exports. So, 'no Babel code is run' in the sense that the above line does not execute. src-blocks and inline-src-blocks are neither run nor removed, and no #+results:<etc> or {{{results()}}} are added, removed, or modified. Babel handles all that. The exporter merely formats those things once Babel is done. So the bug, if any, is in the docstring in failing to mention that everything that babel does is switched off. Since the behavior that the OP wanted can be had by setting babel header args, I don't see this as a bug even though the behavior changed in a way that surprised him. Chuck ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-20 21:20 ` Charles C. Berry @ 2016-05-21 19:01 ` Nick Dokos 2016-05-22 19:58 ` John Hendy 1 sibling, 0 replies; 26+ messages in thread From: Nick Dokos @ 2016-05-21 19:01 UTC (permalink / raw) To: emacs-orgmode "Charles C. Berry" <ccberry@ucsd.edu> writes: > On Fri, 20 May 2016, Nick Dokos wrote: > >> Ken Mankoff <mankoff@gmail.com> writes: >> > [deleted discussion of `org-export-babel-evaluate' settings] > >> >> With ":exports results" and o-e-b-e set to nil, I get no evaluation on >> export, but I get both code and results in the output. >> >>> There may have been a misunderstanding, but when I mentioned this in >>> the bug report, I was told this is a "feature". >>> >>> http://thread.gmane.org/gmane.emacs.orgmode/107230/focus=107231 >>> >> >> Not sure what exactly Chuck meant is a feature, but IIUC, the fact >> that I get both code and results even if I specify ":exports results" >> looks like a bug to me. >> > > I meant this, as of commit ec615b1..., `org-export-babel-evaluate' set to > `nil' keeps the exporter from running this line > > (org-export-execute-babel-code) > > during exports. So, 'no Babel code is run' in the sense that the above > line does not execute. > > src-blocks and inline-src-blocks are neither run nor removed, and no > #+results:<etc> or {{{results()}}} are added, removed, or > modified. Babel handles all that. The exporter merely formats those > things once Babel is done. > > So the bug, if any, is in the docstring in failing to mention that > everything that babel does is switched off. > > Since the behavior that the OP wanted can be had by setting babel > header args, I don't see this as a bug even though the behavior > changed in a way that surprised him. > I'm not sure I followed the whole discussion so maybe I'm missing something. Setting o-e-b-e to nil does what it says it does: it does not evaluate the babel block on export - that's as it should be AFAICT. But that still leaves the problem that ":exports results" is not obeyed: both code and results are exported - that's a bug, no? -- Nick ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-20 21:20 ` Charles C. Berry 2016-05-21 19:01 ` Nick Dokos @ 2016-05-22 19:58 ` John Hendy 2016-05-22 21:52 ` Charles C. Berry 1 sibling, 1 reply; 26+ messages in thread From: John Hendy @ 2016-05-22 19:58 UTC (permalink / raw) To: Charles C. Berry; +Cc: Nick Dokos, emacs-orgmode On Fri, May 20, 2016 at 4:20 PM, Charles C. Berry <ccberry@ucsd.edu> wrote: > On Fri, 20 May 2016, Nick Dokos wrote: > >> Ken Mankoff <mankoff@gmail.com> writes: >> > [deleted discussion of `org-export-babel-evaluate' settings] > >> >> With ":exports results" and o-e-b-e set to nil, I get no evaluation on >> export, but I get both code and results in the output. >> >>> There may have been a misunderstanding, but when I mentioned this in >>> the bug report, I was told this is a "feature". >>> >>> http://thread.gmane.org/gmane.emacs.orgmode/107230/focus=107231 >>> >> >> Not sure what exactly Chuck meant is a feature, but IIUC, the fact >> that I get both code and results even if I specify ":exports results" >> looks like a bug to me. >> > > I meant this, as of commit ec615b1..., `org-export-babel-evaluate' set to > `nil' keeps the exporter from running this line > > (org-export-execute-babel-code) > > during exports. So, 'no Babel code is run' in the sense that the above > line does not execute. > > src-blocks and inline-src-blocks are neither run nor removed, and no > #+results:<etc> or {{{results()}}} are added, removed, or > modified. Babel handles all that. The exporter merely formats those > things once Babel is done. > > So the bug, if any, is in the docstring in failing to mention that > everything that babel does is switched off. I don't entirely follow. Is there an intermediate step between a .org src block, babel, and the exporter? If so, the behavior I see could make sense. If not, then it doesn't. As in, why is babel "execution" (as in o-e-b-e to non-nil) required to *not* export this code into the resultant pdf? #+begin_src R :exports results :results output dat <- 1:10 print(dat) #+end_src With o-e-b-e set to nil, I get the code in the exported document, hence my asking. If I turn o-e-b-e on, I don't (but get the results). So perhaps the real missing bit from the documentation is something like "all babel functionality is turned off, and babel is responsible for executing code and generating/updating any results, as well as controlling src block export controls (results vs. code vs. both). In other words, without babel, src blocks in .org files are treated like example blocks during export." Is that accurate? I think one of the main points of confusion in this thread still has to do with why o-e-b-e switches what gets exported. If no code/results are run/added/removed/modified as you mention, it doesn't speak to why code export is always done for o-e-b-e = nil, but not otherwise. This suggests babel is doing more than "executing code;" it's somehow influencing what makes it into the export document. At least for me, that was an unexpected interpretation of "everything babel does is switched off." In fact, I just had an idea... I have o-e-b-e set to always, but just turned org-confirm-babel-evaluate to on (I typically have it off). If export the above and type "no" to make sure the code block is not executed I do *not* get the code in the document. I think this confirms that babel's responsibilities include *what* plain text in .org the exporter formats into the output format. My suggestion would be to create a different variable to handle formatting vs. execution unless things were designed this way? It seems from all the comments that the majority of users expect the time-heavy *code* not to be run at each export but still prefer the blocks to behave as they intended. Theoretically, with all of my results generated (e.g. into .pdf, .png, etc. plots; ascii tables, whatever) shouldn't I be able to have o-e-b-e set to whatever and get the same document? My document no longer depends on any of the code... so I don't need it run, but the exported document will behave like :exports both instead of :exports results just from turning babel off. John > > Since the behavior that the OP wanted can be had by setting babel > header args, I don't see this as a bug even though the behavior > changed in a way that surprised him. > > Chuck > ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-22 19:58 ` John Hendy @ 2016-05-22 21:52 ` Charles C. Berry 2016-05-23 18:27 ` Nick Dokos 2016-05-24 1:34 ` Grant Rettke 0 siblings, 2 replies; 26+ messages in thread From: Charles C. Berry @ 2016-05-22 21:52 UTC (permalink / raw) To: John Hendy; +Cc: Nick Dokos, emacs-orgmode John and Nick, Comments in line below. TL;DR: Org babel headers give excellent control over what gets run, when it gets run, and how. Users should use them. Don't reset `org-export-babel-evaluate'. Chuck On Sun, 22 May 2016, John Hendy wrote: > On Fri, May 20, 2016 at 4:20 PM, Charles C. Berry <ccberry@ucsd.edu> wrote: >> On Fri, 20 May 2016, Nick Dokos wrote: >> >>> Ken Mankoff <mankoff@gmail.com> writes: >>> >> [deleted discussion of `org-export-babel-evaluate' settings] >> >>> >>> With ":exports results" and o-e-b-e set to nil, I get no evaluation on >>> export, but I get both code and results in the output. >>> >>>> There may have been a misunderstanding, but when I mentioned this in >>>> the bug report, I was told this is a "feature". >>>> >>>> http://thread.gmane.org/gmane.emacs.orgmode/107230/focus=107231 >>>> >>> >>> Not sure what exactly Chuck meant is a feature, but IIUC, the fact >>> that I get both code and results even if I specify ":exports results" >>> looks like a bug to me. >>> >> >> I meant this, as of commit ec615b1..., `org-export-babel-evaluate' set to >> `nil' keeps the exporter from running this line >> >> (org-export-execute-babel-code) >> >> during exports. So, 'no Babel code is run' in the sense that the above >> line does not execute. >> >> src-blocks and inline-src-blocks are neither run nor removed, and no >> #+results:<etc> or {{{results()}}} are added, removed, or >> modified. Babel handles all that. The exporter merely formats those >> things once Babel is done. >> >> So the bug, if any, is in the docstring in failing to mention that >> everything that babel does is switched off. > > I don't entirely follow. Is there an intermediate step between a .org > src block, babel, and the exporter? If so, the behavior I see could > make sense. If not, then it doesn't. > > As in, why is babel "execution" (as in o-e-b-e to non-nil) required to > *not* export this code into the resultant pdf? > > #+begin_src R :exports results :results output > dat <- 1:10 > print(dat) > #+end_src > > With o-e-b-e set to nil, I get the code in the exported document, > hence my asking. If I turn o-e-b-e on, I don't (but get the results). > So perhaps the real missing bit from the documentation is something > like "all babel functionality is turned off, and babel is responsible > for executing code and generating/updating any results, as well as > controlling src block export controls (results vs. code vs. both). In > other words, without babel, src blocks in .org files are treated like > example blocks during export." > > Is that accurate? > Yes. That is the point. Babel does it all. (Caveat: 'like example blocks' is not precisely true, since the exporter calls a src-block transcoder for the formatting.) > I think one of the main points of confusion in this thread still has > to do with why o-e-b-e switches what gets exported. If no code/results > are run/added/removed/modified as you mention, it doesn't speak to why > code export is always done for o-e-b-e = nil, but not otherwise. This > suggests babel is doing more than "executing code;" it's somehow > influencing what makes it into the export document. At least for me, > that was an unexpected interpretation of "everything babel does is > switched off." Babel is a fairly complicated beast. If you want to grok what it is doing during export, you could instrument `org-export-as' (do `(info "(elisp) Edebug")' if you need to know about this), export something with babel code in it, and step thru to just before the line `(org-export-execute-babel-code)'. At that point have a look at the temp buffer the exporter is working in. (IIRC, it will have <2> suffixed to the name of the buffer from which you started the export.) Then do one more step to run the babel code and look again - be sure it is *still* the buffer named with the *<2> format that you are inspecting now. You will see what it is that Babel has done. In particular, a src block with no results initially, but with `:exports results' as a header will be gone, but results will now be seen. A src block that is has `#+begin-src emacs-lisp :exports code' will survive, but the header arg will be gone. So, transcoders in the exporter will not see the header arg. > > In fact, I just had an idea... I have o-e-b-e set to always, but just > turned org-confirm-babel-evaluate to on (I typically have it off). If > export the above and type "no" to make sure the code block is not > executed I do *not* get the code in the document. I think this > confirms that babel's responsibilities include *what* plain text in > .org the exporter formats into the output format. > > My suggestion would be to create a different variable to handle > formatting vs. execution unless things were designed this way? It > seems from all the comments that the majority of users expect the > time-heavy *code* not to be run at each export but still prefer the > blocks to behave as they intended. This is what `:eval never-export' was created for. > Theoretically, with all of my > results generated (e.g. into .pdf, .png, etc. plots; ascii tables, > whatever) shouldn't I be able to have o-e-b-e set to whatever and get > the same document? My document no longer depends on any of the code... > so I don't need it run, but the exported document will behave like > :exports both instead of :exports results just from turning babel off. > It sounds simple, but babel has a lot woven into it and getting the behavior you suggest by setting variables like o-e-b-e in emacs without breaking things is tricky. Consider what happens when you have something like: #+BEGIN_SRC emacs-lisp :var x=abc() :noweb yes :exports both <<format-some-code(y=x)>> #+END_SRC With o-e-b-e nil, what should happen? If nothing runs, x does not get set because abc() does not run, nor does the noweb code substitution take place because that requires the `format-some-code' src-block to run. If only some things `ought to' be run, how does the program decide which ones? Currently, the user can fine tune what is run and what is not during export using Babel headers. Let babel run and the headers will sort out the rest. Frankly, I do not see why users would want to mess with o-e-b-e except in unusual cases - like debugging a complicated document, where having Babel changing things around could just make things harder. If there is a use case for a capability that is not well supported by existing headers it would be good to have an example. [snip] ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-22 21:52 ` Charles C. Berry @ 2016-05-23 18:27 ` Nick Dokos 2016-05-23 18:34 ` John Hendy 2016-05-23 20:08 ` Charles C. Berry 2016-05-24 1:34 ` Grant Rettke 1 sibling, 2 replies; 26+ messages in thread From: Nick Dokos @ 2016-05-23 18:27 UTC (permalink / raw) To: emacs-orgmode "Charles C. Berry" <ccberry@ucsd.edu> writes: > TL;DR: Org babel headers give excellent control over what gets run, > when it gets run, and how. Users should use them. Don't reset > `org-export-babel-evaluate'. > > ... > >> I think one of the main points of confusion in this thread still has >> to do with why o-e-b-e switches what gets exported. If no code/results >> are run/added/removed/modified as you mention, it doesn't speak to why >> code export is always done for o-e-b-e = nil, but not otherwise. This >> suggests babel is doing more than "executing code;" it's somehow >> influencing what makes it into the export document. At least for me, >> that was an unexpected interpretation of "everything babel does is >> switched off." > > Babel is a fairly complicated beast. > We can all agree on that :-) > If you want to grok what it is doing during export, you could instrument > `org-export-as' (do `(info "(elisp) Edebug")' if you need to know about > this), export something with babel code in it, and step thru to just > before the line `(org-export-execute-babel-code)'. At that point have a > look at the temp buffer the exporter is working in. (IIRC, it will have > <2> suffixed to the name of the buffer from which you started the export.) > Then do one more step to run the babel code and look again - be sure it is > *still* the buffer named with the *<2> format that you are inspecting now. > You will see what it is that Babel has done. > > In particular, a src block with no results initially, but with > `:exports results' as a header will be gone, but results will now be > seen. > I see. > A src block that is has `#+begin-src emacs-lisp :exports code' will > survive, but the header arg will be gone. So, transcoders in the > exporter will not see the header arg. > I see. >> >> In fact, I just had an idea... I have o-e-b-e set to always, but just >> turned org-confirm-babel-evaluate to on (I typically have it off). If >> export the above and type "no" to make sure the code block is not >> executed I do *not* get the code in the document. I think this >> confirms that babel's responsibilities include *what* plain text in >> .org the exporter formats into the output format. >> >> My suggestion would be to create a different variable to handle >> formatting vs. execution unless things were designed this way? It >> seems from all the comments that the majority of users expect the >> time-heavy *code* not to be run at each export but still prefer the >> blocks to behave as they intended. > > This is what `:eval never-export' was created for. > >> Theoretically, with all of my >> results generated (e.g. into .pdf, .png, etc. plots; ascii tables, >> whatever) shouldn't I be able to have o-e-b-e set to whatever and get >> the same document? My document no longer depends on any of the code... >> so I don't need it run, but the exported document will behave like >> :exports both instead of :exports results just from turning babel off. >> > > It sounds simple, but babel has a lot woven into it and getting the > behavior you suggest by setting variables like o-e-b-e in emacs without > breaking things is tricky. Consider what happens when you have something > like: > > #+BEGIN_SRC emacs-lisp :var x=abc() :noweb yes :exports both > <<format-some-code(y=x)>> > #+END_SRC > > With o-e-b-e nil, what should happen? If nothing runs, x does not get set > because abc() does not run, nor does the noweb code substitution take > place because that requires the `format-some-code' src-block to run. If > only some things `ought to' be run, how does the program decide which > ones? > > Currently, the user can fine tune what is run and what is not during > export using Babel headers. Let babel run and the headers will sort > out the rest. Thanks for the explanation: it certainly helped me understand somewhat better what is happening. This is a fairly complicated set of interactions however, and it *is* confusing: in the long run, babel should be simplified; in particular, settings should be as orthogonal as possible (global as well as header setting, although I realize that's easier said than done - and backward compatibility might have to go by the wayside in order for this to be accomplished). > > Frankly, I do not see why users would want to mess with o-e-b-e except > in unusual cases - like debugging a complicated document, where having > Babel changing things around could just make things harder. > OK - but then users need guidance that says "don't do that!". Can we add a big warning to the doc for o-e-b-e? > If there is a use case for a capability that is not well supported by > existing headers it would be good to have an example. > There's the use case that John describes: I've evaluated everything, checked everything, I'm ready for export, I don't want babel to touch the results - and I have a million blocks, so I'd rather have a global setting than go in with individual headers. If you've covered this in a previous reply, please ignore me: I've only paid intermittent attention to the thread, so apologies for missing a big chunk of what has gone on before in the thread. In any case, although I'm not happy about the state of things, I understand better why they are as they are. Thanks! -- Nick ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-23 18:27 ` Nick Dokos @ 2016-05-23 18:34 ` John Hendy 2016-05-23 20:08 ` Charles C. Berry 1 sibling, 0 replies; 26+ messages in thread From: John Hendy @ 2016-05-23 18:34 UTC (permalink / raw) To: Nick Dokos; +Cc: emacs-orgmode On Mon, May 23, 2016 at 1:27 PM, Nick Dokos <ndokos@gmail.com> wrote: > "Charles C. Berry" <ccberry@ucsd.edu> writes: [snip] > >> If there is a use case for a capability that is not well supported by >> existing headers it would be good to have an example. >> > > There's the use case that John describes: I've evaluated everything, > checked everything, I'm ready for export, I don't want babel to touch > the results - and I have a million blocks, so I'd rather have a global > setting than go in with individual headers. > > If you've covered this in a previous reply, please ignore me: I've only > paid intermittent attention to the thread, so apologies for missing a > big chunk of what has gone on before in the thread. > I actually have never used o-e-b-e prior to this thread. I just dove in as I was curious about it. My solution is using :eval yes/no as desired. I often fiddle with blocks one by one, and when I'm done and want to export the whole doc, my "file-wide" solution is simply: M-x replace-string RET :eval yes RET :eval no Works great for me. It can be a little tedious to find a mistake and quick change no -> yes just to C-c C-c on it and then turn yes -> no, but it works well enough. I can't see toggling a system-wide variable related to babel execution as being any less cumbersome, actually. After all the hoopla about o-e-b-e being a bad idea, and learning that it doesn't just handle eval but formatting, too, I wonder what the purpose of the variable *is* for? John > In any case, although I'm not happy about the state of things, I > understand better why they are as they are. > > Thanks! > -- > Nick > > ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-23 18:27 ` Nick Dokos 2016-05-23 18:34 ` John Hendy @ 2016-05-23 20:08 ` Charles C. Berry 1 sibling, 0 replies; 26+ messages in thread From: Charles C. Berry @ 2016-05-23 20:08 UTC (permalink / raw) To: Nick Dokos; +Cc: emacs-orgmode On Mon, 23 May 2016, Nick Dokos wrote: > "Charles C. Berry" <ccberry@ucsd.edu> writes: > >> TL;DR: Org babel headers give excellent control over what gets run, >> when it gets run, and how. Users should use them. Don't reset >> `org-export-babel-evaluate'. >> >> ... >> [snip] >> >> Frankly, I do not see why users would want to mess with o-e-b-e except >> in unusual cases - like debugging a complicated document, where having >> Babel changing things around could just make things harder. >> > > OK - but then users need guidance that says "don't do that!". Can we add a > big warning to the doc for o-e-b-e? Seems like a good idea. > >> If there is a use case for a capability that is not well supported by >> existing headers it would be good to have an example. >> > > There's the use case that John describes: I've evaluated everything, > checked everything, I'm ready for export, I don't want babel to touch > the results - and I have a million blocks, so I'd rather have a global > setting than go in with individual headers. > > If you've covered this in a previous reply, please ignore me: I've only > paid intermittent attention to the thread, so apologies for missing a > big chunk of what has gone on before in the thread. > Kinda covered it before, but just to elaborate. This line #+PROPERTY: header-args :eval never-export will allow interactive execution via the `org-babel-execute-*' functions. So you can redo one src block, all src blocks in a subtree, or all src blocks in the buffer as you would with `:eval yes'. But on export, it acts like `:eval no'. And of course, the global setting can be overridden by the headers on individual src blocks, so finer control is possible. Chuck ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-22 21:52 ` Charles C. Berry 2016-05-23 18:27 ` Nick Dokos @ 2016-05-24 1:34 ` Grant Rettke 2016-05-24 10:17 ` Andreas Kiermeier 1 sibling, 1 reply; 26+ messages in thread From: Grant Rettke @ 2016-05-24 1:34 UTC (permalink / raw) To: Charles C. Berry; +Cc: Nick Dokos, emacs-orgmode On Sun, May 22, 2016 at 4:52 PM, Charles C. Berry <ccberry@ucsd.edu> wrote: > TL;DR: Org babel headers give excellent control over what gets run, > when it gets run, and how. Users should use them. Definitely! > Don't reset `org-export-babel-evaluate'. Why not? It can be nice to disable org-export-babel-evaluate by setting it to `nil'. That way you separate your workflow into two distinct steps: one for execution and one for weaving. It would be fun to "see" everyone's Org-Mode workflows; I bet there are a lot of nice approaches. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-24 1:34 ` Grant Rettke @ 2016-05-24 10:17 ` Andreas Kiermeier 2016-05-24 14:32 ` Ista Zahn 0 siblings, 1 reply; 26+ messages in thread From: Andreas Kiermeier @ 2016-05-24 10:17 UTC (permalink / raw) To: Grant Rettke; +Cc: Nick Dokos, emacs-orgmode, Charles C. Berry [-- Attachment #1: Type: text/plain, Size: 803 bytes --] I second that. I like exporting everything to LaTeX without having to re-run all the code, which in many cases can add considerable time. Cheers, Andreas On 24 May 2016 at 11:04, Grant Rettke <gcr@wisdomandwonder.com> wrote: > On Sun, May 22, 2016 at 4:52 PM, Charles C. Berry <ccberry@ucsd.edu> > wrote: > > TL;DR: Org babel headers give excellent control over what gets run, > > when it gets run, and how. Users should use them. > > Definitely! > > > Don't reset `org-export-babel-evaluate'. > > Why not? > > It can be nice to disable org-export-babel-evaluate by setting it to `nil'. > > That way you separate your workflow into two distinct steps: one for > execution and one for weaving. > > It would be fun to "see" everyone's Org-Mode workflows; I bet there > are a lot of nice approaches. > > [-- Attachment #2: Type: text/html, Size: 1618 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-24 10:17 ` Andreas Kiermeier @ 2016-05-24 14:32 ` Ista Zahn 2016-05-24 15:09 ` Anthony Cowley 2016-05-24 15:48 ` Charles C. Berry 0 siblings, 2 replies; 26+ messages in thread From: Ista Zahn @ 2016-05-24 14:32 UTC (permalink / raw) To: Andreas Kiermeier Cc: Nick Dokos, emacs-orgmode, Charles C. Berry, Grant Rettke On Tue, May 24, 2016 at 6:17 AM, Andreas Kiermeier <andreas.kiermeier@gmail.com> wrote: > I second that. > I like exporting everything to LaTeX without having to re-run all the code, > which in many cases can add considerable time. Which you can still do, I guess by (setq org-babel-default-header-args (cons '(:eval . "never-export") (assq-delete-all :noweb org-babel-default-header-args))) instead of the old way (setq org-export-babel-evaluate nil) I'm not saying this is good or right. IMO the old behavior of org-export-babel-evaluate made sense and was useful; the new behavior is surprising and I have a hard time seeing how it is useful. One can argue (as Chuck has) that the new behavior is fine sense we have another way of achieving the desired results; that may be, but I have yet to see an explanation of why the new behavior is desirable. It this change is not going to be reversed than the doc string for org-export-babel-evaluate needs to be updated, and something should go in the NEWS file warning people (like me) who have been relying on the old behavior. Best, Ista > Cheers, > Andreas > > On 24 May 2016 at 11:04, Grant Rettke <gcr@wisdomandwonder.com> wrote: >> >> On Sun, May 22, 2016 at 4:52 PM, Charles C. Berry <ccberry@ucsd.edu> >> wrote: >> > TL;DR: Org babel headers give excellent control over what gets run, >> > when it gets run, and how. Users should use them. >> >> Definitely! >> >> > Don't reset `org-export-babel-evaluate'. >> >> Why not? >> >> It can be nice to disable org-export-babel-evaluate by setting it to >> `nil'. >> >> That way you separate your workflow into two distinct steps: one for >> execution and one for weaving. >> >> It would be fun to "see" everyone's Org-Mode workflows; I bet there >> are a lot of nice approaches. >> > ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-24 14:32 ` Ista Zahn @ 2016-05-24 15:09 ` Anthony Cowley 2016-05-24 15:48 ` Charles C. Berry 1 sibling, 0 replies; 26+ messages in thread From: Anthony Cowley @ 2016-05-24 15:09 UTC (permalink / raw) To: Ista Zahn; +Cc: emacs-orgmode, Charles C. Berry [-- Attachment #1: Type: text/plain, Size: 728 bytes --] On Tuesday, May 24, 2016, Ista Zahn <istazahn@gmail.com> wrote: > On Tue, May 24, 2016 at 6:17 AM, Andreas Kiermeier > <andreas.kiermeier@gmail.com <javascript:;>> wrote: > > It this change is not going to be reversed than the doc string for > org-export-babel-evaluate needs to be updated, and something should go > in the NEWS file warning people (like me) who have been relying on the > old behavior. > > Best, > Ista I, too, used the workflow of toggling oebe. Having a default header argument to control evaluation is fine as an alternative, but I don’t see the point in the change either. In any case, it seems like this is a common issue and deserving of fairly prominent documentation. Anthony [-- Attachment #2: Type: text/html, Size: 1078 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-24 14:32 ` Ista Zahn 2016-05-24 15:09 ` Anthony Cowley @ 2016-05-24 15:48 ` Charles C. Berry 2016-05-24 15:53 ` Charles C. Berry 1 sibling, 1 reply; 26+ messages in thread From: Charles C. Berry @ 2016-05-24 15:48 UTC (permalink / raw) To: Ista Zahn; +Cc: Nick Dokos, Andreas Kiermeier, emacs-orgmode, Grant Rettke On Tue, 24 May 2016, Ista Zahn wrote: > On Tue, May 24, 2016 at 6:17 AM, Andreas Kiermeier > <andreas.kiermeier@gmail.com> wrote: >> I second that. >> I like exporting everything to LaTeX without having to re-run all the code, >> which in many cases can add considerable time. > > Which you can still do, I guess by > > (setq org-babel-default-header-args > (cons '(:eval . "never-export") > (assq-delete-all :noweb org-babel-default-header-args))) > > instead of the old way > > (setq org-export-babel-evaluate nil) > > I'm not saying this is good or right. IMO the old behavior of > org-export-babel-evaluate made sense and was useful; the new behavior > is surprising and I have a hard time seeing how it is useful. One can > argue (as Chuck has) that the new behavior is fine sense we have > another way of achieving the desired results; that may be, but I have > yet to see an explanation of why the new behavior is desirable. The change was in this commit commit ec615b192d703a0201ceefd46897e4636ff00a38 Author: Nicolas Goaziou <mail@nicolasgoaziou.fr> Date: Thu Apr 28 17:25:31 2016 +0200 and was in response to a bug noted in http://permalink.gmane.org/gmane.emacs.orgmode/106767 IIRC, you need to read the thread - not just the first post - to get what gives. > > It this change is not going to be reversed than the doc string for > org-export-babel-evaluate needs to be updated, and something should go > in the NEWS file warning people (like me) who have been relying on the > old behavior. Since the change was a bugfix, it seems unlikely that it will be reversed unless another bugfix is proposed. I could change the docstring, but I wanted to let the discussion ripen a bit first to see if anyone stepped forward with a patch that would do just that. Or even suggest that the variable be deleted entirely. For those who are just now tuning in, something like #+PROPERTY: :eval never-export should give the behavior most users of o-e-b-e nil would desire. Chuck ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-24 15:48 ` Charles C. Berry @ 2016-05-24 15:53 ` Charles C. Berry 0 siblings, 0 replies; 26+ messages in thread From: Charles C. Berry @ 2016-05-24 15:53 UTC (permalink / raw) To: Ista Zahn; +Cc: Nick Dokos, Andreas Kiermeier, emacs-orgmode, Grant Rettke Correction: #+PROPERTY: header-args :eval never-export is the right incantation below. Chuck On Tue, 24 May 2016, Charles C. Berry wrote: > On Tue, 24 May 2016, Ista Zahn wrote: > >> On Tue, May 24, 2016 at 6:17 AM, Andreas Kiermeier >> <andreas.kiermeier@gmail.com> wrote: >>> I second that. >>> I like exporting everything to LaTeX without having to re-run all the >>> code, >>> which in many cases can add considerable time. >> >> Which you can still do, I guess by >> >> (setq org-babel-default-header-args >> (cons '(:eval . "never-export") >> (assq-delete-all :noweb org-babel-default-header-args))) >> >> instead of the old way >> >> (setq org-export-babel-evaluate nil) >> >> I'm not saying this is good or right. IMO the old behavior of >> org-export-babel-evaluate made sense and was useful; the new behavior >> is surprising and I have a hard time seeing how it is useful. One can >> argue (as Chuck has) that the new behavior is fine sense we have >> another way of achieving the desired results; that may be, but I have >> yet to see an explanation of why the new behavior is desirable. > > The change was in this commit > > commit ec615b192d703a0201ceefd46897e4636ff00a38 > Author: Nicolas Goaziou <mail@nicolasgoaziou.fr> > Date: Thu Apr 28 17:25:31 2016 +0200 > > and was in response to a bug noted in > > http://permalink.gmane.org/gmane.emacs.orgmode/106767 > > IIRC, you need to read the thread - not just the first post - to get what > gives. > >> >> It this change is not going to be reversed than the doc string for >> org-export-babel-evaluate needs to be updated, and something should go >> in the NEWS file warning people (like me) who have been relying on the >> old behavior. > > Since the change was a bugfix, it seems unlikely that it will be reversed > unless another bugfix is proposed. > > I could change the docstring, but I wanted to let the discussion ripen a bit > first to see if anyone stepped forward with a patch that would do just that. > Or even suggest that the variable be deleted entirely. > > For those who are just now tuning in, something like > > #+PROPERTY: :eval never-export > > should give the behavior most users of o-e-b-e nil would desire. > > Chuck > > Charles C. Berry Dept of Family Medicine & Public Health cberry at ucsd edu UC San Diego / La Jolla, CA 92093-0901 http://famprevmed.ucsd.edu/faculty/cberry/ ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: exporting documents w/ babel results w/o evaluating babel blocks 2016-05-20 18:46 ` Nick Dokos 2016-05-20 21:20 ` Charles C. Berry @ 2016-05-20 23:06 ` Ken Mankoff 1 sibling, 0 replies; 26+ messages in thread From: Ken Mankoff @ 2016-05-20 23:06 UTC (permalink / raw) To: Nick Dokos; +Cc: emacs-orgmode On 2016-05-20 at 14:46, Nick Dokos <ndokos@gmail.com> wrote: > Are you getting an evaluation on export? I don't get that with o-e-b-e > set to nil. No I was not, but things were still exporting, which was confusing. I agree, seems like a bug. > ... the fact that I get both code and results even if I specify > ":exports results" looks like a bug to me. Yes. -k. ^ permalink raw reply [flat|nested] 26+ messages in thread
[parent not found: <0e207e1cbcc44453b29eea98ca5ebe05@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>]
* Re: exporting documents w/ babel results w/o evaluating babel blocks [not found] <0e207e1cbcc44453b29eea98ca5ebe05@HE1PR01MB1898.eurprd01.prod.exchangelabs.com> @ 2016-05-20 16:13 ` Eric S Fraga 0 siblings, 0 replies; 26+ messages in thread From: Eric S Fraga @ 2016-05-20 16:13 UTC (permalink / raw) To: Ken Mankoff; +Cc: emacs-orgmode@gnu.org On Friday, 20 May 2016 at 15:57, Ken Mankoff wrote: > Hi List, > > I'm repeating a question here from a recent bug report because I have > a feeling official-looking bug reports might get read less than normal > questions. Sorry for the re-post. > > As of an Org git commit a few weeks ago, Org exporting (and therefore > Org) has become basically unusable for me. I used to be able to export > code block results without evaluating the block during the export. I > can no longer do this. I can export your example without evaluating the babel block and the results appear in the exported output. My org is relatively recent but may be of a similar vintage to yours (see my signature). -- : Eric S Fraga (0xFFFCF67D), Emacs 25.0.92.1, Org release_8.3.4-775-g3308a5 ^ permalink raw reply [flat|nested] 26+ messages in thread
end of thread, other threads:[~2016-05-24 15:53 UTC | newest] Thread overview: 26+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-05-20 15:57 exporting documents w/ babel results w/o evaluating babel blocks Ken Mankoff 2016-05-20 16:14 ` John Hendy 2016-05-20 16:45 ` Ken Mankoff 2016-05-20 17:25 ` John Hendy [not found] ` <878addc2b6b14ce99e907921f0985d24@HE1PR01MB1898.eurprd01.prod.exchangelabs.com> 2016-05-20 16:59 ` Eric S Fraga 2016-05-20 17:06 ` Ken Mankoff [not found] ` <b29fde01938940d3b115abd9b257dc57@HE1PR01MB1898.eurprd01.prod.exchangelabs.com> 2016-05-20 17:11 ` Eric S Fraga 2016-05-20 17:23 ` John Hendy 2016-05-20 17:38 ` Ken Mankoff 2016-05-20 17:32 ` Ken Mankoff 2016-05-20 18:46 ` Nick Dokos 2016-05-20 21:20 ` Charles C. Berry 2016-05-21 19:01 ` Nick Dokos 2016-05-22 19:58 ` John Hendy 2016-05-22 21:52 ` Charles C. Berry 2016-05-23 18:27 ` Nick Dokos 2016-05-23 18:34 ` John Hendy 2016-05-23 20:08 ` Charles C. Berry 2016-05-24 1:34 ` Grant Rettke 2016-05-24 10:17 ` Andreas Kiermeier 2016-05-24 14:32 ` Ista Zahn 2016-05-24 15:09 ` Anthony Cowley 2016-05-24 15:48 ` Charles C. Berry 2016-05-24 15:53 ` Charles C. Berry 2016-05-20 23:06 ` Ken Mankoff [not found] <0e207e1cbcc44453b29eea98ca5ebe05@HE1PR01MB1898.eurprd01.prod.exchangelabs.com> 2016-05-20 16:13 ` Eric S Fraga
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.