summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien <bzg@gnu.org>2018-10-11 11:15:56 +0200
committerBastien <bzg@gnu.org>2018-10-11 11:15:56 +0200
commit0aa25891858067e6f23478087389055fb8d878bc (patch)
tree08776294c4c81d244e6046e422a4ef7cde291e87
parentbfc93e0c92a6ed1cba32b524925e8bba53d075d3 (diff)
parent2fda33bfef319654b46879056ff56a64259920e4 (diff)
downloadorg-mode-0aa25891858067e6f23478087389055fb8d878bc.tar.gz
Merge branch 'master' of code.orgmode.org:bzg/org-mode
-rw-r--r--lisp/ob-tangle.el3
-rw-r--r--testing/lisp/test-ob-tangle.el45
2 files changed, 47 insertions, 1 deletions
diff --git a/lisp/ob-tangle.el b/lisp/ob-tangle.el
index d78c90b..57798f8 100644
--- a/lisp/ob-tangle.el
+++ b/lisp/ob-tangle.el
@@ -407,7 +407,8 @@ can be used to limit the collected code blocks by target file."
(if by-lang (setcdr by-lang (cons block (cdr by-lang)))
(push (cons src-lang (list block)) blocks)))))))
;; Ensure blocks are in the correct order.
- (mapcar (lambda (b) (cons (car b) (nreverse (cdr b)))) blocks)))
+ (mapcar (lambda (b) (cons (car b) (nreverse (cdr b))))
+ (nreverse blocks))))
(defun org-babel-tangle-single-block (block-counter &optional only-this-block)
"Collect the tangled source for current block.
diff --git a/testing/lisp/test-ob-tangle.el b/testing/lisp/test-ob-tangle.el
index 560cc6c..1dfd1a9 100644
--- a/testing/lisp/test-ob-tangle.el
+++ b/testing/lisp/test-ob-tangle.el
@@ -222,6 +222,51 @@ another block
(buffer-string)))
(delete-file "test-ob-tangle.org"))))))
+(ert-deftest ob-tangle/block-order ()
+ "Test order of tangled blocks."
+ ;; Order per language.
+ (should
+ (equal '("1" "2")
+ (let ((file (make-temp-file "org-tangle-")))
+ (unwind-protect
+ (progn
+ (org-test-with-temp-text-in-file
+ (format "#+property: header-args :tangle %S
+#+begin_src emacs-lisp
+1
+#+end_src
+
+#+begin_src emacs-lisp
+2
+#+end_src"
+ file)
+ (org-babel-tangle))
+ (with-temp-buffer
+ (insert-file-contents file)
+ (org-split-string (buffer-string))))
+ (delete-file file)))))
+ ;; Order per source block.
+ (should
+ (equal '("1" "2")
+ (let ((file (make-temp-file "org-tangle-")))
+ (unwind-protect
+ (progn
+ (org-test-with-temp-text-in-file
+ (format "#+property: header-args :tangle %S
+#+begin_src foo
+1
+#+end_src
+
+#+begin_src bar
+2
+#+end_src"
+ file)
+ (org-babel-tangle))
+ (with-temp-buffer
+ (insert-file-contents file)
+ (org-split-string (buffer-string))))
+ (delete-file file))))))
+
(provide 'test-ob-tangle)
;;; test-ob-tangle.el ends here