[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