Le jeu. 3 juin à 09:27, Ben Bolker a écrit : > Martin Maechler wrote: >>>>>>> "BB" == Ben Bolker <bol...@ufl.edu> >>>>>>> on Wed, 02 Jun 2010 13:45:18 -0400 writes: >> >> BB> Michael Dewey wrote: >>>> At 13:40 01/06/2010, Ben Bolker wrote: >>>> >>>>>> On 25/05/10 23:25 PM, "Ben Bolker" <bolker <at> ufl.edu> wrote: >>>>>> Just curious: is there a particular reason why install.packages() >>>>>> gives a warning in normal use when 'lib' is not specified (e.g. argument >>>>>> 'lib' is missing: using '/usr/local/lib/R/site-library' )? >>>> >>>> As I see it R is saying 'I am doing what you told >>>> me, but just in case I am checking whether that >>>> was what you really wanted'. Note that you do not >>>> get a warning if there was only one place R could >>>> put it. I would certainly vote for a message if >>>> people are getting unnecessarily alarmed by the warning. >> >> BB> But this seems so different from R's general philosophy/behavior >> BB> (inherited from Unix?) that a function that gets correct input and >> BB> executes without error returns silently ... >> >> That's correct. >> Note however that installing a package is not just a thing >> happening in your R session. >> It will affect all your future R sessions, and possibly even >> other users' who have the same .libPaths()[1] >> {e.g. the group here does share it}. >> >> I'd agree to not put a warning but I'd definitely want a message >> aka "note" to the user. >> The *wording* of that note should not be alarming at all, I >> agree, just a note to the user. >> >> Martin Maechler, ETH Zurich > > OK, then, how about this as a minimal change? > > =================================================================== > --- packages.R (revision 52192) > +++ packages.R (working copy) > @@ -534,8 +534,8 @@ > > if(missing(lib) || is.null(lib)) { > lib <- .libPaths()[1L] > - warning(gettextf("argument 'lib' is missing: using %s", lib), > - immediate. = TRUE, domain = NA) > + message(gettextf("argument 'lib' is missing: using %s", lib), > + domain = NA) > } > > paths <- .find.package(pkgs, lib) > Index: packages2.R > =================================================================== > --- packages2.R (revision 52192) > +++ packages2.R (working copy) > @@ -193,8 +193,8 @@ > if(missing(lib) || is.null(lib)) { > lib <- .libPaths()[1L] > if(length(.libPaths()) > 1L) > - warning(gettextf("argument 'lib' is missing: using '%s'", lib), > - immediate. = TRUE, domain = NA) > + message(gettextf("argument 'lib' is missing: using '%s'", lib), > + domain = NA) > } > > ## check for writability by user
I wholeheartedly support the change discussed here since it is also something that has been worrying my students for some time. However, I think saying "argument 'lib' not specified: using '%s'" would be even less alarming. "... is missing" sort of implies the user forgot something. My 0.02 $ Dr. Vincent Goulet Full Professor École d'actuariat, Université Laval, Québec vincent.gou...@act.ulaval.ca http://vgoulet.act.ulaval.ca > > > -- > Ben Bolker > Associate professor, Biology Dep't, Univ. of Florida > *** NEW E-MAIL ADDRESSES: > *** bbol...@gmail.com , bol...@math.mcmaster.ca > bol...@ufl.edu / people.biology.ufl.edu/bolker > GPG key: people.biology.ufl.edu/bolker/benbolker-publickey.asc > > <signature.asc><ATT00001..txt> ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel