Here is the same issue with closures: g <- function(n) { missing(n) } f <- function(n, force) { if (force) { tryCatch(n, error = function(...) NULL) } g(n) }
g(`_x`) #> [1] FALSE f(`_x`, force = FALSE) #> [1] FALSE f(`_x`, force = TRUE) #> [1] TRUE Lionel > On 18 sept. 2017, at 19:06, Homer White <homerhanu...@gmail.com> wrote: > > Greetings, > > The following is based on a question I raised on Stackoverflow: > > https://stackoverflow.com/questions/46280120/calling-printls-str-in-function-affect-behavior-of-rep/46283979#46283979 > > Start a new R session with an empty Global Env. Then define: > > f <- function(n) { > print(ls.str()) > rep("hello", times = n) > } > > Now run: > > f(x) > > Instead of getting the expected "object 'x' not found" error, you get: > > n : <missing>[1] "hello" > > It was suggested that I file the issue here as a possible bug. > > > Regards, > > Homer > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel