Consider the following code which uses \keys_set_known:nnN
:
\documentclass{article}
\usepackage{expl3}
\ExplSyntaxOn
\keys_define:nn {empty_module} {}
\keys_define:nn {module1}
{key1 .code:n = {\keys_set:nn {empty_module} {a_key}}}
\keys_set_known:nnN {module1} {key1} \l_tmpa_clist
\clist_show:N \l_tmpa_clist
\ExplSyntaxOff
\begin{document}
\end{document}
When executing \keys_set_known:nnN {module1} {key1} \l_tmpa_clist
, the key key1
is found in module1
and, then,
the corresponding code \keys_set:nn {empty_module} {a_key}
is executed. However, there is no key a_key
in empty_module
and I would expect an error. But, instead, the key a_key
is transferred to \l_tmpa_clist
as we can see with the
clist_show:N
.
I would like to know whether this is a bug or the expected behaviour as suggested (maybe) by interface3.pdf
:
Use of
\keys_set_known:nnN
can be nested, with the correct residual keyval list returned at each stage.