From luke at stat.uiowa.edu  Sat Mar 13 01:23:58 2010
From: luke at stat.uiowa.edu (luke at stat.uiowa.edu)
Date: Fri, 12 Mar 2010 18:23:58 -0600 (CST)
Subject: [Rd] symbol name caching bug: attributes get tied to symbol
 names
In-Reply-To: <77EB52C6DD32BA4D87471DCD70C8D70002A0F980@NA-PA-VBE03.na.tibco.com>
References: <77EB52C6DD32BA4D87471DCD70C8D70002A0F980@NA-PA-VBE03.na.tibco.com>
Message-ID: <alpine.DEB.1.00.1003121820510.7565@luke-inspiron>

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.

luke

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



[Rd] symbol name caching bug: attributes get tied to symbol names
luke at stat.uiowa.edu