Greg Minshall writes: > hi. i'm running R code from an org mode file. i was having a problem > where a code block that *was* returning a value result was not returning > the results into the buffer. > > (after long head-scratching) this appears to be because my code was > returning more lines of results than org-table-convert-region-max-lines. > > but, i was *not* seeing any error message, nothing to indicate to me why > i was getting no results. in the test program below, when trying to > return more than 1000 lines, one sees, in the echo area, "Code block > returned no value". if you go to *Messages*, there you can see an error > message.
Thanks for the report and for providing a minimal example. > i think somehow org/babel should make sure the user sees what limitation > s/he is running into. I agree. Here's my suggestion. -- >8 -- Subject: [PATCH] ob-core: Display warning on failure to read results * lisp/ob-core.el (org-babel-import-elisp-from-file): Show handled errors with display-warning rather than a message because the latter is quickly overridden by subsequent messages, making it difficult if not impossible for the user to spot. The scope of the save-window-excursion call would need to be reduced for the display-warning buffer to be shown, but nothing appears to change the window configuration, so just drop the save-window-excursion call. Reported-by: Greg Minshall <minsh...@umich.edu> <2449663.1588516...@apollo2.minshall.org> --- lisp/ob-core.el | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/lisp/ob-core.el b/lisp/ob-core.el index ee0dc3d72..2a75ae734 100644 --- a/lisp/ob-core.el +++ b/lisp/ob-core.el @@ -2941,24 +2941,27 @@ (defun org-babel--string-to-number (string) (defun org-babel-import-elisp-from-file (file-name &optional separator) "Read the results located at FILE-NAME into an elisp table. If the table is trivial, then return it as a scalar." - (save-window-excursion - (let ((result - (with-temp-buffer - (condition-case err - (progn - (org-table-import file-name separator) - (delete-file file-name) - (delq nil - (mapcar (lambda (row) - (and (not (eq row 'hline)) - (mapcar #'org-babel-string-read row))) - (org-table-to-lisp)))) - (error (message "Error reading results: %s" err) nil))))) - (pcase result - (`((,scalar)) scalar) - (`((,_ ,_ . ,_)) result) - (`(,scalar) scalar) - (_ result))))) + (let ((result + (with-temp-buffer + (condition-case err + (progn + (org-table-import file-name separator) + (delete-file file-name) + (delq nil + (mapcar (lambda (row) + (and (not (eq row 'hline)) + (mapcar #'org-babel-string-read row))) + (org-table-to-lisp)))) + (error + (display-warning 'org-babel + (format "Error reading results: %S" err) + :error) + nil))))) + (pcase result + (`((,scalar)) scalar) + (`((,_ ,_ . ,_)) result) + (`(,scalar) scalar) + (_ result)))) (defun org-babel-string-read (cell) "Strip nested \"s from around strings." base-commit: 5e2490bdf29a1eeff91b631425c38309cf368690 -- 2.26.2