diff --git a/lisp/ob.el b/lisp/ob.el index d27a3946e..0b74db27c 100644 --- a/lisp/ob.el +++ b/lisp/ob.el @@ -1878,7 +1878,8 @@ code ---- the results are extracted in the syntax of the source (flet ((wrap (start finish) (goto-char end) (insert (concat finish "\n")) (goto-char beg) (insert (concat start "\n")) - (goto-char end) (setq end (point-marker))) + (goto-char end) (goto-char (point-at-eol)) + (setq end (point-marker))) (proper-list-p (it) (and (listp it) (null (cdr (last it)))))) ;; insert results based on type (cond diff --git a/testing/lisp/test-ob.el b/testing/lisp/test-ob.el index b01e4b2ba..a2e6abfd7 100644 --- a/testing/lisp/test-ob.el +++ b/testing/lisp/test-ob.el @@ -763,6 +763,19 @@ replacement happens correctly." * next heading")) +(ert-deftest test-ob/org-babel-results-indented-wrap () + "Ensure that wrapped results are inserted correction when indented. +If not inserted correctly then the second evaluation will fail +trying to find the :END: marker." + (org-test-with-temp-text + "- indented + #+begin_src sh :results file wrap + echo test.txt + #+end_src" + (org-babel-next-src-block 1) + (org-babel-execute-src-block) + (org-babel-execute-src-block))) + (ert-deftest test-ob/org-babel-remove-result--results-wrap () "Test `org-babel-remove-result' with :results wrap." (test-ob-verify-result-and-removed-result