babel: refactor `org-babel-switch-to-session'
* ob.el (org-babel-initiate-session): new function derived from previous `org-babel-switch-to-session' (org-babel-switch-to-session): refactored to use new `org-babel-initiate-session' This breaks the original `org-babel-switch-to-session' into a new function `org-babel-initiate-session' and `org-babel-switch-to-session'.
This commit is contained in:
parent
ad7d9c43c8
commit
23ab61d93c
31
lisp/ob.el
31
lisp/ob.el
|
@ -434,11 +434,11 @@ session."
|
||||||
(end-of-line 1)))
|
(end-of-line 1)))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun org-babel-switch-to-session (&optional arg info)
|
(defun org-babel-initiate-session (&optional arg info)
|
||||||
"Switch to the session of the current source-code block.
|
"Initiate session for current code block.
|
||||||
If called with a prefix argument then evaluate the header arguments
|
If called with a prefix argument then evaluate the header arguments
|
||||||
for the source block before entering the session. Copy the body
|
for the code block before entering the session. Copy the body
|
||||||
of the source block to the kill ring."
|
of the code block to the kill ring."
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
(let* ((info (or info (org-babel-get-src-block-info)))
|
(let* ((info (or info (org-babel-get-src-block-info)))
|
||||||
(lang (nth 0 info))
|
(lang (nth 0 info))
|
||||||
|
@ -454,16 +454,23 @@ of the source block to the kill ring."
|
||||||
(error "This block is not using a session!"))
|
(error "This block is not using a session!"))
|
||||||
(unless (fboundp cmd)
|
(unless (fboundp cmd)
|
||||||
(error "No org-babel-initiate-session function for %s!" lang))
|
(error "No org-babel-initiate-session function for %s!" lang))
|
||||||
;; copy body to the kill ring
|
|
||||||
(with-temp-buffer (insert (org-babel-trim body))
|
(with-temp-buffer (insert (org-babel-trim body))
|
||||||
(copy-region-as-kill (point-min) (point-max)))
|
(copy-region-as-kill (point-min) (point-max)))
|
||||||
;; if called with a prefix argument, then process header arguments
|
(when arg
|
||||||
(unless (fboundp cmd2)
|
(unless (fboundp cmd2)
|
||||||
(error "No org-babel-prep-session function for %s!" lang))
|
(error "No org-babel-prep-session function for %s!" lang))
|
||||||
(when arg (funcall cmd2 session params))
|
(funcall cmd2 session params))
|
||||||
;; just to the session using pop-to-buffer
|
(funcall cmd session params)))
|
||||||
(pop-to-buffer (funcall cmd session params))
|
|
||||||
(end-of-line 1)))
|
;;;###autoload
|
||||||
|
(defun org-babel-switch-to-session (&optional arg info)
|
||||||
|
"Switch to the session of the current code block.
|
||||||
|
Uses `org-babel-initiate-session' to start the session. If called
|
||||||
|
with a prefix argument then this is passed on to
|
||||||
|
`org-babel-initiate-session'."
|
||||||
|
(interactive "P")
|
||||||
|
(pop-to-buffer (org-babel-initiate-session arg info))
|
||||||
|
(end-of-line 1))
|
||||||
|
|
||||||
(defalias 'org-babel-pop-to-session 'org-babel-switch-to-session)
|
(defalias 'org-babel-pop-to-session 'org-babel-switch-to-session)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue