[ESS] edit.vignette

Rodney Sparapani rsparapa at mcw.edu
Thu Nov 6 21:03:17 CET 2008


Erik Iverson wrote:
> Hello all -
> 
> I am using ESS, version 5.3.8, latest R.  I want to "edit" a vignette, 
> i.e., see the R code associated with the vignette, and be able to send 
> that code to my *R* buffer.
> 
> Example:
> 
> library(grid)
> edit(vignette("grid"))
> 
> As my editor is emacsclient, this brings up the correct .R file in a 
> buffer, and my *R* buffer shows "Waiting for Emacs".  Per a thread on 
> this list, found at 
> https://stat.ethz.ch/pipermail/ess-bugs/2006q2/000292.html
> 
> "edit(vignette(...)) works fine for me, the only thing that may be hard
> to find out for users is that you have to press C-c C-c in the R
> buffer to get back to the prompt (by default R waits for the file to
> be closed), but once you have done that you can edit the vignette
> code, send it line by line to R etc."
> 
> This sounds exactly like what I want.  The problem is, I switch over to 
> the *R* buffer, do C-c C-c, and the buffer with the vignette with R code 
> in is killed!  So I'm not able to replicate the behavior of the 
> preceding paragraph.
> 
> Can anyone get that to work using the above process?
> 
> I did get what I want working by defining a function myemacs, as
> 
> myemacs <- function(file = "" , title = "") {
>   system(paste(getOption("editor"), "-n", file))
> }
> 
> 
> and then calling edit.vignette like this:
> 
> edit(vignette("grid"), editor = myemacs)
> 
> This works because edit.vignette calls file.edit, which accepts a 
> function name for the "editor" argument, but this solution relies on 
> internal, undocumented behavior.
> 
> The key is the "-n" argument to emacsclient, which doesn't wait for the 
> emacs server to return, thus the .R file is open, and the *R* buffer is 
> waiting for input.
> 
> Thanks,
> Erik Iverson
> 

Hi Erik:

It works here with XEmacs and gnuclient.  The only differences are that 
I have to press C-g after edit..., otherwise, I never see the vignette 
buffer.

Also, when I am evaluating, the commands never seem to be echoed in
the *R* buffer.  That is different from what I see with GNU Emacs.
Oh well, you get the point.


-- 
Rodney Sparapani      Center for Patient Care & Outcomes Research (PCOR)
Sr. Biostatistician              http://www.mcw.edu/pcor
4 wheels good, 2 wheels better!  Medical College of Wisconsin (MCW)
WWLD?:  What Would Lombardi Do?  Milwaukee, WI, USA




More information about the ESS-help mailing list