From 26a0070af35fa5652128c74fa1f126ec51def209 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 10 Oct 2011 21:52:54 +0000 Subject: l3kernel 2900 (10oct11) git-svn-id: svn://tug.org/texlive/trunk@24256 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/l3kernel/l3prop.sty | 47 +++++++++++++++---------- 1 file changed, 29 insertions(+), 18 deletions(-) (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3prop.sty') diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty index b7941873865..eebc40c2520 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3prop.dtx 2820 2011-09-12 18:56:29Z bruno $ +\GetIdInfo$Id: l3prop.dtx 2839 2011-09-17 20:18:23Z bruno $ {L3 Experimental property lists} %% \ProvidesExplPackage @@ -186,20 +186,22 @@ { \exp_last_unbraced:Noo \prop_if_in_aux:nwn { \tl_to_str:n {#2} } #1 - A \q_prop { } \q_stop + \tl_to_str:n {#2} \q_prop { } + \q_recursion_tail \q_recursion_stop } \cs_new:Npn \prop_if_in_aux:nwn #1 \q_prop #2 \q_prop #3 { - \if_meaning:w A #2 - \prg_return_false: - \exp_after:wN \use_none_delimit_by_q_stop:w + \str_if_eq:xxTF {#1} {#2} + { \prop_if_in_aux:Nw } + { \prop_if_in_aux:nwn {#1} } + } +\cs_new:Npn \prop_if_in_aux:Nw #1 #2 \q_recursion_stop + { + \if_meaning:w \q_prop #1 + \prg_return_true: + \else: + \prg_return_false: \fi: - \str_if_eq:nnT {#1} {#2} - { - \prg_return_true: - \use_none_delimit_by_q_stop:w - } - \prop_if_in_aux:nwn {#1} } \cs_generate_variant:Nn \prop_if_in_p:Nn { NV , No } \cs_generate_variant:Nn \prop_if_in_p:Nn { c , cV , co } @@ -229,11 +231,11 @@ \cs_new_nopar:Npn \prop_map_function:NN #1#2 { \exp_last_unbraced:NNo \prop_map_function_aux:Nwn #2 - #1 A \q_prop { } \q_recursion_stop + #1 \q_recursion_tail \q_prop { } \q_recursion_stop } \cs_new:Npn \prop_map_function_aux:Nwn #1 \q_prop #2 \q_prop #3 { - \if_meaning:w A #2 + \if_meaning:w \q_recursion_tail #2 \exp_after:wN \prop_map_break: \fi: #1 {#2} {#3} @@ -310,11 +312,11 @@ \cs_new:Npn \prop_map_tokens:Nn #1#2 { \exp_last_unbraced:Nno \prop_map_tokens_aux:nwn {#2} #1 - A \q_prop { } \q_recursion_stop + \q_recursion_tail \q_prop { } \q_recursion_stop } \cs_new:Npn \prop_map_tokens_aux:nwn #1 \q_prop #2 \q_prop #3 { - \if_meaning:w A #2 + \if_meaning:w \q_recursion_tail #2 \exp_after:wN \prop_map_break: \fi: \use:n {#1} {#2} {#3} @@ -322,9 +324,18 @@ } \cs_generate_variant:Nn \prop_map_tokens:Nn { c } \cs_new:Npn \prop_get:Nn #1#2 - { \prop_map_tokens:Nn #1 { \prop_get_aux:nnn {#2} } } -\cs_new:Npn \prop_get_aux:nnn #1#2#3 - { \str_if_eq:nnT {#1} {#2} { \prop_map_break:n {#3} } } + { + \exp_last_unbraced:Noo \prop_get_Nn_aux:nwn + { \tl_to_str:n {#2} } #1 + \tl_to_str:n {#2} \q_prop { } + \q_recursion_stop + } +\cs_new:Npn \prop_get_Nn_aux:nwn #1 \q_prop #2 \q_prop #3 + { + \str_if_eq:xxTF {#1} {#2} + { \use_i_delimit_by_q_recursion_stop:nw {#3} } + { \prop_get_Nn_aux:nwn {#1} } + } \cs_generate_variant:Nn \prop_get:Nn { c } %% %% -- cgit v1.2.3