"Charles C. Berry" writes: > 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. Done > > === > > 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))))) > Good idea - done. but as far as I understand the help for the function format %S ,---- | %S means print any object as an s-expression (using `prin1'). `---- the second line is redy=undant, as the function format is doing it anyway? I'll leave the second line out and replace it with =value= instead, but please correct meif I am missing something here. Thanks, Rainer > ?? > > 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 -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Stellenbosch University South Africa Tel : +33 - (0)9 53 10 27 44 Cell: +33 - (0)6 85 62 59 98 Fax : +33 - (0)9 58 10 27 44 Fax (D): +49 - (0)3 21 21 25 22 44 email: Rainer@krugs.de Skype: RMkrug PGP: 0x0F52F982