msg()/msg0() now close a pending
msgstart() line before writing, so log lines and error
stamps no longer collide with unfinished progress text (new internal
line_open state).pcat(): pad argument support.green is now teal; the previous green
moved to new juniper; added terracotta;
adjusted light_mauve and success color.printls()/repr_ls() print class names
single-quoted and use the primary class only, for consistent
object of class '...' output.msg() with custom sink support from
rtemis: allows for logging through
rtemis.server to rtemisliveheaddot() renamed to collapse_head()abort() dual-channel error signaller (in
log.R): emits a styled one-line event to the operator
console (most-specific class name + caller bracket) and signals a
condition whose $message field is plain text - safe to
serialize into JSON/HTML/any ANSI-unaware sink.abort() captures the call stack at the signal site and
attaches it to the condition as $trace. Unlike base R’s
traceback() (which only populates .Traceback
for uncaught errors), $trace survives
tryCatch() and travels with the condition - useful for
server-side handlers that ship errors to a browser-side debug pane.format_trace() helper: renders the
$trace pairlist (or the condition itself) as a numbered,
one-line-per-frame string.abort() resolves the user’s calling function via a
stack walk that skips frames in this package and in base
(tryCatch, doTryCatch, etc.). Both the console
bracket and the condition’s $call field point to the same
user frame - so R’s default error printer shows
Error in my_func(x) : ... instead of bare
Error: ..., regardless of how many check_* /
clean_* wrappers sit between abort() and the
caller.info(), warn(),
success(), dbg() log helpers, all routed
through msg() for consistent timestamp + glyph +
caller-bracket formatting.check_* /
clean_* abort carries failure-mode classes
(rtemis_null_input, rtemis_na_input,
rtemis_type_error, rtemis_length_error,
rtemis_range_error, rtemis_value_error,
rtemis_dependency_error), all inheriting from
rtemis_input_error - callers can catch input failures
broadly or narrow to a specific failure mode via
tryCatch().rtemis.show_caller (default
TRUE): set to FALSE in .Rprofile
to suppress the caller bracket on all log lines for the session.format_caller() now auto-suppresses non-name
expressions (anonymous function literals, inline
do.call-style invocations) - no more
[function (ws, req) {...] brackets cluttering logs from
callback-heavy code.check_* and clean_* functions now
signal errors via abort() with structured condition classes
rather than via cli::cli_abort(). Error message text
changes from cli’s {.var x} styling to plain
backtick-quoted names (e.g. `x` cannot be NULL.). Code that
matches on exact error message strings will need to be updated. Generic
tryCatch(error = ...) handlers continue to work; handlers
keyed on the previous rlang_error /
cli-specific classes will need to be updated to the new
rtemis_error hierarchy (which also gains structured
failure-mode subclasses).check_* function set
Need a high-speed mirror for your open-source project?
Contact our mirror admin team at info@clientvps.com.
This archive is provided as a free public service to the community.
Proudly supported by infrastructure from VPSPulse , RxServers , BuyNumber , UnitVPS , OffshoreName and secure payment technology by ArionPay.