diff options
author | Eric Schulte <schulte.eric@gmail.com> | 2010-04-19 23:47:43 -0600 |
---|---|---|
committer | Eric Schulte <schulte.eric@gmail.com> | 2010-04-23 10:09:59 -0600 |
commit | 1fdc012e3d50279c469acfc3b1851147f11449ee (patch) | |
tree | 45507c112a93325ff88e0b27dd3eb889bc6dabac | |
parent | e6c979f0d74ee7e095401b622c50d2ed56674a8b (diff) | |
download | org-mode-1fdc012e3d50279c469acfc3b1851147f11449ee.tar.gz |
org-babel-expand-body:sh
-rw-r--r-- | contrib/babel/lisp/langs/org-babel-sh.el | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/contrib/babel/lisp/langs/org-babel-sh.el b/contrib/babel/lisp/langs/org-babel-sh.el index aed73d1..c39d556 100644 --- a/contrib/babel/lisp/langs/org-babel-sh.el +++ b/contrib/babel/lisp/langs/org-babel-sh.el @@ -40,22 +40,26 @@ "Command used to invoke a shell. This will be passed to `shell-command-on-region'") +(defun org-babel-expand-body:sh (body params &optional processed-params) + (let ((vars (second (or processed-params (org-babel-process-params params)))) + (sep (cdr (assoc :separator params)))) + (concat + (mapconcat ;; define any variables + (lambda (pair) + (format "%s=%s" + (car pair) + (org-babel-sh-var-to-sh (cdr pair) sep))) + vars "\n") "\n" body "\n\n"))) + (defun org-babel-execute:sh (body params) "Execute a block of Shell commands with org-babel. This function is called by `org-babel-execute-src-block'." (message "executing Shell source code block") (let* ((processed-params (org-babel-process-params params)) (session (org-babel-sh-initiate-session (first processed-params))) - (vars (second processed-params)) (result-type (fourth processed-params)) - (sep (cdr (assoc :separator params))) - (full-body (concat - (mapconcat ;; define any variables - (lambda (pair) - (format "%s=%s" - (car pair) - (org-babel-sh-var-to-sh (cdr pair) sep))) - vars "\n") "\n" body "\n\n"))) ;; then the source block body + (full-body (org-babel-expand-body:sh + body params processed-params))) ;; then the source block body (org-babel-reassemble-table (org-babel-sh-evaluate session full-body result-type) (org-babel-pick-name (nth 4 processed-params) (cdr (assoc :colnames params))) |