diff options
author | Karl Berry <karl@freefriends.org> | 2018-10-18 20:31:59 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-10-18 20:31:59 +0000 |
commit | f78ef933642c4be9fd32c6ec1d846912f751ae65 (patch) | |
tree | beb179870f7e226889c112201a34ab0ff5dde4c2 /Master/texmf-dist/source/latex/l3kernel/l3keys.dtx | |
parent | cd9c32dfd264eb7b5dc559f8a8355140b63d12ba (diff) |
l3 (18oct18)
git-svn-id: svn://tug.org/texlive/trunk@48935 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3keys.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3kernel/l3keys.dtx | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx index 7195061bfcc..e58e9631338 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2018-09-24} +% \date{Released 2018-10-17} % % \maketitle % @@ -1207,6 +1207,12 @@ % \end{macrocode} % \end{variable} % +% \begin{variable}{\l_@@_inherit_tl} +% \begin{macrocode} +\tl_new:N \l_@@_inherit_tl +% \end{macrocode} +% \end{variable} +% % \begin{variable}{\l_@@_property_tl} % The \enquote{property} begin set for a key at definition time is % stored here. @@ -2339,6 +2345,7 @@ \cs_if_exist:cT { \c_@@_code_root_tl ##1 / \l_keys_key_tl } { + \tl_set:Nn \l_@@_inherit_tl {##1} \cs:w \c_@@_code_root_tl ##1 / \l_keys_key_tl \exp_after:wN \cs_end: \exp_after:wN { \l_keys_value_tl } @@ -2384,6 +2391,7 @@ % \end{macro} % % \begin{macro}[EXP]{\@@_choice_find:n} +% \begin{macro}[EXP]{\@@_choice_find:nn} % \begin{macro}[EXP]{\@@_multichoice_find:n} % Executing a choice has two parts. First, try the choice given, then % if that fails call the unknown key. That always exists, as it is created @@ -2392,14 +2400,25 @@ % \begin{macrocode} \cs_new:Npn \@@_choice_find:n #1 { - \@@_execute:nn { \l_keys_path_tl / \@@_remove_spaces:n {#1} } - { \@@_execute:nn { \l_keys_path_tl / unknown } { } } + \tl_if_empty:NTF \l_@@_inherit_tl + { \@@_choice_find:nn { \l_keys_path_tl } {#1} } + { + \@@_choice_find:nn + { \l_@@_inherit_tl / \l_keys_key_tl } {#1} + } + } +\cs_new:Npn \@@_choice_find:nn #1#2 + { + \cs_if_exist:cTF { \c_@@_code_root_tl #1 / \@@_remove_spaces:n {#2} } + { \use:c { \c_@@_code_root_tl #1 / \@@_remove_spaces:n {#2} } {#2} } + { \use:c { \c_@@_code_root_tl #1 / unknown } {#2} } } \cs_new:Npn \@@_multichoice_find:n #1 { \clist_map_function:nN {#1} \@@_choice_find:n } % \end{macrocode} % \end{macro} % \end{macro} +% \end{macro} % % \subsection{Utilities} % |