mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-07-16 07:16:32 +00:00
Fix org-babel-R-initiate-session
* lisp/ob-R.el (org-babel-R-initiate-session): handle case where the session buffer exists, but does not have a live process If the session buffer exists, but the user has exited the R process manually, then the (R) command will create a new buffer, then try to rename it over the old buffer, causing an error. The right thing to do is to start R within the existing buffer.
This commit is contained in:
parent
2f39a704cf
commit
fe98647f14
|
@ -209,6 +209,10 @@ This function is called by `org-babel-execute-src-block'."
|
||||||
(if (org-babel-comint-buffer-livep session)
|
(if (org-babel-comint-buffer-livep session)
|
||||||
session
|
session
|
||||||
(save-window-excursion
|
(save-window-excursion
|
||||||
|
(save-excursion
|
||||||
|
(when (get-buffer session)
|
||||||
|
;; Session buffer exists, but with dead process
|
||||||
|
(set-buffer session))
|
||||||
(require 'ess) (R)
|
(require 'ess) (R)
|
||||||
(rename-buffer
|
(rename-buffer
|
||||||
(if (bufferp session)
|
(if (bufferp session)
|
||||||
|
@ -216,7 +220,7 @@ This function is called by `org-babel-execute-src-block'."
|
||||||
(if (stringp session)
|
(if (stringp session)
|
||||||
session
|
session
|
||||||
(buffer-name))))
|
(buffer-name))))
|
||||||
(current-buffer))))))
|
(current-buffer)))))))
|
||||||
|
|
||||||
(defun org-babel-R-associate-session (session)
|
(defun org-babel-R-associate-session (session)
|
||||||
"Associate R code buffer with an R session.
|
"Associate R code buffer with an R session.
|
||||||
|
|
Loading…
Reference in a new issue