R know how to prep and pop-to sessions

This commit is contained in:
Eric Schulte 2009-06-14 11:48:11 -07:00
parent f2444e39e9
commit 88048186ac
2 changed files with 15 additions and 4 deletions

View File

@ -63,6 +63,14 @@ called by `org-babel-execute-src-block'."
(list (list results))
results))))
(defun org-babel-prep-session:R (session params)
"Prepare SESSION according to the header arguments specified in PARAMS."
(let* ((session (org-babel-R-initiate-session session))
(vars (org-babel-ref-variables params)))
(mapc (lambda (pair) (org-babel-R-assign-elisp session (car pair) (cdr pair))) vars)))
;; helper functions
(defun org-babel-R-quote-tsv-field (s)
"Quote field S for export to R."
(if (stringp s)
@ -86,8 +94,6 @@ R process in `org-babel-R-buffer'."
name transition-file))
(format "%s <- %s" name (org-babel-R-quote-tsv-field value)))))
;; functions for comint evaluation
(defun org-babel-R-initiate-session (session)
"If there is not a current R process then create one."
(setq session (or session "*R*"))

View File

@ -664,7 +664,7 @@ a + b
a + b
#+end_src
*** TODO function to bring up inferior-process buffer [2/4]
*** TODO function to bring up inferior-process buffer [3/4]
This should be callable from inside of a source-code block in an
org-mode buffer. It should evaluate the header arguments, then bring
@ -686,8 +686,13 @@ num.times{|n| puts another}
#+begin_src python :var num=9 :var another="something else"
another * num
#+end_src
**** DONE R
#+srcname: task-R-pop-to-session
#+begin_src R :var a=9 :var b=8
a * b
#+end_src
**** TODO R
**** TODO shell
*** TODO function to dump last N lines from inf-proc buffer into the current source block