From f77e982e17909f2098974356c304bd29db04da79 Mon Sep 17 00:00:00 2001 From: "Rainer M. Krug" Date: Thu, 19 Jun 2014 22:03:46 +0200 Subject: [PATCH] lisp/ob-R.el: Fix tangling with tables * lisp/ob-R.el (org-babel-R-assign-elisp): Fix variable transfer of tables by using text connections in R instead of files. Variable transfer of tables does not depend on files anymore, i.e. works also when tangling. --- lisp/ob-R.el | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/lisp/ob-R.el b/lisp/ob-R.el index a3ae1ec..88f65f3 100644 --- a/lisp/ob-R.el +++ b/lisp/ob-R.el @@ -190,25 +190,20 @@ This function is called by `org-babel-execute-src-block'." (if (listp value) (let* ((lengths (mapcar 'length (org-remove-if-not 'sequencep value))) (max (if lengths (apply 'max lengths) 0)) - (min (if lengths (apply 'min lengths) 0)) - (transition-file (org-babel-temp-file "R-import-"))) + (min (if lengths (apply 'min lengths) 0))) ;; Ensure VALUE has an orgtbl structure (depth of at least 2). (unless (listp (car value)) (setq value (list value))) - (with-temp-file transition-file - (insert - (orgtbl-to-tsv value '(:fmt org-babel-R-quote-tsv-field)) - "\n")) - (let ((file (org-babel-process-file-name transition-file 'noquote)) + (let ((file (orgtbl-to-tsv value '(:fmt org-babel-R-quote-tsv-field))) (header (if (or (eq (nth 1 value) 'hline) colnames-p) "TRUE" "FALSE")) (row-names (if rownames-p "1" "NULL"))) (if (= max min) - (format "%s <- read.table(\"%s\", + (format "%s <- read.table(textConnection('%s'), header=%s, row.names=%s, sep=\"\\t\", as.is=TRUE)" name file header row-names) - (format "%s <- read.table(\"%s\", + (format "%s <- read.table(textConnection('%s'), header=%s, row.names=%s, sep=\"\\t\", -- 2.0.0