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.