From bjarni at Update.UU.SE  Tue Dec 11 16:57:44 2007
From: bjarni at Update.UU.SE (Bjarni Juliusson)
Date: Tue, 11 Dec 2007 16:57:44 +0100
Subject: [Rd] Interactiveness
In-Reply-To: <Pine.LNX.4.64.0712111454180.7824@auk.stats>
References: <475EA1FB.8010002@Update.UU.SE>
	<Pine.LNX.4.64.0712111454180.7824@auk.stats>
Message-ID: <475EB378.7030101@Update.UU.SE>

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.

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
-- 

                        INFORMATION WANTS TO BE FREE



[Rd] Interactiveness
Bjarni Juliusson