瀏覽代碼

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.
Nicolas Goaziou 5 年之前
父節點
當前提交
e3373f4beb
共有 2 個文件被更改,包括 12 次插入1 次删除
  1. 1 1
      lisp/ob-core.el
  2. 11 0
      testing/lisp/test-ob.el

+ 1 - 1
lisp/ob-core.el

@@ -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)))

+ 11 - 0
testing/lisp/test-ob.el

@@ -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