summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-02-14 22:34:22 +0000
committerKarl Berry <karl@freefriends.org>2020-02-14 22:34:22 +0000
commitb8d3ace4447b96b711b2722a4a65e3c9966dd51d (patch)
tree018d6b04fc9af796e1f39e4f580c51b0d7f4bc0a /Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
parentf8984c096c7871551016e012a01478e1a193fccd (diff)
l3 (14feb20)
git-svn-id: svn://tug.org/texlive/trunk@53781 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.tex76
1 files changed, 52 insertions, 24 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index e5cf8f23b70..c7bb0a92ebf 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -67,7 +67,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2020-02-11}%
+\def\ExplFileDate{2020-02-14}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -28025,7 +28025,7 @@
\cs_new:Npn \__text_expand_math_search:NNN #1#2#3
{
\quark_if_recursion_tail_stop_do:Nn #2
- { \__text_expand_implicit:N #1 }
+ { \__text_expand_explicit:N #1 }
\token_if_eq_meaning:NNTF #1 #2
{
\use_i_delimit_by_q_recursion_stop:nw
@@ -28067,11 +28067,6 @@
\__text_expand_store:n { ~ }
\__text_expand_math_loop:Nw #1
}
-\cs_new:Npn \__text_expand_implicit:N #1
- {
- \exp_args:NNe \use:nn \__text_expand_explicit:N
- { \__text_token_to_explicit:N #1 }
- }
\cs_new:Npn \__text_expand_explicit:N #1
{
\token_if_cs:NTF #1
@@ -28590,7 +28585,7 @@
\__text_change_case_char_next_lower:nn
\cs_new:Npn \__text_change_case_char_next_end:nn #1#2
{ \__text_change_case_break:w }
-\bool_lazy_or:nnT
+\bool_lazy_or:nnTF
{ \sys_if_engine_luatex_p: }
{ \sys_if_engine_xetex_p: }
{
@@ -28599,13 +28594,33 @@
\int_compare:nNnTF { `#4 } = { "00DF }
{
\__text_change_case_store:e
- { \char_generate:nn { "1E9E } { \__text_char_catcode:N #4 } }
+ { \char_generate:nn { "1E9E } { \__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:cpx { __text_change_case_upper_de-alt:nnnN } #1#2#3#4
+ {
+ \exp_not:N \int_compare:nNnTF { `#4 } = { "00C3 }
+ {
+ \exp_not:c { __text_change_case_upper_de-alt: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-alt:nnnNN } #1#2#3#4#5
+ {
+ \int_compare:nNnTF { `#5 } = { "009F }
+ {
+ \__text_change_case_store:V \c__text_grosses_Eszett_tl
+ \use:c { __text_change_case_char_next_ #2 :nn } {#2} {#3}
+ }
+ { \__text_change_case_char:nnnN {#1} {#2} {#3} #4#5 }
+ }
+ }
\bool_lazy_or:nnT
{ \sys_if_engine_luatex_p: }
{ \sys_if_engine_xetex_p: }
@@ -28979,16 +28994,22 @@
\exp_not:N \char_generate:nn {##1} { 13 }
\exp_after:wN \exp_after:wN \exp_after:wN
\exp_not:N \char_generate:nn {##2} { 13 }
+ \tl_if_blank:nF {##3}
+ {
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \exp_not:N \char_generate:nn {##3} { 13 }
+ }
}
}
\use:x
{ \__text_tmp:w \char_to_utfviii_bytes:n { "#2 } }
\group_end:
}
- \__text_tmp:w \c__text_dotless_i_tl { 0131 }
- \__text_tmp:w \c__text_dotted_I_tl { 0130 }
- \__text_tmp:w \c__text_i_ogonek_tl { 012F }
- \__text_tmp:w \c__text_I_ogonek_tl { 012E }
+ \__text_tmp:w \c__text_dotless_i_tl { 0131 }
+ \__text_tmp:w \c__text_dotted_I_tl { 0130 }
+ \__text_tmp:w \c__text_i_ogonek_tl { 012F }
+ \__text_tmp:w \c__text_I_ogonek_tl { 012E }
+ \__text_tmp:w \c__text_grosses_Eszett_tl { 1E9E }
}
\group_end:
\group_begin:
@@ -29199,22 +29220,29 @@
\AtBeginDocument
{
\group_begin:
- \cs_set_protected:Npn \__text_change_case_setup:NN #1#2
+ \cs_set_protected:Npn \__text_change_case_setup:Nn #1#2
{
\quark_if_recursion_tail_stop:N #1
- \cs_if_exist:cF { c__text_uppercase_ \token_to_str:N #1 _tl }
+ \tl_if_single_token:nT {#2}
{
- \tl_const:cn { c__text_uppercase_ \token_to_str:N #1 _tl }
- { #2 }
- }
- \cs_if_exist:cF { c__text_lowercase_ \token_to_str:N #2 _tl }
- {
- \tl_const:cn { c__text_lowercase_ \token_to_str:N #2 _tl }
- { #1 }
+ \cs_if_exist:cF
+ { c__text_uppercase_ \token_to_str:N #1 _tl }
+ {
+ \tl_const:cn
+ { c__text_uppercase_ \token_to_str:N #1 _tl }
+ { #2 }
+ }
+ \cs_if_exist:cF
+ { c__text_lowercase_ \token_to_str:N #2 _tl }
+ {
+ \tl_const:cn
+ { c__text_lowercase_ \token_to_str:N #2 _tl }
+ { #1 }
+ }
}
- \__text_change_case_setup:NN
+ \__text_change_case_setup:Nn
}
- \exp_after:wN \__text_change_case_setup:NN \@uclclist
+ \exp_after:wN \__text_change_case_setup:Nn \@uclclist
\q_recursion_tail ?
\q_recursion_stop
\group_end: