[Rd] browser() cannot be called consistently from another environment
Antoine Fabri
@nto|ne@|@br| @end|ng |rom gm@||@com
Mon Aug 24 16:51:57 CEST 2020
Dear R-devel,
I have this debugging function that applies side effects, then acts like
browser once it's done :
meta_browser <- function() {
# ...
on.exit(eval.parent(quote(browser())))
}
I can use it with a function such as fun1 below :
fun1 <- function(){
meta_browser()
print("hello")
print("world")
}
fun1() will trigger the debugger as expected and we can browse along.
If however my function contains a loop (for, while, repeat), I'm not able
to debug anymore.
fun2 <- function(){
meta_browser()
print("hello")
print("world")
repeat {break}
}
fun2() will trigger the debugger but then everything will be executed at
once.
Is this a bug ? Is there another way, maybe more idiomatic, to get the same
effect and have it work with fun2() ?
Best,
Antoine
[[alternative HTML version deleted]]
More information about the R-devel
mailing list