ob-core: Properly replace results in special blocks

* lisp/ob-core.el (org-babel-result-end): Handle results in special
blocks.
* testing/lisp/test-ob.el (test-ob/replace-special-block-result): New
test.
This commit is contained in:
Nicolas Goaziou 2020-04-07 01:21:33 +02:00
parent e1961c543a
commit e3373f4beb
2 changed files with 12 additions and 1 deletions

View File

@ -2488,7 +2488,7 @@ in the buffer."
(if (memq (org-element-type element)
;; Possible results types.
'(drawer example-block export-block fixed-width item
plain-list src-block table))
plain-list special-block src-block table))
(save-excursion
(goto-char (min (point-max) ;for narrowed buffers
(org-element-property :end element)))

View File

@ -545,6 +545,17 @@ duplicate results block."
(org-babel-next-src-block 1)
(should (looking-at org-babel-src-block-regexp))))
(ert-deftest test-ob/replace-special-block-result ()
(should-error
(org-test-with-temp-text "
#+begin_src emacs-lisp :wrap special<point>
'foo
#+end_src"
(org-babel-execute-src-block)
(org-babel-execute-src-block)
(buffer-string)
(search-forward "#+begin_special" nil nil 2))))
(ert-deftest test-ob/catches-all-references ()
(org-test-with-temp-text "
#+NAME: literal-example