update() can not find objects (PR#1861)

yzhou@arcturusag.com yzhou@arcturusag.com
Thu, 1 Aug 2002 19:02:01 +0200 (MET DST)


Full_Name: Yi-Xiong Zhou
Version: 1.5.1
OS: win2000pro
Submission from: (NULL) (64.169.249.42)


Update() can not find objects when it is used in a function, which is in turn
being called by another function. Here is a R script to show the problem:

######## begin of the test script ##########
fun1 <- function() {
   x <- matrix(rnorm(500), 20,25)
   y <- rnorm(20)
   oo <- lm(y~x)
   print("step 1")
   update(oo)
   print("first update success.")
   fun2(oo)
}

fun2 <- function(gg) {
   update(gg)
   print("second update success.")
}

fun1()
########### end of the test script #############

Here is the result of running this script:

[1] "step 1"
[1] "first update success."
Error in eval(expr, envir, enclos) : Object "y" not found

Ideally, update should first search the objects in its environment first, then
its parent's, and grand parent's environments ... Right now, it only searchs its
own environment and the global environment, skipping its parents'. 


-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
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
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._