[Rd] Inappropriate class(o)[!inherits(o,"AsIs")] in get_all_vars

suh@rto_@@ggo@o m@iii@g oii y@hoo@com suh@rto_@@ggo@o m@iii@g oii y@hoo@com
Sun Nov 17 11:34:31 CET 2019


SVN revision 77401 changes
        x[isM] <- lapply(x[isM], function(o) `class<-`(o, class(o)[class(o) != "AsIs"]))
to
        x[isM] <- lapply(x[isM], function(o) `class<-`(o, class(o)[!inherits(o,"AsIs")]))
in function 'get_all_vars' in src/library/stats/R/models.R in R devel.

The change is inappropriate.

class(o)[class(o) != "AsIs"] removes "AsIs" from class(o), giving class(o) without "AsIs".

On the other hand, inherits(o,"AsIs") is just a single logical value. If "AsIs" is in class(o), inherits(o,"AsIs") is TRUE. In that case, by recycling of logical index, class(o)[!inherits(o,"AsIs")] removes all elements of class(o), giving character(0).



More information about the R-devel mailing list