[Rd] function remains loaded in the search space after detaching the package

Joris Meys jorismeys at gmail.com
Fri Feb 24 11:24:35 CET 2012


I ran into some very irritating behaviour I don't understand.  Let me
illustrate with the package gdata() and the function
print.object_size() :

> print(object.size(iris),units='Kb')
6.3 Kb
> getAnywhere(print.object_size)
A single object matching ‘print.object_size’ was found
It was found in the following places
  registered S3 method for print from namespace utils
  namespace:utils
with value
...

All is well. So now I load gdata

> require(gdata)
Loading required package: gdata
...
The following object(s) are masked from ‘package:utils’:

    object.size

OK, this is what I would expect:

> print(object.size(iris),units='Kb')
[1] 6424
> getAnywhere(print.object_size)
2 differing objects matching ‘print.object_size’ were found
in the following places
  registered S3 method for print from namespace utils
  namespace:gdata
  namespace:utils
Use [] to view one of them

Now I detach gdata again

> detach(package:gdata)

But the function print.object_size is still the default for object_size objects!

> print(object.size(iris),units='Kb')
[1] 6424

And it can still be found as well:

> getAnywhere(print.object_size)
2 differing objects matching ‘print.object_size’ were found
in the following places
  registered S3 method for print from namespace utils
  namespace:gdata
  namespace:utils
Use [] to view one of them

Am I missing something?

Cheers
Joris

-- 
Joris Meys
Statistical consultant

Ghent University
Faculty of Bioscience Engineering
Department of Mathematical Modelling, Statistics and Bio-Informatics

tel : +32 9 264 59 87
Joris.Meys at Ugent.be
-------------------------------
Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php



More information about the R-devel mailing list