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@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:      l...@stat.uiowa.edu
Iowa City, IA 52242                 WWW:  http://www.stat.uiowa.edu

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to