diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3basics.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/l3basics.sty | 49 |
1 files changed, 43 insertions, 6 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty index 703d134e38b..27ccd762525 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3basics.dtx 4521 2013-07-09 11:45:31Z joseph $ +\GetIdInfo$Id: l3basics.dtx 4581 2013-07-28 08:38:50Z joseph $ {L3 Basic definitions} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -809,29 +809,64 @@ \prg_return_false: \fi: } -\cs_new:Npn \str_case:nnn #1#2#3 +\cs_new:Npn \str_case:nn #1#2 { \tex_romannumeral:D - \__str_case:nw {#1} #2 {#1} {#3} \q_recursion_stop + \__str_case:nnTF {#1} {#2} { } { } } +\cs_new:Npn \str_case:nnT #1#2#3 + { + \tex_romannumeral:D + \__str_case:nnTF {#1} {#2} {#3} { } + } +\cs_new:Npn \str_case:nnF #1#2 + { + \tex_romannumeral:D + \__str_case:nnTF {#1} {#2} { } + } +\cs_new:Npn \str_case:nnTF #1#2 + { + \tex_romannumeral:D + \__str_case:nnTF {#1} {#2} + } +\cs_new:Npn \__str_case:nnTF #1#2#3#4 + { \__str_case:nw {#1} #2 {#1} { } \q_mark {#3} \q_mark {#4} \q_stop } \cs_new:Npn \__str_case:nw #1#2#3 { \str_if_eq:nnTF {#1} {#2} { \__str_case_end:nw {#3} } { \__str_case:nw {#1} } } -\cs_new:Npn \str_case_x:nnn #1#2#3 +\cs_new:Npn \str_case_x:nn #1#2 + { + \tex_romannumeral:D + \__str_case_x:nnTF {#1} {#2} { } { } + } +\cs_new:Npn \str_case_x:nnT #1#2#3 + { + \tex_romannumeral:D + \__str_case_x:nnTF {#1} {#2} {#3} { } + } +\cs_new:Npn \str_case_x:nnF #1#2 + { + \tex_romannumeral:D + \__str_case_x:nnTF {#1} {#2} { } + } +\cs_new:Npn \str_case_x:nnTF #1#2 { \tex_romannumeral:D - \__str_case_x:nw {#1} #2 {#1} {#3} \q_recursion_stop + \__str_case_x:nnTF {#1} {#2} } +\cs_new:Npn \__str_case_x:nnTF #1#2#3#4 + { \__str_case_x:nw {#1} #2 {#1} { } \q_mark {#3} \q_mark {#4} \q_stop } \cs_new:Npn \__str_case_x:nw #1#2#3 { \str_if_eq_x:nnTF {#1} {#2} { \__str_case_end:nw {#3} } { \__str_case_x:nw {#1} } } -\cs_new:Npn \__prg_case_end:nw #1#2 \q_recursion_stop { \c_zero #1 } +\cs_new:Npn \__prg_case_end:nw #1#2#3 \q_mark #4#5 \q_stop + { \c_zero #1 #4 } \cs_new_eq:NN \__str_case_end:nw \__prg_case_end:nw \cs_new_eq:NN \__prg_break_point:Nn \use_ii:nn \cs_new:Npn \__prg_map_break:Nn #1#2#3 \__prg_break_point:Nn #4#5 @@ -845,6 +880,8 @@ \cs_new_eq:NN \__prg_break_point: \prg_do_nothing: \cs_new:Npn \__prg_break: #1 \__prg_break_point: { } \cs_new:Npn \__prg_break:n #1#2 \__prg_break_point: {#1} +\cs_new_eq:NN \str_case:nnn \str_case:nnF +\cs_new_eq:NN \str_case_x:nnn \str_case_x:nnF %% %% %% End of file `l3basics.sty'. |