mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-09-29 21:37:50 +00:00
babel: python: New variable assignment and expansion scheme
* ob-python.el (org-babel-execute:python): Use generic expansion function (org-babel-prep-session:python): Change name of called function (org-babel-variable-assignments:python): Change function name (org-babel-expand-body:python): Delete function
This commit is contained in:
parent
33f836e701
commit
2699f4e9bc
|
@ -48,16 +48,6 @@
|
|||
"Preferred python mode for use in running python interactively.")
|
||||
|
||||
(defvar org-src-preserve-indentation)
|
||||
(defun org-babel-expand-body:python (body params)
|
||||
"Expand BODY according to PARAMS, return the expanded body."
|
||||
(let ((var-lines (org-babel-python-variable-assignments params)))
|
||||
(mapconcat
|
||||
#'identity
|
||||
(append
|
||||
(org-babel-python-variable-assignments params)
|
||||
(list
|
||||
(org-babel-trim body (if org-src-preserve-indentation "[\f\n\r\v]"))))
|
||||
"\n")))
|
||||
|
||||
(defun org-babel-execute:python (body params)
|
||||
"Execute a block of Python code with Babel.
|
||||
|
@ -66,7 +56,9 @@ This function is called by `org-babel-execute-src-block'."
|
|||
(session (org-babel-python-initiate-session (first processed-params)))
|
||||
(result-params (nth 2 processed-params))
|
||||
(result-type (nth 3 processed-params))
|
||||
(full-body (org-babel-expand-body:python body params))
|
||||
(full-body
|
||||
(org-babel-expand-body:generic
|
||||
body params (org-babel-variable-assignments:python params)))
|
||||
(result (org-babel-python-evaluate
|
||||
session full-body result-type result-params)))
|
||||
(or (cdr (assoc :file params))
|
||||
|
@ -78,9 +70,11 @@ This function is called by `org-babel-execute-src-block'."
|
|||
(cdr (assoc :rownames params)))))))
|
||||
|
||||
(defun org-babel-prep-session:python (session params)
|
||||
"Prepare SESSION according to the header arguments in PARAMS."
|
||||
"Prepare SESSION according to the header arguments in PARAMS.
|
||||
VARS contains resolved variable references"
|
||||
(let* ((session (org-babel-python-initiate-session session))
|
||||
(var-lines (org-babel-python-variable-assignments params)))
|
||||
(var-lines
|
||||
(org-babel-variable-assignments:python params)))
|
||||
(org-babel-comint-in-buffer session
|
||||
(mapc (lambda (var)
|
||||
(end-of-line 1) (insert var) (comint-send-input)
|
||||
|
@ -98,7 +92,7 @@ This function is called by `org-babel-execute-src-block'."
|
|||
|
||||
;; helper functions
|
||||
|
||||
(defun org-babel-python-variable-assignments (params)
|
||||
(defun org-babel-variable-assignments:python (params)
|
||||
"Return list of python statements assigning the block's variables"
|
||||
(mapcar
|
||||
(lambda (pair)
|
||||
|
|
Loading…
Reference in a new issue