[Rd] warning from install.packages()
Martin Maechler
maechler at stat.math.ethz.ch
Thu Jun 3 16:59:01 CEST 2010
>>>>> "VG" == Vincent Goulet <Vincent.Goulet at act.ulaval.ca>
>>>>> on Thu, 3 Jun 2010 10:24:21 -0400 writes:
VG> Le jeu. 3 juin à 09:27, Ben Bolker a écrit :
>> Martin Maechler wrote:
>>>>>>>> "BB" == Ben Bolker <bolker at 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
VG> I wholeheartedly support the change discussed here since it is also something that has been worrying my students for some time.
VG> However, I think saying "argument 'lib' not specified: using '%s'" would be even less alarming. "... is missing" sort of implies the user forgot something.
Yes, thank you Vincent,
I meant some such change when I said
>>> The *wording* of that note should not be alarming at all, I
>>> agree, just a note to the user.
I'd even change it further, to something like
"Installing package into '%s' (as 'lib' is not specified)"
Martin
VG> Dr. Vincent Goulet
VG> Full Professor
VG> École d'actuariat, Université Laval, Québec
VG> vincent.goulet at act.ulaval.ca http://vgoulet.act.ulaval.ca
>>
>>
>> --
>> Ben Bolker
>> Associate professor, Biology Dep't, Univ. of Florida
>> *** NEW E-MAIL ADDRESSES:
>> *** bbolker at gmail.com , bolker at math.mcmaster.ca
>> bolker at ufl.edu / people.biology.ufl.edu/bolker
>> GPG key: people.biology.ufl.edu/bolker/benbolker-publickey.asc
>>
>> <signature.asc><ATT00001..txt>
More information about the R-devel
mailing list