Hi Ian On Sat, Mar 22, 2014 at 4:59 AM, Ian Kelling <ian...@gmail.com> wrote: > I use babel mostly for shell scripts. I wrote a patch to allow toggling the > handling of errors & std err. I prefer standard error just get printed with > everything else, the same as calling a script from a terminal. Doing this > properly > with header arguments etc. has been discussed before (google org-babel > stderr), > and just hasn't gotten done yet. Until then, this works great, so I'm putting > it > out there in case anyone wants to use it.
I am generally concerned about respecting the exit status [1] and stderr of a process, also in Org babel [2]. Thank you for taking care of it. > +(defcustom org-babel-use-error-buffer t > + "When evaluating a code block, if nil and an error is returned > +,no error buffer is created and. Standard error > +is redirected to standard out." > +:group 'org-babel > +:version "24.1" > +:type 'boolean) For two reasons I would much prefer if there would be not yet another variable org-* but a header argument or a new value for e. g. ":results": - When someone would use org-babel-use-error-buffer then sharing Org source blocks would be less easy. - With a header argument it would be possible to have different behaviors in different Org source blocks which is also a requirement for backward compatibility of existing source blocks (I would want them to let babel execution still fail in case of a problem). There are also use cases where I would want to capture stderr but let babel execution fail when the exit status is non-zero, see [2]. Michael [1] My shell prompt ($PS1) contains the exit status ($?), my shell scripts contain "set -o errexit; set -o pipefail". [2] See my lengthy post here: http://thread.gmane.org/gmane.emacs.orgmode/45828/focus=46415