1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
#' @details
#' `without_progress()` evaluates an expression while ignoring all
#' progress updates.
#'
#' @rdname with_progress
#' @export
without_progress <- function(expr) {
progressr_in_globalenv("allow")
on.exit(progressr_in_globalenv("disallow"))
## Deactive global progression handler while using without_progress()
global_progression_handler(FALSE)
on.exit(global_progression_handler(TRUE), add = TRUE)
withCallingHandlers({
res <- withVisible(expr)
}, progression = function(p) {
## Restart 'muffleProgression' is not guaranteed to exist, e.g. the
## 'progression' condition might be resignaled by a handler that
## does not define it.
tryInvokeRestart("muffleProgression")
})
if (isTRUE(res$visible)) {
res$value
} else {
invisible(res$value)
}
}
|