Vadim Ogranovich
2004-May-11 21:29 UTC
[R] recover should send messages to stderr, not stdout
Hi, recover() sends all its messages, which I consider to be error messages, to stdout. I think they more properly belong to stderr. This is an important difference for those of us who use R in batch mode to generate ASCII files. Thanks, Vadim [[alternative HTML version deleted]]
Prof Brian Ripley
2004-May-12 06:21 UTC
[R] recover should send messages to stderr, not stdout
recover() is a pure R function, so you can very easily edit it to meet your requirements. You could also submit a patched version for consideration after testing. Note that some of us consider recover() to be designed for interactive-only use, and use something like options(error=expression(if(interactive()) recover() else dump.calls())) On Tue, 11 May 2004, Vadim Ogranovich wrote:> recover() sends all its messages, which I consider to be error messages, > to stdout. I think they more properly belong to stderr. > > This is an important difference for those of us who use R in batch mode > to generate ASCII files.Only to the subset who believe that recover() is a useful error option in non-interactive use. -- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
Vadim Ogranovich
2004-May-12 18:59 UTC
[R] recover should send messages to stderr, not stdout
> -----Original Message----- > From: Prof Brian Ripley [mailto:ripley at stats.ox.ac.uk] > Sent: Tuesday, May 11, 2004 11:21 PM > To: Vadim Ogranovich > Cc: R-Help > Subject: Re: [R] recover should send messages to stderr, not stdout >...> > Note that some of us consider recover() to be designed for > interactive-only use, and use something likeUnfortunately, R help doesn't reflect the apparent diversity of opinions. Regarding recover it says The use of 'recover' largely supersedes 'dump.frames' as an error option, unless you really want to wait to look at the error. If 'recover' is called in non-interactive mode, it behaves like 'dump.frames'. <...>> options(error=expression(if(interactive()) recover() else > dump.calls()))This is useful. Thank you very much for the tip!> On Tue, 11 May 2004, Vadim Ogranovich wrote: > > > recover() sends all its messages, which I consider to be error > > messages, to stdout. I think they more properly belong to stderr. > > > > This is an important difference for those of us who use R in batch > > mode to generate ASCII files. > > Only to the subset who believe that recover() is a useful > error option in > non-interactive use.This subset is likely to include everyone who carefully reads the documentation, see the above excerpt from a help page. Thanks, Vadim