summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Schulte <schulte.eric@gmail.com>2011-05-19 07:37:33 -0600
committerEric Schulte <schulte.eric@gmail.com>2011-05-19 07:37:33 -0600
commit72c154e38e526b5f8bb5f200fb31bc6fec145ba6 (patch)
tree83d67060b75d422d0667439b6839edfd4466c781
parent2a8fbc4b464d10dda3ceebf70e4f99825f179dd5 (diff)
downloadorg-mode-72c154e38e526b5f8bb5f200fb31bc6fec145ba6.tar.gz
expand noweb refs when ":noweb yes" during export
* lisp/ob-exp.el (org-babel-exp-do-export): Use `org-babel-exp-code' to generate code block output. (org-babel-exp-code): Re-create the code block body for exporting source code.
-rw-r--r--lisp/ob-exp.el12
1 files changed, 10 insertions, 2 deletions
diff --git a/lisp/ob-exp.el b/lisp/ob-exp.el
index d700f6d..ce04f13 100644
--- a/lisp/ob-exp.el
+++ b/lisp/ob-exp.el
@@ -238,9 +238,17 @@ The function respects the value of the :exports header argument."
(clean () (unless (eq type 'inline) (org-babel-remove-result info))))
(case (intern (or (cdr (assoc :exports (nth 2 info))) "code"))
('none (silently) (clean) "")
- ('code (silently) (clean) nil)
+ ('code (silently) (clean) (org-babel-exp-code info))
('results (org-babel-exp-results info type nil hash) "")
- ('both (org-babel-exp-results info type nil hash) nil))))
+ ('both (org-babel-exp-results info type nil hash)
+ (org-babel-exp-code info)))))
+
+(defun org-babel-exp-code (info)
+ "Return the original code block formatted for export."
+ (org-fill-template "#+BEGIN_SRC %lang%flags\n%body\n#+END_SRC\n"
+ `(("lang" . ,(nth 0 info))
+ ("flags" . ,(when-let (f (nth 3 info)) (concat " " f)))
+ ("body" . ,(nth 1 info)))))
(defun org-babel-exp-results (info type &optional silent hash)
"Evaluate and return the results of the current code block for export.