R-alpha: "invisible" (yet again): a more problematic bug[let]
maechler@stat.math.ethz.ch wrote:
Try this (all versions of R from 0.49 to 0.60): test0 <- function() c(1,2) test <- function(two = FALSE) c(1, if(two) 2) testR <- function(two = FALSE) return(c(1, if(two) 2)) test0()# 1 2 as it should test() # <<<<<<<<<<<<<<<<<<<<<< INVISIBLE! @#$@! test(T)# 1 2 print(test()) print(test(T)) testR() # ok; NOT invisible... testR(T)# 1 2
The problem seems to be in do_if (eval.c) where the R_Visible flag is set to 0. Set it to 1 instead and your functions will work properly. You also get R>if(F) 2 NULL instead of R>if(F) 2 R> which is consistent with S-PLUS. Martyn =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=