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@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel