summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Davison <davison@stats.ox.ac.uk>2010-10-21 12:00:00 +0100
committerDan Davison <davison@stats.ox.ac.uk>2010-10-21 13:06:02 +0100
commit02a10a2bdbd6b6225625585728ad4a610045208b (patch)
tree83a145e7643e803dcf69671392d6ed92d7372720
parentb24139309d9b3cad46694120b8c1690df55ef611 (diff)
downloadorg-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.el17
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.