The traceback looks very similar to a problem in R 2.11.1 reported earlier this month by Troy Robertson. > From: r-devel-boun...@r-project.org > [mailto:r-devel-boun...@r-project.org] On Behalf Of Troy Robertson > Sent: Wednesday, October 06, 2010 6:13 PM > To: 'r-devel@R-project.org' > Subject: Re: [Rd] Recursion error after upgrade to > R_2.11.1[Sec=Unclassified] It was due to a miscount of how many frames to go up before evaluating an expression in getMethod("[[<-",".environment") because setMethod() introduced a local function in the new method.
Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com > -----Original Message----- > From: r-devel-boun...@r-project.org > [mailto:r-devel-boun...@r-project.org] On Behalf Of Vitally S. > Sent: Thursday, October 21, 2010 9:00 AM > To: John Chambers > Cc: r-devel@r-project.org > Subject: Re: [Rd] new.env does not recognize parents from > subclassesof "environment" > > > > Here is an infinite recursion error which occurs only with S4 > subclasses assignment. > > setClass("myenv", contains = "environment") > #[1] "myenv" > env <- new("myenv") > env[[".me"]] <- e...@.xdata > #Error: evaluation nested too deeply: infinite recursion / > options(expressions=)? > > > With basic types it works as expected: > > env1 <- new.env() > env1[[".me"]] <- env1 > > May be this is related to active bindings that you mentioned, > but I am still > reporting it here. > > Vitally. > > > > Thanks for the report. Should now be fixed in r-devel and > 2.12 patched (rev 53383). > > > > Please do report any cases where a subclass of environment > doesn't work. There are some known cases in locking and > > active binding, that will be fixed in due course. > > > > The workaround for any such problem is usually as.environment(). > > > > On 10/20/10 3:17 AM, Vitaly S. wrote: > >> Dear Developers, > >> > >> A lot has been changed in the R12.0 with respect to > behavior of "environment" > >> subclasses. Many thanks for that. > >> > >> One small irregularity, though; new.env does not allow the > parent to be from S4 > >> subclass. > >> > >> > >>> setClass("myenv", contains="environment") > >> [1] "myenv" > >>> new.env(parent=new("myenv")) > >> Error in new.env(parent = new("myenv")) : 'enclos' must be > an environment > >> > >> I wonder if this is a "planed" behavior. > >> > >> The use of .xData slot obviously works: > >>> new.env(parent=new("myenv")@.xData) > >> <environment: 063bb9e8> > >> Thanks, > >> Vitaly. > >> > >> ______________________________________________ > >> R-devel@r-project.org mailing list > >> https://stat.ethz.ch/mailman/listinfo/r-devel> > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel