On 07/02/2015 12:40 PM, Henrik Bengtsson wrote: > Would it be possible to have the value of eval() preserve the > "visibility" of the value of the expression? > > > "PROBLEM": > > # Invisible >> x <- 1 > > # Visible >> eval(x <- 2) > [1] 2 > > > "TROUBLESHOOTING": >> withVisible(x <- 1) > $value > [1] 1 > $visible > [1] FALSE > >> withVisible(eval(x <- 2)) > $value > [1] 2 > $visible > [1] TRUE > > > WORKAROUND: > eval2 <- function(expr, envir=parent.frame(), ...) { > res <- eval(withVisible(expr), envir=envir, ...) > value <- res$value > if (res$visible) value else invisible(value) > } > >> x <- 1 >> eval(x <- 2) > [1] 2 >> eval2(x <- 3) >> x > [1] 3
What's wrong with the workaround? Duncan Murdoch ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel