-----Original Message-----
From: r-devel-bounces at r-project.org
[mailto:r-devel-bounces at r-project.org] On Behalf Of Vitally S.
Sent: Thursday, October 21, 2010 9:00 AM
To: John Chambers
Cc: r-devel at 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"]] <- env at .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
setClass("myenv", contains="environment")
new.env(parent=new("myenv"))
Error in new.env(parent = new("myenv")) : 'enclos' must be
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.