[Rd] Interactiveness
Tony Plate
tplate at acm.org
Tue Dec 11 19:18:48 CET 2007
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
>
More information about the R-devel
mailing list