silent option for library function
Wed, 30 Oct 2002 16:09:31 +0000 (GMT)

On Wed, 30 Oct 2002, Vincent J. Carey, Jr. wrote:

> would it be possible to add an option to library that
> prevents messages except when there are errors?  as
> we build Sweave documents illustrating package functionalities
> it is sometimes desirable to attach a package "behind
> the scenes".  packages that have messages emitted
> in .First.lib (often describing version or developer)
> frustrate this particular desire.  verbose=FALSE
> does not accomplish this.
> note that i have no objection to messages produced by
> default use of library.  i just want the ability to
> suppress them when there are no errors.  currently
> it is possible to do
> sink(file="/dev/null")
> library([e.g. affy])
> sink()
> but that may suppress too much -- an error message may be
> lost.

Don't think so.  From help(sink):

     Normal R output is diverted by the default `type = "output"'. Only
     prompts and warning/error messages continue to appear on the
     terminal. These too can diverted by `type = "message"' (see

and for example

> sink(file="/dev/null")
> library(foo)
Error in firstlib(which.lib.loc, package) :
Error in library(foo) : .First.lib failed
> sink()

So how are you losing error messages?

BTW, there is no way for library() to control what a user does in his
.First.lib: he could put up a dialog box agreeing the usage terms.
Actually, that seems a rather good idea ....

Brian D. Ripley,        
Professor of Applied Statistics,
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272860 (secr)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

r-devel mailing list -- Read
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: