Re: [Rd] identical() fails to compare isS4(<S4 instance>) to TRUE

From: Duncan Murdoch <murdoch.duncan_at_gmail.com>
Date: Thu, 04 Oct 2012 19:05:37 -0400

On 12-10-04 5:50 PM, Martin Morgan wrote:

> On 10/04/2012 02:23 PM, Duncan Murdoch wrote:

>> On 12-10-04 4:57 PM, Martin Morgan wrote:
>>>
>>> > setClass("A", "integer")
>>> > isS4(new("A"))
>>> [1] TRUE
>>> > identical(isS4(new("A")), TRUE)
>>> [1] FALSE
>>>
>>> > sessionInfo()
>>> R Under development (unstable) (2012-10-04 r60876)
>>> Platform: x86_64-unknown-linux-gnu (64-bit)
>>>
>>> locale:
>>> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
>>> [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
>>> [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
>>> [7] LC_PAPER=C LC_NAME=C
>>> [9] LC_ADDRESS=C LC_TELEPHONE=C
>>> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>>>
>>> attached base packages:
>>> [1] stats graphics grDevices utils datasets methods base
>>>
>>
>> I can confirm this in R-devel, but it doesn't happen in R-patched. In R-devel,

>> isS4 is returning a vector marked as LGLSXP, but containing the value 16, not

>> the usual 1 for TRUE.
>>
>> > .Internal(inspect(isS4(new("A"))))
>> @4bfbed8 10 LGLSXP g0c1 [] (len=1, tl=0) 16
>>
>> I'm not going to have time to track this down and fix it.
>
> The bit is set at src/include/Rinternals.h:278
>
>    39103        jmc #define IS_S4_OBJECT(x) ((x)->sxpinfo.gp & S4_OBJECT_MASK)
>
> but it's identical that has changed; it looks as though there are other similar
> operations in that header and probably elsewhere.

In R-patched, it returned the value 1 for TRUE, so I'm not sure identical() has changed.

Duncan Murdoch

>
> Martin
>

>>
>> Duncan Murdoch

>
>

R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Thu 04 Oct 2012 - 23:09:52 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 05 Oct 2012 - 01:40:45 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive