[Rd] symbol name caching bug: attributes get tied to symbol names

luke at stat.uiowa.edu luke at stat.uiowa.edu
Sat Mar 13 01:23:58 CET 2010

Since symbols/names are reference objects this behavior in unavoidable
if we allow attributes to be added to them.  On the other hand, I'm
not sure it makes sense to allow that. Attempting to set an attribute
on NULL signals an error; it would probably make sense to do the same
for any name object.


On Fri, 12 Mar 2010, William Dunlap wrote:

> In R versions 2.10.1 and "2.11.0 Under development
> (unstable) (2010-03-07 r51225)" on Windows I get the
> following if I type the commands at the start of
> the session.  Note how the attribute attached to
> the name "Response" by the initial call to structure()
> seems to get tied to that name for the remainder of
> the session:
>   > z <- structure(quote(Response), isResponse=TRUE)
>   > parse(text="Response~Predictor")[[1]][[2]]
>   Response
>   attr(,"isResponse")
>   [1] TRUE
>   > quote(Response~Predictor)[[2]]
>   Response
>   attr(,"isResponse")
>   [1] TRUE
>   > quote(Response)
>   Response
>   attr(,"isResponse")
>   [1] TRUE
> The attribute actually does go away after quite a
> while, but I haven't figured out the trigger.
> rm(z) followed by gc() does not affect it.
> If I use an unadorned variable called Response before
> making the structure z, then the isResponse attribute
> doesn't seem to stick to the name Response.
> Bill Dunlap
> Spotfire, TIBCO Software
> wdunlap tibco.com
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

Luke Tierney
Chair, Statistics and Actuarial Science
Ralph E. Wareham Professor of Mathematical Sciences
University of Iowa                  Phone:             319-335-3386
Department of Statistics and        Fax:               319-335-3017
    Actuarial Science
241 Schaeffer Hall                  email:      luke at stat.uiowa.edu
Iowa City, IA 52242                 WWW:  http://www.stat.uiowa.edu

More information about the R-devel mailing list