Hi,
f1 <- function(){
browser()
print("aaa")
}
f2 <- function(){
a <- 12
eval(envir = parent.frame(),
bquote({
b <- .(a)
}))
}
Now do,
f1()
and enter n RET and then {1+2}:
Browse[2]> {1 + 2}
debug at #1: 1 + 2
Browse[3]>
{} is now being debugged. This was never bothering me till I got into
unexpected behavior with functions that evaluate in the current
environment.
For example calling f2() starts debugging b <- 12:
Browse[2]> f2()
debug: b <- 12
Browse[4]>
Is there some sort of dont-debug-me flag that I can set in f2 to avoid
this behavior?
Thanks,
Vitalie
R Under development (unstable) (2013-04-19 r62622)
Platform: i686-pc-linux-gnu (32-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
Avoid entering {} evaluation in debugger
3 messages · Vitalie Spinu, Josh O'Brien
1 day later
Vitalie Spinu wrote
Hi,
f1 <- function(){
browser()
print("aaa")
}
f2 <- function(){
a <- 12
eval(envir = parent.frame(),
bquote({
b <- .(a)
}))
}
Now do,
f1()
and enter n RET and then {1+2}:
Browse[2]> {1 + 2}
debug at #1: 1 + 2
Browse[3]>
{} is now being debugged. This was never bothering me till I got into
unexpected behavior with functions that evaluate in the current
environment.
For example calling f2() starts debugging b <- 12:
Browse[2]> f2()
debug: b <- 12
Browse[4]>
Is there some sort of dont-debug-me flag that I can set in f2 to avoid
this behavior?
Thanks,
Vitalie
f1 <- function(){
browser()
print("aaa")
}
f2 <- function(){
a <- 12
eval(envir = parent.frame(),
bquote({
b <- .(a)
}))
}
R Under development (unstable) (2013-04-19 r62622)
Platform: i686-pc-linux-gnu (32-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
______________________________________________
R-devel@
mailing list
I believe that your sessionInfo() results leave out the most important detail, which is that you're running R from Emacs/ESS. Is that right? I get this same, occasionally annoying, behavior when using ESS 13.03 and Emacs 23.3.1, but not from Rgui, Rterm, etc. Haven't brought it up there, but this would obviously be a good topic for ESS-help. Cheers, Josh -- View this message in context: http://r.789695.n4.nabble.com/Avoid-entering-evaluation-in-debugger-tp4666350p4666437.html Sent from the R devel mailing list archive at Nabble.com.
"Josh O'Brien" <joshmobrien at gmail.com>
>> on Mon, 6 May 2013 15:29:39 -0700 (PDT) wrote:
[...]
> I believe that your sessionInfo() results leave out the most important
> detail, which is that you're running R from Emacs/ESS. Is that right?
Nope, I have reported it from R terminal.
> I get this same, occasionally annoying, behavior when using ESS 13.03 and
> Emacs 23.3.1, but not from Rgui, Rterm, etc.
In ESS it indeed happens more often because visual debugger sends "n"
commands to R.
Vitalie