Skip to content

Commit 3d3e3fc

Browse files
Modernize debug
1 parent fe22578 commit 3d3e3fc

File tree

3 files changed

+74
-30
lines changed

3 files changed

+74
-30
lines changed

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Package: future.batchtools
2-
Version: 0.12.1-9008
2+
Version: 0.12.1-9009
33
Depends:
44
R (>= 3.2.0),
55
parallelly,

R/utils-debug.R

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
now <- function(x = Sys.time(), format = "[%H:%M:%OS3] ") {
2+
## format(x, format = format) ## slower
3+
format(as.POSIXlt(x, tz = ""), format = format)
4+
}
5+
6+
debug_indent <- local({
7+
symbols <- rep(c("|", ":", ".", "'", ",", ";", "`"), times = 10L)
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 = "")
13+
}
14+
})
15+
16+
if (!exists(".debug", inherits = FALSE)) .debug <- new.env(parent = emptyenv())
17+
if (!"stack" %in% names(".debug")) .debug$stack <- list()
18+
19+
mdebug_push <- function(...) {
20+
msg <- mdebug(...)
21+
.debug$stack <- c(.debug$stack, msg)
22+
invisible(msg)
23+
}
24+
25+
mdebugf_push <- function(...) {
26+
msg <- mdebugf(...)
27+
.debug$stack <- c(.debug$stack, msg)
28+
invisible(msg)
29+
}
30+
31+
mdebug_pop <- function(...) {
32+
n <- length(.debug$stack)
33+
msg <- c(...)
34+
if (length(msg) == 0) {
35+
msg <- .debug$stack[n]
36+
msg <- sprintf("%s done", msg)
37+
}
38+
.debug$stack <- .debug$stack[-n]
39+
if (length(msg) == 0 || !is.na(msg)) mdebug(msg)
40+
}
41+
42+
mdebugf_pop <- function(...) {
43+
n <- length(.debug$stack)
44+
msg <- .debug$stack[n]
45+
.debug$stack <- .debug$stack[-n]
46+
mdebug(sprintf("%s done", msg))
47+
}
48+
49+
mdebug <- function(..., prefix = now()) {
50+
prefix <- paste(prefix, debug_indent(), sep = "")
51+
msg <- paste(..., sep = "")
52+
message(sprintf("%s%s", prefix, msg))
53+
invisible(msg)
54+
}
55+
56+
mdebugf <- function(..., appendLF = TRUE, prefix = now()) {
57+
prefix <- paste(prefix, debug_indent(), sep = "")
58+
msg <- sprintf(...)
59+
message(sprintf("%s%s", prefix, msg), appendLF = appendLF)
60+
invisible(msg)
61+
}
62+
63+
#' @importFrom utils capture.output
64+
mprint <- function(..., appendLF = TRUE, prefix = now()) {
65+
prefix <- paste(prefix, debug_indent(), sep = "")
66+
message(paste(prefix, capture.output(print(...)), sep = "", collapse = "\n"), appendLF = appendLF)
67+
}
68+
69+
#' @importFrom utils capture.output str
70+
mstr <- function(..., appendLF = TRUE, prefix = now()) {
71+
prefix <- paste(prefix, debug_indent(), sep = "")
72+
message(paste(prefix, capture.output(str(...)), sep = "", collapse = "\n"), appendLF = appendLF)
73+
}

R/utils.R

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -46,35 +46,6 @@ capture_output <- function(expr, envir = parent.frame(), ...) {
4646

4747
printf <- function(...) cat(sprintf(...))
4848

49-
now <- function(x = Sys.time(), format = "[%H:%M:%OS3] ") {
50-
## format(x, format = format) ## slower
51-
format(as.POSIXlt(x, tz = ""), format = format)
52-
}
53-
54-
mdebug <- function(..., debug = getOption("future.debug", FALSE)) {
55-
if (!debug) return()
56-
message(now(), ...)
57-
}
58-
59-
mdebugf <- function(..., appendLF = TRUE,
60-
debug = getOption("future.debug", FALSE)) {
61-
if (!debug) return()
62-
message(now(), sprintf(...), appendLF = appendLF)
63-
}
64-
65-
#' @importFrom utils capture.output
66-
mprint <- function(..., appendLF = TRUE, debug = getOption("future.debug", FALSE)) {
67-
if (!debug) return()
68-
message(paste(now(), capture.output(print(...)), sep = "", collapse = "\n"), appendLF = appendLF)
69-
}
70-
71-
#' @importFrom utils capture.output str
72-
mstr <- function(..., appendLF = TRUE, debug = getOption("future.debug", FALSE)) {
73-
if (!debug) return()
74-
message(paste(now(), capture.output(str(...)), sep = "", collapse = "\n"), appendLF = appendLF)
75-
}
76-
77-
7849
## From R.utils 2.0.2 (2015-05-23)
7950
hpaste <- function(..., sep="", collapse=", ", last_collapse=NULL,
8051
max_head=if (missing(last_collapse)) 3 else Inf,

0 commit comments

Comments
 (0)