[latex3-commits] [l3svn] branch master updated: Fix nesting of selective key setting (fixes #370)

noreply at latex-project.org noreply at latex-project.org
Sat May 27 23:53:00 CEST 2017


This is an automated email from the git hooks/post-receive script.

joseph pushed a commit to branch master
in repository l3svn.

The following commit(s) were added to refs/heads/master by this push:
       new  91b8e9c   Fix nesting of selective key setting (fixes #370)
91b8e9c is described below

commit 91b8e9cbf92d7105b9c3b8b79a6e6023b421b16b
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Sat May 27 22:52:39 2017 +0100

    Fix nesting of selective key setting (fixes #370)
---
 l3kernel/l3keys.dtx                     |   76 ++++++++++---
 l3kernel/testfiles/m3expl001.luatex.tlg |    7 ++
 l3kernel/testfiles/m3expl001.ptex.tlg   |  182 ++++++++++++++++++-------------
 l3kernel/testfiles/m3expl001.tlg        |    7 ++
 l3kernel/testfiles/m3expl001.uptex.tlg  |  178 +++++++++++++++++-------------
 l3kernel/testfiles/m3expl001.xetex.tlg  |    7 ++
 l3kernel/testfiles/m3expl003.luatex.tlg |    7 ++
 l3kernel/testfiles/m3expl003.ptex.tlg   |  182 ++++++++++++++++++-------------
 l3kernel/testfiles/m3expl003.tlg        |    7 ++
 l3kernel/testfiles/m3expl003.uptex.tlg  |  178 +++++++++++++++++-------------
 l3kernel/testfiles/m3expl003.xetex.tlg  |    7 ++
 11 files changed, 528 insertions(+), 310 deletions(-)

diff --git a/l3kernel/l3keys.dtx b/l3kernel/l3keys.dtx
index 13c088c..5a207e6 100644
--- a/l3kernel/l3keys.dtx
+++ b/l3kernel/l3keys.dtx
@@ -656,7 +656,7 @@
 %     }
 % \end{verbatim}
 %
-% \begin{function}[added = 2011-08-23, updated = 2015-11-07]
+% \begin{function}[added = 2011-08-23, updated = 2017-05-27]
 %   {
 %     \keys_set_known:nnN, \keys_set_known:nVN,
 %     \keys_set_known:nvN, \keys_set_known:noN,
@@ -720,7 +720,7 @@
 % groups to be made \enquote{active}, or by marking one or more groups to
 % be ignored in key setting.
 %
-% \begin{function}[added = 2013-07-14, updated = 2015-11-07]
+% \begin{function}[added = 2013-07-14, updated = 2017-05-27]
 %   {
 %     \keys_set_filter:nnnN, \keys_set_filter:nnVN,
 %     \keys_set_filter:nnvN, \keys_set_filter:nnoN,
@@ -742,7 +742,7 @@
 %   \meta{keyval list} returned at each stage.
 % \end{function}
 %
-% \begin{function}[added = 2013-07-14, updated = 2015-11-07]
+% \begin{function}[added = 2013-07-14, updated = 2017-05-27]
 %   {
 %     \keys_set_groups:nnn, \keys_set_groups:nnV,
 %     \keys_set_groups:nnv, \keys_set_groups:nno
@@ -2022,6 +2022,7 @@
 %     \keys_set_known:nn, \keys_set_known:nV,
 %     \keys_set_known:nv, \keys_set_known:no
 %   }
+% \begin{macro}[aux]{\@@_keys_set_known:nn}
 %   Setting known keys simply means setting the appropriate flag, then
 %   running the standard code. To allow for nested setting, any existing
 %   value of \cs{l_@@_unused_clist} is saved on the stack and reset
@@ -2041,15 +2042,23 @@
 \cs_generate_variant:Nn \@@_set_known:nnnN { o }
 \cs_new_protected:Npn \keys_set_known:nn #1#2
   {
+    \bool_if:NTF \l_@@_only_known_bool
+      { \keys_set:nn }
+      { \@@_set_known:nn }
+      {#1} {#2}
+  }
+\cs_generate_variant:Nn \keys_set_known:nn { nV , nv , no }
+\cs_new_protected:Npn \@@_set_known:nn #1#2
+  {
     \bool_set_true:N \l_@@_only_known_bool
     \keys_set:nn {#1} {#2}
     \bool_set_false:N \l_@@_only_known_bool
   }
-\cs_generate_variant:Nn \keys_set_known:nn { nV , nv , no }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 % \end{macro}
+% \end{macro}
 %
 % \begin{macro}
 %   {
@@ -2062,14 +2071,20 @@
 %     \keys_set_filter:nnn, \keys_set_filter:nnV, \keys_set_filter:nnv,
 %       \keys_set_filter:nno
 %   }
+% \begin{macro}[aux]{\@@_set_filter:nnn}
 % \begin{macro}
 %   {
 %     \keys_set_groups:nnn, \keys_set_groups:nnV, \keys_set_groups:nnv,
 %       \keys_set_groups:nno
 %   }
+%  \begin{macro}[aux]{\@@_set_groups:nnn}
+%  \begin{macro}[aux]{\@@_set_selective:nnn}
+%  \begin{macro}[aux]{\@@_set_selective:nnnn, \@@_set_selective:onnn}
+%  \begin{macro}[aux]{\@@_set_selective:nn}
 %   The idea of setting keys in a selective manner again uses flags
 %   wrapped around the basic code. The comments on \cs{keys_set_known:nnN}
-%   also apply here.
+%   also apply here. We have a bit more shuffling to do to keep everything
+%   nestable.
 %    \begin{macrocode}
 \cs_new_protected:Npn \keys_set_filter:nnnN
   {  \@@_set_filter:onnnN \l_@@_unused_clist }
@@ -2084,27 +2099,60 @@
 \cs_generate_variant:Nn \@@_set_filter:nnnnN { o }
 \cs_new_protected:Npn \keys_set_filter:nnn #1#2#3
   {
-    \bool_set_true:N \l_@@_selective_bool
-    \bool_set_true:N \l_@@_filtered_bool
-    \seq_set_from_clist:Nn \l_@@_selective_seq {#2}
-    \keys_set:nn {#1} {#3}
-    \bool_set_false:N \l_@@_selective_bool
+    \bool_if:NTF \l_@@_filtered_bool
+      { \@@_set_selective:nnn }
+      { \@@_set_filter:nnn }
+      {#1} {#2} {#3}
   }
 \cs_generate_variant:Nn \keys_set_filter:nnn { nnV , nnv , nno }
+\cs_new_protected:Npn \@@_set_filter:nnn #1#2#3
+  {
+    \bool_set_true:N \l_@@_filtered_bool
+    \@@_set_selective:nnn {#1} {#2} {#3}
+    \bool_set_false:N \l_@@_filtered_bool
+  }
 \cs_new_protected:Npn \keys_set_groups:nnn #1#2#3
   {
-    \bool_set_true:N \l_@@_selective_bool
+    \bool_if:NTF \l_@@_filtered_bool
+      { \@@_set_groups:nnn }
+      { \@@_set_selective:nnn }
+      {#1} {#2} {#3}
+  }
+\cs_generate_variant:Nn \keys_set_groups:nnn { nnV , nnv , nno }
+\cs_new_protected:Npn \@@_set_groups:nnn #1#2#3
+  {
     \bool_set_false:N \l_@@_filtered_bool
-    \seq_set_from_clist:Nn \l_@@_selective_seq {#2}
-    \keys_set:nn {#1} {#3}
+    \@@_set_selective:nnn {#1} {#2} {#3}
+    \bool_set_true:N \l_@@_filtered_bool
+  }
+\cs_new_protected:Npn \@@_set_selective:nnn
+  { \@@_set_selective:onnn \l_@@_selective_seq }
+\cs_new_protected:Npn \@@_set_selective:nnnn #1#2#3#4
+  {
+    \seq_set_from_clist:Nn \l_@@_selective_seq {#3}
+    \bool_if:NTF \l_@@_selective_bool
+      { \keys_set:nn }
+      { \@@_set_selective:nn }
+      {#2} {#4}
+    \tl_set:Nn \l_@@_selective_seq {#1}
+  }
+\cs_generate_variant:Nn \@@_set_selective:nnnn { o }
+\cs_new_protected:Npn \@@_set_selective:nn #1#2
+  {
+    \bool_set_true:N \l_@@_selective_bool 
+    \keys_set:nn {#1} {#2}
     \bool_set_false:N \l_@@_selective_bool
   }
-\cs_generate_variant:Nn \keys_set_groups:nnn { nnV , nnv , nno }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 % \end{macro}
 % \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
 %
 % \begin{macro}[int]{\@@_set:n, \@@_set:nn}
 % \begin{macro}[aux]{\@@_set_aux:nnn, \@@_set_aux:onn}
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index aeca3f9..d4f0278 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -3400,6 +3400,7 @@ Defining \keys_set_known:nn on line ...
 Defining \keys_set_known:nV on line ...
 Defining \keys_set_known:nv on line ...
 Defining \keys_set_known:no on line ...
+Defining \__keys_set_known:nn on line ...
 Defining \keys_set_filter:nnnN on line ...
 Defining \exp_args:NnnV on line ...
 Defining \keys_set_filter:nnVN on line ...
@@ -3412,10 +3413,16 @@ Defining \keys_set_filter:nnn on line ...
 Defining \keys_set_filter:nnV on line ...
 Defining \keys_set_filter:nnv on line ...
 Defining \keys_set_filter:nno on line ...
+Defining \__keys_set_filter:nnn on line ...
 Defining \keys_set_groups:nnn on line ...
 Defining \keys_set_groups:nnV on line ...
 Defining \keys_set_groups:nnv on line ...
 Defining \keys_set_groups:nno on line ...
+Defining \__keys_set_groups:nnn on line ...
+Defining \__keys_set_selective:nnn on line ...
+Defining \__keys_set_selective:nnnn on line ...
+Defining \__keys_set_selective:onnn on line ...
+Defining \__keys_set_selective:nn on line ...
 Defining \__keys_set:n on line ...
 Defining \__keys_set:nn on line ...
 Defining \__keys_set_aux:nnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index df4f8ae..b020d46 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -3388,6 +3388,7 @@ Defining \keys_set_known:nn on line ...
 Defining \keys_set_known:nV on line ...
 Defining \keys_set_known:nv on line ...
 Defining \keys_set_known:no on line ...
+Defining \__keys_set_known:nn on line ...
 Defining \keys_set_filter:nnnN on line ...
 Defining \exp_args:NnnV on line ...
 Defining \keys_set_filter:nnVN on line ...
@@ -3400,10 +3401,16 @@ Defining \keys_set_filter:nnn on line ...
 Defining \keys_set_filter:nnV on line ...
 Defining \keys_set_filter:nnv on line ...
 Defining \keys_set_filter:nno on line ...
+Defining \__keys_set_filter:nnn on line ...
 Defining \keys_set_groups:nnn on line ...
 Defining \keys_set_groups:nnV on line ...
 Defining \keys_set_groups:nnv on line ...
 Defining \keys_set_groups:nno on line ...
+Defining \__keys_set_groups:nnn on line ...
+Defining \__keys_set_selective:nnn on line ...
+Defining \__keys_set_selective:nnnn on line ...
+Defining \__keys_set_selective:onnn on line ...
+Defining \__keys_set_selective:nn on line ...
 Defining \__keys_set:n on line ...
 Defining \__keys_set:nn on line ...
 Defining \__keys_set_aux:nnn on line ...
@@ -4210,9 +4217,29 @@ Defining \__fp_array_to_clist:n on line ...
 Defining \__fp_array_to_clist_loop:Nw on line ...
 Defining \__fp_parse_word_rand:N on line ...
 Defining \__fp_parse_word_randint:N on line ...
-Defining message LaTeX/kernel/fp-no-random on line ...
+Defining \__fp_rand_uniform: on line ...
+Defining \c__fp_rand_size_int on line ...
+\c__fp_rand_size_int=\count135
+Defining \c__fp_rand_four_int on line ...
+\c__fp_rand_four_int=\count136
+Defining \c__fp_rand_eight_int on line ...
+\c__fp_rand_eight_int=\count137
+Defining \__fp_rand_myriads:n on line ...
+Defining \__fp_rand_myriads_loop:nn on line ...
+Defining \__fp_rand_myriads_get:w on line ...
+Defining \__fp_rand_myriads_last: on line ...
+Defining \__fp_rand_myriads_last:w on line ...
 Defining \__fp_rand_o:Nw on line ...
+Defining \__fp_rand_o: on line ...
 Defining \__fp_randint_o:Nw on line ...
+Defining \__fp_randint_badarg:w on line ...
+Defining \__fp_randint_e:w on line ...
+Defining \__fp_randint_e:wnn on line ...
+Defining \__fp_randint_e:wwNnn on line ...
+Defining \__fp_randint_e:wwwNnn on line ...
+Defining \__fp_randint_narrow_e:nnnn on line ...
+Defining \__fp_randint_wide_e:nnnn on line ...
+Defining \__fp_randint_wide_e:wnnn on line ...
 Defining \fp_new:N on line ...
 Defining \fp_new:c on line ...
 Defining \fp_set:Nn on line ...
@@ -4261,27 +4288,27 @@ Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
 Defining \l__sort_length_int on line ...
-\l__sort_length_int=\count135
+\l__sort_length_int=\count138
 Defining \l__sort_min_int on line ...
-\l__sort_min_int=\count136
+\l__sort_min_int=\count139
 Defining \l__sort_top_int on line ...
-\l__sort_top_int=\count137
+\l__sort_top_int=\count140
 Defining \l__sort_max_int on line ...
-\l__sort_max_int=\count138
+\l__sort_max_int=\count141
 Defining \l__sort_true_max_int on line ...
-\l__sort_true_max_int=\count139
+\l__sort_true_max_int=\count142
 Defining \l__sort_block_int on line ...
-\l__sort_block_int=\count140
+\l__sort_block_int=\count143
 Defining \l__sort_begin_int on line ...
-\l__sort_begin_int=\count141
+\l__sort_begin_int=\count144
 Defining \l__sort_end_int on line ...
-\l__sort_end_int=\count142
+\l__sort_end_int=\count145
 Defining \l__sort_A_int on line ...
-\l__sort_A_int=\count143
+\l__sort_A_int=\count146
 Defining \l__sort_B_int on line ...
-\l__sort_B_int=\count144
+\l__sort_B_int=\count147
 Defining \l__sort_C_int on line ...
-\l__sort_C_int=\count145
+\l__sort_C_int=\count148
 Defining \__sort_shrink_range: on line ...
 Defining \__sort_shrink_range_loop: on line ...
 Defining \__sort_compute_range: on line ...
@@ -4339,9 +4366,9 @@ Defining message LaTeX/sort/return-two on line ...
 Defining \sort_ordered: on line ...
 Defining \sort_reversed: on line ...
 Defining \l__tl_build_start_index_int on line ...
-\l__tl_build_start_index_int=\count146
+\l__tl_build_start_index_int=\count149
 Defining \l__tl_build_index_int on line ...
-\l__tl_build_index_int=\count147
+\l__tl_build_index_int=\count150
 Defining \l__tl_build_result_tl on line ...
 Defining \__tl_build_unpack: on line ...
 Defining \__tl_build_unpack_loop:w on line ...
@@ -4360,13 +4387,13 @@ Defining \l__tl_analysis_internal_tl on line ...
 Defining \l__tl_analysis_token on line ...
 Defining \l__tl_analysis_char_token on line ...
 Defining \l__tl_analysis_normal_int on line ...
-\l__tl_analysis_normal_int=\count148
+\l__tl_analysis_normal_int=\count151
 Defining \l__tl_analysis_index_int on line ...
-\l__tl_analysis_index_int=\count149
+\l__tl_analysis_index_int=\count152
 Defining \l__tl_analysis_nesting_int on line ...
-\l__tl_analysis_nesting_int=\count150
+\l__tl_analysis_nesting_int=\count153
 Defining \l__tl_analysis_type_int on line ...
-\l__tl_analysis_type_int=\count151
+\l__tl_analysis_type_int=\count154
 Defining \g__tl_analysis_result_tl on line ...
 Defining \__tl_analysis_extract_charcode: on line ...
 Defining \__tl_analysis_extract_charcode_aux:w on line ...
@@ -4428,11 +4455,11 @@ Defining \__regex_tmp:w on line ...
 Defining \l__regex_internal_a_tl on line ...
 Defining \l__regex_internal_b_tl on line ...
 Defining \l__regex_internal_a_int on line ...
-\l__regex_internal_a_int=\count152
+\l__regex_internal_a_int=\count155
 Defining \l__regex_internal_b_int on line ...
-\l__regex_internal_b_int=\count153
+\l__regex_internal_b_int=\count156
 Defining \l__regex_internal_c_int on line ...
-\l__regex_internal_c_int=\count154
+\l__regex_internal_c_int=\count157
 Defining \l__regex_internal_bool on line ...
 Defining \l__regex_internal_seq on line ...
 Defining \g__regex_internal_tl on line ...
@@ -4441,7 +4468,7 @@ Defining \g__regex_charcode_intarray on line ...
 Defining \g__regex_catcode_intarray on line ...
 Defining \g__regex_balance_intarray on line ...
 Defining \l__regex_balance_int on line ...
-\l__regex_balance_int=\count155
+\l__regex_balance_int=\count158
 Defining \l__regex_cs_name_tl on line ...
 Defining \c__regex_ascii_min_int on line ...
 Defining \c__regex_ascii_max_control_int on line ...
@@ -4509,21 +4536,21 @@ Defining \__regex_hexadecimal_use:NTF on line ...
 Defining \__regex_char_if_special:NTF on line ...
 Defining \__regex_char_if_alphanumeric:NTF on line ...
 Defining \l__regex_group_level_int on line ...
-\l__regex_group_level_int=\count156
+\l__regex_group_level_int=\count159
 Defining \l__regex_mode_int on line ...
-\l__regex_mode_int=\count157
+\l__regex_mode_int=\count160
 Defining \c__regex_cs_in_class_mode_int on line ...
-\c__regex_cs_in_class_mode_int=\count158
+\c__regex_cs_in_class_mode_int=\count161
 Defining \c__regex_cs_mode_int on line ...
-\c__regex_cs_mode_int=\count159
+\c__regex_cs_mode_int=\count162
 Defining \c__regex_outer_mode_int on line ...
 Defining \c__regex_catcode_mode_int on line ...
 Defining \c__regex_class_mode_int on line ...
 Defining \c__regex_catcode_in_class_mode_int on line ...
 Defining \l__regex_catcodes_int on line ...
-\l__regex_catcodes_int=\count160
+\l__regex_catcodes_int=\count163
 Defining \l__regex_default_catcodes_int on line ...
-\l__regex_default_catcodes_int=\count161
+\l__regex_default_catcodes_int=\count164
 Defining \l__regex_catcodes_bool on line ...
 Defining \c__regex_catcode_C_int on line ...
 Defining \c__regex_catcode_B_int on line ...
@@ -4533,21 +4560,21 @@ Defining \c__regex_catcode_T_int on line ...
 Defining \c__regex_catcode_P_int on line ...
 Defining \c__regex_catcode_U_int on line ...
 Defining \c__regex_catcode_D_int on line ...
-\c__regex_catcode_D_int=\count162
+\c__regex_catcode_D_int=\count165
 Defining \c__regex_catcode_S_int on line ...
-\c__regex_catcode_S_int=\count163
+\c__regex_catcode_S_int=\count166
 Defining \c__regex_catcode_L_int on line ...
-\c__regex_catcode_L_int=\count164
+\c__regex_catcode_L_int=\count167
 Defining \c__regex_catcode_O_int on line ...
-\c__regex_catcode_O_int=\count165
+\c__regex_catcode_O_int=\count168
 Defining \c__regex_catcode_A_int on line ...
-\c__regex_catcode_A_int=\count166
+\c__regex_catcode_A_int=\count169
 Defining \c__regex_all_catcodes_int on line ...
-\c__regex_all_catcodes_int=\count167
+\c__regex_all_catcodes_int=\count170
 Defining \l__regex_internal_regex on line ...
 Defining \l__regex_show_prefix_seq on line ...
 Defining \l__regex_show_lines_int on line ...
-\l__regex_show_lines_int=\count168
+\l__regex_show_lines_int=\count171
 Defining \__regex_get_digits:NTFw on line ...
 Defining \__regex_get_digits_loop:nw on line ...
 Defining \__regex_if_raw_digit:NNTF on line ...
@@ -4651,17 +4678,17 @@ Defining \__regex_show_anchor_to_str:N on line ...
 Defining \__regex_show_item_catcode:NnT on line ...
 Defining \__regex_show_item_exact_cs:n on line ...
 Defining \l__regex_min_state_int on line ...
-\l__regex_min_state_int=\count169
+\l__regex_min_state_int=\count172
 Defining \l__regex_max_state_int on line ...
-\l__regex_max_state_int=\count170
+\l__regex_max_state_int=\count173
 Defining \l__regex_left_state_int on line ...
-\l__regex_left_state_int=\count171
+\l__regex_left_state_int=\count174
 Defining \l__regex_right_state_int on line ...
-\l__regex_right_state_int=\count172
+\l__regex_right_state_int=\count175
 Defining \l__regex_left_state_seq on line ...
 Defining \l__regex_right_state_seq on line ...
 Defining \l__regex_capturing_group_int on line ...
-\l__regex_capturing_group_int=\count173
+\l__regex_capturing_group_int=\count176
 Defining \__regex_build:n on line ...
 Defining \__regex_build:N on line ...
 Defining \__regex_build_for_cs:n on line ...
@@ -4692,33 +4719,33 @@ Defining \__regex_anchor:N on line ...
 Defining \__regex_b_test: on line ...
 Defining \__regex_command_K: on line ...
 Defining \l__regex_min_pos_int on line ...
-\l__regex_min_pos_int=\count174
+\l__regex_min_pos_int=\count177
 Defining \l__regex_max_pos_int on line ...
-\l__regex_max_pos_int=\count175
+\l__regex_max_pos_int=\count178
 Defining \l__regex_current_pos_int on line ...
-\l__regex_current_pos_int=\count176
+\l__regex_current_pos_int=\count179
 Defining \l__regex_start_pos_int on line ...
-\l__regex_start_pos_int=\count177
+\l__regex_start_pos_int=\count180
 Defining \l__regex_success_pos_int on line ...
-\l__regex_success_pos_int=\count178
+\l__regex_success_pos_int=\count181
 Defining \l__regex_current_char_int on line ...
-\l__regex_current_char_int=\count179
+\l__regex_current_char_int=\count182
 Defining \l__regex_current_catcode_int on line ...
-\l__regex_current_catcode_int=\count180
+\l__regex_current_catcode_int=\count183
 Defining \l__regex_last_char_int on line ...
-\l__regex_last_char_int=\count181
+\l__regex_last_char_int=\count184
 Defining \l__regex_case_changed_char_int on line ...
-\l__regex_case_changed_char_int=\count182
+\l__regex_case_changed_char_int=\count185
 Defining \l__regex_current_state_int on line ...
-\l__regex_current_state_int=\count183
+\l__regex_current_state_int=\count186
 Defining \l__regex_current_submatches_prop on line ...
 Defining \l__regex_success_submatches_prop on line ...
 Defining \l__regex_step_int on line ...
-\l__regex_step_int=\count184
+\l__regex_step_int=\count187
 Defining \l__regex_min_active_int on line ...
-\l__regex_min_active_int=\count185
+\l__regex_min_active_int=\count188
 Defining \l__regex_max_active_int on line ...
-\l__regex_max_active_int=\count186
+\l__regex_max_active_int=\count189
 Defining \g__regex_state_active_intarray on line ...
 Defining \g__regex_thread_state_intarray on line ...
 Defining \l__regex_every_match_tl on line ...
@@ -4749,7 +4776,7 @@ Defining \__regex_disable_submatches: on line ...
 Defining \__regex_action_submatch:n on line ...
 Defining \__regex_action_success: on line ...
 Defining \l__regex_replacement_csnames_int on line ...
-\l__regex_replacement_csnames_int=\count187
+\l__regex_replacement_csnames_int=\count190
 Defining \l__regex_replacement_category_tl on line ...
 Defining \l__regex_replacement_category_seq on line ...
 Defining \l__regex_balance_tl on line ...
@@ -4841,15 +4868,15 @@ Defining \regex_split:NnNT on line ...
 Defining \regex_split:NnNF on line ...
 Defining \regex_split:NnNTF on line ...
 Defining \l__regex_match_count_int on line ...
-\l__regex_match_count_int=\count188
+\l__regex_match_count_int=\count191
 Defining \flag __regex_begin on line ...
 Defining \flag __regex_end on line ...
 Defining \l__regex_min_submatch_int on line ...
-\l__regex_min_submatch_int=\count189
+\l__regex_min_submatch_int=\count192
 Defining \l__regex_submatch_int on line ...
-\l__regex_submatch_int=\count190
+\l__regex_submatch_int=\count193
 Defining \l__regex_zeroth_submatch_int on line ...
-\l__regex_zeroth_submatch_int=\count191
+\l__regex_zeroth_submatch_int=\count194
 Defining \g__regex_submatch_prev_intarray on line ...
 Defining \g__regex_submatch_begin_intarray on line ...
 Defining \g__regex_submatch_end_intarray on line ...
@@ -4986,15 +5013,15 @@ Defining \box_gset_to_last:N on line ...
 Defining \box_set_to_last:c on line ...
 Defining \box_gset_to_last:c on line ...
 Defining \c_empty_box on line ...
-\c_empty_box=\box56
+\c_empty_box=\box57
 Defining \l_tmpa_box on line ...
-\l_tmpa_box=\box57
+\l_tmpa_box=\box58
 Defining \l_tmpb_box on line ...
-\l_tmpb_box=\box58
+\l_tmpb_box=\box59
 Defining \g_tmpa_box on line ...
-\g_tmpa_box=\box59
+\g_tmpa_box=\box60
 Defining \g_tmpb_box on line ...
-\g_tmpb_box=\box60
+\g_tmpb_box=\box61
 Defining \box_show:N on line ...
 Defining \box_show:c on line ...
 Defining \box_show:Nnn on line ...
@@ -5077,7 +5104,7 @@ Defining \l__box_left_new_dim on line ...
 Defining \l__box_right_new_dim on line ...
 \l__box_right_new_dim=\dimen145
 Defining \l__box_internal_box on line ...
-\l__box_internal_box=\box61
+\l__box_internal_box=\box62
 Defining \box_rotate:Nn on line ...
 Defining \__box_rotate:N on line ...
 Defining \__box_rotate_x:nnN on line ...
@@ -5113,7 +5140,7 @@ Defining \__box_resize_common:N on line ...
 Defining \box_resize:Nnn on line ...
 Defining \box_resize:cnn on line ...
 Defining \l__coffin_internal_box on line ...
-\l__coffin_internal_box=\box62
+\l__coffin_internal_box=\box63
 Defining \l__coffin_internal_dim on line ...
 \l__coffin_internal_dim=\dimen146
 Defining \l__coffin_internal_tl on line ...
@@ -5164,15 +5191,15 @@ Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
 Defining \c_empty_coffin on line ...
-\c_empty_coffin=\box63
+\c_empty_coffin=\box64
 Defining \l__coffin_aligned_coffin on line ...
-\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_coffin=\box65
 Defining \l__coffin_aligned_internal_coffin on line ...
-\l__coffin_aligned_internal_coffin=\box65
+\l__coffin_aligned_internal_coffin=\box66
 Defining \l_tmpa_coffin on line ...
-\l_tmpa_coffin=\box66
+\l_tmpa_coffin=\box67
 Defining \l_tmpb_coffin on line ...
-\l_tmpb_coffin=\box67
+\l_tmpb_coffin=\box68
 Defining \coffin_dp:N on line ...
 Defining \coffin_dp:c on line ...
 Defining \coffin_ht:N on line ...
@@ -5216,11 +5243,11 @@ Defining \__coffin_update_B:nnnnnnnnN on line ...
 Defining \coffin_typeset:Nnnnn on line ...
 Defining \coffin_typeset:cnnnn on line ...
 Defining \l__coffin_display_coffin on line ...
-\l__coffin_display_coffin=\box68
+\l__coffin_display_coffin=\box69
 Defining \l__coffin_display_coord_coffin on line ...
-\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_coord_coffin=\box70
 Defining \l__coffin_display_pole_coffin on line ...
-\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_pole_coffin=\box71
 Defining \l__coffin_display_handles_prop on line ...
 Defining \l__coffin_display_offset_dim on line ...
 \l__coffin_display_offset_dim=\dimen153
@@ -5346,6 +5373,11 @@ Defining \file_if_exist_input:nTF on line ...
 Defining \ior_log_streams: on line ...
 Defining \iow_log_streams: on line ...
 Defining \int_rand:nn on line ...
+Defining \__int_rand:ww on line ...
+Defining \__int_rand_narrow:nn on line ...
+Defining \__int_rand_narrow:nnn on line ...
+Defining \__int_rand_narrow:nnnn on line ...
+Defining message LaTeX/kernel/backward-range on line ...
 Defining \msg_expandable_error:nnnnnn on line ...
 Defining \msg_expandable_error:nnnnn on line ...
 Defining \msg_expandable_error:nnnn on line ...
@@ -5616,7 +5648,7 @@ Defining \__driver_image_getbb_jpg:n on line ...
 Defining \__driver_image_getbb_png:n on line ...
 Defining \__driver_image_getbb_pdf:n on line ...
 Defining \g__driver_image_int on line ...
-\g__driver_image_int=\count192
+\g__driver_image_int=\count195
 Defining \__driver_image_include_eps:n on line ...
 Defining \__driver_image_include_jpg:n on line ...
 Defining \__driver_image_include_png:n on line ...
@@ -5670,7 +5702,7 @@ Defining \__driver_draw_color_rgb_stroke:nnn on line ...
 Defining \__driver_draw_transformcm:nnnnnn on line ...
 Defining \__driver_draw_hbox:Nnnnnnn on line ...
 Defining \l__driver_tmp_box on line ...
-\l__driver_tmp_box=\box71
+\l__driver_tmp_box=\box72
 )
 Defining \__expl_status_pop:w on line ...
 Defining \l__expl_status_stack_tl on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 78e56ea..e983239 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -3388,6 +3388,7 @@ Defining \keys_set_known:nn on line ...
 Defining \keys_set_known:nV on line ...
 Defining \keys_set_known:nv on line ...
 Defining \keys_set_known:no on line ...
+Defining \__keys_set_known:nn on line ...
 Defining \keys_set_filter:nnnN on line ...
 Defining \exp_args:NnnV on line ...
 Defining \keys_set_filter:nnVN on line ...
@@ -3400,10 +3401,16 @@ Defining \keys_set_filter:nnn on line ...
 Defining \keys_set_filter:nnV on line ...
 Defining \keys_set_filter:nnv on line ...
 Defining \keys_set_filter:nno on line ...
+Defining \__keys_set_filter:nnn on line ...
 Defining \keys_set_groups:nnn on line ...
 Defining \keys_set_groups:nnV on line ...
 Defining \keys_set_groups:nnv on line ...
 Defining \keys_set_groups:nno on line ...
+Defining \__keys_set_groups:nnn on line ...
+Defining \__keys_set_selective:nnn on line ...
+Defining \__keys_set_selective:nnnn on line ...
+Defining \__keys_set_selective:onnn on line ...
+Defining \__keys_set_selective:nn on line ...
 Defining \__keys_set:n on line ...
 Defining \__keys_set:nn on line ...
 Defining \__keys_set_aux:nnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 8039c36..effb8da 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -3388,6 +3388,7 @@ Defining \keys_set_known:nn on line ...
 Defining \keys_set_known:nV on line ...
 Defining \keys_set_known:nv on line ...
 Defining \keys_set_known:no on line ...
+Defining \__keys_set_known:nn on line ...
 Defining \keys_set_filter:nnnN on line ...
 Defining \exp_args:NnnV on line ...
 Defining \keys_set_filter:nnVN on line ...
@@ -3400,10 +3401,16 @@ Defining \keys_set_filter:nnn on line ...
 Defining \keys_set_filter:nnV on line ...
 Defining \keys_set_filter:nnv on line ...
 Defining \keys_set_filter:nno on line ...
+Defining \__keys_set_filter:nnn on line ...
 Defining \keys_set_groups:nnn on line ...
 Defining \keys_set_groups:nnV on line ...
 Defining \keys_set_groups:nnv on line ...
 Defining \keys_set_groups:nno on line ...
+Defining \__keys_set_groups:nnn on line ...
+Defining \__keys_set_selective:nnn on line ...
+Defining \__keys_set_selective:nnnn on line ...
+Defining \__keys_set_selective:onnn on line ...
+Defining \__keys_set_selective:nn on line ...
 Defining \__keys_set:n on line ...
 Defining \__keys_set:nn on line ...
 Defining \__keys_set_aux:nnn on line ...
@@ -4210,9 +4217,29 @@ Defining \__fp_array_to_clist:n on line ...
 Defining \__fp_array_to_clist_loop:Nw on line ...
 Defining \__fp_parse_word_rand:N on line ...
 Defining \__fp_parse_word_randint:N on line ...
-Defining message LaTeX/kernel/fp-no-random on line ...
+Defining \__fp_rand_uniform: on line ...
+Defining \c__fp_rand_size_int on line ...
+\c__fp_rand_size_int=\count135
+Defining \c__fp_rand_four_int on line ...
+\c__fp_rand_four_int=\count136
+Defining \c__fp_rand_eight_int on line ...
+\c__fp_rand_eight_int=\count137
+Defining \__fp_rand_myriads:n on line ...
+Defining \__fp_rand_myriads_loop:nn on line ...
+Defining \__fp_rand_myriads_get:w on line ...
+Defining \__fp_rand_myriads_last: on line ...
+Defining \__fp_rand_myriads_last:w on line ...
 Defining \__fp_rand_o:Nw on line ...
+Defining \__fp_rand_o: on line ...
 Defining \__fp_randint_o:Nw on line ...
+Defining \__fp_randint_badarg:w on line ...
+Defining \__fp_randint_e:w on line ...
+Defining \__fp_randint_e:wnn on line ...
+Defining \__fp_randint_e:wwNnn on line ...
+Defining \__fp_randint_e:wwwNnn on line ...
+Defining \__fp_randint_narrow_e:nnnn on line ...
+Defining \__fp_randint_wide_e:nnnn on line ...
+Defining \__fp_randint_wide_e:wnnn on line ...
 Defining \fp_new:N on line ...
 Defining \fp_new:c on line ...
 Defining \fp_set:Nn on line ...
@@ -4261,27 +4288,27 @@ Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
 Defining \l__sort_length_int on line ...
-\l__sort_length_int=\count135
+\l__sort_length_int=\count138
 Defining \l__sort_min_int on line ...
-\l__sort_min_int=\count136
+\l__sort_min_int=\count139
 Defining \l__sort_top_int on line ...
-\l__sort_top_int=\count137
+\l__sort_top_int=\count140
 Defining \l__sort_max_int on line ...
-\l__sort_max_int=\count138
+\l__sort_max_int=\count141
 Defining \l__sort_true_max_int on line ...
-\l__sort_true_max_int=\count139
+\l__sort_true_max_int=\count142
 Defining \l__sort_block_int on line ...
-\l__sort_block_int=\count140
+\l__sort_block_int=\count143
 Defining \l__sort_begin_int on line ...
-\l__sort_begin_int=\count141
+\l__sort_begin_int=\count144
 Defining \l__sort_end_int on line ...
-\l__sort_end_int=\count142
+\l__sort_end_int=\count145
 Defining \l__sort_A_int on line ...
-\l__sort_A_int=\count143
+\l__sort_A_int=\count146
 Defining \l__sort_B_int on line ...
-\l__sort_B_int=\count144
+\l__sort_B_int=\count147
 Defining \l__sort_C_int on line ...
-\l__sort_C_int=\count145
+\l__sort_C_int=\count148
 Defining \__sort_shrink_range: on line ...
 Defining \__sort_shrink_range_loop: on line ...
 Defining \__sort_compute_range: on line ...
@@ -4339,9 +4366,9 @@ Defining message LaTeX/sort/return-two on line ...
 Defining \sort_ordered: on line ...
 Defining \sort_reversed: on line ...
 Defining \l__tl_build_start_index_int on line ...
-\l__tl_build_start_index_int=\count146
+\l__tl_build_start_index_int=\count149
 Defining \l__tl_build_index_int on line ...
-\l__tl_build_index_int=\count147
+\l__tl_build_index_int=\count150
 Defining \l__tl_build_result_tl on line ...
 Defining \__tl_build_unpack: on line ...
 Defining \__tl_build_unpack_loop:w on line ...
@@ -4360,13 +4387,13 @@ Defining \l__tl_analysis_internal_tl on line ...
 Defining \l__tl_analysis_token on line ...
 Defining \l__tl_analysis_char_token on line ...
 Defining \l__tl_analysis_normal_int on line ...
-\l__tl_analysis_normal_int=\count148
+\l__tl_analysis_normal_int=\count151
 Defining \l__tl_analysis_index_int on line ...
-\l__tl_analysis_index_int=\count149
+\l__tl_analysis_index_int=\count152
 Defining \l__tl_analysis_nesting_int on line ...
-\l__tl_analysis_nesting_int=\count150
+\l__tl_analysis_nesting_int=\count153
 Defining \l__tl_analysis_type_int on line ...
-\l__tl_analysis_type_int=\count151
+\l__tl_analysis_type_int=\count154
 Defining \g__tl_analysis_result_tl on line ...
 Defining \__tl_analysis_extract_charcode: on line ...
 Defining \__tl_analysis_extract_charcode_aux:w on line ...
@@ -4428,11 +4455,11 @@ Defining \__regex_tmp:w on line ...
 Defining \l__regex_internal_a_tl on line ...
 Defining \l__regex_internal_b_tl on line ...
 Defining \l__regex_internal_a_int on line ...
-\l__regex_internal_a_int=\count152
+\l__regex_internal_a_int=\count155
 Defining \l__regex_internal_b_int on line ...
-\l__regex_internal_b_int=\count153
+\l__regex_internal_b_int=\count156
 Defining \l__regex_internal_c_int on line ...
-\l__regex_internal_c_int=\count154
+\l__regex_internal_c_int=\count157
 Defining \l__regex_internal_bool on line ...
 Defining \l__regex_internal_seq on line ...
 Defining \g__regex_internal_tl on line ...
@@ -4441,7 +4468,7 @@ Defining \g__regex_charcode_intarray on line ...
 Defining \g__regex_catcode_intarray on line ...
 Defining \g__regex_balance_intarray on line ...
 Defining \l__regex_balance_int on line ...
-\l__regex_balance_int=\count155
+\l__regex_balance_int=\count158
 Defining \l__regex_cs_name_tl on line ...
 Defining \c__regex_ascii_min_int on line ...
 Defining \c__regex_ascii_max_control_int on line ...
@@ -4509,21 +4536,21 @@ Defining \__regex_hexadecimal_use:NTF on line ...
 Defining \__regex_char_if_special:NTF on line ...
 Defining \__regex_char_if_alphanumeric:NTF on line ...
 Defining \l__regex_group_level_int on line ...
-\l__regex_group_level_int=\count156
+\l__regex_group_level_int=\count159
 Defining \l__regex_mode_int on line ...
-\l__regex_mode_int=\count157
+\l__regex_mode_int=\count160
 Defining \c__regex_cs_in_class_mode_int on line ...
-\c__regex_cs_in_class_mode_int=\count158
+\c__regex_cs_in_class_mode_int=\count161
 Defining \c__regex_cs_mode_int on line ...
-\c__regex_cs_mode_int=\count159
+\c__regex_cs_mode_int=\count162
 Defining \c__regex_outer_mode_int on line ...
 Defining \c__regex_catcode_mode_int on line ...
 Defining \c__regex_class_mode_int on line ...
 Defining \c__regex_catcode_in_class_mode_int on line ...
 Defining \l__regex_catcodes_int on line ...
-\l__regex_catcodes_int=\count160
+\l__regex_catcodes_int=\count163
 Defining \l__regex_default_catcodes_int on line ...
-\l__regex_default_catcodes_int=\count161
+\l__regex_default_catcodes_int=\count164
 Defining \l__regex_catcodes_bool on line ...
 Defining \c__regex_catcode_C_int on line ...
 Defining \c__regex_catcode_B_int on line ...
@@ -4535,17 +4562,17 @@ Defining \c__regex_catcode_U_int on line ...
 Defining \c__regex_catcode_D_int on line ...
 Defining \c__regex_catcode_S_int on line ...
 Defining \c__regex_catcode_L_int on line ...
-\c__regex_catcode_L_int=\count162
+\c__regex_catcode_L_int=\count165
 Defining \c__regex_catcode_O_int on line ...
-\c__regex_catcode_O_int=\count163
+\c__regex_catcode_O_int=\count166
 Defining \c__regex_catcode_A_int on line ...
-\c__regex_catcode_A_int=\count164
+\c__regex_catcode_A_int=\count167
 Defining \c__regex_all_catcodes_int on line ...
-\c__regex_all_catcodes_int=\count165
+\c__regex_all_catcodes_int=\count168
 Defining \l__regex_internal_regex on line ...
 Defining \l__regex_show_prefix_seq on line ...
 Defining \l__regex_show_lines_int on line ...
-\l__regex_show_lines_int=\count166
+\l__regex_show_lines_int=\count169
 Defining \__regex_get_digits:NTFw on line ...
 Defining \__regex_get_digits_loop:nw on line ...
 Defining \__regex_if_raw_digit:NNTF on line ...
@@ -4649,17 +4676,17 @@ Defining \__regex_show_anchor_to_str:N on line ...
 Defining \__regex_show_item_catcode:NnT on line ...
 Defining \__regex_show_item_exact_cs:n on line ...
 Defining \l__regex_min_state_int on line ...
-\l__regex_min_state_int=\count167
+\l__regex_min_state_int=\count170
 Defining \l__regex_max_state_int on line ...
-\l__regex_max_state_int=\count168
+\l__regex_max_state_int=\count171
 Defining \l__regex_left_state_int on line ...
-\l__regex_left_state_int=\count169
+\l__regex_left_state_int=\count172
 Defining \l__regex_right_state_int on line ...
-\l__regex_right_state_int=\count170
+\l__regex_right_state_int=\count173
 Defining \l__regex_left_state_seq on line ...
 Defining \l__regex_right_state_seq on line ...
 Defining \l__regex_capturing_group_int on line ...
-\l__regex_capturing_group_int=\count171
+\l__regex_capturing_group_int=\count174
 Defining \__regex_build:n on line ...
 Defining \__regex_build:N on line ...
 Defining \__regex_build_for_cs:n on line ...
@@ -4690,33 +4717,33 @@ Defining \__regex_anchor:N on line ...
 Defining \__regex_b_test: on line ...
 Defining \__regex_command_K: on line ...
 Defining \l__regex_min_pos_int on line ...
-\l__regex_min_pos_int=\count172
+\l__regex_min_pos_int=\count175
 Defining \l__regex_max_pos_int on line ...
-\l__regex_max_pos_int=\count173
+\l__regex_max_pos_int=\count176
 Defining \l__regex_current_pos_int on line ...
-\l__regex_current_pos_int=\count174
+\l__regex_current_pos_int=\count177
 Defining \l__regex_start_pos_int on line ...
-\l__regex_start_pos_int=\count175
+\l__regex_start_pos_int=\count178
 Defining \l__regex_success_pos_int on line ...
-\l__regex_success_pos_int=\count176
+\l__regex_success_pos_int=\count179
 Defining \l__regex_current_char_int on line ...
-\l__regex_current_char_int=\count177
+\l__regex_current_char_int=\count180
 Defining \l__regex_current_catcode_int on line ...
-\l__regex_current_catcode_int=\count178
+\l__regex_current_catcode_int=\count181
 Defining \l__regex_last_char_int on line ...
-\l__regex_last_char_int=\count179
+\l__regex_last_char_int=\count182
 Defining \l__regex_case_changed_char_int on line ...
-\l__regex_case_changed_char_int=\count180
+\l__regex_case_changed_char_int=\count183
 Defining \l__regex_current_state_int on line ...
-\l__regex_current_state_int=\count181
+\l__regex_current_state_int=\count184
 Defining \l__regex_current_submatches_prop on line ...
 Defining \l__regex_success_submatches_prop on line ...
 Defining \l__regex_step_int on line ...
-\l__regex_step_int=\count182
+\l__regex_step_int=\count185
 Defining \l__regex_min_active_int on line ...
-\l__regex_min_active_int=\count183
+\l__regex_min_active_int=\count186
 Defining \l__regex_max_active_int on line ...
-\l__regex_max_active_int=\count184
+\l__regex_max_active_int=\count187
 Defining \g__regex_state_active_intarray on line ...
 Defining \g__regex_thread_state_intarray on line ...
 Defining \l__regex_every_match_tl on line ...
@@ -4747,7 +4774,7 @@ Defining \__regex_disable_submatches: on line ...
 Defining \__regex_action_submatch:n on line ...
 Defining \__regex_action_success: on line ...
 Defining \l__regex_replacement_csnames_int on line ...
-\l__regex_replacement_csnames_int=\count185
+\l__regex_replacement_csnames_int=\count188
 Defining \l__regex_replacement_category_tl on line ...
 Defining \l__regex_replacement_category_seq on line ...
 Defining \l__regex_balance_tl on line ...
@@ -4839,15 +4866,15 @@ Defining \regex_split:NnNT on line ...
 Defining \regex_split:NnNF on line ...
 Defining \regex_split:NnNTF on line ...
 Defining \l__regex_match_count_int on line ...
-\l__regex_match_count_int=\count186
+\l__regex_match_count_int=\count189
 Defining \flag __regex_begin on line ...
 Defining \flag __regex_end on line ...
 Defining \l__regex_min_submatch_int on line ...
-\l__regex_min_submatch_int=\count187
+\l__regex_min_submatch_int=\count190
 Defining \l__regex_submatch_int on line ...
-\l__regex_submatch_int=\count188
+\l__regex_submatch_int=\count191
 Defining \l__regex_zeroth_submatch_int on line ...
-\l__regex_zeroth_submatch_int=\count189
+\l__regex_zeroth_submatch_int=\count192
 Defining \g__regex_submatch_prev_intarray on line ...
 Defining \g__regex_submatch_begin_intarray on line ...
 Defining \g__regex_submatch_end_intarray on line ...
@@ -4984,15 +5011,15 @@ Defining \box_gset_to_last:N on line ...
 Defining \box_set_to_last:c on line ...
 Defining \box_gset_to_last:c on line ...
 Defining \c_empty_box on line ...
-\c_empty_box=\box56
+\c_empty_box=\box57
 Defining \l_tmpa_box on line ...
-\l_tmpa_box=\box57
+\l_tmpa_box=\box58
 Defining \l_tmpb_box on line ...
-\l_tmpb_box=\box58
+\l_tmpb_box=\box59
 Defining \g_tmpa_box on line ...
-\g_tmpa_box=\box59
+\g_tmpa_box=\box60
 Defining \g_tmpb_box on line ...
-\g_tmpb_box=\box60
+\g_tmpb_box=\box61
 Defining \box_show:N on line ...
 Defining \box_show:c on line ...
 Defining \box_show:Nnn on line ...
@@ -5075,7 +5102,7 @@ Defining \l__box_left_new_dim on line ...
 Defining \l__box_right_new_dim on line ...
 \l__box_right_new_dim=\dimen145
 Defining \l__box_internal_box on line ...
-\l__box_internal_box=\box61
+\l__box_internal_box=\box62
 Defining \box_rotate:Nn on line ...
 Defining \__box_rotate:N on line ...
 Defining \__box_rotate_x:nnN on line ...
@@ -5111,7 +5138,7 @@ Defining \__box_resize_common:N on line ...
 Defining \box_resize:Nnn on line ...
 Defining \box_resize:cnn on line ...
 Defining \l__coffin_internal_box on line ...
-\l__coffin_internal_box=\box62
+\l__coffin_internal_box=\box63
 Defining \l__coffin_internal_dim on line ...
 \l__coffin_internal_dim=\dimen146
 Defining \l__coffin_internal_tl on line ...
@@ -5162,15 +5189,15 @@ Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
 Defining \c_empty_coffin on line ...
-\c_empty_coffin=\box63
+\c_empty_coffin=\box64
 Defining \l__coffin_aligned_coffin on line ...
-\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_coffin=\box65
 Defining \l__coffin_aligned_internal_coffin on line ...
-\l__coffin_aligned_internal_coffin=\box65
+\l__coffin_aligned_internal_coffin=\box66
 Defining \l_tmpa_coffin on line ...
-\l_tmpa_coffin=\box66
+\l_tmpa_coffin=\box67
 Defining \l_tmpb_coffin on line ...
-\l_tmpb_coffin=\box67
+\l_tmpb_coffin=\box68
 Defining \coffin_dp:N on line ...
 Defining \coffin_dp:c on line ...
 Defining \coffin_ht:N on line ...
@@ -5214,11 +5241,11 @@ Defining \__coffin_update_B:nnnnnnnnN on line ...
 Defining \coffin_typeset:Nnnnn on line ...
 Defining \coffin_typeset:cnnnn on line ...
 Defining \l__coffin_display_coffin on line ...
-\l__coffin_display_coffin=\box68
+\l__coffin_display_coffin=\box69
 Defining \l__coffin_display_coord_coffin on line ...
-\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_coord_coffin=\box70
 Defining \l__coffin_display_pole_coffin on line ...
-\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_pole_coffin=\box71
 Defining \l__coffin_display_handles_prop on line ...
 Defining \l__coffin_display_offset_dim on line ...
 \l__coffin_display_offset_dim=\dimen153
@@ -5344,6 +5371,11 @@ Defining \file_if_exist_input:nTF on line ...
 Defining \ior_log_streams: on line ...
 Defining \iow_log_streams: on line ...
 Defining \int_rand:nn on line ...
+Defining \__int_rand:ww on line ...
+Defining \__int_rand_narrow:nn on line ...
+Defining \__int_rand_narrow:nnn on line ...
+Defining \__int_rand_narrow:nnnn on line ...
+Defining message LaTeX/kernel/backward-range on line ...
 Defining \msg_expandable_error:nnnnnn on line ...
 Defining \msg_expandable_error:nnnnn on line ...
 Defining \msg_expandable_error:nnnn on line ...
@@ -5815,7 +5847,7 @@ Defining \__driver_image_getbb_jpg:n on line ...
 Defining \__driver_image_getbb_png:n on line ...
 Defining \__driver_image_getbb_pdf:n on line ...
 Defining \g__driver_image_int on line ...
-\g__driver_image_int=\count190
+\g__driver_image_int=\count193
 Defining \__driver_image_include_eps:n on line ...
 Defining \__driver_image_include_jpg:n on line ...
 Defining \__driver_image_include_png:n on line ...
@@ -5869,7 +5901,7 @@ Defining \__driver_draw_color_rgb_stroke:nnn on line ...
 Defining \__driver_draw_transformcm:nnnnnn on line ...
 Defining \__driver_draw_hbox:Nnnnnnn on line ...
 Defining \l__driver_tmp_box on line ...
-\l__driver_tmp_box=\box71
+\l__driver_tmp_box=\box72
 )
 Defining \__expl_status_pop:w on line ...
 Defining \l__expl_status_stack_tl on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 9972e0f..66a524e 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -3398,6 +3398,7 @@ Defining \keys_set_known:nn on line ...
 Defining \keys_set_known:nV on line ...
 Defining \keys_set_known:nv on line ...
 Defining \keys_set_known:no on line ...
+Defining \__keys_set_known:nn on line ...
 Defining \keys_set_filter:nnnN on line ...
 Defining \exp_args:NnnV on line ...
 Defining \keys_set_filter:nnVN on line ...
@@ -3410,10 +3411,16 @@ Defining \keys_set_filter:nnn on line ...
 Defining \keys_set_filter:nnV on line ...
 Defining \keys_set_filter:nnv on line ...
 Defining \keys_set_filter:nno on line ...
+Defining \__keys_set_filter:nnn on line ...
 Defining \keys_set_groups:nnn on line ...
 Defining \keys_set_groups:nnV on line ...
 Defining \keys_set_groups:nnv on line ...
 Defining \keys_set_groups:nno on line ...
+Defining \__keys_set_groups:nnn on line ...
+Defining \__keys_set_selective:nnn on line ...
+Defining \__keys_set_selective:nnnn on line ...
+Defining \__keys_set_selective:onnn on line ...
+Defining \__keys_set_selective:nn on line ...
 Defining \__keys_set:n on line ...
 Defining \__keys_set:nn on line ...
 Defining \__keys_set_aux:nnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 2099142..717a897 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -3401,6 +3401,7 @@ Defining \keys_set_known:nn on line ...
 Defining \keys_set_known:nV on line ...
 Defining \keys_set_known:nv on line ...
 Defining \keys_set_known:no on line ...
+Defining \__keys_set_known:nn on line ...
 Defining \keys_set_filter:nnnN on line ...
 Defining \exp_args:NnnV on line ...
 Defining \keys_set_filter:nnVN on line ...
@@ -3413,10 +3414,16 @@ Defining \keys_set_filter:nnn on line ...
 Defining \keys_set_filter:nnV on line ...
 Defining \keys_set_filter:nnv on line ...
 Defining \keys_set_filter:nno on line ...
+Defining \__keys_set_filter:nnn on line ...
 Defining \keys_set_groups:nnn on line ...
 Defining \keys_set_groups:nnV on line ...
 Defining \keys_set_groups:nnv on line ...
 Defining \keys_set_groups:nno on line ...
+Defining \__keys_set_groups:nnn on line ...
+Defining \__keys_set_selective:nnn on line ...
+Defining \__keys_set_selective:nnnn on line ...
+Defining \__keys_set_selective:onnn on line ...
+Defining \__keys_set_selective:nn on line ...
 Defining \__keys_set:n on line ...
 Defining \__keys_set:nn on line ...
 Defining \__keys_set_aux:nnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index f460add..a9f6156 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -3389,6 +3389,7 @@ Defining \keys_set_known:nn on line ...
 Defining \keys_set_known:nV on line ...
 Defining \keys_set_known:nv on line ...
 Defining \keys_set_known:no on line ...
+Defining \__keys_set_known:nn on line ...
 Defining \keys_set_filter:nnnN on line ...
 Defining \exp_args:NnnV on line ...
 Defining \keys_set_filter:nnVN on line ...
@@ -3401,10 +3402,16 @@ Defining \keys_set_filter:nnn on line ...
 Defining \keys_set_filter:nnV on line ...
 Defining \keys_set_filter:nnv on line ...
 Defining \keys_set_filter:nno on line ...
+Defining \__keys_set_filter:nnn on line ...
 Defining \keys_set_groups:nnn on line ...
 Defining \keys_set_groups:nnV on line ...
 Defining \keys_set_groups:nnv on line ...
 Defining \keys_set_groups:nno on line ...
+Defining \__keys_set_groups:nnn on line ...
+Defining \__keys_set_selective:nnn on line ...
+Defining \__keys_set_selective:nnnn on line ...
+Defining \__keys_set_selective:onnn on line ...
+Defining \__keys_set_selective:nn on line ...
 Defining \__keys_set:n on line ...
 Defining \__keys_set:nn on line ...
 Defining \__keys_set_aux:nnn on line ...
@@ -4211,9 +4218,29 @@ Defining \__fp_array_to_clist:n on line ...
 Defining \__fp_array_to_clist_loop:Nw on line ...
 Defining \__fp_parse_word_rand:N on line ...
 Defining \__fp_parse_word_randint:N on line ...
-Defining message LaTeX/kernel/fp-no-random on line ...
+Defining \__fp_rand_uniform: on line ...
+Defining \c__fp_rand_size_int on line ...
+\c__fp_rand_size_int=\count135
+Defining \c__fp_rand_four_int on line ...
+\c__fp_rand_four_int=\count136
+Defining \c__fp_rand_eight_int on line ...
+\c__fp_rand_eight_int=\count137
+Defining \__fp_rand_myriads:n on line ...
+Defining \__fp_rand_myriads_loop:nn on line ...
+Defining \__fp_rand_myriads_get:w on line ...
+Defining \__fp_rand_myriads_last: on line ...
+Defining \__fp_rand_myriads_last:w on line ...
 Defining \__fp_rand_o:Nw on line ...
+Defining \__fp_rand_o: on line ...
 Defining \__fp_randint_o:Nw on line ...
+Defining \__fp_randint_badarg:w on line ...
+Defining \__fp_randint_e:w on line ...
+Defining \__fp_randint_e:wnn on line ...
+Defining \__fp_randint_e:wwNnn on line ...
+Defining \__fp_randint_e:wwwNnn on line ...
+Defining \__fp_randint_narrow_e:nnnn on line ...
+Defining \__fp_randint_wide_e:nnnn on line ...
+Defining \__fp_randint_wide_e:wnnn on line ...
 Defining \fp_new:N on line ...
 Defining \fp_new:c on line ...
 Defining \fp_set:Nn on line ...
@@ -4262,27 +4289,27 @@ Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
 Defining \l__sort_length_int on line ...
-\l__sort_length_int=\count135
+\l__sort_length_int=\count138
 Defining \l__sort_min_int on line ...
-\l__sort_min_int=\count136
+\l__sort_min_int=\count139
 Defining \l__sort_top_int on line ...
-\l__sort_top_int=\count137
+\l__sort_top_int=\count140
 Defining \l__sort_max_int on line ...
-\l__sort_max_int=\count138
+\l__sort_max_int=\count141
 Defining \l__sort_true_max_int on line ...
-\l__sort_true_max_int=\count139
+\l__sort_true_max_int=\count142
 Defining \l__sort_block_int on line ...
-\l__sort_block_int=\count140
+\l__sort_block_int=\count143
 Defining \l__sort_begin_int on line ...
-\l__sort_begin_int=\count141
+\l__sort_begin_int=\count144
 Defining \l__sort_end_int on line ...
-\l__sort_end_int=\count142
+\l__sort_end_int=\count145
 Defining \l__sort_A_int on line ...
-\l__sort_A_int=\count143
+\l__sort_A_int=\count146
 Defining \l__sort_B_int on line ...
-\l__sort_B_int=\count144
+\l__sort_B_int=\count147
 Defining \l__sort_C_int on line ...
-\l__sort_C_int=\count145
+\l__sort_C_int=\count148
 Defining \__sort_shrink_range: on line ...
 Defining \__sort_shrink_range_loop: on line ...
 Defining \__sort_compute_range: on line ...
@@ -4340,9 +4367,9 @@ Defining message LaTeX/sort/return-two on line ...
 Defining \sort_ordered: on line ...
 Defining \sort_reversed: on line ...
 Defining \l__tl_build_start_index_int on line ...
-\l__tl_build_start_index_int=\count146
+\l__tl_build_start_index_int=\count149
 Defining \l__tl_build_index_int on line ...
-\l__tl_build_index_int=\count147
+\l__tl_build_index_int=\count150
 Defining \l__tl_build_result_tl on line ...
 Defining \__tl_build_unpack: on line ...
 Defining \__tl_build_unpack_loop:w on line ...
@@ -4361,13 +4388,13 @@ Defining \l__tl_analysis_internal_tl on line ...
 Defining \l__tl_analysis_token on line ...
 Defining \l__tl_analysis_char_token on line ...
 Defining \l__tl_analysis_normal_int on line ...
-\l__tl_analysis_normal_int=\count148
+\l__tl_analysis_normal_int=\count151
 Defining \l__tl_analysis_index_int on line ...
-\l__tl_analysis_index_int=\count149
+\l__tl_analysis_index_int=\count152
 Defining \l__tl_analysis_nesting_int on line ...
-\l__tl_analysis_nesting_int=\count150
+\l__tl_analysis_nesting_int=\count153
 Defining \l__tl_analysis_type_int on line ...
-\l__tl_analysis_type_int=\count151
+\l__tl_analysis_type_int=\count154
 Defining \g__tl_analysis_result_tl on line ...
 Defining \__tl_analysis_extract_charcode: on line ...
 Defining \__tl_analysis_extract_charcode_aux:w on line ...
@@ -4429,11 +4456,11 @@ Defining \__regex_tmp:w on line ...
 Defining \l__regex_internal_a_tl on line ...
 Defining \l__regex_internal_b_tl on line ...
 Defining \l__regex_internal_a_int on line ...
-\l__regex_internal_a_int=\count152
+\l__regex_internal_a_int=\count155
 Defining \l__regex_internal_b_int on line ...
-\l__regex_internal_b_int=\count153
+\l__regex_internal_b_int=\count156
 Defining \l__regex_internal_c_int on line ...
-\l__regex_internal_c_int=\count154
+\l__regex_internal_c_int=\count157
 Defining \l__regex_internal_bool on line ...
 Defining \l__regex_internal_seq on line ...
 Defining \g__regex_internal_tl on line ...
@@ -4442,7 +4469,7 @@ Defining \g__regex_charcode_intarray on line ...
 Defining \g__regex_catcode_intarray on line ...
 Defining \g__regex_balance_intarray on line ...
 Defining \l__regex_balance_int on line ...
-\l__regex_balance_int=\count155
+\l__regex_balance_int=\count158
 Defining \l__regex_cs_name_tl on line ...
 Defining \c__regex_ascii_min_int on line ...
 Defining \c__regex_ascii_max_control_int on line ...
@@ -4510,21 +4537,21 @@ Defining \__regex_hexadecimal_use:NTF on line ...
 Defining \__regex_char_if_special:NTF on line ...
 Defining \__regex_char_if_alphanumeric:NTF on line ...
 Defining \l__regex_group_level_int on line ...
-\l__regex_group_level_int=\count156
+\l__regex_group_level_int=\count159
 Defining \l__regex_mode_int on line ...
-\l__regex_mode_int=\count157
+\l__regex_mode_int=\count160
 Defining \c__regex_cs_in_class_mode_int on line ...
-\c__regex_cs_in_class_mode_int=\count158
+\c__regex_cs_in_class_mode_int=\count161
 Defining \c__regex_cs_mode_int on line ...
-\c__regex_cs_mode_int=\count159
+\c__regex_cs_mode_int=\count162
 Defining \c__regex_outer_mode_int on line ...
 Defining \c__regex_catcode_mode_int on line ...
 Defining \c__regex_class_mode_int on line ...
 Defining \c__regex_catcode_in_class_mode_int on line ...
 Defining \l__regex_catcodes_int on line ...
-\l__regex_catcodes_int=\count160
+\l__regex_catcodes_int=\count163
 Defining \l__regex_default_catcodes_int on line ...
-\l__regex_default_catcodes_int=\count161
+\l__regex_default_catcodes_int=\count164
 Defining \l__regex_catcodes_bool on line ...
 Defining \c__regex_catcode_C_int on line ...
 Defining \c__regex_catcode_B_int on line ...
@@ -4534,21 +4561,21 @@ Defining \c__regex_catcode_T_int on line ...
 Defining \c__regex_catcode_P_int on line ...
 Defining \c__regex_catcode_U_int on line ...
 Defining \c__regex_catcode_D_int on line ...
-\c__regex_catcode_D_int=\count162
+\c__regex_catcode_D_int=\count165
 Defining \c__regex_catcode_S_int on line ...
-\c__regex_catcode_S_int=\count163
+\c__regex_catcode_S_int=\count166
 Defining \c__regex_catcode_L_int on line ...
-\c__regex_catcode_L_int=\count164
+\c__regex_catcode_L_int=\count167
 Defining \c__regex_catcode_O_int on line ...
-\c__regex_catcode_O_int=\count165
+\c__regex_catcode_O_int=\count168
 Defining \c__regex_catcode_A_int on line ...
-\c__regex_catcode_A_int=\count166
+\c__regex_catcode_A_int=\count169
 Defining \c__regex_all_catcodes_int on line ...
-\c__regex_all_catcodes_int=\count167
+\c__regex_all_catcodes_int=\count170
 Defining \l__regex_internal_regex on line ...
 Defining \l__regex_show_prefix_seq on line ...
 Defining \l__regex_show_lines_int on line ...
-\l__regex_show_lines_int=\count168
+\l__regex_show_lines_int=\count171
 Defining \__regex_get_digits:NTFw on line ...
 Defining \__regex_get_digits_loop:nw on line ...
 Defining \__regex_if_raw_digit:NNTF on line ...
@@ -4652,17 +4679,17 @@ Defining \__regex_show_anchor_to_str:N on line ...
 Defining \__regex_show_item_catcode:NnT on line ...
 Defining \__regex_show_item_exact_cs:n on line ...
 Defining \l__regex_min_state_int on line ...
-\l__regex_min_state_int=\count169
+\l__regex_min_state_int=\count172
 Defining \l__regex_max_state_int on line ...
-\l__regex_max_state_int=\count170
+\l__regex_max_state_int=\count173
 Defining \l__regex_left_state_int on line ...
-\l__regex_left_state_int=\count171
+\l__regex_left_state_int=\count174
 Defining \l__regex_right_state_int on line ...
-\l__regex_right_state_int=\count172
+\l__regex_right_state_int=\count175
 Defining \l__regex_left_state_seq on line ...
 Defining \l__regex_right_state_seq on line ...
 Defining \l__regex_capturing_group_int on line ...
-\l__regex_capturing_group_int=\count173
+\l__regex_capturing_group_int=\count176
 Defining \__regex_build:n on line ...
 Defining \__regex_build:N on line ...
 Defining \__regex_build_for_cs:n on line ...
@@ -4693,33 +4720,33 @@ Defining \__regex_anchor:N on line ...
 Defining \__regex_b_test: on line ...
 Defining \__regex_command_K: on line ...
 Defining \l__regex_min_pos_int on line ...
-\l__regex_min_pos_int=\count174
+\l__regex_min_pos_int=\count177
 Defining \l__regex_max_pos_int on line ...
-\l__regex_max_pos_int=\count175
+\l__regex_max_pos_int=\count178
 Defining \l__regex_current_pos_int on line ...
-\l__regex_current_pos_int=\count176
+\l__regex_current_pos_int=\count179
 Defining \l__regex_start_pos_int on line ...
-\l__regex_start_pos_int=\count177
+\l__regex_start_pos_int=\count180
 Defining \l__regex_success_pos_int on line ...
-\l__regex_success_pos_int=\count178
+\l__regex_success_pos_int=\count181
 Defining \l__regex_current_char_int on line ...
-\l__regex_current_char_int=\count179
+\l__regex_current_char_int=\count182
 Defining \l__regex_current_catcode_int on line ...
-\l__regex_current_catcode_int=\count180
+\l__regex_current_catcode_int=\count183
 Defining \l__regex_last_char_int on line ...
-\l__regex_last_char_int=\count181
+\l__regex_last_char_int=\count184
 Defining \l__regex_case_changed_char_int on line ...
-\l__regex_case_changed_char_int=\count182
+\l__regex_case_changed_char_int=\count185
 Defining \l__regex_current_state_int on line ...
-\l__regex_current_state_int=\count183
+\l__regex_current_state_int=\count186
 Defining \l__regex_current_submatches_prop on line ...
 Defining \l__regex_success_submatches_prop on line ...
 Defining \l__regex_step_int on line ...
-\l__regex_step_int=\count184
+\l__regex_step_int=\count187
 Defining \l__regex_min_active_int on line ...
-\l__regex_min_active_int=\count185
+\l__regex_min_active_int=\count188
 Defining \l__regex_max_active_int on line ...
-\l__regex_max_active_int=\count186
+\l__regex_max_active_int=\count189
 Defining \g__regex_state_active_intarray on line ...
 Defining \g__regex_thread_state_intarray on line ...
 Defining \l__regex_every_match_tl on line ...
@@ -4750,7 +4777,7 @@ Defining \__regex_disable_submatches: on line ...
 Defining \__regex_action_submatch:n on line ...
 Defining \__regex_action_success: on line ...
 Defining \l__regex_replacement_csnames_int on line ...
-\l__regex_replacement_csnames_int=\count187
+\l__regex_replacement_csnames_int=\count190
 Defining \l__regex_replacement_category_tl on line ...
 Defining \l__regex_replacement_category_seq on line ...
 Defining \l__regex_balance_tl on line ...
@@ -4842,15 +4869,15 @@ Defining \regex_split:NnNT on line ...
 Defining \regex_split:NnNF on line ...
 Defining \regex_split:NnNTF on line ...
 Defining \l__regex_match_count_int on line ...
-\l__regex_match_count_int=\count188
+\l__regex_match_count_int=\count191
 Defining \flag __regex_begin on line ...
 Defining \flag __regex_end on line ...
 Defining \l__regex_min_submatch_int on line ...
-\l__regex_min_submatch_int=\count189
+\l__regex_min_submatch_int=\count192
 Defining \l__regex_submatch_int on line ...
-\l__regex_submatch_int=\count190
+\l__regex_submatch_int=\count193
 Defining \l__regex_zeroth_submatch_int on line ...
-\l__regex_zeroth_submatch_int=\count191
+\l__regex_zeroth_submatch_int=\count194
 Defining \g__regex_submatch_prev_intarray on line ...
 Defining \g__regex_submatch_begin_intarray on line ...
 Defining \g__regex_submatch_end_intarray on line ...
@@ -4987,15 +5014,15 @@ Defining \box_gset_to_last:N on line ...
 Defining \box_set_to_last:c on line ...
 Defining \box_gset_to_last:c on line ...
 Defining \c_empty_box on line ...
-\c_empty_box=\box56
+\c_empty_box=\box57
 Defining \l_tmpa_box on line ...
-\l_tmpa_box=\box57
+\l_tmpa_box=\box58
 Defining \l_tmpb_box on line ...
-\l_tmpb_box=\box58
+\l_tmpb_box=\box59
 Defining \g_tmpa_box on line ...
-\g_tmpa_box=\box59
+\g_tmpa_box=\box60
 Defining \g_tmpb_box on line ...
-\g_tmpb_box=\box60
+\g_tmpb_box=\box61
 Defining \box_show:N on line ...
 Defining \box_show:c on line ...
 Defining \box_show:Nnn on line ...
@@ -5078,7 +5105,7 @@ Defining \l__box_left_new_dim on line ...
 Defining \l__box_right_new_dim on line ...
 \l__box_right_new_dim=\dimen145
 Defining \l__box_internal_box on line ...
-\l__box_internal_box=\box61
+\l__box_internal_box=\box62
 Defining \box_rotate:Nn on line ...
 Defining \__box_rotate:N on line ...
 Defining \__box_rotate_x:nnN on line ...
@@ -5114,7 +5141,7 @@ Defining \__box_resize_common:N on line ...
 Defining \box_resize:Nnn on line ...
 Defining \box_resize:cnn on line ...
 Defining \l__coffin_internal_box on line ...
-\l__coffin_internal_box=\box62
+\l__coffin_internal_box=\box63
 Defining \l__coffin_internal_dim on line ...
 \l__coffin_internal_dim=\dimen146
 Defining \l__coffin_internal_tl on line ...
@@ -5165,15 +5192,15 @@ Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
 Defining \c_empty_coffin on line ...
-\c_empty_coffin=\box63
+\c_empty_coffin=\box64
 Defining \l__coffin_aligned_coffin on line ...
-\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_coffin=\box65
 Defining \l__coffin_aligned_internal_coffin on line ...
-\l__coffin_aligned_internal_coffin=\box65
+\l__coffin_aligned_internal_coffin=\box66
 Defining \l_tmpa_coffin on line ...
-\l_tmpa_coffin=\box66
+\l_tmpa_coffin=\box67
 Defining \l_tmpb_coffin on line ...
-\l_tmpb_coffin=\box67
+\l_tmpb_coffin=\box68
 Defining \coffin_dp:N on line ...
 Defining \coffin_dp:c on line ...
 Defining \coffin_ht:N on line ...
@@ -5217,11 +5244,11 @@ Defining \__coffin_update_B:nnnnnnnnN on line ...
 Defining \coffin_typeset:Nnnnn on line ...
 Defining \coffin_typeset:cnnnn on line ...
 Defining \l__coffin_display_coffin on line ...
-\l__coffin_display_coffin=\box68
+\l__coffin_display_coffin=\box69
 Defining \l__coffin_display_coord_coffin on line ...
-\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_coord_coffin=\box70
 Defining \l__coffin_display_pole_coffin on line ...
-\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_pole_coffin=\box71
 Defining \l__coffin_display_handles_prop on line ...
 Defining \l__coffin_display_offset_dim on line ...
 \l__coffin_display_offset_dim=\dimen153
@@ -5347,6 +5374,11 @@ Defining \file_if_exist_input:nTF on line ...
 Defining \ior_log_streams: on line ...
 Defining \iow_log_streams: on line ...
 Defining \int_rand:nn on line ...
+Defining \__int_rand:ww on line ...
+Defining \__int_rand_narrow:nn on line ...
+Defining \__int_rand_narrow:nnn on line ...
+Defining \__int_rand_narrow:nnnn on line ...
+Defining message LaTeX/kernel/backward-range on line ...
 Defining \msg_expandable_error:nnnnnn on line ...
 Defining \msg_expandable_error:nnnnn on line ...
 Defining \msg_expandable_error:nnnn on line ...
@@ -5617,7 +5649,7 @@ Defining \__driver_image_getbb_jpg:n on line ...
 Defining \__driver_image_getbb_png:n on line ...
 Defining \__driver_image_getbb_pdf:n on line ...
 Defining \g__driver_image_int on line ...
-\g__driver_image_int=\count192
+\g__driver_image_int=\count195
 Defining \__driver_image_include_eps:n on line ...
 Defining \__driver_image_include_jpg:n on line ...
 Defining \__driver_image_include_png:n on line ...
@@ -5671,7 +5703,7 @@ Defining \__driver_draw_color_rgb_stroke:nnn on line ...
 Defining \__driver_draw_transformcm:nnnnnn on line ...
 Defining \__driver_draw_hbox:Nnnnnnn on line ...
 Defining \l__driver_tmp_box on line ...
-\l__driver_tmp_box=\box71
+\l__driver_tmp_box=\box72
 )
 Defining \__expl_status_pop:w on line ...
 Defining \l__expl_status_stack_tl on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index a76c2fb..8ebd28f 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -3389,6 +3389,7 @@ Defining \keys_set_known:nn on line ...
 Defining \keys_set_known:nV on line ...
 Defining \keys_set_known:nv on line ...
 Defining \keys_set_known:no on line ...
+Defining \__keys_set_known:nn on line ...
 Defining \keys_set_filter:nnnN on line ...
 Defining \exp_args:NnnV on line ...
 Defining \keys_set_filter:nnVN on line ...
@@ -3401,10 +3402,16 @@ Defining \keys_set_filter:nnn on line ...
 Defining \keys_set_filter:nnV on line ...
 Defining \keys_set_filter:nnv on line ...
 Defining \keys_set_filter:nno on line ...
+Defining \__keys_set_filter:nnn on line ...
 Defining \keys_set_groups:nnn on line ...
 Defining \keys_set_groups:nnV on line ...
 Defining \keys_set_groups:nnv on line ...
 Defining \keys_set_groups:nno on line ...
+Defining \__keys_set_groups:nnn on line ...
+Defining \__keys_set_selective:nnn on line ...
+Defining \__keys_set_selective:nnnn on line ...
+Defining \__keys_set_selective:onnn on line ...
+Defining \__keys_set_selective:nn on line ...
 Defining \__keys_set:n on line ...
 Defining \__keys_set:nn on line ...
 Defining \__keys_set_aux:nnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index bc9a308..1441cd7 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -3389,6 +3389,7 @@ Defining \keys_set_known:nn on line ...
 Defining \keys_set_known:nV on line ...
 Defining \keys_set_known:nv on line ...
 Defining \keys_set_known:no on line ...
+Defining \__keys_set_known:nn on line ...
 Defining \keys_set_filter:nnnN on line ...
 Defining \exp_args:NnnV on line ...
 Defining \keys_set_filter:nnVN on line ...
@@ -3401,10 +3402,16 @@ Defining \keys_set_filter:nnn on line ...
 Defining \keys_set_filter:nnV on line ...
 Defining \keys_set_filter:nnv on line ...
 Defining \keys_set_filter:nno on line ...
+Defining \__keys_set_filter:nnn on line ...
 Defining \keys_set_groups:nnn on line ...
 Defining \keys_set_groups:nnV on line ...
 Defining \keys_set_groups:nnv on line ...
 Defining \keys_set_groups:nno on line ...
+Defining \__keys_set_groups:nnn on line ...
+Defining \__keys_set_selective:nnn on line ...
+Defining \__keys_set_selective:nnnn on line ...
+Defining \__keys_set_selective:onnn on line ...
+Defining \__keys_set_selective:nn on line ...
 Defining \__keys_set:n on line ...
 Defining \__keys_set:nn on line ...
 Defining \__keys_set_aux:nnn on line ...
@@ -4211,9 +4218,29 @@ Defining \__fp_array_to_clist:n on line ...
 Defining \__fp_array_to_clist_loop:Nw on line ...
 Defining \__fp_parse_word_rand:N on line ...
 Defining \__fp_parse_word_randint:N on line ...
-Defining message LaTeX/kernel/fp-no-random on line ...
+Defining \__fp_rand_uniform: on line ...
+Defining \c__fp_rand_size_int on line ...
+\c__fp_rand_size_int=\count135
+Defining \c__fp_rand_four_int on line ...
+\c__fp_rand_four_int=\count136
+Defining \c__fp_rand_eight_int on line ...
+\c__fp_rand_eight_int=\count137
+Defining \__fp_rand_myriads:n on line ...
+Defining \__fp_rand_myriads_loop:nn on line ...
+Defining \__fp_rand_myriads_get:w on line ...
+Defining \__fp_rand_myriads_last: on line ...
+Defining \__fp_rand_myriads_last:w on line ...
 Defining \__fp_rand_o:Nw on line ...
+Defining \__fp_rand_o: on line ...
 Defining \__fp_randint_o:Nw on line ...
+Defining \__fp_randint_badarg:w on line ...
+Defining \__fp_randint_e:w on line ...
+Defining \__fp_randint_e:wnn on line ...
+Defining \__fp_randint_e:wwNnn on line ...
+Defining \__fp_randint_e:wwwNnn on line ...
+Defining \__fp_randint_narrow_e:nnnn on line ...
+Defining \__fp_randint_wide_e:nnnn on line ...
+Defining \__fp_randint_wide_e:wnnn on line ...
 Defining \fp_new:N on line ...
 Defining \fp_new:c on line ...
 Defining \fp_set:Nn on line ...
@@ -4262,27 +4289,27 @@ Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
 Defining \l__sort_length_int on line ...
-\l__sort_length_int=\count135
+\l__sort_length_int=\count138
 Defining \l__sort_min_int on line ...
-\l__sort_min_int=\count136
+\l__sort_min_int=\count139
 Defining \l__sort_top_int on line ...
-\l__sort_top_int=\count137
+\l__sort_top_int=\count140
 Defining \l__sort_max_int on line ...
-\l__sort_max_int=\count138
+\l__sort_max_int=\count141
 Defining \l__sort_true_max_int on line ...
-\l__sort_true_max_int=\count139
+\l__sort_true_max_int=\count142
 Defining \l__sort_block_int on line ...
-\l__sort_block_int=\count140
+\l__sort_block_int=\count143
 Defining \l__sort_begin_int on line ...
-\l__sort_begin_int=\count141
+\l__sort_begin_int=\count144
 Defining \l__sort_end_int on line ...
-\l__sort_end_int=\count142
+\l__sort_end_int=\count145
 Defining \l__sort_A_int on line ...
-\l__sort_A_int=\count143
+\l__sort_A_int=\count146
 Defining \l__sort_B_int on line ...
-\l__sort_B_int=\count144
+\l__sort_B_int=\count147
 Defining \l__sort_C_int on line ...
-\l__sort_C_int=\count145
+\l__sort_C_int=\count148
 Defining \__sort_shrink_range: on line ...
 Defining \__sort_shrink_range_loop: on line ...
 Defining \__sort_compute_range: on line ...
@@ -4340,9 +4367,9 @@ Defining message LaTeX/sort/return-two on line ...
 Defining \sort_ordered: on line ...
 Defining \sort_reversed: on line ...
 Defining \l__tl_build_start_index_int on line ...
-\l__tl_build_start_index_int=\count146
+\l__tl_build_start_index_int=\count149
 Defining \l__tl_build_index_int on line ...
-\l__tl_build_index_int=\count147
+\l__tl_build_index_int=\count150
 Defining \l__tl_build_result_tl on line ...
 Defining \__tl_build_unpack: on line ...
 Defining \__tl_build_unpack_loop:w on line ...
@@ -4361,13 +4388,13 @@ Defining \l__tl_analysis_internal_tl on line ...
 Defining \l__tl_analysis_token on line ...
 Defining \l__tl_analysis_char_token on line ...
 Defining \l__tl_analysis_normal_int on line ...
-\l__tl_analysis_normal_int=\count148
+\l__tl_analysis_normal_int=\count151
 Defining \l__tl_analysis_index_int on line ...
-\l__tl_analysis_index_int=\count149
+\l__tl_analysis_index_int=\count152
 Defining \l__tl_analysis_nesting_int on line ...
-\l__tl_analysis_nesting_int=\count150
+\l__tl_analysis_nesting_int=\count153
 Defining \l__tl_analysis_type_int on line ...
-\l__tl_analysis_type_int=\count151
+\l__tl_analysis_type_int=\count154
 Defining \g__tl_analysis_result_tl on line ...
 Defining \__tl_analysis_extract_charcode: on line ...
 Defining \__tl_analysis_extract_charcode_aux:w on line ...
@@ -4429,11 +4456,11 @@ Defining \__regex_tmp:w on line ...
 Defining \l__regex_internal_a_tl on line ...
 Defining \l__regex_internal_b_tl on line ...
 Defining \l__regex_internal_a_int on line ...
-\l__regex_internal_a_int=\count152
+\l__regex_internal_a_int=\count155
 Defining \l__regex_internal_b_int on line ...
-\l__regex_internal_b_int=\count153
+\l__regex_internal_b_int=\count156
 Defining \l__regex_internal_c_int on line ...
-\l__regex_internal_c_int=\count154
+\l__regex_internal_c_int=\count157
 Defining \l__regex_internal_bool on line ...
 Defining \l__regex_internal_seq on line ...
 Defining \g__regex_internal_tl on line ...
@@ -4442,7 +4469,7 @@ Defining \g__regex_charcode_intarray on line ...
 Defining \g__regex_catcode_intarray on line ...
 Defining \g__regex_balance_intarray on line ...
 Defining \l__regex_balance_int on line ...
-\l__regex_balance_int=\count155
+\l__regex_balance_int=\count158
 Defining \l__regex_cs_name_tl on line ...
 Defining \c__regex_ascii_min_int on line ...
 Defining \c__regex_ascii_max_control_int on line ...
@@ -4510,21 +4537,21 @@ Defining \__regex_hexadecimal_use:NTF on line ...
 Defining \__regex_char_if_special:NTF on line ...
 Defining \__regex_char_if_alphanumeric:NTF on line ...
 Defining \l__regex_group_level_int on line ...
-\l__regex_group_level_int=\count156
+\l__regex_group_level_int=\count159
 Defining \l__regex_mode_int on line ...
-\l__regex_mode_int=\count157
+\l__regex_mode_int=\count160
 Defining \c__regex_cs_in_class_mode_int on line ...
-\c__regex_cs_in_class_mode_int=\count158
+\c__regex_cs_in_class_mode_int=\count161
 Defining \c__regex_cs_mode_int on line ...
-\c__regex_cs_mode_int=\count159
+\c__regex_cs_mode_int=\count162
 Defining \c__regex_outer_mode_int on line ...
 Defining \c__regex_catcode_mode_int on line ...
 Defining \c__regex_class_mode_int on line ...
 Defining \c__regex_catcode_in_class_mode_int on line ...
 Defining \l__regex_catcodes_int on line ...
-\l__regex_catcodes_int=\count160
+\l__regex_catcodes_int=\count163
 Defining \l__regex_default_catcodes_int on line ...
-\l__regex_default_catcodes_int=\count161
+\l__regex_default_catcodes_int=\count164
 Defining \l__regex_catcodes_bool on line ...
 Defining \c__regex_catcode_C_int on line ...
 Defining \c__regex_catcode_B_int on line ...
@@ -4536,17 +4563,17 @@ Defining \c__regex_catcode_U_int on line ...
 Defining \c__regex_catcode_D_int on line ...
 Defining \c__regex_catcode_S_int on line ...
 Defining \c__regex_catcode_L_int on line ...
-\c__regex_catcode_L_int=\count162
+\c__regex_catcode_L_int=\count165
 Defining \c__regex_catcode_O_int on line ...
-\c__regex_catcode_O_int=\count163
+\c__regex_catcode_O_int=\count166
 Defining \c__regex_catcode_A_int on line ...
-\c__regex_catcode_A_int=\count164
+\c__regex_catcode_A_int=\count167
 Defining \c__regex_all_catcodes_int on line ...
-\c__regex_all_catcodes_int=\count165
+\c__regex_all_catcodes_int=\count168
 Defining \l__regex_internal_regex on line ...
 Defining \l__regex_show_prefix_seq on line ...
 Defining \l__regex_show_lines_int on line ...
-\l__regex_show_lines_int=\count166
+\l__regex_show_lines_int=\count169
 Defining \__regex_get_digits:NTFw on line ...
 Defining \__regex_get_digits_loop:nw on line ...
 Defining \__regex_if_raw_digit:NNTF on line ...
@@ -4650,17 +4677,17 @@ Defining \__regex_show_anchor_to_str:N on line ...
 Defining \__regex_show_item_catcode:NnT on line ...
 Defining \__regex_show_item_exact_cs:n on line ...
 Defining \l__regex_min_state_int on line ...
-\l__regex_min_state_int=\count167
+\l__regex_min_state_int=\count170
 Defining \l__regex_max_state_int on line ...
-\l__regex_max_state_int=\count168
+\l__regex_max_state_int=\count171
 Defining \l__regex_left_state_int on line ...
-\l__regex_left_state_int=\count169
+\l__regex_left_state_int=\count172
 Defining \l__regex_right_state_int on line ...
-\l__regex_right_state_int=\count170
+\l__regex_right_state_int=\count173
 Defining \l__regex_left_state_seq on line ...
 Defining \l__regex_right_state_seq on line ...
 Defining \l__regex_capturing_group_int on line ...
-\l__regex_capturing_group_int=\count171
+\l__regex_capturing_group_int=\count174
 Defining \__regex_build:n on line ...
 Defining \__regex_build:N on line ...
 Defining \__regex_build_for_cs:n on line ...
@@ -4691,33 +4718,33 @@ Defining \__regex_anchor:N on line ...
 Defining \__regex_b_test: on line ...
 Defining \__regex_command_K: on line ...
 Defining \l__regex_min_pos_int on line ...
-\l__regex_min_pos_int=\count172
+\l__regex_min_pos_int=\count175
 Defining \l__regex_max_pos_int on line ...
-\l__regex_max_pos_int=\count173
+\l__regex_max_pos_int=\count176
 Defining \l__regex_current_pos_int on line ...
-\l__regex_current_pos_int=\count174
+\l__regex_current_pos_int=\count177
 Defining \l__regex_start_pos_int on line ...
-\l__regex_start_pos_int=\count175
+\l__regex_start_pos_int=\count178
 Defining \l__regex_success_pos_int on line ...
-\l__regex_success_pos_int=\count176
+\l__regex_success_pos_int=\count179
 Defining \l__regex_current_char_int on line ...
-\l__regex_current_char_int=\count177
+\l__regex_current_char_int=\count180
 Defining \l__regex_current_catcode_int on line ...
-\l__regex_current_catcode_int=\count178
+\l__regex_current_catcode_int=\count181
 Defining \l__regex_last_char_int on line ...
-\l__regex_last_char_int=\count179
+\l__regex_last_char_int=\count182
 Defining \l__regex_case_changed_char_int on line ...
-\l__regex_case_changed_char_int=\count180
+\l__regex_case_changed_char_int=\count183
 Defining \l__regex_current_state_int on line ...
-\l__regex_current_state_int=\count181
+\l__regex_current_state_int=\count184
 Defining \l__regex_current_submatches_prop on line ...
 Defining \l__regex_success_submatches_prop on line ...
 Defining \l__regex_step_int on line ...
-\l__regex_step_int=\count182
+\l__regex_step_int=\count185
 Defining \l__regex_min_active_int on line ...
-\l__regex_min_active_int=\count183
+\l__regex_min_active_int=\count186
 Defining \l__regex_max_active_int on line ...
-\l__regex_max_active_int=\count184
+\l__regex_max_active_int=\count187
 Defining \g__regex_state_active_intarray on line ...
 Defining \g__regex_thread_state_intarray on line ...
 Defining \l__regex_every_match_tl on line ...
@@ -4748,7 +4775,7 @@ Defining \__regex_disable_submatches: on line ...
 Defining \__regex_action_submatch:n on line ...
 Defining \__regex_action_success: on line ...
 Defining \l__regex_replacement_csnames_int on line ...
-\l__regex_replacement_csnames_int=\count185
+\l__regex_replacement_csnames_int=\count188
 Defining \l__regex_replacement_category_tl on line ...
 Defining \l__regex_replacement_category_seq on line ...
 Defining \l__regex_balance_tl on line ...
@@ -4840,15 +4867,15 @@ Defining \regex_split:NnNT on line ...
 Defining \regex_split:NnNF on line ...
 Defining \regex_split:NnNTF on line ...
 Defining \l__regex_match_count_int on line ...
-\l__regex_match_count_int=\count186
+\l__regex_match_count_int=\count189
 Defining \flag __regex_begin on line ...
 Defining \flag __regex_end on line ...
 Defining \l__regex_min_submatch_int on line ...
-\l__regex_min_submatch_int=\count187
+\l__regex_min_submatch_int=\count190
 Defining \l__regex_submatch_int on line ...
-\l__regex_submatch_int=\count188
+\l__regex_submatch_int=\count191
 Defining \l__regex_zeroth_submatch_int on line ...
-\l__regex_zeroth_submatch_int=\count189
+\l__regex_zeroth_submatch_int=\count192
 Defining \g__regex_submatch_prev_intarray on line ...
 Defining \g__regex_submatch_begin_intarray on line ...
 Defining \g__regex_submatch_end_intarray on line ...
@@ -4985,15 +5012,15 @@ Defining \box_gset_to_last:N on line ...
 Defining \box_set_to_last:c on line ...
 Defining \box_gset_to_last:c on line ...
 Defining \c_empty_box on line ...
-\c_empty_box=\box56
+\c_empty_box=\box57
 Defining \l_tmpa_box on line ...
-\l_tmpa_box=\box57
+\l_tmpa_box=\box58
 Defining \l_tmpb_box on line ...
-\l_tmpb_box=\box58
+\l_tmpb_box=\box59
 Defining \g_tmpa_box on line ...
-\g_tmpa_box=\box59
+\g_tmpa_box=\box60
 Defining \g_tmpb_box on line ...
-\g_tmpb_box=\box60
+\g_tmpb_box=\box61
 Defining \box_show:N on line ...
 Defining \box_show:c on line ...
 Defining \box_show:Nnn on line ...
@@ -5076,7 +5103,7 @@ Defining \l__box_left_new_dim on line ...
 Defining \l__box_right_new_dim on line ...
 \l__box_right_new_dim=\dimen145
 Defining \l__box_internal_box on line ...
-\l__box_internal_box=\box61
+\l__box_internal_box=\box62
 Defining \box_rotate:Nn on line ...
 Defining \__box_rotate:N on line ...
 Defining \__box_rotate_x:nnN on line ...
@@ -5112,7 +5139,7 @@ Defining \__box_resize_common:N on line ...
 Defining \box_resize:Nnn on line ...
 Defining \box_resize:cnn on line ...
 Defining \l__coffin_internal_box on line ...
-\l__coffin_internal_box=\box62
+\l__coffin_internal_box=\box63
 Defining \l__coffin_internal_dim on line ...
 \l__coffin_internal_dim=\dimen146
 Defining \l__coffin_internal_tl on line ...
@@ -5163,15 +5190,15 @@ Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
 Defining \c_empty_coffin on line ...
-\c_empty_coffin=\box63
+\c_empty_coffin=\box64
 Defining \l__coffin_aligned_coffin on line ...
-\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_coffin=\box65
 Defining \l__coffin_aligned_internal_coffin on line ...
-\l__coffin_aligned_internal_coffin=\box65
+\l__coffin_aligned_internal_coffin=\box66
 Defining \l_tmpa_coffin on line ...
-\l_tmpa_coffin=\box66
+\l_tmpa_coffin=\box67
 Defining \l_tmpb_coffin on line ...
-\l_tmpb_coffin=\box67
+\l_tmpb_coffin=\box68
 Defining \coffin_dp:N on line ...
 Defining \coffin_dp:c on line ...
 Defining \coffin_ht:N on line ...
@@ -5215,11 +5242,11 @@ Defining \__coffin_update_B:nnnnnnnnN on line ...
 Defining \coffin_typeset:Nnnnn on line ...
 Defining \coffin_typeset:cnnnn on line ...
 Defining \l__coffin_display_coffin on line ...
-\l__coffin_display_coffin=\box68
+\l__coffin_display_coffin=\box69
 Defining \l__coffin_display_coord_coffin on line ...
-\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_coord_coffin=\box70
 Defining \l__coffin_display_pole_coffin on line ...
-\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_pole_coffin=\box71
 Defining \l__coffin_display_handles_prop on line ...
 Defining \l__coffin_display_offset_dim on line ...
 \l__coffin_display_offset_dim=\dimen153
@@ -5345,6 +5372,11 @@ Defining \file_if_exist_input:nTF on line ...
 Defining \ior_log_streams: on line ...
 Defining \iow_log_streams: on line ...
 Defining \int_rand:nn on line ...
+Defining \__int_rand:ww on line ...
+Defining \__int_rand_narrow:nn on line ...
+Defining \__int_rand_narrow:nnn on line ...
+Defining \__int_rand_narrow:nnnn on line ...
+Defining message LaTeX/kernel/backward-range on line ...
 Defining \msg_expandable_error:nnnnnn on line ...
 Defining \msg_expandable_error:nnnnn on line ...
 Defining \msg_expandable_error:nnnn on line ...
@@ -5816,7 +5848,7 @@ Defining \__driver_image_getbb_jpg:n on line ...
 Defining \__driver_image_getbb_png:n on line ...
 Defining \__driver_image_getbb_pdf:n on line ...
 Defining \g__driver_image_int on line ...
-\g__driver_image_int=\count190
+\g__driver_image_int=\count193
 Defining \__driver_image_include_eps:n on line ...
 Defining \__driver_image_include_jpg:n on line ...
 Defining \__driver_image_include_png:n on line ...
@@ -5870,7 +5902,7 @@ Defining \__driver_draw_color_rgb_stroke:nnn on line ...
 Defining \__driver_draw_transformcm:nnnnnn on line ...
 Defining \__driver_draw_hbox:Nnnnnnn on line ...
 Defining \l__driver_tmp_box on line ...
-\l__driver_tmp_box=\box71
+\l__driver_tmp_box=\box72
 )
 Defining \__expl_status_pop:w on line ...
 Defining \l__expl_status_stack_tl on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 9bc2a53..9b5162b 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -3399,6 +3399,7 @@ Defining \keys_set_known:nn on line ...
 Defining \keys_set_known:nV on line ...
 Defining \keys_set_known:nv on line ...
 Defining \keys_set_known:no on line ...
+Defining \__keys_set_known:nn on line ...
 Defining \keys_set_filter:nnnN on line ...
 Defining \exp_args:NnnV on line ...
 Defining \keys_set_filter:nnVN on line ...
@@ -3411,10 +3412,16 @@ Defining \keys_set_filter:nnn on line ...
 Defining \keys_set_filter:nnV on line ...
 Defining \keys_set_filter:nnv on line ...
 Defining \keys_set_filter:nno on line ...
+Defining \__keys_set_filter:nnn on line ...
 Defining \keys_set_groups:nnn on line ...
 Defining \keys_set_groups:nnV on line ...
 Defining \keys_set_groups:nnv on line ...
 Defining \keys_set_groups:nno on line ...
+Defining \__keys_set_groups:nnn on line ...
+Defining \__keys_set_selective:nnn on line ...
+Defining \__keys_set_selective:nnnn on line ...
+Defining \__keys_set_selective:onnn on line ...
+Defining \__keys_set_selective:nn on line ...
 Defining \__keys_set:n on line ...
 Defining \__keys_set:nn on line ...
 Defining \__keys_set_aux:nnn on line ...

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the latex3-commits mailing list