On Fri, 20 Jun 2014, Rainer M Krug wrote:
Attached please find =the reworked patch.
1) uses local() and closes connection
2) does not leave a variable cal;led file behind
Seems to work on a few test cases.
I'd move the strings to defconsts.
Putting a newline before each `%S' will outdent the first line of
:var value when it is echoed in the session log so it will be easier to
view.
===
With Eric's input on this:
Would you also change this at the end of org-babel-R-assign-elisp:
res})" name file header row-names max))))
- (format "%s <- %s" name (org-babel-R-quote-tsv-field value))))
+ (format "%s <- %S" name
+ (if (stringp value) value (prin1-to-string value)))))
??
I think this is innocuous for plain strings with no internal quotes, but
allows almost anything to be passed to R as a string.
So
:var x=[1 2 3 "4" 5]
will be passed to R as x <- "[1 2 3 \"4\" 5]"
instead of x <- "[1 2 3 "4" 5] which throws an error.
And this just works:
#+NAME: latex-capt
#+BEGIN_SRC latex
\begin{math}
y = X\beta,
\mbox{where } \beta = %beta%
\end{math}
#+END_SRC
#+BEGIN_SRC R :var ytxt=latex-capt :results raw :wrap latex
beta <- 1.234
sub("%beta%",beta,ytxt)
#+END_SRC
HTH,
Chuck