In R 3.4.0 devel, the call frames appear incorrect during invocations of the evalq function. In particular, the call frame following "evalq" appears to just be a copy of the call frame in which evalq was originally invoked.
For instance, here's what sys.calls() shows in R 3.4.0:
In prior releases of R, the callstack showed the call from evalq to eval. Here is output from R 3.3.2:
eval(substitute(expr), envir, enclos)
It might also be worth noting that other functions which act on the callstack appear to work as expected. For instance, it's clear that the second function on the stack is eval, not evalq, using sys.function():
Called from: evalq(browser())
function (expr, envir = parent.frame(), enclos = if (is.list(envir) ||
is.pairlist(envir)) parent.frame() else baseenv())
.Internal(eval(substitute(expr), envir, enclos))
system x86_64, darwin15.6.0
status Under development (unstable)
svn rev 72380
version.string R Under development (unstable) (2017-03-21 r72380)
nickname Unsuffered Consequences
Thanks for the report. This difference is a byproduct of intentional changes in the call expressions. Note that we had
Error in eval(substitute(expr), envir, enclos) :
argument is missing, with no default
but now we have
Error in evalq() : argument is missing, with no default
which seems clearer and more useful. In the sys.calls output, the change is probably a bit confusing, instead. I'll try to handle this as part of other fixes in call expressions that will be necessary in the future.
Is this the reason why -- for me -- RStudio completely stops working with
R 3.4.0 beta and R-devel ?
(i.e., the main window comes up, including the text menu entries, but it does not even start the "spinning wheel" and the window remains blank (apart from the top menu entries).
This bug does break some aspects of RStudio's debugger, but it doesn't cause the behavior you describe. There are a number of known issues with R 3.4.0 and RStudio; the behavior you're describing doesn't sound like something we've fixed (but could be related to the new graphics device version).
We will be releasing a patch build in the next couple of weeks which addresses the R 3.4.0 compatibility issues. If you'd like to try a pre-release build, you can pick one up from here:
Make sure to select your platform and then choose a 1.0.x build as the 1.1.x builds aren't from the stable branch.
If the pre-release build still doesn't boot for you, send me an e-mail (firstname.lastname@example.org) with your platform info and we'll take a look.