> Hi Ernesto, > > This looks like a good change and I'd like to apply it. Could you > re-submit this commit after doing the following. > > 1. ensure no lines go beyond 80 characters in length > 2. remove all lines which include only closing parens > (such lines are generally considered bad lisp style) > 3. commit to your local git repository with "git commit" > 4. format the patch with "git format-patch" > > Thanks, > Eric > > Ernesto Durante writes: > >> Hi, >> >> I am using ob-C with gcc and Microsoft Visual C++. These two compilers >> have two different behaviours for outputting errors. Gcc uses the >> standard error output and Visual C++ uses the regular output. >> Under Windows, errors are not displayed because of the way >> org-babel-eval is coded. To work on both platforms, the standard >> output must be concatenated with the standard error. >> >> I modified the org-babel-eval in the following way. >> >> >> diff --git a/lisp/ob-eval.el b/lisp/ob-eval.el >> index 057590f..1a93460 100644 >> --- a/lisp/ob-eval.el >> +++ b/lisp/ob-eval.el >> @@ -53,12 +53,20 @@ STDERR with `org-babel-eval-error-notify'." >> (setq exit-code >> (org-babel--shell-command-on-region >> (point-min) (point-max) cmd err-buff)) >> - (if (or (not (numberp exit-code)) (> exit-code 0)) >> - (progn >> - (with-current-buffer err-buff >> - (org-babel-eval-error-notify exit-code (buffer-string))) >> - nil) >> - (buffer-string))))) >> + (let ((temp-buffer-str (buffer-string))) ;;temp-buffer-str holds standard output + body >> + (if (or (not (numberp exit-code)) (> exit-code 0)) >> + (progn >> + (with-current-buffer err-buff >> + (org-babel-eval-error-notify exit-code (format "%s%s" temp-buffer-str (buffer-string))) >> + ) >> + (save-excursion >> + (when (get-buffer org-babel-error-buffer-name) >> + (with-current-buffer org-babel-error-buffer-name >> + (compilation-mode) >> + (read-only-mode 0) >> + ))) >> + nil) >> + temp-buffer-str))))) >> >> >> One suggestion. It will be nice to put the error buffer in >> compilation-mode, this way errors are highlighted and we can jump >> directly into the source code. I modified org-babel-eval to launch the >> compilation mode in case of errors. I also removed the read-only >> attribute, else the buffer content of org-babel-error-buffer-name cannot >> be erased. >> >> Clearly, it's not a good patch because org-babel-eval seems to be >> a core function in babel. Maybe for ob-C, this function should be >> replaced by a new function. >> >> Thanks to everyone for orgmode and babel to exist. >> >> Best >> Ernesto >>