Hmmm... 'assign.to.base( "+.POSIXt", myfun)' works on my system (2.9.1 patched on Windows, at time of writing). Could be the 'mvbutils' version, I guess. What happened when you tried it? And what if you did 'getAnywhere( "+.POSIXt")' afterwards?
I was wrong about where '+.POSIXt' lives, though-- sorry. It is directly in 'baseenv()', not in 'baseenv().__S3MethodsTable__.'. 'assign.to.base' looks in both, and in other packages as well as 'baseenv()'. Mark -- Mark Bravington CSIRO Mathematical & Information Sciences Marine Laboratory Castray Esplanade Hobart 7001 TAS ph (+61) 3 6232 5118 fax (+61) 3 6232 5012 mob (+61) 438 315 623 Hadley Wickham wrote: >> In this particular case, the trick is to assign the new version both >> into the namespace and into the environment '.__S3MethodsTable__.' >> inside the namespace. > > The problem is +.POSIXt doesn't seem to be there: > >> exists("+.POSIXt", asNamespace("base")$.__S3MethodsTable__., >> inherits=F) > [1] FALSE > > >> Speaking as a monkey, I do this kind of thing regularly, and there >> is a function 'assign.to.base' in the 'mvbutils' package that does >> it automatically, e.g. >> >> assign.to.base( '+.POSIXt', my.plus.POSIXt) > > I tried that too, but without any luck. > > Hadley ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel