Sfoglia il codice sorgente

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
Dan Davison 14 anni fa
parent
commit
58a24fa325
1 ha cambiato i file con 9 aggiunte e 14 eliminazioni
  1. 9 14
      lisp/ob-octave.el

+ 9 - 14
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)