[Rd] residual '*tmp*' variable after "[<-" error
Parlamis Franklin
fparlamis at mac.com
Wed Sep 20 22:38:50 CEST 2006
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)
More information about the R-devel
mailing list