Skip to content

grid.ls() after grid.remove() fails

2 messages · Felix Andrews, Paul Murrell

#
Dr Murrell and others,

It seems grid.ls() fails after any use of grid.remove(). It gives an
infinite recursion error even in the simplest cases, and no matter
what arguments are passed to grid.ls.
foo
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
...etc...
...etc...
...etc...
13: gridList.default(X[[2L]], ...)
12: FUN(X[[2L]], ...)
11: lapply(display.list[1:dl.index], gridList, grobs = grobs,
viewports = viewports,
        fullNames = fullNames, recursive = recursive)
10: gridList.default(X[[2L]], ...)
9: FUN(X[[2L]], ...)
8: lapply(display.list[1:dl.index], gridList, grobs = grobs, viewports
= viewports,
       fullNames = fullNames, recursive = recursive)
7: gridList.default(X[[2L]], ...)
6: FUN(X[[2L]], ...)
5: lapply(display.list[1:dl.index], gridList, grobs = grobs, viewports
= viewports,
       fullNames = fullNames, recursive = recursive)
4: gridList.default(x, grobs = grobs, viewports = viewports, fullNames
= fullNames,
       recursive = recursive)
3: gridList(x, grobs = grobs, viewports = viewports, fullNames = fullNames,
       recursive = recursive)
2: grid.ls(print = FALSE)
1: str(grid.ls(print = FALSE))
List of 17
 $ x             :Class 'unit'  atomic [1:1] 0.5
  .. ..- attr(*, "unit")= chr "npc"
  .. ..- attr(*, "valid.unit")= int 0
 $ y             :Class 'unit'  atomic [1:1] 0.5
  .. ..- attr(*, "unit")= chr "npc"
  .. ..- attr(*, "valid.unit")= int 0
 $ width         :Class 'unit'  atomic [1:1] 1
  .. ..- attr(*, "unit")= chr "npc"
  .. ..- attr(*, "valid.unit")= int 0
 $ height        :Class 'unit'  atomic [1:1] 1
  .. ..- attr(*, "unit")= chr "npc"
  .. ..- attr(*, "valid.unit")= int 0
 $ justification : chr "centre"
 $ gp            : list()
  ..- attr(*, "class")= chr "gpar"
 $ clip          : logi TRUE
 $ xscale        : num [1:2] 0 558
 $ yscale        : num [1:2] 557 0
 $ angle         : num 0
 $ layout        : NULL
 $ layout.pos.row: NULL
 $ layout.pos.col: NULL
 $ valid.just    : num [1:2] 0.5 0.5
 $ valid.pos.row : NULL
 $ valid.pos.col : NULL
 $ name          : chr "ROOT"
 - attr(*, "class")= chr "viewport"
R version 2.8.0 Under development (unstable) (2008-07-26 r46127)
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
[8] base
#
Hi
Felix Andrews wrote:
Yep, blatant error in the code.  I will have a fix in the development
version soon.  Thanks for the report!

Paul