Skip to content

Avoid entering {} evaluation in debugger

3 messages · Vitalie Spinu, Josh O'Brien

#
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
1 day later
#
Vitalie Spinu 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?

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.
#
>> 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