Interactiveness
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