From d3aeb4f80a057c78de73c1e5fe0eddad5eb5f36a Mon Sep 17 00:00:00 2001 From: Colin Rundel Date: Fri, 19 Sep 2025 14:11:26 -0400 Subject: [PATCH 1/2] Prelim fix --- src/progress-altrep.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/progress-altrep.c b/src/progress-altrep.c index 740fc508c..4ce5a1e6d 100644 --- a/src/progress-altrep.c +++ b/src/progress-altrep.c @@ -123,7 +123,15 @@ int progress_along_Elt(SEXP x, R_xlen_t i) { Rf_defineVar(PROTECT(Rf_install("current")), PROTECT(ScalarReal((int) i)), bar); cli__current_progress_bar = bar; SEXP show_after = clic__find_var(bar, Rf_install("show_after")); - if (now > REAL(show_after)[0]) DATAPTR(cli__disable_gc); + + SEXP last_shown = Rf_findVarInFrame(bar, Rf_install("last_shown")); + if (last_shown == R_UnboundValue) { + last_shown = Rf_ScalarReal(R_NegInf); + } + + if (now > REAL(show_after)[0] + REAL(last_shown)[0]) { + DATAPTR(cli__disable_gc); + } UNPROTECT(2); } return (int) (i + 1); From 64ff28c876f31b31e57ee37c5c98191d9741a235 Mon Sep 17 00:00:00 2001 From: Colin Rundel Date: Fri, 19 Sep 2025 14:24:26 -0400 Subject: [PATCH 2/2] Update snapshot --- tests/testthat/_snaps/progress-along.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/testthat/_snaps/progress-along.md b/tests/testthat/_snaps/progress-along.md index f8c362a12..245512d52 100644 --- a/tests/testthat/_snaps/progress-along.md +++ b/tests/testthat/_snaps/progress-along.md @@ -3,8 +3,7 @@ Code out Output - [1] "\rx: 10\033[K\r" "\rx: 10\033[K\r" "\rx: 10\033[K\r" "\rx: 10\033[K\r" - [5] "\r\033[K" + [1] "\rx: 10\033[K\r" "\rx: 10\033[K\r" "\r\033[K" # cli_progress_along