[latex3-commits] [git/LaTeX3-latex3-latex2e] develop: Update l3kernel to 2022-04-29 (8af9497e)
Joseph Wright
joseph.wright at morningstar2.co.uk
Fri Apr 29 08:57:57 CEST 2022
Repository : https://github.com/latex3/latex2e
On branch : develop
Link : https://github.com/latex3/latex2e/commit/8af9497e64c0ad8bf3728cddf507efbb37334af1
>---------------------------------------------------------------
commit 8af9497e64c0ad8bf3728cddf507efbb37334af1
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Fri Apr 29 07:57:57 2022 +0100
Update l3kernel to 2022-04-29
>---------------------------------------------------------------
8af9497e64c0ad8bf3728cddf507efbb37334af1
texmf/tex/latex/l3kernel/expl3-code.tex | 148 ++++++++++++++++++++++-------
texmf/tex/latex/l3kernel/expl3-generic.tex | 2 +-
texmf/tex/latex/l3kernel/expl3.ltx | 2 +-
texmf/tex/latex/l3kernel/expl3.sty | 2 +-
4 files changed, 118 insertions(+), 36 deletions(-)
diff --git a/texmf/tex/latex/l3kernel/expl3-code.tex b/texmf/tex/latex/l3kernel/expl3-code.tex
index 998c1dcc..01c15f78 100644
--- a/texmf/tex/latex/l3kernel/expl3-code.tex
+++ b/texmf/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-20}%
+\def\ExplFileDate{2022-04-29}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -9027,7 +9027,15 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \cs_if_exist_p:N \tex_XeTeXversion:D }
{
\cs_set:Npn \__char_str_change_case:nN #1#2
- { \tl_to_str:n {#2} }
+ {
+ \int_compare:nNnTF {#1} = 0
+ { \tl_to_str:n {#2} }
+ {
+ \int_compare:nTF { `A <= #1 <= `z }
+ { \char_generate:nn {#1} { 12 } }
+ { \tl_to_str:n {#2} }
+ }
+ }
}
\tl_const:Nx \c_catcode_other_space_tl { \char_generate:nn { `\ } { 12 } }
\scan_new:N \s__token_mark
@@ -31661,17 +31669,6 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
{
\group_begin:
- \cs_set_protected:Npn \__char_tmp:NN #1#2
- {
- \quark_if_recursion_tail_stop:N #2
- \tl_const:cn { c__char_uppercase_ #2 _tl } {#1}
- \tl_const:cn { c__char_lowercase_ #1 _tl } {#2}
- \tl_const:cn { c__char_foldcase_ #1 _tl } {#2}
- \__char_tmp:NN
- }
- \__char_tmp:NN
- AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
- ? \q_recursion_tail \q_recursion_stop
\ior_open:Nn \g__char_data_ior { UnicodeData.txt }
\ior_close:N \g__char_data_ior
\group_end:
@@ -32687,7 +32684,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-alt:nnnN } #1#2#3#4
+ \cs_new:cpn { __text_change_case_upper_de-xeszett:nnnN } #1#2#3#4
{
\int_compare:nNnTF { `#4 } = { "00DF }
{
@@ -32700,16 +32697,16 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
{
- \cs_new:cpx { __text_change_case_upper_de-alt:nnnN } #1#2#3#4
+ \cs_new:cpx { __text_change_case_upper_de-xeszett:nnnN } #1#2#3#4
{
\exp_not:N \int_compare:nNnTF { `#4 } = { "00C3 }
{
- \exp_not:c { __text_change_case_upper_de-alt:nnnNN }
+ \exp_not:c { __text_change_case_upper_de-xeszett: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
+ \cs_new:cpn { __text_change_case_upper_de-xeszett:nnnNN } #1#2#3#4#5
{
\int_compare:nNnTF { `#5 } = { "009F }
{
@@ -32719,6 +32716,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__text_change_case_char:nnnN {#1} {#2} {#3} #4#5 }
}
}
+\cs_new_eq:cc { __text_change_case_upper_de-alt:nnnN }
+ { __text_change_case_upper_de-xeszett:nnnN }
\bool_lazy_or:nnT
{ \sys_if_engine_luatex_p: }
{ \sys_if_engine_xetex_p: }
@@ -32730,8 +32729,27 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_args:Ne \__text_change_case_upper_el:nnn
{ \char_to_nfd:N #4 } {#2} {#3}
}
- { \__text_change_case_char:nnnN {#1} {#2} {#3} #4 }
+ {
+ \int_compare:nNnTF { `#4 } = { "0345 }
+ {
+ \__text_change_case_store:e
+ {
+ \use:c { __text_change_case_upper_ #3 :N } #4
+ }
+ \__text_change_case_loop:nnw {#2} {#3}
+ }
+ { \__text_change_case_char:nnnN {#1} {#2} {#3} #4 }
+ }
+ }
+ \cs_new_eq:cN { __text_change_case_upper_el-xiota: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
+ { \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 }
\cs_new:Npn \__text_change_case_upper_el:nnNw #1#2#3#4 \q__text_recursion_stop
@@ -32752,21 +32770,65 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__text_change_case_loop:nnw {#2} {#3} #4
}
{
- \int_compare:nNnTF { `#4 } = { "0308 }
- { \__text_change_case_upper_el_dialytika:nnN {#2} {#3} #1 }
+ \__text_change_case_if_takes_ypogegrammeni:nTF { `#1 }
+ {
+ \__text_change_case_upper_el_ypogegrammeni:Nnnnnw
+ #1 {#2} {#3} { } { } #4
+ }
+ { \__text_change_case_upper_el_aux:NnnN #1 {#2} {#3} #4 }
+ }
+ }
+ \cs_new:Npn \__text_change_case_upper_el_ypogegrammeni:Nnnnnw
+ #1#2#3#4#5#6 \q__text_recursion_stop
+ {
+ \tl_if_head_is_N_type:nTF {#6}
+ {
+ \__text_change_case_upper_el_ypogegrammeni:NnnnnN
+ #1 {#2} {#3} {#4} {#5}
+ }
+ { \__text_change_case_upper_el_aux:NnnN #1 {#2} {#3} #4#5 }
+ #6 \q__text_recursion_stop
+ }
+ \cs_new:Npn \__text_change_case_upper_el_ypogegrammeni:NnnnnN #1#2#3#4#5#6
+ {
+ \token_if_cs:NTF #6
+ { \__text_change_case_upper_el_aux:NnnN #1 {#2} {#3} #4#5 #6 }
+ {
+ \int_compare:nNnTF { `#6 } = { "0345 }
+ {
+ \__text_change_case_upper_el_ypogegrammeni:Nnnnnw
+ #1 {#2} {#3} {#4} {#6}
+ }
+ {
+ \bool_lazy_or:nnTF
+ { \__text_change_case_if_greek_accent_p:n { `#6 } }
+ { \__text_change_case_if_greek_diacritic_p:n { `#6 } }
+ {
+ \__text_change_case_upper_el_ypogegrammeni:Nnnnnw
+ #1 {#2} {#3} {#4#6} {#5}
+ }
+ { \__text_change_case_upper_el_aux:NnnN #1 {#2} {#3} #4#5 #6 }
+ }
+ }
+ }
+ \cs_new:Npn \__text_change_case_upper_el_aux:NnnN #1#2#3#4
+ {
+ \int_compare:nNnTF { `#4 } = { "0308 }
+ { \__text_change_case_upper_el_dialytika:nnN {#2} {#3} #1 }
+ {
+ \__text_change_case_if_greek_accent:nTF { `#4 }
+ { \__text_change_case_upper_el_hiatus:nnNw {#2} {#3} #1 }
{
- \__text_change_case_if_greek_accent:nTF { `#4 }
- { \__text_change_case_upper_el_hiatus:nnNw {#2} {#3} #1 }
+ \__text_change_case_if_greek_diacritic:nTF { `#4 }
{
- \__text_change_case_if_greek_diacritic:nTF { `#4 }
- {
- \__text_change_case_store:e { \char_uppercase:N #1 }
- \__text_change_case_loop:nnw {#2} {#3}
- }
- {
- \__text_change_case_store:e { \char_uppercase:N #1 }
- \__text_change_case_loop:nnw {#2} {#3} #4
- }
+ \__text_change_case_store:e { \char_uppercase:N #1 }
+ \__text_change_case_loop:nnw {#2} {#3}
+ }
+ {
+ \int_compare:nNnTF { `#4 } = { "0345 }
+ { \__text_change_case_store:e { [XXX] } }
+ { \__text_change_case_store:e { \char_uppercase:N #1 } }
+ \__text_change_case_loop:nnw {#2} {#3} #4
}
}
}
@@ -32842,7 +32904,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prg_return_false:
\else:
\if_int_compare:w #1 > "1FFF \exp_stop_f:
- \prg_return_false:
+ \if_int_compare:w #1 = "2126 \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
\else:
\prg_return_true:
\fi:
@@ -32924,7 +32990,23 @@ Type H <return> for immediate help}\def~{\errmessage{%
\fi:
\fi:
\fi:
- }
+ }
+\prg_new_conditional:Npnn \__text_change_case_if_takes_ypogegrammeni:n #1 { TF }
+ {
+ \if_int_compare:w #1 = "03B1 \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "03B7 \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_int_compare:w #1 = "03C9 \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
+ \fi:
+ \fi:
+ }
\bool_lazy_or:nnT
{ \sys_if_engine_luatex_p: }
{ \sys_if_engine_xetex_p: }
diff --git a/texmf/tex/latex/l3kernel/expl3-generic.tex b/texmf/tex/latex/l3kernel/expl3-generic.tex
index e579987e..3b1f9e00 100644
--- a/texmf/tex/latex/l3kernel/expl3-generic.tex
+++ b/texmf/tex/latex/l3kernel/expl3-generic.tex
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2022-04-20}%
+\def\ExplFileDate{2022-04-29}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/texmf/tex/latex/l3kernel/expl3.ltx b/texmf/tex/latex/l3kernel/expl3.ltx
index 2cb7f122..0fe1623a 100644
--- a/texmf/tex/latex/l3kernel/expl3.ltx
+++ b/texmf/tex/latex/l3kernel/expl3.ltx
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2022-04-20}%
+\def\ExplFileDate{2022-04-29}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/texmf/tex/latex/l3kernel/expl3.sty b/texmf/tex/latex/l3kernel/expl3.sty
index 3ff81a91..284b787d 100644
--- a/texmf/tex/latex/l3kernel/expl3.sty
+++ b/texmf/tex/latex/l3kernel/expl3.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2022-04-20}%
+\def\ExplFileDate{2022-04-29}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
More information about the latex3-commits
mailing list.