diff options
author | Dan Davison <davison@stats.ox.ac.uk> | 2010-10-21 12:18:43 +0100 |
---|---|---|
committer | Dan Davison <davison@stats.ox.ac.uk> | 2010-10-21 13:06:02 +0100 |
commit | 58a24fa3255844d27454f834e5c03d2e5d5e374d (patch) | |
tree | 327804c5e3c6f349bcb9091fcc82a413a984084f | |
parent | 590fae34e11c5fe14f2b609d8830283487eb1230 (diff) | |
download | org-mode-58a24fa3255844d27454f834e5c03d2e5d5e374d.tar.gz |
babel: octave and matlab: New variable assignment and expansion scheme
* ob-octave.el (org-babel-execute:octave): Use generic
expansion function
(org-babel-variable-assignments:octave): Change name of
function
(org-babel-variable-assignments:matlab): New defalias
(org-babel-prep-session:octave): Change name of function
(org-babel-expand-body:matlab): Delete function
(org-babel-expand-body:octave): Delete function
-rw-r--r-- | lisp/ob-octave.el | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/lisp/ob-octave.el b/lisp/ob-octave.el index 78d6f85..8eb6745 100644 --- a/lisp/ob-octave.el +++ b/lisp/ob-octave.el @@ -47,16 +47,6 @@ (defvar org-babel-octave-shell-command "octave -q" "Shell command to run octave as an external process.") -(defun org-babel-expand-body:matlab (body params) - "Expand BODY according to PARAMS, return the expanded body." - (org-babel-expand-body:octave body params)) -(defun org-babel-expand-body:octave (body params) - "Expand BODY according to PARAMS, return the expanded body." - (mapconcat - #'identity - (append (org-babel-octave-variable-assignments params) - (list body)) "\n")) - (defvar org-babel-matlab-with-emacs-link nil "If non-nil use matlab-shell-run-region for session evaluation. This will use EmacsLink if (matlab-with-emacs-link) evaluates @@ -94,9 +84,11 @@ end") (result-params (nth 2 processed-params)) (result-type (nth 3 processed-params)) (out-file (cdr (assoc :file params))) - (augmented-body (org-babel-expand-body:octave body params)) + (full-body + (org-babel-expand-body:generic + body params (org-babel-variable-assignments:octave params))) (result (org-babel-octave-evaluate - session augmented-body result-type matlabp))) + session full-body result-type matlabp))) (or out-file (org-babel-reassemble-table result @@ -109,7 +101,7 @@ end") "Prepare SESSION according to PARAMS." (org-babel-prep-session:octave session params 'matlab)) -(defun org-babel-octave-variable-assignments (params) +(defun org-babel-variable-assignments:octave (params) "Return list of octave statements assigning the block's variables" (mapcar (lambda (pair) @@ -118,6 +110,9 @@ end") (org-babel-octave-var-to-octave (cdr pair)))) (mapcar #'cdr (org-babel-get-header params :var)))) +(defalias 'org-babel-variable-assignments:matlab + 'org-babel-variable-assignments:octave) + (defun org-babel-octave-var-to-octave (var) "Convert an emacs-lisp value into an octave variable. Converts an emacs-lisp variable into a string of octave code @@ -130,7 +125,7 @@ specifying a variable of the same value." (defun org-babel-prep-session:octave (session params &optional matlabp) "Prepare SESSION according to the header arguments specified in PARAMS." (let* ((session (org-babel-octave-initiate-session session params matlabp)) - (var-lines (org-babel-octave-variable-assignments params))) + (var-lines (org-babel-variable-assignments:octave params))) (org-babel-comint-in-buffer session (mapc (lambda (var) (end-of-line 1) (insert var) (comint-send-input nil t) |