From kevinushey at gmail.com  Sun Sep 21 19:06:13 2014
From: kevinushey at gmail.com (Kevin Ushey)
Date: Sun, 21 Sep 2014 10:06:13 -0700
Subject: [Rd] Bug in new behaviour for all.equal and environments?
Message-ID: <CAJXgQP0pTjOPsuEYLw+iLSi60cwGFT0cvFVSnNgwOVGTf8Eaag@mail.gmail.com>

Hi R-devel,

The following code:

    all.equal(baseenv(), baseenv())

gives the error when run in a clean R session with latest R-devel (r66650):

    kevin:~$ R --vanilla --slave -e "all.equal(baseenv(), baseenv())"
    Error in all.equal.envRefClass(target[[i]], current[[i]],
check.attributes = check.attributes,  :
      attempt to apply non-function
    Calls: all.equal ... all.equal.list -> all.equal -> all.equal.envRefClass
    Execution halted

Although I don't know if it's helpful -- it appears that packages that
include some S4 machinery will effect the outcome of this error, e.g.
if we load 'Biobase' first:

    kevin:~$ R --vanilla --slave -e
"suppressPackageStartupMessages(library(Biobase));
all.equal(baseenv(), baseenv())"
    Error in target$getClass() : object '.refClassDef' not found
    Calls: all.equal ... all.equal.list -> all.equal ->
all.equal.envRefClass -> <Anonymous>
    Execution halted

We were bumping into an error with this in Rcpp -- we used all.equal
(through RUnit) to confirm that baseenv(), and a function returning
the base environment, would return TRUE.

For completeness:

    kevin:~$ R --vanilla --slave -e "sessionInfo()"
    R Under development (unstable) (2014-09-20 r66650)
    Platform: x86_64-apple-darwin13.3.0 (64-bit)

    locale:
    [1] en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8

    attached base packages:
    [1] stats     graphics  grDevices utils     datasets  methods   base

Thanks,
Kevin



[Rd] Bug in new behaviour for all.equal and environments?
Kevin Ushey