For the record, a much better alternative to try(downViewport()) is curVps <- grid.ls(grobs = FALSE, viewports = TRUE, print = FALSE)$name if ("fooVp" %in% curVps) ...
2008/11/14 Felix Andrews <[EMAIL PROTECTED]>: > I have isolated an error that can be reproduced by the following code. > The same thing happens in 2.8.0pat and 2.9.0dev. It looks like the > try() code is ending up in the display list, or something? > > library(grid) > library(lattice) > > xyplot(1:100 ~ 1:100) > test <- try(downViewport("pageAnnotationVp"), silent = TRUE) > downViewport(trellis.vpname("toplevel")) > pushViewport(viewport(name = "pageAnnotationVp", yscale = c(1, 0))) > upViewport(0) > > ## resize device to trigger a couple of redraws... > > Error: protect(): protection stack overflow > > Enter a frame number, or 0 to exit > 1: no.children(<environment>) > 2: ls(children, all.names = TRUE) > 3: try(name) > 4: tryCatch(expr, error = function(e) { > 5: tryCatchList(expr, classes, parentenv, handlers) > 6: tryCatchOne(expr, names, parentenv, handlers[[1]]) > 7: doTryCatch(return(expr), name, parentenv, handler) > > >> sessionInfo() > R version 2.8.0 Patched (2008-11-10 r46884) > i386-pc-mingw32 > > locale: > LC_COLLATE=English_Australia.1252;LC_CTYPE=English_Australia.1252;LC_MONETARY=English_Australia.1252;LC_NUMERIC=C;LC_TIME=English_Australia.1252 > > attached base packages: > [1] grid stats graphics grDevices utils datasets > methods base > > other attached packages: > [1] lattice_0.17-15 > > > -- > Felix Andrews / 安福立 > http://www.neurofractal.org/felix/ > 3358 543D AAC6 22C2 D336 80D9 360B 72DD 3E4C F5D8 > -- Felix Andrews / 安福立 http://www.neurofractal.org/felix/ 3358 543D AAC6 22C2 D336 80D9 360B 72DD 3E4C F5D8 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel