[Rd] bquote/evalq behavior changed in R-3.2.1
Dayne Filer
dayne.filer at gmail.com
Wed Jul 15 20:49:27 CEST 2015
Hello,
I upgraded from 3.1.2 to 3.2.1 and am receiving errors on code that worked
as I intended previously. Briefly, I am using bquote to generate
expressions to modify data.table objects within a function, so I need the
changes to actually be stored in the given environment. Previously, I used
code like the following:
test <- list(bquote(x <- 10))
fenv <- environment()
rapply(test, evalq, envir = fenv)
Although the code in the example above is much simpler, it shows the
problem. On 3.1.2 the expression is evaluated and x is stored as 10 in the
given environment, fenv. In 3.2.1 the code throws an error:
Error in eval(substitute(expr), envir, enclos) : object 'X' not found
I could not find anything in the release notes that would explain this
change. Changing evalq to eval works in 3.2.1, but eval does not store x in
the given environment in 3.1.2.
Thanks,
Dayne
[[alternative HTML version deleted]]
More information about the R-devel
mailing list