rlang 0.4.9
Breaking changes
- Dropped support for the R 3.2 series.
New features
-
inject()evaluates its argument with!!,!!!, and{{
support. -
New
enquo0()andenquos0()operators for defusing function
arguments without automatic injection (unquotation). -
format_error_bullets()is no longer experimental. Themessage
arguments ofabort(),warn(), andinform()are automatically
passed to that function to make it easy to create messages with
regular, info, and error bullets. See?format_error_bulletsfor
more information. -
New
zap_srcref()function to recursively remove source references
from functions and calls. -
A new compat file for the zeallot operator
%<-%is now available
in the rlang repository. -
New
%<~%operator to define a variable lazily. -
New
env_browse()andenv_is_browsed()functions.env_browse()
is equivalent to evaluatingbrowser()within an environment. It
sets the environment to be persistently browsable (or unsets it if
value = FALSEis supplied). -
Functions created from quosures with
as_function()now print in a
more user friendly way. -
New
rlang_print_backtraceC callable for debugging from C
interpreters (#1059).
Bugfixes and improvements
-
The
.datapronoun no longer skips functions (#1061). This solves a
dplyr issue involving rowwise data frames and list-columns of
functions (tidyverse/dplyr#5608). -
as_data_mask()now intialises environments of the correct size to
improve efficiency (#1048). -
eval_bare(),eval_tidy()(#961), andwith_handlers()(#518)
now propagate visibility. -
cnd_signal()now ignoresNULLinputs. -
Fixed bug that prevented splicing a named empty vector with the
!!!operator (#1045). -
The exit status of is now preserved in non-interactive sessions when
entrace()is used as anoptions(error = )handler (#1052,
rstudio/bookdown#920). -
nextandbreakare now properly deparsed as nullary operators.