Dear all, I'm having a problem with debugger() in both R 2.8.0 and R 2.12.0. Probably also versions in-between. I don't see it logged in the bug database, but it's hard for me to imagine that no-one else has encountered it. So my question is whether it's a known problem with a workaround, or do I log it as a new problem? The situation is that if I use "options(error=dump.frames)" and then use "debugger()", it fails if there's "..." in the function arguments. Repro and version info below. Thanks, Charlie Roosen> myFunc <- function(a,b,...) {d <- a+b; stop("")} > options(error=dump.frames) > myFunc(1,2)Error in myFunc(1, 2) :> debugger()Message: Error in myFunc(1, 2) : Available environments had calls: 1: myFunc(1, 2) 2: stop("") Enter an environment number, or 0 to exit Selection: 1 Error in get(.obj, envir = dump[[.selection]]) : argument "..." is missing, with no default> version_ platform i386-pc-mingw32 arch i386 os mingw32 system i386, mingw32 status major 2 minor 12.0 year 2010 month 10 day 15 svn rev 53317 language R version.string R version 2.12.0 (2010-10-15) Charles Roosen, PhD Technical Director T: +41 (0)61 206 92 91 M: +41 (0)79 248 70 71 F: +41 (0) 61 206 92 99 www.mango-solutions.com Mango Solutions AG Aeschenvorstadt 36 4051 Basel Switzerland image002 LEGAL NOTICE This message is intended for the use o...{{dropped:10}}
Prof Brian Ripley
2011-Feb-18 13:06 UTC
[Rd] debugger() fails if "..." in function arguments
On Fri, 18 Feb 2011, Charles Roosen wrote:> Dear all, > > I'm having a problem with debugger() in both R 2.8.0 and R 2.12.0. > Probably also versions in-between.But you are asked to report only on current R.> I don't see it logged in the bug database, but it's hard for me to > imagine that no-one else has encountered it. So my question is whether > it's a known problem with a workaround, or do I log it as a new problem?I doubt if almost anyone uses dump.frames() in R. I think this is known, and the workaround is 'don't do that': use error=recover.> The situation is that if I use "options(error=dump.frames)" and then use > "debugger()", it fails if there's "..." in the function arguments. > Repro and version info below. > > Thanks, > Charlie Roosen > >> myFunc <- function(a,b,...) {d <- a+b; stop("")} >> options(error=dump.frames) >> myFunc(1,2) > Error in myFunc(1, 2) : > >> debugger() > Message: Error in myFunc(1, 2) : > Available environments had calls: > 1: myFunc(1, 2) > 2: stop("") > > Enter an environment number, or 0 to exit Selection: 1 > Error in get(.obj, envir = dump[[.selection]]) : > argument "..." is missing, with no defaultThat's easy to fix with a tryCatch() wrapper. But the real problem is with last.dump(), and recover() has it to some extent: options(error=recover) myFunc(1,2,e=pi) Error in myFunc(1, 2, e = pi) : Enter a frame number, or 0 to exit 1: myFunc(1, 2, e = pi) Selection: 1 Called from: top level Browse[1]> e Error during wrapup: object 'e' not found If you know how, you can get to 'e' though .... I am really not sure this is worth changing.> >> version > _ > platform i386-pc-mingw32 > arch i386 > os mingw32 > system i386, mingw32 > status > major 2 > minor 12.0 > year 2010 > month 10 > day 15 > svn rev 53317 > language R > version.string R version 2.12.0 (2010-10-15) > > > Charles Roosen, PhD > Technical Director > > T: +41 (0)61 206 92 91 > M: +41 (0)79 248 70 71 > F: +41 (0) 61 206 92 99 > > www.mango-solutions.com > > Mango Solutions AG > Aeschenvorstadt 36 > 4051 Basel > Switzerland > > image002 > > LEGAL NOTICE > This message is intended for the use o...{{dropped:10}} > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >-- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595