[Rd] Interactiveness

Gregory Warnes gregory.warnes at mac.com
Tue Dec 11 23:47:15 CET 2007


You might also find many of the tools provided in the 'session'  
package helpful for interacting with R in this way.

'session' package description:

Utility functions for interacting with R processes from external  
programs. This package includes functions to save and restore session  
information (including loaded packages, and attached data objects),  
as well as functions to evaluate strings containing R commands and  
return the printed results or an execution transcript.

-Greg


On Dec 11, 2007, at 1:18PM , Tony Plate wrote:

> Bjarni Juliusson wrote:
>> Prof Brian Ripley wrote:
>>
>>> On Tue, 11 Dec 2007, Bjarni Juliusson wrote:
>>>
>>>> I'm developing R integration for a project called Bioclipse at  
>>>> Uppsala
>>>> University. The current implementation works by simply forking  
>>>> an R and
>>>> sending it text (with some substitutions on it) down a pipe,  
>>>> getting the
>>>> printed output back up another pipe. This of course works fine,  
>>>> except
>>>> it runs into one problem: R finds a pipe on its stdin and  
>>>> decides to be
>>>> "non-interactive", which means that as soon as the user makes a  
>>>> typo and
>>>> causes an error, R exits.
>>>>
>>> Actually, not so.  The default error handler for non-interactive  
>>> use is
>>> to do that, but you can change it.
>>>
>>
>> Could you perhaps just point me in the right direction here? I really
>> have no idea how to do this.
>>
> Specify a non-NULL error handler by doing something like this:
>> options(error=dump.frames)
> See ?options (look for "error") and ?stop for more details.
>
> -- Tony Plate
>
>> Also, what exactly does non-interactive mode imply, besides this  
>> default
>> error handling behaviour?
>>
>>
>>>> I checked the source, and it's a couple of isatty()'s in the two  
>>>> files
>>>> named system.c that are doing it. They are of course intended to  
>>>> be a
>>>> feature, but in this case it causes us trouble. Would it be  
>>>> possible to
>>>> get a command line switch to control this behaviour? I'm not  
>>>> sure pseudo
>>>> terminals can be used portably, or can they?
>>>>
>>> They can, and are e.g. by ESS (except on Windows, where there is  
>>> already
>>> a switch).  I think you need to look a bit more carefully at what  
>>> other
>>> projects do.
>>>
>>
>> It needs to be portable to Windows. I'll look into this  
>> possibility next.
>>
>> Didn't mean to ask before I had done my homework. Thanks for your  
>> help!
>>
>>
>> Bjarni
>>
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list