From 18fec7623cad7b73f7b741ad9b40f709c008c7db Mon Sep 17 00:00:00 2001 From: Ihor Radchenko Date: Sun, 18 Dec 2022 14:04:57 +0300 Subject: [PATCH] ob-core: Fix :results list when result is a table MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * lisp/ob-core.el (org-babel-insert-result): Do not treat table lines in RESULT verbatim. * testing/lisp/test-ob-shell.el (ob-shell/results-list): Add new test. Reported-by: Rudolf Adamkovič Link: https://orgmode.org/list/m2tu1v8gj8.fsf@me.com --- lisp/ob-core.el | 6 +++++- testing/lisp/test-ob-shell.el | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/lisp/ob-core.el b/lisp/ob-core.el index 2fa9d8978..3c7717fd8 100644 --- a/lisp/ob-core.el +++ b/lisp/ob-core.el @@ -2463,7 +2463,11 @@ INFO may provide the values of these header arguments (in the (cons 'unordered (mapcar (lambda (e) - (list (if (stringp e) e (format "%S" e)))) + (cond + ((stringp e) (list e)) + ((listp e) + (mapcar (lambda (x) (format "%S" x)) e)) + (t (list (format "%S" e))))) (if (listp result) result (split-string result "\n" t)))) '(:splicep nil :istart "- " :iend "\n"))) diff --git a/testing/lisp/test-ob-shell.el b/testing/lisp/test-ob-shell.el index 7aa45cc8a..b0d9beff4 100644 --- a/testing/lisp/test-ob-shell.el +++ b/testing/lisp/test-ob-shell.el @@ -170,6 +170,20 @@ ob-comint.el, which was not previously tested." "#+BEGIN_SRC sh :results table\necho 'I \"want\" it all'\n#+END_SRC" (org-babel-execute-src-block))))) +(ert-deftest ob-shell/results-list () + "Test :results list." + (org-test-with-temp-text + "#+BEGIN_SRC sh :results list\necho 1\necho 2\necho 3\n#+END_SRC" + (should + (equal '((1) (2) (3)) + (org-babel-execute-src-block))) + (search-forward "#+results") + (beginning-of-line 2) + (should + (equal + "- 1\n- 2\n- 3\n" + (buffer-substring-no-properties (point) (point-max)))))) + ;;; Standard output (ert-deftest ob-shell/standard-output-after-success ()