summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Ecay <aaronecay@gmail.com>2014-10-10 00:35:41 -0400
committerAaron Ecay <aaronecay@gmail.com>2014-10-10 12:35:57 -0400
commitfcce67cdebb8eeb3bdd09cb44973c661cfec7aff (patch)
tree938b5c9415bc9fc12fb7a4e48ea3ddba7b1e7a58
parentfac4677e510d54956b9736e1db5a89b5aebed128 (diff)
downloadorg-mode-fcce67cdebb8eeb3bdd09cb44973c661cfec7aff.tar.gz
ob-R: fix interaction with ESS for new sessions
* lisp/ob-R.el (org-babel-R-initiate-session): Properly wait on a new ESS process.
-rw-r--r--lisp/ob-R.el7
1 files changed, 4 insertions, 3 deletions
diff --git a/lisp/ob-R.el b/lisp/ob-R.el
index 4584173..2470b4f 100644
--- a/lisp/ob-R.el
+++ b/lisp/ob-R.el
@@ -270,9 +270,10 @@ This function is called by `org-babel-execute-src-block'."
;; Session buffer exists, but with dead process
(set-buffer session))
(require 'ess) (R)
- (ess-wait-for-process
- (get-process (or ess-local-process-name
- ess-current-process-name)))
+ (let ((R-proc (get-process (or ess-local-process-name
+ ess-current-process-name))))
+ (while (process-get R-proc 'callbacks)
+ (ess-wait-for-process R-proc)))
(rename-buffer
(if (bufferp session)
(buffer-name session)