From dayne.filer at gmail.com  Wed Jul 15 20:49:27 2015
From: dayne.filer at gmail.com (Dayne Filer)
Date: Wed, 15 Jul 2015 14:49:27 -0400
Subject: [Rd] bquote/evalq behavior changed in R-3.2.1
Message-ID: <CADT-iToV4pMjoeyNpXRPX_jJNdaD7oqAPr24o+-RfrMv2q+zHw@mail.gmail.com>

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]]



[Rd] bquote/evalq behavior changed in R-3.2.1
Dayne Filer