self-sanity check prior to filing a bug report: attempted replacement that generates an error leaves a '*tmp*' variable in the global environment.
test <- 1:10 test[2:4] <- expression(e) ls() i've read section 3.4.4 of the "R Language Definition" which discusses the mechanism for replacement, and it is not clear to me whether this was intended, but i suspect not (to be honest, it's not clear to me why the process as described doesn't generate an infinite recursion -- perhaps the primitive treats the argument named '*tmp*' different than other arguments). i've also searched the R site, and can't find this particular issue discussed. even though, as below, i am using 2.4.0 alpha, this happens as well in 2.3.1. from my standpoint, desirable behavior would be: (i) if an error occurs, remove the '*tmp*' variable (ii) report the error as occurring in the original replacement call (rather than the '*tmp*' replacement, which may be confusing to those who haven't read the "R Language Definition") franklin parlamis > version _ platform powerpc-apple-darwin8.7.0 arch powerpc os darwin8.7.0 system powerpc, darwin8.7.0 status alpha major 2 minor 4.0 year 2006 month 09 day 06 svn rev 39158 language R version.string R version 2.4.0 alpha (2006-09-06 r39158) ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel