"Charles C. Berry" writes: > On Thu, 7 Aug 2014, Aaron Ecay wrote: > >> Hi Chuck, >> >> Thanks for your feedback. >> >> 2014ko abuztuak 7an, "Charles C. Berry"-ek idatzi zuen: >>> Hi Aaron, >>> >>> I like what you are trying to do, but ... >>> >>> 1) The change has at least one bug: Remote sessions are broken by this >>> change. >>> >>> 2) The behavior of :results output is modified in ways that might not be >>> desired. i.e. warnings and errors will not show up in the output. >>> > > [snip issue 1 discussion] > >>> >>> Issue 2) =========== >>> >>> ECM: >>> >>> #+NAME: aa >>> #+BEGIN_SRC R :session R2 :results output >>> warning("this is a warning") >>> 1+1 >>> #+END_SRC >>> >>> #+RESULTS: aa >>> : [1] 2 >>> >>> For some purposes having the warnings in the #+RESULTS: block is helpful. >>> >>> And when revising code, having the errors in the #+RESULTS helps - >>> especially if I have to put aside work in progress. >> >> Hmm. Certainly, the previous behavior should be retained for now. In >> the longer term, I’d like to see a system whereby R errors trigger elisp >> errors. This is so that the execution of a whole document (subtree, >> etc.) will be halted by the first error, rather than continuing what may >> be a long series of commands that will not give valid output. What do >> you think? >> > > I need a while to sort through this. stop(), warning(), and message() > will print to the session but not show up in what capture.output > retains. > > sink() has the ability to capture those things, but there is added > baggage. > > I fear some study of ?conditions is needed. My knowledge of condition > handling in R is scant. > > As for stopping on error, I think that anything that changes current > behavior at this late date ought to be configurable. > > FWIW, when I export documents, I sometimes get innocuous errors that I > am happy did not stop the run in its tracks - like formatting one > table fails with an error but all else went through. And sometimes I > wish it had stopped. I agree here with Charles. An example where R errors do *not* trigger do not abort export are graphs: the graph generation, when using R, is wrapped in a tryCatch() block and shows the error in the exported document as well as in the R session but does not abort. A case where it is very useful to continue export is when creating lecture notes or slides to demonstrate errors. If there is the wish for R errors to trigger elisp errors, a header argument would be needed to specify if errors and warnings in R should trigger errors in elisp or if they should be ignored and the error message displayed and the export should be continued. Cheers, Rainer > > Best, > > Chuck -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Stellenbosch University South Africa Tel : +33 - (0)9 53 10 27 44 Cell: +33 - (0)6 85 62 59 98 Fax : +33 - (0)9 58 10 27 44 Fax (D): +49 - (0)3 21 21 25 22 44 email: Rainer@krugs.de Skype: RMkrug PGP: 0x0F52F982