summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-05-05 20:15:32 +0000
committerKarl Berry <karl@freefriends.org>2022-05-05 20:15:32 +0000
commit60893bc5d2e4da48df182fd3e231ebd473e78866 (patch)
tree3b696d4488f5553a7189cdd778d3d3bf52f6f9d4 /Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
parent70e6041f5f6b8c942c96e2be603e766a74100037 (diff)
l3kernel (5may22)
git-svn-id: svn://tug.org/texlive/trunk@63232 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex83
1 files changed, 70 insertions, 13 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index 01c15f78ebb..08d97cff671 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -70,7 +70,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2022-04-29}%
+\def\ExplFileDate{2022-05-04}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -32274,12 +32274,32 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_exp_not:w \exp_after:wN
{
\exp:w
- \exp_args:Ne \__text_change_case_aux:nnn
+ \exp_args:Ne \__text_change_case_auxi:nnn
{ \text_expand:n {#3} }
{#1} {#2}
}
}
-\cs_new:Npn \__text_change_case_aux:nnn #1#2#3
+\cs_new:Npn \__text_change_case_auxi:nnn #1#2#3
+ { \exp_args:No \__text_change_case_BCP:nnn { \tl_to_str:n {#3} } {#1} {#2} }
+\cs_new:Npx \__text_change_case_BCP:nnn #1#2#3
+ {
+ \exp_not:N \__text_change_case_BCP:nnw
+ {#2} {#3} #1 \tl_to_str:n { -x- -x- } \exp_not:N \q__text_stop
+ }
+\use:x
+ {
+ \cs_new:Npn \exp_not:N \__text_change_case_BCP:nnw
+ ##1##2##3 \tl_to_str:n { -x- } ##4 \tl_to_str:n { -x- } ##5
+ \exp_not:N \q__text_stop
+ }
+ { \__text_change_case_BCP:nnnnw {#1} {#2} {#4} {#3} #3 - - \q__text_stop }
+\cs_new:Npn \__text_change_case_BCP:nnnnw #1#2#3#4#5 - #6 - #7 \q__text_stop
+ {
+ \cs_if_exist:cTF { __text_change_case_ #2 _ #5 -x- #3 :nnnN }
+ { \__text_change_case_auxii:nnn {#1} {#2} { #5 -x- #3 } }
+ { \__text_change_case_auxii:nnn {#1} {#2} {#4} }
+ }
+\cs_new:Npn \__text_change_case_auxii:nnn #1#2#3
{
\group_align_safe_begin:
\cs_if_exist_use:c { __text_change_case_boundary_ #2 _ #3 :Nnnw }
@@ -32321,7 +32341,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN
{
\exp:w
- \__text_change_case_aux:nnn {#3} {#1} {#2}
+ \__text_change_case_auxii:nnn {#3} {#1} {#2}
}
}
\__text_change_case_loop:nnw {#1} {#2}
@@ -32335,7 +32355,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN
{
\exp:w
- \__text_change_case_aux:nnn {#3} {#1} {#2}
+ \__text_change_case_auxii:nnn {#3} {#1} {#2}
}
}
\__text_change_case_loop:nnw { lower } {#2}
@@ -32347,7 +32367,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN
{
\exp:w
- \__text_change_case_aux:nnn {#3} {#1} {#2}
+ \__text_change_case_auxii:nnn {#3} {#1} {#2}
}
}
\__text_change_case_break:w
@@ -32684,7 +32704,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \sys_if_engine_luatex_p: }
{ \sys_if_engine_xetex_p: }
{
- \cs_new:cpn { __text_change_case_upper_de-xeszett:nnnN } #1#2#3#4
+ \cs_new:cpn { __text_change_case_upper_de-x-eszett:nnnN } #1#2#3#4
{
\int_compare:nNnTF { `#4 } = { "00DF }
{
@@ -32697,16 +32717,16 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
{
- \cs_new:cpx { __text_change_case_upper_de-xeszett:nnnN } #1#2#3#4
+ \cs_new:cpx { __text_change_case_upper_de-x-eszett:nnnN } #1#2#3#4
{
\exp_not:N \int_compare:nNnTF { `#4 } = { "00C3 }
{
- \exp_not:c { __text_change_case_upper_de-xeszett:nnnNN }
+ \exp_not:c { __text_change_case_upper_de-x-eszett:nnnNN }
{#1} {#2} {#3} #4
}
{ \exp_not:N \__text_change_case_char:nnnN {#1} {#2} {#3} #4 }
}
- \cs_new:cpn { __text_change_case_upper_de-xeszett:nnnNN } #1#2#3#4#5
+ \cs_new:cpn { __text_change_case_upper_de-x-eszett:nnnNN } #1#2#3#4#5
{
\int_compare:nNnTF { `#5 } = { "009F }
{
@@ -32717,7 +32737,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
\cs_new_eq:cc { __text_change_case_upper_de-alt:nnnN }
- { __text_change_case_upper_de-xeszett:nnnN }
+ { __text_change_case_upper_de-x-eszett:nnnN }
\bool_lazy_or:nnT
{ \sys_if_engine_luatex_p: }
{ \sys_if_engine_xetex_p: }
@@ -32741,14 +32761,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__text_change_case_char:nnnN {#1} {#2} {#3} #4 }
}
}
- \cs_new_eq:cN { __text_change_case_upper_el-xiota:nnnN }
+ \cs_new_eq:cN { __text_change_case_upper_el-x-iota:nnnN }
\__text_change_case_upper_el:nnnN
\cs_new:Npn \__text_change_case_upper_el:N #1
{
\char_generate:nn { "0399 }
{ \char_value_catcode:n { "0399 } }
}
- \cs_new:cpn { __text_change_case_upper_el-xiota:N } #1
+ \cs_new:cpn { __text_change_case_upper_el-x-iota:N } #1
{ \exp_not:n {#1} }
\cs_new:Npn \__text_change_case_upper_el:nnn #1#2#3
{ \__text_change_case_upper_el:nnNw {#2} {#3} #1 }
@@ -33066,6 +33086,43 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \sys_if_engine_luatex_p: }
{ \sys_if_engine_xetex_p: }
{
+ \cs_new:cpn { __text_change_case_upper_hy:nnnN } #1#2#3#4
+ {
+ \int_compare:nNnTF { `#4 } = { "0587 }
+ {
+ \__text_change_case_store:e
+ {
+ \char_generate:nn { "0535 } { \__text_char_catcode:N #4 }
+ \char_generate:nn { "054E } { \__text_char_catcode:N #4 }
+ }
+ \use:c { __text_change_case_char_next_ #2 :nn }
+ {#2} {#3}
+ }
+ { \__text_change_case_char:nnnN {#1} {#2} {#3} #4 }
+ }
+ \cs_new:cpn { __text_change_case_title_hy:nnnN } #1#2#3#4
+ {
+ \int_compare:nNnTF { `#4 } = { "0587 }
+ {
+ \__text_change_case_store:e
+ {
+ \char_generate:nn { "0535 } { \__text_char_catcode:N #4 }
+ \char_generate:nn { "057E } { \__text_char_catcode:N #4 }
+ }
+ \use:c { __text_change_case_char_next_ #2 :nn }
+ {#2} {#3}
+ }
+ { \__text_change_case_char:nnnN {#1} {#2} {#3} #4 }
+ }
+ \cs_new:cpn { __text_change_case_upper_hy-x-yiwn:nnnN } #1#2#3#4
+ { \__text_change_case_char:nnnN {#1} {#2} {#3} #4 }
+ \cs_new_eq:cc { __text_change_case_title_hy-x-yiwn:nnnN }
+ { __text_change_case_upper_hy-x-yiwm:nnnN }
+ }
+\bool_lazy_or:nnT
+ { \sys_if_engine_luatex_p: }
+ { \sys_if_engine_xetex_p: }
+ {
\cs_new:Npn \__text_change_case_lower_lt:nnnN #1#2#3#4
{
\exp_args:Ne \__text_change_case_lower_lt_auxi:nnnN