I ran into a problem recently trying to update a package which uses S4 methods using a recent beta of R. I think I can reproduce it with a simple example. I have package called `testpkg' in directory testpkg/.
In the R/ subdirectory of testpkg/ I have a file called testpkg.R which contains the following two lines:


setClass("testpkg", representation(pts = "list"))
setAs("testpkg", "numeric", function(from, to) as.numeric(unlist(from)))

Then, in the main testpkg/ directory I have an empty `install.R' file and a dummy DESCRIPTION file (as well as an empty man/ subdirectory).

When I run `R CMD INSTALL testpkg' I get the following output:

marla:> R CMD INSTALL testpkg
* Installing *source* package 'testpkg' ...
** R
** save image
[1] "testpkg"
Loading required package: testpkg
Loading required package: testpkg
Loading required package: testpkg
Loading required package: testpkg
Loading required package: testpkg
Loading required package: testpkg
Loading required package: testpkg
Loading required package: testpkg
Loading required package: testpkg
Loading required package: testpkg
Loading required package: testpkg
Error during wrapup: evaluation is nested too deeply: infinite recursion?
Loading required package: testpkg
Error in options(x) : evaluation is nested too deeply: infinite recursion?
Error: evaluation is nested too deeply: infinite recursion?
Error: evaluation is nested too deeply: infinite recursion?
Error: evaluation is nested too deeply: infinite recursion?
Error: evaluation is nested too deeply: infinite recursion?
Error: evaluation is nested too deeply: infinite recursion?
Error: evaluation is nested too deeply: infinite recursion?
Error: evaluation is nested too deeply: infinite recursion?
Error: evaluation is nested too deeply: infinite recursion?
Error: evaluation is nested too deeply: infinite recursion?
Error: evaluation is nested too deeply: infinite recursion?
Error: evaluation is nested too deeply: infinite recursion?
Error: evaluation is nested too deeply: infinite recursion?
Execution halted
ERROR: execution of package source for 'testpkg' failed
** Removing '/home/rpeng/install/R-beta/lib/R/library/testpkg'

Is this expected? Did I specify something incorrectly?

If I remove the setAs() call, everything installs fine. Furthermore, if I include a line like:

setAs("numeric", "testpkg", function(from, to) list())

that doesn't seem to cause a problem. I only get the infinite recursion problem when the first argument to setAs() is the new class "testpkg".


> version _ platform i686-pc-linux-gnu arch i686 os linux-gnu system i686, linux-gnu status beta major 1 minor 8.0 year 2003 month 09 day 27 language R


-roger


______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-devel

Reply via email to