From joshmobrien at gmail.com  Tue May  7 00:29:39 2013
From: joshmobrien at gmail.com (Josh O'Brien)
Date: Mon, 6 May 2013 15:29:39 -0700 (PDT)
Subject: [Rd] Avoid entering {} evaluation in debugger
In-Reply-To: <87fvy1ms8l.fsf@gmail.com>
References: <87fvy1ms8l.fsf@gmail.com>
Message-ID: <1367879379354-4666437.post@n4.nabble.com>

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
> https://stat.ethz.ch/mailman/listinfo/r-devel

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.



[Rd] Avoid entering {} evaluation in debugger
Josh O'Brien