Backlin explained on SO that the errors are to be expected: "..." is a
formal argument which was not supplied and "expr" and "x" were actually
being evaluated at the time of get() call.
The bottom line is that I must catch and ignore errors.
The remaining problem is: how do I pass the same arguments down?
e.g.,
--8<---------------cut here---------------start------------->8---
f <- function (... verbose=FALSE ...) { ... }
g <- function (... verbose=FALSE ...) { ... f(... verbose=verbose ...) ... }
--8<---------------cut here---------------end--------------->8---
results in "promise already under evaluation" (and, yes, I do understand
why).
is there anything better than
--8<---------------cut here---------------start------------->8---
f <- function ( ... f.verbose=FALSE ... ) { ... }
g <- function ( ... g.verbose=FALSE ... ) { ... f(... f.verbose=g.verbose ...) ... }
--8<---------------cut here---------------end--------------->8---