diff options
author | Dan Davison <davison@stats.ox.ac.uk> | 2010-10-21 12:00:00 +0100 |
---|---|---|
committer | Dan Davison <davison@stats.ox.ac.uk> | 2010-10-21 13:06:02 +0100 |
commit | 02a10a2bdbd6b6225625585728ad4a610045208b (patch) | |
tree | 83a145e7643e803dcf69671392d6ed92d7372720 | |
parent | b24139309d9b3cad46694120b8c1690df55ef611 (diff) | |
download | org-mode-02a10a2bdbd6b6225625585728ad4a610045208b.tar.gz |
babel: gnuplot: New variable assignment scheme
* ob-gnuplot.el (org-babel-expand-body:gnuplot): Use variable
assignment function
(org-babel-prep-session:gnuplot): Use variable assignment
function
(org-babel-variable-assignments:gnuplot): New function
-rw-r--r-- | lisp/ob-gnuplot.el | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lisp/ob-gnuplot.el b/lisp/ob-gnuplot.el index 190b6a2..d530f8b 100644 --- a/lisp/ob-gnuplot.el +++ b/lisp/ob-gnuplot.el @@ -118,9 +118,9 @@ code." ;; insert variables into code body: this should happen last ;; placing the variables at the *top* of the code in case their ;; values are used later - (add-to-body (mapconcat - (lambda (pair) (format "%s = \"%s\"" (car pair) (cdr pair))) - vars "\n")) + (add-to-body (mapconcat #'identity + (org-babel-variable-assignments:gnuplot params) + "\n")) ;; replace any variable names preceded by '$' with the actual ;; value of the variable (mapc (lambda (pair) @@ -162,10 +162,7 @@ This function is called by `org-babel-execute-src-block'." (defun org-babel-prep-session:gnuplot (session params) "Prepare SESSION according to the header arguments in PARAMS." (let* ((session (org-babel-gnuplot-initiate-session session)) - (vars (org-babel-ref-variables params)) - (var-lines (mapcar - (lambda (pair) (format "%s = \"%s\"" (car pair) (cdr pair))) - vars))) + (var-lines (org-babel-variable-assignments:gnuplot params))) (message "%S" session) (org-babel-comint-in-buffer session (mapc (lambda (var-line) @@ -183,6 +180,12 @@ This function is called by `org-babel-execute-src-block'." (insert (org-babel-chomp body))) buffer))) +(defun org-babel-variable-assignments:gnuplot (params) + "Return list of gnuplot statements assigning the block's variables" + (mapcar + (lambda (pair) (format "%s = \"%s\"" (car pair) (cdr pair))) + (mapcar #'cdr (org-babel-get-header params :var)))) + (defvar gnuplot-buffer) (defun org-babel-gnuplot-initiate-session (&optional session params) "Initiate a gnuplot session. |