[Rd] Avoid entering {} evaluation in debugger

Vitalie Spinu spinuvit at gmail.com
Sun May 5 16:11:22 CEST 2013



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



More information about the R-devel mailing list