summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3basics.sty')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3basics.sty49
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'.