debug(fun) marks "fun" for debugging, it makes sure that whenever "fun" is called, the debugger is entered undebug(fun) removes this mark; it won't stop any current debugging of that function isdebugged(fun) tells whether this mark is set or not; it does not tell whether "fun" is currently running in a debugger/browser

debugonce(func) adds a different mark to the function, one that makes sure the first time "fun" is called, the debugger is entered; this is the same as when entering that function via "s" while debugging its caller. There is no way to query or unset this mark.

Do you have a good use case when it would be useful to query/unset the mark for debugonce?

Best,
Tomas

On 04/28/2018 01:57 PM, Gábor Csárdi wrote:
debugonce() sets a different flag (RSTEP), and this is not queried by
isdebugged(), and it is also not unset by undebug().

Is this expected? If yes, is there a way to query and unset the RSTEP flag
from R code?

❯ f <- function() { }
❯ debugonce(f)
❯ isdebugged(f)
[1] FALSE

❯ undebug(f)
Warning message:
In undebug(f) : argument is not being debugged

❯ f()
debugging in: f()
debug at #1: {
}
Browse[2]>

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to