[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] BUG: emacs orgmode ob-R.el function org-babel-R-evaluate-session
From: |
Cook, Malcolm |
Subject: |
Re: [O] BUG: emacs orgmode ob-R.el function org-babel-R-evaluate-session over aggressively performs "; ; cleanup extra prompts left in output" and a possible workaround |
Date: |
Mon, 9 Nov 2015 22:11:21 +0000 |
> [...]
> > > >
> > > [...]
> > > >
> > > > I've wondered if there is not a better way for Babel to share an
> > > > interactive session with the user. For instance, if we wanted to
> > > > support a new form of results processing on addition to value and
> > > > output.... Namely, "transcript", wherein the results of evaluating a
> > > > source block would be a transcript of the season with statements
> > > > interwoven with their respective outputs.... I suspect that this would
> > > > not be easy extension of the current approach since it would require
> > > > parsing the source into statements that get evaluated sequentially with
> > > > visible results echoed into the transcript.
> > >
> > > You can do stuff like this using babel and some R code.
> > >
> > > Here is a start:
> > >
>
> [snip]
>
> > Sourcing a textConnection on a :noweb interpolated block will not
> > handle embedded quotes in the source block correctly. Adding an
> > assignment of a string to a variable in my-block reveals this
> > (i.e. `b<-"asdf"`)
>
> I know. That is why I said it is a 'start'. You can work around this
> with more Babel if that is the only issue. Write a src block `good-fmt'
> that will render the body of another block as you want it and then use
> <<good-fmt("R-src-blk-with-quotes")>> to insert it.
>
>
> > Nor does it extend to my underspecified conception of what
> > :transcript output would be. I intended that :transcript would
> > generate a colorized source blocks separated by results for
> > statements which generated visible results. You implementation makes
> > the source and results undifferentiated. My mistake for
> > underspecifying my intention. I think I might be able to cobble what
> > I want using the 'evaluate' package
> > (https://cran.rstudio.com/web/packages/evaluate/evaluate.pdf) with an
> > output handler to format source as an R code block and results as R
> > results block.
>
> See Aaron Ecay's patches from around 08/2014. And discussions on this
> list from about that time. He had some of this working, but there
> were some issues about handling remote calls, IIRC.
>
> > Probably not worth the effort. Or rather, probably
> > already done within the knitr/rmarkdown.
>
> By default knitr interlaces the code and output in a frame with
> the output lines prefixed by '##'. The code is highlighted by default.
>
> In *.Rnw this leads to a single block with a background color and
> colorized code.
>
> In *.Rhtml you get source code blocks colored per <div class="source">
> and results blocks uncolored per <div class="output">.
>
> Using *.org via ox-ravel --> *.Rhtml via knitr --> *.html will get you
> that far.
>
Indeed it does. I have previously used ox-ravel to superb effect allowing me
to compose R lessons as *.org and distribute as *.Rmd for use within RStudio
server. I must remember to remember this option!
> Maybe customizing the classes to your taste will finish it.
>
> Best,
>
> Chuck
>
> p.s. If you go with ox-ravel, I recommend the ravel-lang branch:
> https://github.com/chasberry/orgmode-accessories/tree/ravel-lang