Sweet Jesus ... I just read what I wrote earlier ...

On Oct 23, 2009, at 2:57 PM, Steve Lianoglou wrote:
If this is something you just want to use on your own functions that are set to `debug`, why not just make write a debug wraps the base::debug and does some keeps track of which functions you're debugging in some global environment variable (of your creation).

This has to win for one of my most lucid moments.

I feel like I should publicly apologize for letting such an abomination out of its cage. Hopefully the code I sent explained what my feeble attempt at "human communication" didn't ... yeesh!

Sorry :-)

-steve

You should probably use something beside "substitute" here, but:

R> .DLIST <- character()
R> debug <- function(fun, text="", condition=NULL) {
 .DLIST <<- c(.DLIST, substitute(fun))
 base::debug(fun, text=text, condition=condition)
}

R> myfun <- function(something) {
 a <- length(something)
 b <- sum(something)
 b
}

R> debug(myfun)
R> debug(myfun)
R> .DLIST
[[1]]
myfun

R> myfun(1:10)
debugging in: myfun(1:10)
debug: {
   a <- length(something)
   b <- sum(something)
   b
}
Browse[2]> n
debug: a <- length(something)
Browse[2]> n
debug: b <- sum(something)
Browse[2]> n
debug: b
Browse[2]> n
exiting from: myfun(1:10)
[1] 55

--
Steve Lianoglou
Graduate Student: Computational Systems Biology
  |  Memorial Sloan-Kettering Cancer Center
  |  Weill Medical College of Cornell University
Contact Info: http://cbio.mskcc.org/~lianos/contact

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to