@@ -4,47 +4,28 @@ now <- function(x = Sys.time(), format = "[%H:%M:%OS3] ") {
44}
55
66debug_indent <- local({
7- prefix <- " "
8- depth <- 0L
97 symbols <- rep(c(" |" , " :" , " ." , " '" , " ," , " ;" , " `" ), times = 10L )
10-
11- function (delta = 0L ) {
12- if (delta == 0 ) return (prefix )
13- if (delta > 0 ) {
14- depth <<- depth + 1L
15- } else if (delta < 0 ) {
16- depth <<- depth - 1L
17- if (depth < 0L ) {
18- calls <- paste(vapply(sys.calls(), FUN = deparse , FUN.VALUE = NA_character_ ), collapse = " -> " )
19- warning(sprintf(" [INTERNAL WARNING]: There appears to be one mdebug_pop() too many: %s" , calls ), call. = TRUE , immediate. = TRUE )
20- depth <- 0L
21- }
22- }
23- prefix <<- if (depth == 0 ) {
24- " "
25- } else {
26-
27- indent <- getOption(" future.debug.indent" , " " )
28- paste(paste(symbols [seq_len(depth )], indent , sep = " " ), collapse = " " )
29- }
8+ function () {
9+ depth <- length(.debug [[" stack" ]])
10+ if (depth == 0 ) return (" " )
11+ indent <- getOption(" future.debug.indent" , " " )
12+ paste(paste(symbols [seq_len(depth )], indent , sep = " " ), collapse = " " )
3013 }
3114})
3215
33- .debug <- new.env(parent = emptyenv())
34- .debug $ stack <- list ()
16+ if ( ! exists( " .debug " , inherits = FALSE )) .debug <- new.env(parent = emptyenv())
17+ if ( ! " stack " %in% names( " .debug " )) .debug $ stack <- list ()
3518
3619mdebug_push <- function (... , debug = isTRUE(getOption(" future.debug" ))) {
3720 if (! debug ) return ()
3821 msg <- mdebug(... , debug = debug )
39- debug_indent(+ 1 )
4022 .debug $ stack <- c(.debug $ stack , msg )
4123 invisible (msg )
4224}
4325
4426mdebugf_push <- function (... , debug = isTRUE(getOption(" future.debug" ))) {
4527 if (! debug ) return ()
4628 msg <- mdebugf(... , debug = debug )
47- debug_indent(+ 1 )
4829 .debug $ stack <- c(.debug $ stack , msg )
4930 invisible (msg )
5031}
@@ -54,7 +35,6 @@ mdebug_pop <- function(..., debug = isTRUE(getOption("future.debug"))) {
5435 n <- length(.debug $ stack )
5536 msg <- .debug $ stack [n ]
5637 .debug $ stack <- .debug $ stack [- n ]
57- debug_indent(- 1 )
5838 mdebug(sprintf(" %s done" , msg ), debug = debug )
5939}
6040
@@ -63,7 +43,6 @@ mdebugf_pop <- function(..., debug = isTRUE(getOption("future.debug"))) {
6343 n <- length(.debug $ stack )
6444 msg <- .debug $ stack [n ]
6545 .debug $ stack <- .debug $ stack [- n ]
66- debug_indent(- 1 )
6746 mdebug(sprintf(" %s done" , msg ), debug = debug )
6847}
6948
0 commit comments