ソースを参照

ob-org: expanding variables in Org-mode text

* lisp/ob-org.el (org-babel-expand-body:org): Implemented this
  function, only action is to expand variables.
  (org-babel-execute:org): Uses the new body-expansion function.
Eric Schulte 13 年 前
コミット
311b09d926
1 ファイル変更9 行追加1 行削除
  1. 9 1
      lisp/ob-org.el

+ 9 - 1
lisp/ob-org.el

@@ -40,11 +40,19 @@
   "#+TITLE: default empty header\n"
   "Default header inserted during export of org blocks.")
 
+(defun org-babel-expand-body:org (body params)
+  (dolist (var (mapcar #'cdr (org-babel-get-header params :var)))
+    (setq body (replace-regexp-in-string
+		(regexp-quote (format "$%s" (car var)))  (cdr var) body
+		nil 'literal)))
+  body)
+
 (defun org-babel-execute:org (body params)
   "Execute a block of Org code with.
 This function is called by `org-babel-execute-src-block'."
   (let ((result-params (split-string (or (cdr (assoc :results params)) "")))
-	(body (replace-regexp-in-string "^," "" body)))
+	(body (org-babel-expand-body:org
+	       (replace-regexp-in-string "^," "" body) params)))
     (cond
      ((member "latex" result-params) (org-export-string
 				      (concat "#+Title: \n" body) "latex"))