0
0
Fork 1
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-09-29 22:47:56 +00:00

sessions are now working in R

This commit is contained in:
Eric Schulte 2009-06-12 15:31:52 -07:00
parent 9623b16914
commit 5675e56585
3 changed files with 24 additions and 7 deletions

View file

@ -43,8 +43,7 @@ called by `org-babel-execute-src-block'."
(result-type (cond ((member "output" result-params) 'output)
((member "value" result-params) 'value)
(t 'value)))
(session (org-babel-R-initiate-session ;; (cdr (assoc :session params))
(get-buffer "*R*")))
(session (org-babel-R-initiate-session (cdr (assoc :session params))))
results)
;; assign variables
(mapc (lambda (pair) (org-babel-R-assign-elisp session (car pair) (cdr pair))) vars)
@ -91,9 +90,11 @@ R process in `org-babel-R-buffer'."
(defun org-babel-R-initiate-session (session)
"If there is not a current R process then create one."
(message "session is %S" session)
(if (org-babel-comint-buffer-livep session)
session
(save-window-excursion (R) (current-buffer))))
(save-window-excursion (R) (rename-buffer (if (bufferp session) (buffer-name session)
(if (stringp session) session (buffer-name)))) (current-buffer))))
(defvar org-babel-R-eoe-indicator "'org_babel_R_eoe'")
(defvar org-babel-R-eoe-output "[1] \"org_babel_R_eoe\"")

View file

@ -37,7 +37,8 @@
(require 'comint)
(defun org-babel-comint-buffer-livep (buffer)
(and (buffer-live-p buffer) (get-buffer buffer) (get-buffer-process buffer)))
(let ((buffer (get-buffer buffer)))
(and buffer (buffer-live-p buffer) (get-buffer-process buffer) buffer)))
(defmacro org-babel-comint-in-buffer (buffer &rest body)
"Check BUFFER with `org-babel-comint-buffer-livep' then execute

View file

@ -115,7 +115,7 @@ and the results to be collected in the same table.
* Tasks [22/38]
** TODO Create objects in top level (global) environment [2/5]
** TODO Create objects in top level (global) environment [3/5]
*sessions*
*** initial requirement statement [DED]
@ -587,7 +587,7 @@ echo $other ' is the old date'
#+resname: task-call-other-shell
: $ Fri Jun 12 13:08:37 PDT 2009 is the old date
*** TODO implement a *session* header argument [3/4]
*** DONE implement a *session* header argument [4/4]
=:session= header argument to override the default *session* buffer
**** DONE ruby
@ -640,7 +640,22 @@ echo $WHAT
#+resname: task-shell-sessions-what
: patton
**** TODO R
**** DONE R
#+srcname: task-R-session
#+begin_src R :session what :results replace
a <- 9
b <- 8
a + b
#+end_src
#+resname: task-R-session
: 17
#+srcname: another-task-R-session
#+begin_src R :session what :results replace
a + b
#+end_src
*** TODO function to bring up inferior-process buffer