diff options
author | Nicolas Goaziou <n.goaziou@gmail.com> | 2014-02-01 21:49:37 +0100 |
---|---|---|
committer | Nicolas Goaziou <n.goaziou@gmail.com> | 2014-02-01 21:52:43 +0100 |
commit | ac2f516edf90e9631f069c08294fb11ecf42b231 (patch) | |
tree | 10b98c2c363ad444b5afd9bb371bf3ca76a8872e | |
parent | ccc4f6b96e6af91a5a1e7a5e6766eed9006d658b (diff) | |
download | org-mode-ac2f516edf90e9631f069c08294fb11ecf42b231.tar.gz |
ob-exp: Do not ignore `org-src-preserve-indentation'
* lisp/ob-exp.el (org-babel-exp-process-buffer): Also check
`org-src-preserve-indentation' to know when to preserve indentation.
* testing/lisp/test-ob-exp.el (ob-export/export-and-indentation): New
test.
Thanks to John Hendy for reporting it.
-rw-r--r-- | lisp/ob-exp.el | 4 | ||||
-rw-r--r-- | testing/lisp/test-ob-exp.el | 33 |
2 files changed, 36 insertions, 1 deletions
diff --git a/lisp/ob-exp.el b/lisp/ob-exp.el index cb64136..6d65496 100644 --- a/lisp/ob-exp.el +++ b/lisp/ob-exp.el @@ -269,7 +269,9 @@ this template." (save-excursion (goto-char end) (line-end-position))) (insert replacement) - (if (org-element-property :preserve-indent element) + (if (or org-src-preserve-indentation + (org-element-property :preserve-indent + element)) ;; Indent only the code block markers. (save-excursion (skip-chars-backward " \r\t\n") (indent-line-to ind) diff --git a/testing/lisp/test-ob-exp.el b/testing/lisp/test-ob-exp.el index d09e9eb..8345da7 100644 --- a/testing/lisp/test-ob-exp.el +++ b/testing/lisp/test-ob-exp.el @@ -323,6 +323,39 @@ Here is one at the end of a line. =2= (org-export-execute-babel-code) (buffer-string))))) +(ert-deftest ob-export/export-and-indentation () + "Test indentation of evaluated source blocks during export." + ;; No indentation. + (should + (string-match + "^t" + (org-test-with-temp-text "#+BEGIN_SRC emacs-lisp\n t\n#+END_SRC" + (let ((indent-tabs-mode t) + (tab-width 1) + (org-src-preserve-indentation nil)) + (org-export-execute-babel-code) + (buffer-string))))) + ;; Preserve indentation with "-i" flag. + (should + (string-match + "^ t" + (org-test-with-temp-text "#+BEGIN_SRC emacs-lisp -i\n t\n#+END_SRC" + (let ((indent-tabs-mode t) + (tab-width 1)) + (org-export-execute-babel-code) + (buffer-string))))) + ;; Preserve indentation with a non-nil + ;; `org-src-preserve-indentation'. + (should + (string-match + "^ t" + (org-test-with-temp-text "#+BEGIN_SRC emacs-lisp\n t\n#+END_SRC" + (let ((indent-tabs-mode t) + (tab-width 1) + (org-src-preserve-indentation t)) + (org-export-execute-babel-code) + (buffer-string)))))) + (provide 'test-ob-exp) ;;; test-ob-exp.el ends here |